(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory(require("Vuex"), require("ELEMENT"), require("Vue"), require("axios"));
	else if(typeof define === 'function' && define.amd)
		define(["Vuex", "ELEMENT", "Vue", "axios"], factory);
	else if(typeof exports === 'object')
		exports["sanh-ui"] = factory(require("Vuex"), require("ELEMENT"), require("Vue"), require("axios"));
	else
		root["sanh-ui"] = factory(root["Vuex"], root["ELEMENT"], root["Vue"], root["axios"]);
})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__5880__, __WEBPACK_EXTERNAL_MODULE__5f72__, __WEBPACK_EXTERNAL_MODULE__8bbf__, __WEBPACK_EXTERNAL_MODULE_cebe__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __webpack_require__(__webpack_require__.s = "fb15");
/******/ })
/************************************************************************/
/******/ ({

/***/ 0:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "00b4":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4` since it's moved to entry points
__webpack_require__("ac1f");
var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");

var DELEGATES_TO_EXEC = function () {
  var execCalled = false;
  var re = /[ac]/;
  re.exec = function () {
    execCalled = true;
    return /./.exec.apply(this, arguments);
  };
  return re.test('abc') === true && execCalled;
}();

var Error = global.Error;
var un$Test = uncurryThis(/./.test);

// `RegExp.prototype.test` method
// https://tc39.es/ecma262/#sec-regexp.prototype.test
$({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
  test: function (str) {
    var exec = this.exec;
    if (!isCallable(exec)) return un$Test(this, str);
    var result = call(exec, this, str);
    if (result !== null && !isObject(result)) {
      throw new Error('RegExp exec method returned something other than an Object or null');
    }
    return !!result;
  }
});


/***/ }),

/***/ "00ee":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};

test[TO_STRING_TAG] = 'z';

module.exports = String(test) === '[object z]';


/***/ }),

/***/ "01b4":
/***/ (function(module, exports) {

var Queue = function () {
  this.head = null;
  this.tail = null;
};

Queue.prototype = {
  add: function (item) {
    var entry = { item: item, next: null };
    if (this.head) this.tail.next = entry;
    else this.head = entry;
    this.tail = entry;
  },
  get: function () {
    var entry = this.head;
    if (entry) {
      this.head = entry.next;
      if (this.tail === entry) this.tail = null;
      return entry.item;
    }
  }
};

module.exports = Queue;


/***/ }),

/***/ "029d":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_769b24db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("182c");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_769b24db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_769b24db_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "0366":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var aCallable = __webpack_require__("59ed");
var NATIVE_BIND = __webpack_require__("40d5");

var bind = uncurryThis(uncurryThis.bind);

// optional / simple context binding
module.exports = function (fn, that) {
  aCallable(fn);
  return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {
    return fn.apply(that, arguments);
  };
};


/***/ }),

/***/ "04d1":
/***/ (function(module, exports, __webpack_require__) {

var userAgent = __webpack_require__("342f");

var firefox = userAgent.match(/firefox\/(\d+)/i);

module.exports = !!firefox && +firefox[1];


/***/ }),

/***/ "057f":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-object-getownpropertynames -- safe */
var classof = __webpack_require__("c6b6");
var toIndexedObject = __webpack_require__("fc6a");
var $getOwnPropertyNames = __webpack_require__("241c").f;
var arraySlice = __webpack_require__("4dae");

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

var getWindowNames = function (it) {
  try {
    return $getOwnPropertyNames(it);
  } catch (error) {
    return arraySlice(windowNames);
  }
};

// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window
module.exports.f = function getOwnPropertyNames(it) {
  return windowNames && classof(it) == 'Window'
    ? getWindowNames(it)
    : $getOwnPropertyNames(toIndexedObject(it));
};


/***/ }),

/***/ "0695":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "069e":
/***/ (function(module, exports, __webpack_require__) {

module.exports = function() {
  return __webpack_require__("7785")("/******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__webpack_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__webpack_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __webpack_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__webpack_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = \"069e\");\n/******/ })\n/************************************************************************/\n/******/ ({\n\n/***/ \"069e\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(Buffer, process, global) {/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(true)\n\t\tmodule.exports = factory();\n\telse {}\n})(this, function() {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nObject.defineProperty(exports, \"WorkerMessageHandler\", ({\n  enumerable: true,\n  get: function get() {\n    return _worker.WorkerMessageHandler;\n  }\n}));\n\nvar _worker = __w_pdfjs_require__(1);\n\nvar pdfjsVersion = '2.7.570';\nvar pdfjsBuild = 'f2c7338b0';\n\n/***/ }),\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.WorkerTask = exports.WorkerMessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _pdf_manager = __w_pdfjs_require__(136);\n\nvar _writer = __w_pdfjs_require__(176);\n\nvar _is_node = __w_pdfjs_require__(6);\n\nvar _message_handler = __w_pdfjs_require__(178);\n\nvar _worker_stream = __w_pdfjs_require__(179);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar WorkerTask = /*#__PURE__*/function () {\n  function WorkerTask(name) {\n    _classCallCheck(this, WorkerTask);\n\n    this.name = name;\n    this.terminated = false;\n    this._capability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(WorkerTask, [{\n    key: \"finish\",\n    value: function finish() {\n      this._capability.resolve();\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate() {\n      this.terminated = true;\n    }\n  }, {\n    key: \"ensureNotTerminated\",\n    value: function ensureNotTerminated() {\n      if (this.terminated) {\n        throw new Error(\"Worker task was terminated\");\n      }\n    }\n  }, {\n    key: \"finished\",\n    get: function get() {\n      return this._capability.promise;\n    }\n  }]);\n\n  return WorkerTask;\n}();\n\nexports.WorkerTask = WorkerTask;\n\nvar WorkerMessageHandler = /*#__PURE__*/function () {\n  function WorkerMessageHandler() {\n    _classCallCheck(this, WorkerMessageHandler);\n  }\n\n  _createClass(WorkerMessageHandler, null, [{\n    key: \"setup\",\n    value: function setup(handler, port) {\n      var testMessageProcessed = false;\n      handler.on(\"test\", function wphSetupTest(data) {\n        if (testMessageProcessed) {\n          return;\n        }\n\n        testMessageProcessed = true;\n\n        if (!(data instanceof Uint8Array)) {\n          handler.send(\"test\", null);\n          return;\n        }\n\n        var supportTransfers = data[0] === 255;\n        handler.postMessageTransfers = supportTransfers;\n        handler.send(\"test\", {\n          supportTransfers: supportTransfers\n        });\n      });\n      handler.on(\"configure\", function wphConfigure(data) {\n        (0, _util.setVerbosityLevel)(data.verbosity);\n      });\n      handler.on(\"GetDocRequest\", function wphSetupDoc(data) {\n        return WorkerMessageHandler.createDocumentHandler(data, port);\n      });\n    }\n  }, {\n    key: \"createDocumentHandler\",\n    value: function createDocumentHandler(docParams, port) {\n      var pdfManager;\n      var terminated = false;\n      var cancelXHRs = null;\n      var WorkerTasks = [];\n      var verbosity = (0, _util.getVerbosityLevel)();\n      var apiVersion = docParams.apiVersion;\n      var workerVersion = '2.7.570';\n\n      if (apiVersion !== workerVersion) {\n        throw new Error(\"The API version \\\"\".concat(apiVersion, \"\\\" does not match \") + \"the Worker version \\\"\".concat(workerVersion, \"\\\".\"));\n      }\n\n      var enumerableProperties = [];\n\n      for (var property in []) {\n        enumerableProperties.push(property);\n      }\n\n      if (enumerableProperties.length) {\n        throw new Error(\"The `Array.prototype` contains unexpected enumerable properties: \" + enumerableProperties.join(\", \") + \"; thus breaking e.g. `for...in` iteration of `Array`s.\");\n      }\n\n      var docId = docParams.docId;\n      var docBaseUrl = docParams.docBaseUrl;\n      var workerHandlerName = docParams.docId + \"_worker\";\n      var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port);\n      handler.postMessageTransfers = docParams.postMessageTransfers;\n\n      function ensureNotTerminated() {\n        if (terminated) {\n          throw new Error(\"Worker was terminated\");\n        }\n      }\n\n      function startWorkerTask(task) {\n        WorkerTasks.push(task);\n      }\n\n      function finishWorkerTask(task) {\n        task.finish();\n        var i = WorkerTasks.indexOf(task);\n        WorkerTasks.splice(i, 1);\n      }\n\n      function loadDocument(_x) {\n        return _loadDocument.apply(this, arguments);\n      }\n\n      function _loadDocument() {\n        _loadDocument = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(recoveryMode) {\n          var _yield$Promise$all, _yield$Promise$all2, numPages, fingerprint;\n\n          return _regenerator[\"default\"].wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  _context.next = 2;\n                  return pdfManager.ensureDoc(\"checkHeader\");\n\n                case 2:\n                  _context.next = 4;\n                  return pdfManager.ensureDoc(\"parseStartXRef\");\n\n                case 4:\n                  _context.next = 6;\n                  return pdfManager.ensureDoc(\"parse\", [recoveryMode]);\n\n                case 6:\n                  if (recoveryMode) {\n                    _context.next = 9;\n                    break;\n                  }\n\n                  _context.next = 9;\n                  return pdfManager.ensureDoc(\"checkFirstPage\");\n\n                case 9:\n                  _context.next = 11;\n                  return Promise.all([pdfManager.ensureDoc(\"numPages\"), pdfManager.ensureDoc(\"fingerprint\")]);\n\n                case 11:\n                  _yield$Promise$all = _context.sent;\n                  _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);\n                  numPages = _yield$Promise$all2[0];\n                  fingerprint = _yield$Promise$all2[1];\n                  return _context.abrupt(\"return\", {\n                    numPages: numPages,\n                    fingerprint: fingerprint\n                  });\n\n                case 16:\n                case \"end\":\n                  return _context.stop();\n              }\n            }\n          }, _callee);\n        }));\n        return _loadDocument.apply(this, arguments);\n      }\n\n      function getPdfManager(data, evaluatorOptions) {\n        var pdfManagerCapability = (0, _util.createPromiseCapability)();\n        var newPdfManager;\n        var source = data.source;\n\n        if (source.data) {\n          try {\n            newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl);\n            pdfManagerCapability.resolve(newPdfManager);\n          } catch (ex) {\n            pdfManagerCapability.reject(ex);\n          }\n\n          return pdfManagerCapability.promise;\n        }\n\n        var pdfStream,\n            cachedChunks = [];\n\n        try {\n          pdfStream = new _worker_stream.PDFWorkerStream(handler);\n        } catch (ex) {\n          pdfManagerCapability.reject(ex);\n          return pdfManagerCapability.promise;\n        }\n\n        var fullRequest = pdfStream.getFullReader();\n        fullRequest.headersReady.then(function () {\n          if (!fullRequest.isRangeSupported) {\n            return;\n          }\n\n          var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported;\n          newPdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, {\n            msgHandler: handler,\n            password: source.password,\n            length: fullRequest.contentLength,\n            disableAutoFetch: disableAutoFetch,\n            rangeChunkSize: source.rangeChunkSize\n          }, evaluatorOptions, docBaseUrl);\n\n          for (var i = 0; i < cachedChunks.length; i++) {\n            newPdfManager.sendProgressiveData(cachedChunks[i]);\n          }\n\n          cachedChunks = [];\n          pdfManagerCapability.resolve(newPdfManager);\n          cancelXHRs = null;\n        })[\"catch\"](function (reason) {\n          pdfManagerCapability.reject(reason);\n          cancelXHRs = null;\n        });\n        var loaded = 0;\n\n        var flushChunks = function flushChunks() {\n          var pdfFile = (0, _util.arraysToBytes)(cachedChunks);\n\n          if (source.length && pdfFile.length !== source.length) {\n            (0, _util.warn)(\"reported HTTP length is different from actual\");\n          }\n\n          try {\n            newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl);\n            pdfManagerCapability.resolve(newPdfManager);\n          } catch (ex) {\n            pdfManagerCapability.reject(ex);\n          }\n\n          cachedChunks = [];\n        };\n\n        var readPromise = new Promise(function (resolve, reject) {\n          var readChunk = function readChunk(_ref) {\n            var value = _ref.value,\n                done = _ref.done;\n\n            try {\n              ensureNotTerminated();\n\n              if (done) {\n                if (!newPdfManager) {\n                  flushChunks();\n                }\n\n                cancelXHRs = null;\n                return;\n              }\n\n              loaded += (0, _util.arrayByteLength)(value);\n\n              if (!fullRequest.isStreamingSupported) {\n                handler.send(\"DocProgress\", {\n                  loaded: loaded,\n                  total: Math.max(loaded, fullRequest.contentLength || 0)\n                });\n              }\n\n              if (newPdfManager) {\n                newPdfManager.sendProgressiveData(value);\n              } else {\n                cachedChunks.push(value);\n              }\n\n              fullRequest.read().then(readChunk, reject);\n            } catch (e) {\n              reject(e);\n            }\n          };\n\n          fullRequest.read().then(readChunk, reject);\n        });\n        readPromise[\"catch\"](function (e) {\n          pdfManagerCapability.reject(e);\n          cancelXHRs = null;\n        });\n\n        cancelXHRs = function cancelXHRs(reason) {\n          pdfStream.cancelAllRequests(reason);\n        };\n\n        return pdfManagerCapability.promise;\n      }\n\n      function setupDoc(data) {\n        function onSuccess(doc) {\n          ensureNotTerminated();\n          handler.send(\"GetDoc\", {\n            pdfInfo: doc\n          });\n        }\n\n        function onFailure(ex) {\n          ensureNotTerminated();\n\n          if (ex instanceof _util.PasswordException) {\n            var task = new WorkerTask(\"PasswordException: response \".concat(ex.code));\n            startWorkerTask(task);\n            handler.sendWithPromise(\"PasswordRequest\", ex).then(function (_ref2) {\n              var password = _ref2.password;\n              finishWorkerTask(task);\n              pdfManager.updatePassword(password);\n              pdfManagerReady();\n            })[\"catch\"](function () {\n              finishWorkerTask(task);\n              handler.send(\"DocException\", ex);\n            });\n          } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) {\n            handler.send(\"DocException\", ex);\n          } else {\n            handler.send(\"DocException\", new _util.UnknownErrorException(ex.message, ex.toString()));\n          }\n        }\n\n        function pdfManagerReady() {\n          ensureNotTerminated();\n          loadDocument(false).then(onSuccess, function (reason) {\n            ensureNotTerminated();\n\n            if (!(reason instanceof _core_utils.XRefParseException)) {\n              onFailure(reason);\n              return;\n            }\n\n            pdfManager.requestLoadedStream();\n            pdfManager.onLoadedStream().then(function () {\n              ensureNotTerminated();\n              loadDocument(true).then(onSuccess, onFailure);\n            });\n          });\n        }\n\n        ensureNotTerminated();\n        var evaluatorOptions = {\n          maxImageSize: data.maxImageSize,\n          disableFontFace: data.disableFontFace,\n          ignoreErrors: data.ignoreErrors,\n          isEvalSupported: data.isEvalSupported,\n          fontExtraProperties: data.fontExtraProperties\n        };\n        getPdfManager(data, evaluatorOptions).then(function (newPdfManager) {\n          if (terminated) {\n            newPdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n            throw new Error(\"Worker was terminated\");\n          }\n\n          pdfManager = newPdfManager;\n          pdfManager.onLoadedStream().then(function (stream) {\n            handler.send(\"DataLoaded\", {\n              length: stream.bytes.byteLength\n            });\n          });\n        }).then(pdfManagerReady, onFailure);\n      }\n\n      handler.on(\"GetPage\", function wphSetupGetPage(data) {\n        return pdfManager.getPage(data.pageIndex).then(function (page) {\n          return Promise.all([pdfManager.ensure(page, \"rotate\"), pdfManager.ensure(page, \"ref\"), pdfManager.ensure(page, \"userUnit\"), pdfManager.ensure(page, \"view\")]).then(function (_ref3) {\n            var _ref4 = _slicedToArray(_ref3, 4),\n                rotate = _ref4[0],\n                ref = _ref4[1],\n                userUnit = _ref4[2],\n                view = _ref4[3];\n\n            return {\n              rotate: rotate,\n              ref: ref,\n              userUnit: userUnit,\n              view: view\n            };\n          });\n        });\n      });\n      handler.on(\"GetPageIndex\", function wphSetupGetPageIndex(_ref5) {\n        var ref = _ref5.ref;\n\n        var pageRef = _primitives.Ref.get(ref.num, ref.gen);\n\n        return pdfManager.ensureCatalog(\"getPageIndex\", [pageRef]);\n      });\n      handler.on(\"GetDestinations\", function wphSetupGetDestinations(data) {\n        return pdfManager.ensureCatalog(\"destinations\");\n      });\n      handler.on(\"GetDestination\", function wphSetupGetDestination(data) {\n        return pdfManager.ensureCatalog(\"getDestination\", [data.id]);\n      });\n      handler.on(\"GetPageLabels\", function wphSetupGetPageLabels(data) {\n        return pdfManager.ensureCatalog(\"pageLabels\");\n      });\n      handler.on(\"GetPageLayout\", function wphSetupGetPageLayout(data) {\n        return pdfManager.ensureCatalog(\"pageLayout\");\n      });\n      handler.on(\"GetPageMode\", function wphSetupGetPageMode(data) {\n        return pdfManager.ensureCatalog(\"pageMode\");\n      });\n      handler.on(\"GetViewerPreferences\", function (data) {\n        return pdfManager.ensureCatalog(\"viewerPreferences\");\n      });\n      handler.on(\"GetOpenAction\", function (data) {\n        return pdfManager.ensureCatalog(\"openAction\");\n      });\n      handler.on(\"GetAttachments\", function wphSetupGetAttachments(data) {\n        return pdfManager.ensureCatalog(\"attachments\");\n      });\n      handler.on(\"GetJavaScript\", function wphSetupGetJavaScript(data) {\n        return pdfManager.ensureCatalog(\"javaScript\");\n      });\n      handler.on(\"GetDocJSActions\", function wphSetupGetDocJSActions(data) {\n        return pdfManager.ensureCatalog(\"jsActions\");\n      });\n      handler.on(\"GetPageJSActions\", function (_ref6) {\n        var pageIndex = _ref6.pageIndex;\n        return pdfManager.getPage(pageIndex).then(function (page) {\n          return page.jsActions;\n        });\n      });\n      handler.on(\"GetOutline\", function wphSetupGetOutline(data) {\n        return pdfManager.ensureCatalog(\"documentOutline\");\n      });\n      handler.on(\"GetOptionalContentConfig\", function (data) {\n        return pdfManager.ensureCatalog(\"optionalContentConfig\");\n      });\n      handler.on(\"GetPermissions\", function (data) {\n        return pdfManager.ensureCatalog(\"permissions\");\n      });\n      handler.on(\"GetMetadata\", function wphSetupGetMetadata(data) {\n        return Promise.all([pdfManager.ensureDoc(\"documentInfo\"), pdfManager.ensureCatalog(\"metadata\")]);\n      });\n      handler.on(\"GetMarkInfo\", function wphSetupGetMarkInfo(data) {\n        return pdfManager.ensureCatalog(\"markInfo\");\n      });\n      handler.on(\"GetData\", function wphSetupGetData(data) {\n        pdfManager.requestLoadedStream();\n        return pdfManager.onLoadedStream().then(function (stream) {\n          return stream.bytes;\n        });\n      });\n      handler.on(\"GetStats\", function wphSetupGetStats(data) {\n        return pdfManager.ensureXRef(\"stats\");\n      });\n      handler.on(\"GetAnnotations\", function (_ref7) {\n        var pageIndex = _ref7.pageIndex,\n            intent = _ref7.intent;\n        return pdfManager.getPage(pageIndex).then(function (page) {\n          return page.getAnnotationsData(intent);\n        });\n      });\n      handler.on(\"GetFieldObjects\", function (data) {\n        return pdfManager.ensureDoc(\"fieldObjects\");\n      });\n      handler.on(\"HasJSActions\", function (data) {\n        return pdfManager.ensureDoc(\"hasJSActions\");\n      });\n      handler.on(\"GetCalculationOrderIds\", function (data) {\n        return pdfManager.ensureDoc(\"calculationOrderIds\");\n      });\n      handler.on(\"SaveDocument\", function (_ref8) {\n        var numPages = _ref8.numPages,\n            annotationStorage = _ref8.annotationStorage,\n            filename = _ref8.filename;\n        pdfManager.requestLoadedStream();\n        var promises = [pdfManager.onLoadedStream(), pdfManager.ensureCatalog(\"acroForm\"), pdfManager.ensureDoc(\"xref\"), pdfManager.ensureDoc(\"startXRef\")];\n\n        var _loop = function _loop(pageIndex) {\n          promises.push(pdfManager.getPage(pageIndex).then(function (page) {\n            var task = new WorkerTask(\"Save: page \".concat(pageIndex));\n            startWorkerTask(task);\n            return page.save(handler, task, annotationStorage)[\"finally\"](function () {\n              finishWorkerTask(task);\n            });\n          }));\n        };\n\n        for (var pageIndex = 0; pageIndex < numPages; pageIndex++) {\n          _loop(pageIndex);\n        }\n\n        return Promise.all(promises).then(function (_ref9) {\n          var _ref10 = _toArray(_ref9),\n              stream = _ref10[0],\n              acroForm = _ref10[1],\n              xref = _ref10[2],\n              startXRef = _ref10[3],\n              refs = _ref10.slice(4);\n\n          var newRefs = [];\n\n          var _iterator = _createForOfIteratorHelper(refs),\n              _step;\n\n          try {\n            for (_iterator.s(); !(_step = _iterator.n()).done;) {\n              var ref = _step.value;\n              newRefs = ref.filter(function (x) {\n                return x !== null;\n              }).reduce(function (a, b) {\n                return a.concat(b);\n              }, newRefs);\n            }\n          } catch (err) {\n            _iterator.e(err);\n          } finally {\n            _iterator.f();\n          }\n\n          if (newRefs.length === 0) {\n            return stream.bytes;\n          }\n\n          var xfa = acroForm instanceof _primitives.Dict && acroForm.get(\"XFA\") || [];\n          var xfaDatasets = null;\n\n          if (Array.isArray(xfa)) {\n            for (var i = 0, ii = xfa.length; i < ii; i += 2) {\n              if (xfa[i] === \"datasets\") {\n                xfaDatasets = xfa[i + 1];\n              }\n            }\n          } else {\n            (0, _util.warn)(\"Unsupported XFA type.\");\n          }\n\n          var newXrefInfo = Object.create(null);\n\n          if (xref.trailer) {\n            var infoObj = Object.create(null);\n            var xrefInfo = xref.trailer.get(\"Info\") || null;\n\n            if (xrefInfo instanceof _primitives.Dict) {\n              xrefInfo.forEach(function (key, value) {\n                if ((0, _util.isString)(key) && (0, _util.isString)(value)) {\n                  infoObj[key] = (0, _util.stringToPDFString)(value);\n                }\n              });\n            }\n\n            newXrefInfo = {\n              rootRef: xref.trailer.getRaw(\"Root\") || null,\n              encrypt: xref.trailer.getRaw(\"Encrypt\") || null,\n              newRef: xref.getNewRef(),\n              infoRef: xref.trailer.getRaw(\"Info\") || null,\n              info: infoObj,\n              fileIds: xref.trailer.getRaw(\"ID\") || null,\n              startXRef: startXRef,\n              filename: filename\n            };\n          }\n\n          xref.resetNewRef();\n          return (0, _writer.incrementalUpdate)({\n            originalData: stream.bytes,\n            xrefInfo: newXrefInfo,\n            newRefs: newRefs,\n            xref: xref,\n            datasetsRef: xfaDatasets\n          });\n        });\n      });\n      handler.on(\"GetOperatorList\", function wphSetupRenderPage(data, sink) {\n        var pageIndex = data.pageIndex;\n        pdfManager.getPage(pageIndex).then(function (page) {\n          var task = new WorkerTask(\"GetOperatorList: page \".concat(pageIndex));\n          startWorkerTask(task);\n          var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n          page.getOperatorList({\n            handler: handler,\n            sink: sink,\n            task: task,\n            intent: data.intent,\n            renderInteractiveForms: data.renderInteractiveForms,\n            annotationStorage: data.annotationStorage\n          }).then(function (operatorListInfo) {\n            finishWorkerTask(task);\n\n            if (start) {\n              (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getOperatorList: time=\") + \"\".concat(Date.now() - start, \"ms, len=\").concat(operatorListInfo.length));\n            }\n\n            sink.close();\n          }, function (reason) {\n            finishWorkerTask(task);\n\n            if (task.terminated) {\n              return;\n            }\n\n            handler.send(\"UnsupportedFeature\", {\n              featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n            });\n            sink.error(reason);\n          });\n        });\n      });\n      handler.on(\"GetTextContent\", function wphExtractText(data, sink) {\n        var pageIndex = data.pageIndex;\n\n        sink.onPull = function (desiredSize) {};\n\n        sink.onCancel = function (reason) {};\n\n        pdfManager.getPage(pageIndex).then(function (page) {\n          var task = new WorkerTask(\"GetTextContent: page \" + pageIndex);\n          startWorkerTask(task);\n          var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0;\n          page.extractTextContent({\n            handler: handler,\n            task: task,\n            sink: sink,\n            normalizeWhitespace: data.normalizeWhitespace,\n            combineTextItems: data.combineTextItems\n          }).then(function () {\n            finishWorkerTask(task);\n\n            if (start) {\n              (0, _util.info)(\"page=\".concat(pageIndex + 1, \" - getTextContent: time=\") + \"\".concat(Date.now() - start, \"ms\"));\n            }\n\n            sink.close();\n          }, function (reason) {\n            finishWorkerTask(task);\n\n            if (task.terminated) {\n              return;\n            }\n\n            sink.error(reason);\n          });\n        });\n      });\n      handler.on(\"FontFallback\", function (data) {\n        return pdfManager.fontFallback(data.id, handler);\n      });\n      handler.on(\"Cleanup\", function wphCleanup(data) {\n        return pdfManager.cleanup(true);\n      });\n      handler.on(\"Terminate\", function wphTerminate(data) {\n        terminated = true;\n        var waitOn = [];\n\n        if (pdfManager) {\n          pdfManager.terminate(new _util.AbortException(\"Worker was terminated.\"));\n          var cleanupPromise = pdfManager.cleanup();\n          waitOn.push(cleanupPromise);\n          pdfManager = null;\n        } else {\n          (0, _primitives.clearPrimitiveCaches)();\n        }\n\n        if (cancelXHRs) {\n          cancelXHRs(new _util.AbortException(\"Worker was terminated.\"));\n        }\n\n        WorkerTasks.forEach(function (task) {\n          waitOn.push(task.finished);\n          task.terminate();\n        });\n        return Promise.all(waitOn).then(function () {\n          handler.destroy();\n          handler = null;\n        });\n      });\n      handler.on(\"Ready\", function wphReady(data) {\n        setupDoc(docParams);\n        docParams = null;\n      });\n      return workerHandlerName;\n    }\n  }, {\n    key: \"initializeFromPort\",\n    value: function initializeFromPort(port) {\n      var handler = new _message_handler.MessageHandler(\"worker\", \"main\", port);\n      WorkerMessageHandler.setup(handler, port);\n      handler.send(\"ready\", null);\n    }\n  }]);\n\n  return WorkerMessageHandler;\n}();\n\nexports.WorkerMessageHandler = WorkerMessageHandler;\n\nfunction isMessagePort(maybePort) {\n  return typeof maybePort.postMessage === \"function\" && \"onmessage\" in maybePort;\n}\n\nif (typeof window === \"undefined\" && !_is_node.isNodeJS && typeof self !== \"undefined\" && isMessagePort(self)) {\n  WorkerMessageHandler.initializeFromPort(self);\n}\n\n/***/ }),\n/* 2 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nmodule.exports = __w_pdfjs_require__(3);\n\n/***/ }),\n/* 3 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n/* module decorator */ module = __w_pdfjs_require__.nmd(module);\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar runtime = function (exports) {\n  \"use strict\";\n\n  var Op = Object.prototype;\n  var hasOwn = Op.hasOwnProperty;\n  var undefined;\n  var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n  var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n  var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n  var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n  function define(obj, key, value) {\n    Object.defineProperty(obj, key, {\n      value: value,\n      enumerable: true,\n      configurable: true,\n      writable: true\n    });\n    return obj[key];\n  }\n\n  try {\n    define({}, \"\");\n  } catch (err) {\n    define = function define(obj, key, value) {\n      return obj[key] = value;\n    };\n  }\n\n  function wrap(innerFn, outerFn, self, tryLocsList) {\n    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n    var generator = Object.create(protoGenerator.prototype);\n    var context = new Context(tryLocsList || []);\n    generator._invoke = makeInvokeMethod(innerFn, self, context);\n    return generator;\n  }\n\n  exports.wrap = wrap;\n\n  function tryCatch(fn, obj, arg) {\n    try {\n      return {\n        type: \"normal\",\n        arg: fn.call(obj, arg)\n      };\n    } catch (err) {\n      return {\n        type: \"throw\",\n        arg: err\n      };\n    }\n  }\n\n  var GenStateSuspendedStart = \"suspendedStart\";\n  var GenStateSuspendedYield = \"suspendedYield\";\n  var GenStateExecuting = \"executing\";\n  var GenStateCompleted = \"completed\";\n  var ContinueSentinel = {};\n\n  function Generator() {}\n\n  function GeneratorFunction() {}\n\n  function GeneratorFunctionPrototype() {}\n\n  var IteratorPrototype = {};\n\n  IteratorPrototype[iteratorSymbol] = function () {\n    return this;\n  };\n\n  var getProto = Object.getPrototypeOf;\n  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n\n  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n    IteratorPrototype = NativeIteratorPrototype;\n  }\n\n  var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n  GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n  GeneratorFunctionPrototype.constructor = GeneratorFunction;\n  GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\");\n\n  function defineIteratorMethods(prototype) {\n    [\"next\", \"throw\", \"return\"].forEach(function (method) {\n      define(prototype, method, function (arg) {\n        return this._invoke(method, arg);\n      });\n    });\n  }\n\n  exports.isGeneratorFunction = function (genFun) {\n    var ctor = typeof genFun === \"function\" && genFun.constructor;\n    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === \"GeneratorFunction\" : false;\n  };\n\n  exports.mark = function (genFun) {\n    if (Object.setPrototypeOf) {\n      Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n    } else {\n      genFun.__proto__ = GeneratorFunctionPrototype;\n      define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n    }\n\n    genFun.prototype = Object.create(Gp);\n    return genFun;\n  };\n\n  exports.awrap = function (arg) {\n    return {\n      __await: arg\n    };\n  };\n\n  function AsyncIterator(generator, PromiseImpl) {\n    function invoke(method, arg, resolve, reject) {\n      var record = tryCatch(generator[method], generator, arg);\n\n      if (record.type === \"throw\") {\n        reject(record.arg);\n      } else {\n        var result = record.arg;\n        var value = result.value;\n\n        if (value && _typeof(value) === \"object\" && hasOwn.call(value, \"__await\")) {\n          return PromiseImpl.resolve(value.__await).then(function (value) {\n            invoke(\"next\", value, resolve, reject);\n          }, function (err) {\n            invoke(\"throw\", err, resolve, reject);\n          });\n        }\n\n        return PromiseImpl.resolve(value).then(function (unwrapped) {\n          result.value = unwrapped;\n          resolve(result);\n        }, function (error) {\n          return invoke(\"throw\", error, resolve, reject);\n        });\n      }\n    }\n\n    var previousPromise;\n\n    function enqueue(method, arg) {\n      function callInvokeWithMethodAndArg() {\n        return new PromiseImpl(function (resolve, reject) {\n          invoke(method, arg, resolve, reject);\n        });\n      }\n\n      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n    }\n\n    this._invoke = enqueue;\n  }\n\n  defineIteratorMethods(AsyncIterator.prototype);\n\n  AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n    return this;\n  };\n\n  exports.AsyncIterator = AsyncIterator;\n\n  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n    if (PromiseImpl === void 0) PromiseImpl = Promise;\n    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n      return result.done ? result.value : iter.next();\n    });\n  };\n\n  function makeInvokeMethod(innerFn, self, context) {\n    var state = GenStateSuspendedStart;\n    return function invoke(method, arg) {\n      if (state === GenStateExecuting) {\n        throw new Error(\"Generator is already running\");\n      }\n\n      if (state === GenStateCompleted) {\n        if (method === \"throw\") {\n          throw arg;\n        }\n\n        return doneResult();\n      }\n\n      context.method = method;\n      context.arg = arg;\n\n      while (true) {\n        var delegate = context.delegate;\n\n        if (delegate) {\n          var delegateResult = maybeInvokeDelegate(delegate, context);\n\n          if (delegateResult) {\n            if (delegateResult === ContinueSentinel) continue;\n            return delegateResult;\n          }\n        }\n\n        if (context.method === \"next\") {\n          context.sent = context._sent = context.arg;\n        } else if (context.method === \"throw\") {\n          if (state === GenStateSuspendedStart) {\n            state = GenStateCompleted;\n            throw context.arg;\n          }\n\n          context.dispatchException(context.arg);\n        } else if (context.method === \"return\") {\n          context.abrupt(\"return\", context.arg);\n        }\n\n        state = GenStateExecuting;\n        var record = tryCatch(innerFn, self, context);\n\n        if (record.type === \"normal\") {\n          state = context.done ? GenStateCompleted : GenStateSuspendedYield;\n\n          if (record.arg === ContinueSentinel) {\n            continue;\n          }\n\n          return {\n            value: record.arg,\n            done: context.done\n          };\n        } else if (record.type === \"throw\") {\n          state = GenStateCompleted;\n          context.method = \"throw\";\n          context.arg = record.arg;\n        }\n      }\n    };\n  }\n\n  function maybeInvokeDelegate(delegate, context) {\n    var method = delegate.iterator[context.method];\n\n    if (method === undefined) {\n      context.delegate = null;\n\n      if (context.method === \"throw\") {\n        if (delegate.iterator[\"return\"]) {\n          context.method = \"return\";\n          context.arg = undefined;\n          maybeInvokeDelegate(delegate, context);\n\n          if (context.method === \"throw\") {\n            return ContinueSentinel;\n          }\n        }\n\n        context.method = \"throw\";\n        context.arg = new TypeError(\"The iterator does not provide a 'throw' method\");\n      }\n\n      return ContinueSentinel;\n    }\n\n    var record = tryCatch(method, delegate.iterator, context.arg);\n\n    if (record.type === \"throw\") {\n      context.method = \"throw\";\n      context.arg = record.arg;\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    var info = record.arg;\n\n    if (!info) {\n      context.method = \"throw\";\n      context.arg = new TypeError(\"iterator result is not an object\");\n      context.delegate = null;\n      return ContinueSentinel;\n    }\n\n    if (info.done) {\n      context[delegate.resultName] = info.value;\n      context.next = delegate.nextLoc;\n\n      if (context.method !== \"return\") {\n        context.method = \"next\";\n        context.arg = undefined;\n      }\n    } else {\n      return info;\n    }\n\n    context.delegate = null;\n    return ContinueSentinel;\n  }\n\n  defineIteratorMethods(Gp);\n  define(Gp, toStringTagSymbol, \"Generator\");\n\n  Gp[iteratorSymbol] = function () {\n    return this;\n  };\n\n  Gp.toString = function () {\n    return \"[object Generator]\";\n  };\n\n  function pushTryEntry(locs) {\n    var entry = {\n      tryLoc: locs[0]\n    };\n\n    if (1 in locs) {\n      entry.catchLoc = locs[1];\n    }\n\n    if (2 in locs) {\n      entry.finallyLoc = locs[2];\n      entry.afterLoc = locs[3];\n    }\n\n    this.tryEntries.push(entry);\n  }\n\n  function resetTryEntry(entry) {\n    var record = entry.completion || {};\n    record.type = \"normal\";\n    delete record.arg;\n    entry.completion = record;\n  }\n\n  function Context(tryLocsList) {\n    this.tryEntries = [{\n      tryLoc: \"root\"\n    }];\n    tryLocsList.forEach(pushTryEntry, this);\n    this.reset(true);\n  }\n\n  exports.keys = function (object) {\n    var keys = [];\n\n    for (var key in object) {\n      keys.push(key);\n    }\n\n    keys.reverse();\n    return function next() {\n      while (keys.length) {\n        var key = keys.pop();\n\n        if (key in object) {\n          next.value = key;\n          next.done = false;\n          return next;\n        }\n      }\n\n      next.done = true;\n      return next;\n    };\n  };\n\n  function values(iterable) {\n    if (iterable) {\n      var iteratorMethod = iterable[iteratorSymbol];\n\n      if (iteratorMethod) {\n        return iteratorMethod.call(iterable);\n      }\n\n      if (typeof iterable.next === \"function\") {\n        return iterable;\n      }\n\n      if (!isNaN(iterable.length)) {\n        var i = -1,\n            next = function next() {\n          while (++i < iterable.length) {\n            if (hasOwn.call(iterable, i)) {\n              next.value = iterable[i];\n              next.done = false;\n              return next;\n            }\n          }\n\n          next.value = undefined;\n          next.done = true;\n          return next;\n        };\n\n        return next.next = next;\n      }\n    }\n\n    return {\n      next: doneResult\n    };\n  }\n\n  exports.values = values;\n\n  function doneResult() {\n    return {\n      value: undefined,\n      done: true\n    };\n  }\n\n  Context.prototype = {\n    constructor: Context,\n    reset: function reset(skipTempReset) {\n      this.prev = 0;\n      this.next = 0;\n      this.sent = this._sent = undefined;\n      this.done = false;\n      this.delegate = null;\n      this.method = \"next\";\n      this.arg = undefined;\n      this.tryEntries.forEach(resetTryEntry);\n\n      if (!skipTempReset) {\n        for (var name in this) {\n          if (name.charAt(0) === \"t\" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {\n            this[name] = undefined;\n          }\n        }\n      }\n    },\n    stop: function stop() {\n      this.done = true;\n      var rootEntry = this.tryEntries[0];\n      var rootRecord = rootEntry.completion;\n\n      if (rootRecord.type === \"throw\") {\n        throw rootRecord.arg;\n      }\n\n      return this.rval;\n    },\n    dispatchException: function dispatchException(exception) {\n      if (this.done) {\n        throw exception;\n      }\n\n      var context = this;\n\n      function handle(loc, caught) {\n        record.type = \"throw\";\n        record.arg = exception;\n        context.next = loc;\n\n        if (caught) {\n          context.method = \"next\";\n          context.arg = undefined;\n        }\n\n        return !!caught;\n      }\n\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n        var record = entry.completion;\n\n        if (entry.tryLoc === \"root\") {\n          return handle(\"end\");\n        }\n\n        if (entry.tryLoc <= this.prev) {\n          var hasCatch = hasOwn.call(entry, \"catchLoc\");\n          var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n          if (hasCatch && hasFinally) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            } else if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n          } else if (hasCatch) {\n            if (this.prev < entry.catchLoc) {\n              return handle(entry.catchLoc, true);\n            }\n          } else if (hasFinally) {\n            if (this.prev < entry.finallyLoc) {\n              return handle(entry.finallyLoc);\n            }\n          } else {\n            throw new Error(\"try statement without catch or finally\");\n          }\n        }\n      }\n    },\n    abrupt: function abrupt(type, arg) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n          var finallyEntry = entry;\n          break;\n        }\n      }\n\n      if (finallyEntry && (type === \"break\" || type === \"continue\") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {\n        finallyEntry = null;\n      }\n\n      var record = finallyEntry ? finallyEntry.completion : {};\n      record.type = type;\n      record.arg = arg;\n\n      if (finallyEntry) {\n        this.method = \"next\";\n        this.next = finallyEntry.finallyLoc;\n        return ContinueSentinel;\n      }\n\n      return this.complete(record);\n    },\n    complete: function complete(record, afterLoc) {\n      if (record.type === \"throw\") {\n        throw record.arg;\n      }\n\n      if (record.type === \"break\" || record.type === \"continue\") {\n        this.next = record.arg;\n      } else if (record.type === \"return\") {\n        this.rval = this.arg = record.arg;\n        this.method = \"return\";\n        this.next = \"end\";\n      } else if (record.type === \"normal\" && afterLoc) {\n        this.next = afterLoc;\n      }\n\n      return ContinueSentinel;\n    },\n    finish: function finish(finallyLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.finallyLoc === finallyLoc) {\n          this.complete(entry.completion, entry.afterLoc);\n          resetTryEntry(entry);\n          return ContinueSentinel;\n        }\n      }\n    },\n    \"catch\": function _catch(tryLoc) {\n      for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n        var entry = this.tryEntries[i];\n\n        if (entry.tryLoc === tryLoc) {\n          var record = entry.completion;\n\n          if (record.type === \"throw\") {\n            var thrown = record.arg;\n            resetTryEntry(entry);\n          }\n\n          return thrown;\n        }\n      }\n\n      throw new Error(\"illegal catch attempt\");\n    },\n    delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n      this.delegate = {\n        iterator: values(iterable),\n        resultName: resultName,\n        nextLoc: nextLoc\n      };\n\n      if (this.method === \"next\") {\n        this.arg = undefined;\n      }\n\n      return ContinueSentinel;\n    }\n  };\n  return exports;\n}(( false ? undefined : _typeof(module)) === \"object\" ? module.exports : {});\n\ntry {\n  regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n  Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.encodeToXmlString = encodeToXmlString;\nexports.escapeString = escapeString;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isAscii = isAscii;\nexports.isBool = isBool;\nexports.isNum = isNum;\nexports.isSameOrigin = isSameOrigin;\nexports.isString = isString;\nexports.objectFromEntries = objectFromEntries;\nexports.objectSize = objectSize;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF16BEString = stringToUTF16BEString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.createObjectURL = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\n\n__w_pdfjs_require__(5);\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nvar FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nvar PermissionFlag = {\n  PRINT: 0x04,\n  MODIFY_CONTENTS: 0x08,\n  COPY: 0x10,\n  MODIFY_ANNOTATIONS: 0x20,\n  FILL_INTERACTIVE_FORMS: 0x100,\n  COPY_FOR_ACCESSIBILITY: 0x200,\n  ASSEMBLE: 0x400,\n  PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nvar TextRenderingMode = {\n  FILL: 0,\n  STROKE: 1,\n  FILL_STROKE: 2,\n  INVISIBLE: 3,\n  FILL_ADD_TO_PATH: 4,\n  STROKE_ADD_TO_PATH: 5,\n  FILL_STROKE_ADD_TO_PATH: 6,\n  ADD_TO_PATH: 7,\n  FILL_STROKE_MASK: 3,\n  ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nvar ImageKind = {\n  GRAYSCALE_1BPP: 1,\n  RGB_24BPP: 2,\n  RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nvar AnnotationType = {\n  TEXT: 1,\n  LINK: 2,\n  FREETEXT: 3,\n  LINE: 4,\n  SQUARE: 5,\n  CIRCLE: 6,\n  POLYGON: 7,\n  POLYLINE: 8,\n  HIGHLIGHT: 9,\n  UNDERLINE: 10,\n  SQUIGGLY: 11,\n  STRIKEOUT: 12,\n  STAMP: 13,\n  CARET: 14,\n  INK: 15,\n  POPUP: 16,\n  FILEATTACHMENT: 17,\n  SOUND: 18,\n  MOVIE: 19,\n  WIDGET: 20,\n  SCREEN: 21,\n  PRINTERMARK: 22,\n  TRAPNET: 23,\n  WATERMARK: 24,\n  THREED: 25,\n  REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nvar AnnotationStateModelType = {\n  MARKED: \"Marked\",\n  REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nvar AnnotationMarkedState = {\n  MARKED: \"Marked\",\n  UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nvar AnnotationReviewState = {\n  ACCEPTED: \"Accepted\",\n  REJECTED: \"Rejected\",\n  CANCELLED: \"Cancelled\",\n  COMPLETED: \"Completed\",\n  NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nvar AnnotationReplyType = {\n  GROUP: \"Group\",\n  REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nvar AnnotationFlag = {\n  INVISIBLE: 0x01,\n  HIDDEN: 0x02,\n  PRINT: 0x04,\n  NOZOOM: 0x08,\n  NOROTATE: 0x10,\n  NOVIEW: 0x20,\n  READONLY: 0x40,\n  LOCKED: 0x80,\n  TOGGLENOVIEW: 0x100,\n  LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nvar AnnotationFieldFlag = {\n  READONLY: 0x0000001,\n  REQUIRED: 0x0000002,\n  NOEXPORT: 0x0000004,\n  MULTILINE: 0x0001000,\n  PASSWORD: 0x0002000,\n  NOTOGGLETOOFF: 0x0004000,\n  RADIO: 0x0008000,\n  PUSHBUTTON: 0x0010000,\n  COMBO: 0x0020000,\n  EDIT: 0x0040000,\n  SORT: 0x0080000,\n  FILESELECT: 0x0100000,\n  MULTISELECT: 0x0200000,\n  DONOTSPELLCHECK: 0x0400000,\n  DONOTSCROLL: 0x0800000,\n  COMB: 0x1000000,\n  RICHTEXT: 0x2000000,\n  RADIOSINUNISON: 0x2000000,\n  COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nvar AnnotationBorderStyleType = {\n  SOLID: 1,\n  DASHED: 2,\n  BEVELED: 3,\n  INSET: 4,\n  UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nvar AnnotationActionEventType = {\n  E: \"Mouse Enter\",\n  X: \"Mouse Exit\",\n  D: \"Mouse Down\",\n  U: \"Mouse Up\",\n  Fo: \"Focus\",\n  Bl: \"Blur\",\n  PO: \"PageOpen\",\n  PC: \"PageClose\",\n  PV: \"PageVisible\",\n  PI: \"PageInvisible\",\n  K: \"Keystroke\",\n  F: \"Format\",\n  V: \"Validate\",\n  C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nvar DocumentActionEventType = {\n  WC: \"WillClose\",\n  WS: \"WillSave\",\n  DS: \"DidSave\",\n  WP: \"WillPrint\",\n  DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nvar PageActionEventType = {\n  O: \"PageOpen\",\n  C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nvar StreamType = {\n  UNKNOWN: \"UNKNOWN\",\n  FLATE: \"FLATE\",\n  LZW: \"LZW\",\n  DCT: \"DCT\",\n  JPX: \"JPX\",\n  JBIG: \"JBIG\",\n  A85: \"A85\",\n  AHX: \"AHX\",\n  CCF: \"CCF\",\n  RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nvar FontType = {\n  UNKNOWN: \"UNKNOWN\",\n  TYPE1: \"TYPE1\",\n  TYPE1C: \"TYPE1C\",\n  CIDFONTTYPE0: \"CIDFONTTYPE0\",\n  CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n  TRUETYPE: \"TRUETYPE\",\n  CIDFONTTYPE2: \"CIDFONTTYPE2\",\n  TYPE3: \"TYPE3\",\n  OPENTYPE: \"OPENTYPE\",\n  TYPE0: \"TYPE0\",\n  MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nvar VerbosityLevel = {\n  ERRORS: 0,\n  WARNINGS: 1,\n  INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nvar CMapCompressionType = {\n  NONE: 0,\n  BINARY: 1,\n  STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nvar OPS = {\n  dependency: 1,\n  setLineWidth: 2,\n  setLineCap: 3,\n  setLineJoin: 4,\n  setMiterLimit: 5,\n  setDash: 6,\n  setRenderingIntent: 7,\n  setFlatness: 8,\n  setGState: 9,\n  save: 10,\n  restore: 11,\n  transform: 12,\n  moveTo: 13,\n  lineTo: 14,\n  curveTo: 15,\n  curveTo2: 16,\n  curveTo3: 17,\n  closePath: 18,\n  rectangle: 19,\n  stroke: 20,\n  closeStroke: 21,\n  fill: 22,\n  eoFill: 23,\n  fillStroke: 24,\n  eoFillStroke: 25,\n  closeFillStroke: 26,\n  closeEOFillStroke: 27,\n  endPath: 28,\n  clip: 29,\n  eoClip: 30,\n  beginText: 31,\n  endText: 32,\n  setCharSpacing: 33,\n  setWordSpacing: 34,\n  setHScale: 35,\n  setLeading: 36,\n  setFont: 37,\n  setTextRenderingMode: 38,\n  setTextRise: 39,\n  moveText: 40,\n  setLeadingMoveText: 41,\n  setTextMatrix: 42,\n  nextLine: 43,\n  showText: 44,\n  showSpacedText: 45,\n  nextLineShowText: 46,\n  nextLineSetSpacingShowText: 47,\n  setCharWidth: 48,\n  setCharWidthAndBounds: 49,\n  setStrokeColorSpace: 50,\n  setFillColorSpace: 51,\n  setStrokeColor: 52,\n  setStrokeColorN: 53,\n  setFillColor: 54,\n  setFillColorN: 55,\n  setStrokeGray: 56,\n  setFillGray: 57,\n  setStrokeRGBColor: 58,\n  setFillRGBColor: 59,\n  setStrokeCMYKColor: 60,\n  setFillCMYKColor: 61,\n  shadingFill: 62,\n  beginInlineImage: 63,\n  beginImageData: 64,\n  endInlineImage: 65,\n  paintXObject: 66,\n  markPoint: 67,\n  markPointProps: 68,\n  beginMarkedContent: 69,\n  beginMarkedContentProps: 70,\n  endMarkedContent: 71,\n  beginCompat: 72,\n  endCompat: 73,\n  paintFormXObjectBegin: 74,\n  paintFormXObjectEnd: 75,\n  beginGroup: 76,\n  endGroup: 77,\n  beginAnnotations: 78,\n  endAnnotations: 79,\n  beginAnnotation: 80,\n  endAnnotation: 81,\n  paintJpegXObject: 82,\n  paintImageMaskXObject: 83,\n  paintImageMaskXObjectGroup: 84,\n  paintImageXObject: 85,\n  paintInlineImageXObject: 86,\n  paintInlineImageXObjectGroup: 87,\n  paintImageXObjectRepeat: 88,\n  paintImageMaskXObjectRepeat: 89,\n  paintSolidColorImageMask: 90,\n  constructPath: 91\n};\nexports.OPS = OPS;\nvar UNSUPPORTED_FEATURES = {\n  unknown: \"unknown\",\n  forms: \"forms\",\n  javaScript: \"javaScript\",\n  smask: \"smask\",\n  shadingPattern: \"shadingPattern\",\n  font: \"font\",\n  errorTilingPattern: \"errorTilingPattern\",\n  errorExtGState: \"errorExtGState\",\n  errorXObject: \"errorXObject\",\n  errorFontLoadType3: \"errorFontLoadType3\",\n  errorFontState: \"errorFontState\",\n  errorFontMissing: \"errorFontMissing\",\n  errorFontTranslate: \"errorFontTranslate\",\n  errorColorSpace: \"errorColorSpace\",\n  errorOperatorList: \"errorOperatorList\",\n  errorFontToUnicode: \"errorFontToUnicode\",\n  errorFontLoadNative: \"errorFontLoadNative\",\n  errorFontGetPath: \"errorFontGetPath\",\n  errorMarkedContent: \"errorMarkedContent\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nvar PasswordResponses = {\n  NEED_PASSWORD: 1,\n  INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nvar verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n  if (Number.isInteger(level)) {\n    verbosity = level;\n  }\n}\n\nfunction getVerbosityLevel() {\n  return verbosity;\n}\n\nfunction info(msg) {\n  if (verbosity >= VerbosityLevel.INFOS) {\n    console.log(\"Info: \".concat(msg));\n  }\n}\n\nfunction warn(msg) {\n  if (verbosity >= VerbosityLevel.WARNINGS) {\n    console.log(\"Warning: \".concat(msg));\n  }\n}\n\nfunction unreachable(msg) {\n  throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n  if (!cond) {\n    unreachable(msg);\n  }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n  var base;\n\n  try {\n    base = new URL(baseUrl);\n\n    if (!base.origin || base.origin === \"null\") {\n      return false;\n    }\n  } catch (e) {\n    return false;\n  }\n\n  var other = new URL(otherUrl, base);\n  return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n  if (!url) {\n    return false;\n  }\n\n  switch (url.protocol) {\n    case \"http:\":\n    case \"https:\":\n    case \"ftp:\":\n    case \"mailto:\":\n    case \"tel:\":\n      return true;\n\n    default:\n      return false;\n  }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n  if (!url) {\n    return null;\n  }\n\n  try {\n    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n    if (_isValidProtocol(absoluteUrl)) {\n      return absoluteUrl;\n    }\n  } catch (ex) {}\n\n  return null;\n}\n\nfunction shadow(obj, prop, value) {\n  Object.defineProperty(obj, prop, {\n    value: value,\n    enumerable: true,\n    configurable: true,\n    writable: false\n  });\n  return value;\n}\n\nvar BaseException = function BaseExceptionClosure() {\n  function BaseException(message) {\n    if (this.constructor === BaseException) {\n      unreachable(\"Cannot initialize BaseException.\");\n    }\n\n    this.message = message;\n    this.name = this.constructor.name;\n  }\n\n  BaseException.prototype = new Error();\n  BaseException.constructor = BaseException;\n  return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nvar PasswordException = /*#__PURE__*/function (_BaseException) {\n  _inherits(PasswordException, _BaseException);\n\n  var _super = _createSuper(PasswordException);\n\n  function PasswordException(msg, code) {\n    var _this;\n\n    _classCallCheck(this, PasswordException);\n\n    _this = _super.call(this, msg);\n    _this.code = code;\n    return _this;\n  }\n\n  return PasswordException;\n}(BaseException);\n\nexports.PasswordException = PasswordException;\n\nvar UnknownErrorException = /*#__PURE__*/function (_BaseException2) {\n  _inherits(UnknownErrorException, _BaseException2);\n\n  var _super2 = _createSuper(UnknownErrorException);\n\n  function UnknownErrorException(msg, details) {\n    var _this2;\n\n    _classCallCheck(this, UnknownErrorException);\n\n    _this2 = _super2.call(this, msg);\n    _this2.details = details;\n    return _this2;\n  }\n\n  return UnknownErrorException;\n}(BaseException);\n\nexports.UnknownErrorException = UnknownErrorException;\n\nvar InvalidPDFException = /*#__PURE__*/function (_BaseException3) {\n  _inherits(InvalidPDFException, _BaseException3);\n\n  var _super3 = _createSuper(InvalidPDFException);\n\n  function InvalidPDFException() {\n    _classCallCheck(this, InvalidPDFException);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return InvalidPDFException;\n}(BaseException);\n\nexports.InvalidPDFException = InvalidPDFException;\n\nvar MissingPDFException = /*#__PURE__*/function (_BaseException4) {\n  _inherits(MissingPDFException, _BaseException4);\n\n  var _super4 = _createSuper(MissingPDFException);\n\n  function MissingPDFException() {\n    _classCallCheck(this, MissingPDFException);\n\n    return _super4.apply(this, arguments);\n  }\n\n  return MissingPDFException;\n}(BaseException);\n\nexports.MissingPDFException = MissingPDFException;\n\nvar UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {\n  _inherits(UnexpectedResponseException, _BaseException5);\n\n  var _super5 = _createSuper(UnexpectedResponseException);\n\n  function UnexpectedResponseException(msg, status) {\n    var _this3;\n\n    _classCallCheck(this, UnexpectedResponseException);\n\n    _this3 = _super5.call(this, msg);\n    _this3.status = status;\n    return _this3;\n  }\n\n  return UnexpectedResponseException;\n}(BaseException);\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nvar FormatError = /*#__PURE__*/function (_BaseException6) {\n  _inherits(FormatError, _BaseException6);\n\n  var _super6 = _createSuper(FormatError);\n\n  function FormatError() {\n    _classCallCheck(this, FormatError);\n\n    return _super6.apply(this, arguments);\n  }\n\n  return FormatError;\n}(BaseException);\n\nexports.FormatError = FormatError;\n\nvar AbortException = /*#__PURE__*/function (_BaseException7) {\n  _inherits(AbortException, _BaseException7);\n\n  var _super7 = _createSuper(AbortException);\n\n  function AbortException() {\n    _classCallCheck(this, AbortException);\n\n    return _super7.apply(this, arguments);\n  }\n\n  return AbortException;\n}(BaseException);\n\nexports.AbortException = AbortException;\nvar NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n  if (typeof str !== \"string\") {\n    warn(\"The argument for removeNullCharacters must be a string.\");\n    return str;\n  }\n\n  return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n  assert(bytes !== null && _typeof(bytes) === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n  var length = bytes.length;\n  var MAX_ARGUMENT_COUNT = 8192;\n\n  if (length < MAX_ARGUMENT_COUNT) {\n    return String.fromCharCode.apply(null, bytes);\n  }\n\n  var strBuf = [];\n\n  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n    var chunk = bytes.subarray(i, chunkEnd);\n    strBuf.push(String.fromCharCode.apply(null, chunk));\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n  assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n  var length = str.length;\n  var bytes = new Uint8Array(length);\n\n  for (var i = 0; i < length; ++i) {\n    bytes[i] = str.charCodeAt(i) & 0xff;\n  }\n\n  return bytes;\n}\n\nfunction arrayByteLength(arr) {\n  if (arr.length !== undefined) {\n    return arr.length;\n  }\n\n  assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n  return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n  var length = arr.length;\n\n  if (length === 1 && arr[0] instanceof Uint8Array) {\n    return arr[0];\n  }\n\n  var resultLength = 0;\n\n  for (var i = 0; i < length; i++) {\n    resultLength += arrayByteLength(arr[i]);\n  }\n\n  var pos = 0;\n  var data = new Uint8Array(resultLength);\n\n  for (var _i = 0; _i < length; _i++) {\n    var item = arr[_i];\n\n    if (!(item instanceof Uint8Array)) {\n      if (typeof item === \"string\") {\n        item = stringToBytes(item);\n      } else {\n        item = new Uint8Array(item);\n      }\n    }\n\n    var itemLength = item.byteLength;\n    data.set(item, pos);\n    pos += itemLength;\n  }\n\n  return data;\n}\n\nfunction string32(value) {\n  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction objectSize(obj) {\n  return Object.keys(obj).length;\n}\n\nfunction objectFromEntries(iterable) {\n  return Object.assign(Object.create(null), Object.fromEntries(iterable));\n}\n\nfunction isLittleEndian() {\n  var buffer8 = new Uint8Array(4);\n  buffer8[0] = 1;\n  var view32 = new Uint32Array(buffer8.buffer, 0, 1);\n  return view32[0] === 1;\n}\n\nvar IsLittleEndianCached = {\n  get value() {\n    return shadow(this, \"value\", isLittleEndian());\n  }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n  try {\n    new Function(\"\");\n    return true;\n  } catch (e) {\n    return false;\n  }\n}\n\nvar IsEvalSupportedCached = {\n  get value() {\n    return shadow(this, \"value\", isEvalSupported());\n  }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\n\nvar hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {\n  return n.toString(16).padStart(2, \"0\");\n});\n\nvar Util = /*#__PURE__*/function () {\n  function Util() {\n    _classCallCheck(this, Util);\n  }\n\n  _createClass(Util, null, [{\n    key: \"makeHexColor\",\n    value: function makeHexColor(r, g, b) {\n      return \"#\".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);\n    }\n  }, {\n    key: \"transform\",\n    value: function transform(m1, m2) {\n      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n    }\n  }, {\n    key: \"applyTransform\",\n    value: function applyTransform(p, m) {\n      var xt = p[0] * m[0] + p[1] * m[2] + m[4];\n      var yt = p[0] * m[1] + p[1] * m[3] + m[5];\n      return [xt, yt];\n    }\n  }, {\n    key: \"applyInverseTransform\",\n    value: function applyInverseTransform(p, m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n      return [xt, yt];\n    }\n  }, {\n    key: \"getAxialAlignedBoundingBox\",\n    value: function getAxialAlignedBoundingBox(r, m) {\n      var p1 = Util.applyTransform(r, m);\n      var p2 = Util.applyTransform(r.slice(2, 4), m);\n      var p3 = Util.applyTransform([r[0], r[3]], m);\n      var p4 = Util.applyTransform([r[2], r[1]], m);\n      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n    }\n  }, {\n    key: \"inverseTransform\",\n    value: function inverseTransform(m) {\n      var d = m[0] * m[3] - m[1] * m[2];\n      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n    }\n  }, {\n    key: \"apply3dTransform\",\n    value: function apply3dTransform(m, v) {\n      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n    }\n  }, {\n    key: \"singularValueDecompose2dScale\",\n    value: function singularValueDecompose2dScale(m) {\n      var transpose = [m[0], m[2], m[1], m[3]];\n      var a = m[0] * transpose[0] + m[1] * transpose[2];\n      var b = m[0] * transpose[1] + m[1] * transpose[3];\n      var c = m[2] * transpose[0] + m[3] * transpose[2];\n      var d = m[2] * transpose[1] + m[3] * transpose[3];\n      var first = (a + d) / 2;\n      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n      var sx = first + second || 1;\n      var sy = first - second || 1;\n      return [Math.sqrt(sx), Math.sqrt(sy)];\n    }\n  }, {\n    key: \"normalizeRect\",\n    value: function normalizeRect(rect) {\n      var r = rect.slice(0);\n\n      if (rect[0] > rect[2]) {\n        r[0] = rect[2];\n        r[2] = rect[0];\n      }\n\n      if (rect[1] > rect[3]) {\n        r[1] = rect[3];\n        r[3] = rect[1];\n      }\n\n      return r;\n    }\n  }, {\n    key: \"intersect\",\n    value: function intersect(rect1, rect2) {\n      function compare(a, b) {\n        return a - b;\n      }\n\n      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n      var result = [];\n      rect1 = Util.normalizeRect(rect1);\n      rect2 = Util.normalizeRect(rect2);\n\n      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n        result[0] = orderedX[1];\n        result[2] = orderedX[2];\n      } else {\n        return null;\n      }\n\n      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n        result[1] = orderedY[1];\n        result[3] = orderedY[2];\n      } else {\n        return null;\n      }\n\n      return result;\n    }\n  }]);\n\n  return Util;\n}();\n\nexports.Util = Util;\nvar PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n  var length = str.length,\n      strBuf = [];\n\n  if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n    for (var i = 2; i < length; i += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n    }\n  } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n    for (var _i2 = 2; _i2 < length; _i2 += 2) {\n      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));\n    }\n  } else {\n    for (var _i3 = 0; _i3 < length; ++_i3) {\n      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];\n      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));\n    }\n  }\n\n  return strBuf.join(\"\");\n}\n\nfunction escapeString(str) {\n  return str.replace(/([()\\\\\\n\\r])/g, function (match) {\n    if (match === \"\\n\") {\n      return \"\\\\n\";\n    } else if (match === \"\\r\") {\n      return \"\\\\r\";\n    }\n\n    return \"\\\\\".concat(match);\n  });\n}\n\nfunction isAscii(str) {\n  return /^[\\x00-\\x7F]*$/.test(str);\n}\n\nfunction stringToUTF16BEString(str) {\n  var buf = [\"\\xFE\\xFF\"];\n\n  for (var i = 0, ii = str.length; i < ii; i++) {\n    var _char = str.charCodeAt(i);\n\n    buf.push(String.fromCharCode(_char >> 8 & 0xff));\n    buf.push(String.fromCharCode(_char & 0xff));\n  }\n\n  return buf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n  return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n  return unescape(encodeURIComponent(str));\n}\n\nfunction isBool(v) {\n  return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n  return typeof v === \"number\";\n}\n\nfunction isString(v) {\n  return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n  return _typeof(v) === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n  if (arr1.length !== arr2.length) {\n    return false;\n  }\n\n  return arr1.every(function (element, index) {\n    return element === arr2[index];\n  });\n}\n\nfunction getModificationDate() {\n  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();\n  var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n  return buffer.join(\"\");\n}\n\nfunction createPromiseCapability() {\n  var capability = Object.create(null);\n  var isSettled = false;\n  Object.defineProperty(capability, \"settled\", {\n    get: function get() {\n      return isSettled;\n    }\n  });\n  capability.promise = new Promise(function (resolve, reject) {\n    capability.resolve = function (data) {\n      isSettled = true;\n      resolve(data);\n    };\n\n    capability.reject = function (reason) {\n      isSettled = true;\n      reject(reason);\n    };\n  });\n  return capability;\n}\n\nvar createObjectURL = function createObjectURLClosure() {\n  var digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n  return function createObjectURL(data, contentType) {\n    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n    if (!forceDataSchema && URL.createObjectURL) {\n      var blob = new Blob([data], {\n        type: contentType\n      });\n      return URL.createObjectURL(blob);\n    }\n\n    var buffer = \"data:\".concat(contentType, \";base64,\");\n\n    for (var i = 0, ii = data.length; i < ii; i += 3) {\n      var b1 = data[i] & 0xff;\n      var b2 = data[i + 1] & 0xff;\n      var b3 = data[i + 2] & 0xff;\n      var d1 = b1 >> 2,\n          d2 = (b1 & 3) << 4 | b2 >> 4;\n      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n      var d4 = i + 2 < ii ? b3 & 0x3f : 64;\n      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n    }\n\n    return buffer;\n  };\n}();\n\nexports.createObjectURL = createObjectURL;\nvar XMLEntities = {\n  0x3c: \"&lt;\",\n  0x3e: \"&gt;\",\n  0x26: \"&amp;\",\n  0x22: \"&quot;\",\n  0x27: \"&apos;\"\n};\n\nfunction encodeToXmlString(str) {\n  var buffer = [];\n  var start = 0;\n\n  for (var i = 0, ii = str.length; i < ii; i++) {\n    var _char2 = str.codePointAt(i);\n\n    if (0x20 <= _char2 && _char2 <= 0x7e) {\n      var entity = XMLEntities[_char2];\n\n      if (entity) {\n        if (start < i) {\n          buffer.push(str.substring(start, i));\n        }\n\n        buffer.push(entity);\n        start = i + 1;\n      }\n    } else {\n      if (start < i) {\n        buffer.push(str.substring(start, i));\n      }\n\n      buffer.push(\"&#x\".concat(_char2.toString(16).toUpperCase(), \";\"));\n\n      if (_char2 > 0xd7ff && (_char2 < 0xe000 || _char2 > 0xfffd)) {\n        i++;\n      }\n\n      start = i + 1;\n    }\n  }\n\n  if (buffer.length === 0) {\n    return str;\n  }\n\n  if (start < str.length) {\n    buffer.push(str.substring(start, str.length));\n  }\n\n  return buffer.join(\"\");\n}\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(6);\n\nif (typeof globalThis === \"undefined\" || !globalThis._pdfjsCompatibilityChecked) {\n  if (typeof globalThis === \"undefined\" || globalThis.Math !== Math) {\n    globalThis = __w_pdfjs_require__(7);\n  }\n\n  globalThis._pdfjsCompatibilityChecked = true;\n\n  (function checkNodeBtoa() {\n    if (globalThis.btoa || !_is_node.isNodeJS) {\n      return;\n    }\n\n    globalThis.btoa = function (chars) {\n      return Buffer.from(chars, \"binary\").toString(\"base64\");\n    };\n  })();\n\n  (function checkNodeAtob() {\n    if (globalThis.atob || !_is_node.isNodeJS) {\n      return;\n    }\n\n    globalThis.atob = function (input) {\n      return Buffer.from(input, \"base64\").toString(\"binary\");\n    };\n  })();\n\n  (function checkObjectFromEntries() {\n    if (Object.fromEntries) {\n      return;\n    }\n\n    __w_pdfjs_require__(52);\n  })();\n\n  (function checkPromise() {\n    if (globalThis.Promise.allSettled) {\n      return;\n    }\n\n    globalThis.Promise = __w_pdfjs_require__(82);\n  })();\n\n  (function checkURL() {\n    globalThis.URL = __w_pdfjs_require__(111);\n  })();\n\n  (function checkReadableStream() {\n    var isReadableStreamSupported = false;\n\n    if (typeof ReadableStream !== \"undefined\") {\n      try {\n        new ReadableStream({\n          start: function start(controller) {\n            controller.close();\n          }\n        });\n        isReadableStreamSupported = true;\n      } catch (e) {}\n    }\n\n    if (isReadableStreamSupported) {\n      return;\n    }\n\n    globalThis.ReadableStream = __w_pdfjs_require__(121).ReadableStream;\n  })();\n\n  (function checkStringPadStart() {\n    if (String.prototype.padStart) {\n      return;\n    }\n\n    __w_pdfjs_require__(122);\n  })();\n\n  (function checkStringPadEnd() {\n    if (String.prototype.padEnd) {\n      return;\n    }\n\n    __w_pdfjs_require__(128);\n  })();\n\n  (function checkObjectValues() {\n    if (Object.values) {\n      return;\n    }\n\n    Object.values = __w_pdfjs_require__(130);\n  })();\n\n  (function checkObjectEntries() {\n    if (Object.entries) {\n      return;\n    }\n\n    Object.entries = __w_pdfjs_require__(133);\n  })();\n}\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.isNodeJS = void 0;\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar isNodeJS = (typeof process === \"undefined\" ? \"undefined\" : _typeof(process)) === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 7 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(8);\nmodule.exports = __w_pdfjs_require__(10);\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar global = __w_pdfjs_require__(10);\n$({ global: true }, { globalThis: global });\n\n/***/ }),\n/* 9 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar redefine = __w_pdfjs_require__(28);\nvar setGlobal = __w_pdfjs_require__(29);\nvar copyConstructorProperties = __w_pdfjs_require__(39);\nvar isForced = __w_pdfjs_require__(51);\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n  target = global;\n } else if (STATIC) {\n  target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n  target = (global[TARGET] || {}).prototype;\n }\n if (target)\n  for (key in source) {\n   sourceProperty = source[key];\n   if (options.noTargetGet) {\n    descriptor = getOwnPropertyDescriptor(target, key);\n    targetProperty = descriptor && descriptor.value;\n   } else\n    targetProperty = target[key];\n   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n   if (!FORCED && targetProperty !== undefined) {\n    if (typeof sourceProperty === typeof targetProperty)\n     continue;\n    copyConstructorProperties(sourceProperty, targetProperty);\n   }\n   if (options.sham || targetProperty && targetProperty.sham) {\n    createNonEnumerableProperty(sourceProperty, 'sham', true);\n   }\n   redefine(target, key, sourceProperty, options);\n  }\n};\n\n/***/ }),\n/* 10 */\n/***/ ((module) => {\n\nvar check = function (it) {\n return it && it.Math == Math && it;\n};\nmodule.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || function () {\n return this;\n}() || Function('return this')();\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(14);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toPrimitive = __w_pdfjs_require__(20);\nvar has = __w_pdfjs_require__(22);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(23);\nvar nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nexports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE)\n  try {\n   return nativeGetOwnPropertyDescriptor(O, P);\n  } catch (error) {\n  }\n if (has(O, P))\n  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n\n/***/ }),\n/* 12 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !fails(function () {\n return Object.defineProperty({}, 1, {\n  get: function () {\n   return 7;\n  }\n })[1] != 7;\n});\n\n/***/ }),\n/* 13 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n  return !!exec();\n } catch (error) {\n  return true;\n }\n};\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\nvar nativePropertyIsEnumerable = {}.propertyIsEnumerable;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : nativePropertyIsEnumerable;\n\n/***/ }),\n/* 15 */\n/***/ ((module) => {\n\nmodule.exports = function (bitmap, value) {\n return {\n  enumerable: !(bitmap & 1),\n  configurable: !(bitmap & 2),\n  writable: !(bitmap & 4),\n  value: value\n };\n};\n\n/***/ }),\n/* 16 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IndexedObject = __w_pdfjs_require__(17);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n\n/***/ }),\n/* 17 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar classof = __w_pdfjs_require__(18);\nvar split = ''.split;\nmodule.exports = fails(function () {\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n\n/***/ }),\n/* 18 */\n/***/ ((module) => {\n\nvar toString = {}.toString;\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n\n/***/ }),\n/* 19 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n if (it == undefined)\n  throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n\n/***/ }),\n/* 20 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input))\n  return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))\n  return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n\n/***/ }),\n/* 21 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n\n/***/ }),\n/* 22 */\n/***/ ((module) => {\n\nvar hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n\n/***/ }),\n/* 23 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(13);\nvar createElement = __w_pdfjs_require__(24);\nmodule.exports = !DESCRIPTORS && !fails(function () {\n return Object.defineProperty(createElement('div'), 'a', {\n  get: function () {\n   return 7;\n  }\n }).a != 7;\n});\n\n/***/ }),\n/* 24 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(21);\nvar document = global.document;\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n\n/***/ }),\n/* 25 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar IE8_DOM_DEFINE = __w_pdfjs_require__(23);\nvar anObject = __w_pdfjs_require__(27);\nvar toPrimitive = __w_pdfjs_require__(20);\nvar nativeDefineProperty = Object.defineProperty;\nexports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE)\n  try {\n   return nativeDefineProperty(O, P, Attributes);\n  } catch (error) {\n  }\n if ('get' in Attributes || 'set' in Attributes)\n  throw TypeError('Accessors not supported');\n if ('value' in Attributes)\n  O[P] = Attributes.value;\n return O;\n};\n\n/***/ }),\n/* 27 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\nmodule.exports = function (it) {\n if (!isObject(it)) {\n  throw TypeError(String(it) + ' is not an object');\n }\n return it;\n};\n\n/***/ }),\n/* 28 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar has = __w_pdfjs_require__(22);\nvar setGlobal = __w_pdfjs_require__(29);\nvar inspectSource = __w_pdfjs_require__(30);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n  if (typeof key == 'string' && !has(value, 'name')) {\n   createNonEnumerableProperty(value, 'name', key);\n  }\n  state = enforceInternalState(value);\n  if (!state.source) {\n   state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n  }\n }\n if (O === global) {\n  if (simple)\n   O[key] = value;\n  else\n   setGlobal(key, value);\n  return;\n } else if (!unsafe) {\n  delete O[key];\n } else if (!noTargetGet && O[key]) {\n  simple = true;\n }\n if (simple)\n  O[key] = value;\n else\n  createNonEnumerableProperty(O, key, value);\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n\n/***/ }),\n/* 29 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nmodule.exports = function (key, value) {\n try {\n  createNonEnumerableProperty(global, key, value);\n } catch (error) {\n  global[key] = value;\n }\n return value;\n};\n\n/***/ }),\n/* 30 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar store = __w_pdfjs_require__(31);\nvar functionToString = Function.toString;\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n  return functionToString.call(it);\n };\n}\nmodule.exports = store.inspectSource;\n\n/***/ }),\n/* 31 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar setGlobal = __w_pdfjs_require__(29);\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\nmodule.exports = store;\n\n/***/ }),\n/* 32 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_WEAK_MAP = __w_pdfjs_require__(33);\nvar global = __w_pdfjs_require__(10);\nvar isObject = __w_pdfjs_require__(21);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar objectHas = __w_pdfjs_require__(22);\nvar shared = __w_pdfjs_require__(31);\nvar sharedKey = __w_pdfjs_require__(34);\nvar hiddenKeys = __w_pdfjs_require__(38);\nvar WeakMap = global.WeakMap;\nvar set, get, has;\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\nvar getterFor = function (TYPE) {\n return function (it) {\n  var state;\n  if (!isObject(it) || (state = get(it)).type !== TYPE) {\n   throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n  }\n  return state;\n };\n};\nif (NATIVE_WEAK_MAP) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n  metadata.facade = it;\n  wmset.call(store, it, metadata);\n  return metadata;\n };\n get = function (it) {\n  return wmget.call(store, it) || {};\n };\n has = function (it) {\n  return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n  metadata.facade = it;\n  createNonEnumerableProperty(it, STATE, metadata);\n  return metadata;\n };\n get = function (it) {\n  return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n  return objectHas(it, STATE);\n };\n}\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n\n/***/ }),\n/* 33 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar inspectSource = __w_pdfjs_require__(30);\nvar WeakMap = global.WeakMap;\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n\n/***/ }),\n/* 34 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar shared = __w_pdfjs_require__(35);\nvar uid = __w_pdfjs_require__(37);\nvar keys = shared('keys');\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n\n/***/ }),\n/* 35 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar IS_PURE = __w_pdfjs_require__(36);\nvar store = __w_pdfjs_require__(31);\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.8.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n\n/***/ }),\n/* 36 */\n/***/ ((module) => {\n\nmodule.exports = false;\n\n/***/ }),\n/* 37 */\n/***/ ((module) => {\n\nvar id = 0;\nvar postfix = Math.random();\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n\n/***/ }),\n/* 38 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 39 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar ownKeys = __w_pdfjs_require__(40);\nvar getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);\nvar definePropertyModule = __w_pdfjs_require__(26);\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n  var key = keys[i];\n  if (!has(target, key))\n   defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n\n/***/ }),\n/* 40 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar getOwnPropertyNamesModule = __w_pdfjs_require__(43);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(50);\nvar anObject = __w_pdfjs_require__(27);\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n\n/***/ }),\n/* 41 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar path = __w_pdfjs_require__(42);\nvar global = __w_pdfjs_require__(10);\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n\n/***/ }),\n/* 42 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global;\n\n/***/ }),\n/* 43 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(44);\nvar enumBugKeys = __w_pdfjs_require__(49);\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n\n/***/ }),\n/* 44 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar indexOf = __w_pdfjs_require__(45).indexOf;\nvar hiddenKeys = __w_pdfjs_require__(38);\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O)\n  !has(hiddenKeys, key) && has(O, key) && result.push(key);\n while (names.length > i)\n  if (has(O, key = names[i++])) {\n   ~indexOf(result, key) || result.push(key);\n  }\n return result;\n};\n\n/***/ }),\n/* 45 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar toLength = __w_pdfjs_require__(46);\nvar toAbsoluteIndex = __w_pdfjs_require__(48);\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n  var O = toIndexedObject($this);\n  var length = toLength(O.length);\n  var index = toAbsoluteIndex(fromIndex, length);\n  var value;\n  if (IS_INCLUDES && el != el)\n   while (length > index) {\n    value = O[index++];\n    if (value != value)\n     return true;\n   }\n  else\n   for (; length > index; index++) {\n    if ((IS_INCLUDES || index in O) && O[index] === el)\n     return IS_INCLUDES || index || 0;\n   }\n  return !IS_INCLUDES && -1;\n };\n};\nmodule.exports = {\n includes: createMethod(true),\n indexOf: createMethod(false)\n};\n\n/***/ }),\n/* 46 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\nvar min = Math.min;\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;\n};\n\n/***/ }),\n/* 47 */\n/***/ ((module) => {\n\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n\n/***/ }),\n/* 48 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n\n/***/ }),\n/* 49 */\n/***/ ((module) => {\n\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n\n/***/ }),\n/* 50 */\n/***/ ((__unused_webpack_module, exports) => {\n\nexports.f = Object.getOwnPropertySymbols;\n\n/***/ }),\n/* 51 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;\n\n/***/ }),\n/* 52 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(53);\n__w_pdfjs_require__(72);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.fromEntries;\n\n/***/ }),\n/* 53 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar addToUnscopables = __w_pdfjs_require__(54);\nvar Iterators = __w_pdfjs_require__(62);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar defineIterator = __w_pdfjs_require__(63);\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n  type: ARRAY_ITERATOR,\n  target: toIndexedObject(iterated),\n  index: 0,\n  kind: kind\n });\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n  state.target = undefined;\n  return {\n   value: undefined,\n   done: true\n  };\n }\n if (kind == 'keys')\n  return {\n   value: index,\n   done: false\n  };\n if (kind == 'values')\n  return {\n   value: target[index],\n   done: false\n  };\n return {\n  value: [\n   index,\n   target[index]\n  ],\n  done: false\n };\n}, 'values');\nIterators.Arguments = Iterators.Array;\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n\n/***/ }),\n/* 54 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar create = __w_pdfjs_require__(58);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n  configurable: true,\n  value: create(null)\n });\n}\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n\n/***/ }),\n/* 55 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar shared = __w_pdfjs_require__(35);\nvar has = __w_pdfjs_require__(22);\nvar uid = __w_pdfjs_require__(37);\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\nvar USE_SYMBOL_AS_UID = __w_pdfjs_require__(57);\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name)) {\n  if (NATIVE_SYMBOL && has(Symbol, name))\n   WellKnownSymbolsStore[name] = Symbol[name];\n  else\n   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n return WellKnownSymbolsStore[name];\n};\n\n/***/ }),\n/* 56 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n return !String(Symbol());\n});\n\n/***/ }),\n/* 57 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar NATIVE_SYMBOL = __w_pdfjs_require__(56);\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';\n\n/***/ }),\n/* 58 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar defineProperties = __w_pdfjs_require__(59);\nvar enumBugKeys = __w_pdfjs_require__(49);\nvar hiddenKeys = __w_pdfjs_require__(38);\nvar html = __w_pdfjs_require__(61);\nvar documentCreateElement = __w_pdfjs_require__(24);\nvar sharedKey = __w_pdfjs_require__(34);\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar EmptyConstructor = function () {\n};\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null;\n return temp;\n};\nvar NullProtoObjectViaIFrame = function () {\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n  activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) {\n }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--)\n  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\nhiddenKeys[IE_PROTO] = true;\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n  EmptyConstructor[PROTOTYPE] = anObject(O);\n  result = new EmptyConstructor();\n  EmptyConstructor[PROTOTYPE] = null;\n  result[IE_PROTO] = O;\n } else\n  result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n\n/***/ }),\n/* 59 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar anObject = __w_pdfjs_require__(27);\nvar objectKeys = __w_pdfjs_require__(60);\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index)\n  definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n\n/***/ }),\n/* 60 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar internalObjectKeys = __w_pdfjs_require__(44);\nvar enumBugKeys = __w_pdfjs_require__(49);\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n\n/***/ }),\n/* 61 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nmodule.exports = getBuiltIn('document', 'documentElement');\n\n/***/ }),\n/* 62 */\n/***/ ((module) => {\n\nmodule.exports = {};\n\n/***/ }),\n/* 63 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar createIteratorConstructor = __w_pdfjs_require__(64);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar setPrototypeOf = __w_pdfjs_require__(70);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar redefine = __w_pdfjs_require__(28);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar Iterators = __w_pdfjs_require__(62);\nvar IteratorsCore = __w_pdfjs_require__(65);\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n var getIterationMethod = function (KIND) {\n  if (KIND === DEFAULT && defaultIterator)\n   return defaultIterator;\n  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)\n   return IterablePrototype[KIND];\n  switch (KIND) {\n  case KEYS:\n   return function keys() {\n    return new IteratorConstructor(this, KIND);\n   };\n  case VALUES:\n   return function values() {\n    return new IteratorConstructor(this, KIND);\n   };\n  case ENTRIES:\n   return function entries() {\n    return new IteratorConstructor(this, KIND);\n   };\n  }\n  return function () {\n   return new IteratorConstructor(this);\n  };\n };\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n if (anyNativeIterator) {\n  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n    if (setPrototypeOf) {\n     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n    }\n   }\n   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n   if (IS_PURE)\n    Iterators[TO_STRING_TAG] = returnThis;\n  }\n }\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n  INCORRECT_VALUES_NAME = true;\n  defaultIterator = function values() {\n   return nativeIterator.call(this);\n  };\n }\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n if (DEFAULT) {\n  methods = {\n   values: getIterationMethod(VALUES),\n   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n   entries: getIterationMethod(ENTRIES)\n  };\n  if (FORCED)\n   for (KEY in methods) {\n    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n     redefine(IterablePrototype, KEY, methods[KEY]);\n    }\n   }\n  else\n   $({\n    target: NAME,\n    proto: true,\n    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME\n   }, methods);\n }\n return methods;\n};\n\n/***/ }),\n/* 64 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar IteratorPrototype = __w_pdfjs_require__(65).IteratorPrototype;\nvar create = __w_pdfjs_require__(58);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar Iterators = __w_pdfjs_require__(62);\nvar returnThis = function () {\n return this;\n};\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n\n/***/ }),\n/* 65 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar fails = __w_pdfjs_require__(13);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar has = __w_pdfjs_require__(22);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\nvar returnThis = function () {\n return this;\n};\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\nif ([].keys) {\n arrayIterator = [].keys();\n if (!('next' in arrayIterator))\n  BUGGY_SAFARI_ITERATORS = true;\n else {\n  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)\n   IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\nif (NEW_ITERATOR_PROTOTYPE)\n IteratorPrototype = {};\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n\n/***/ }),\n/* 66 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar has = __w_pdfjs_require__(22);\nvar toObject = __w_pdfjs_require__(67);\nvar sharedKey = __w_pdfjs_require__(34);\nvar CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(68);\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO))\n  return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n  return O.constructor.prototype;\n }\n return O instanceof Object ? ObjectPrototype : null;\n};\n\n/***/ }),\n/* 67 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n\n/***/ }),\n/* 68 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nmodule.exports = !fails(function () {\n function F() {\n }\n F.prototype.constructor = null;\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n\n/***/ }),\n/* 69 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar defineProperty = __w_pdfjs_require__(26).f;\nvar has = __w_pdfjs_require__(22);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n  defineProperty(it, TO_STRING_TAG, {\n   configurable: true,\n   value: TAG\n  });\n }\n};\n\n/***/ }),\n/* 70 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar aPossiblePrototype = __w_pdfjs_require__(71);\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n  setter.call(test, []);\n  CORRECT_SETTER = test instanceof Array;\n } catch (error) {\n }\n return function setPrototypeOf(O, proto) {\n  anObject(O);\n  aPossiblePrototype(proto);\n  if (CORRECT_SETTER)\n   setter.call(O, proto);\n  else\n   O.__proto__ = proto;\n  return O;\n };\n}() : undefined);\n\n/***/ }),\n/* 71 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar isObject = __w_pdfjs_require__(21);\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n  throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n }\n return it;\n};\n\n/***/ }),\n/* 72 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar iterate = __w_pdfjs_require__(73);\nvar createProperty = __w_pdfjs_require__(81);\n$({\n target: 'Object',\n stat: true\n}, {\n fromEntries: function fromEntries(iterable) {\n  var obj = {};\n  iterate(iterable, function (k, v) {\n   createProperty(obj, k, v);\n  }, { AS_ENTRIES: true });\n  return obj;\n }\n});\n\n/***/ }),\n/* 73 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar isArrayIteratorMethod = __w_pdfjs_require__(74);\nvar toLength = __w_pdfjs_require__(46);\nvar bind = __w_pdfjs_require__(75);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nvar iteratorClose = __w_pdfjs_require__(80);\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n var stop = function (condition) {\n  if (iterator)\n   iteratorClose(iterator);\n  return new Result(true, condition);\n };\n var callFn = function (value) {\n  if (AS_ENTRIES) {\n   anObject(value);\n   return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n  }\n  return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n if (IS_ITERATOR) {\n  iterator = iterable;\n } else {\n  iterFn = getIteratorMethod(iterable);\n  if (typeof iterFn != 'function')\n   throw TypeError('Target is not iterable');\n  if (isArrayIteratorMethod(iterFn)) {\n   for (index = 0, length = toLength(iterable.length); length > index; index++) {\n    result = callFn(iterable[index]);\n    if (result && result instanceof Result)\n     return result;\n   }\n   return new Result(false);\n  }\n  iterator = iterFn.call(iterable);\n }\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n  try {\n   result = callFn(step.value);\n  } catch (error) {\n   iteratorClose(iterator);\n   throw error;\n  }\n  if (typeof result == 'object' && result && result instanceof Result)\n   return result;\n }\n return new Result(false);\n};\n\n/***/ }),\n/* 74 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar Iterators = __w_pdfjs_require__(62);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n\n/***/ }),\n/* 75 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar aFunction = __w_pdfjs_require__(76);\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined)\n  return fn;\n switch (length) {\n case 0:\n  return function () {\n   return fn.call(that);\n  };\n case 1:\n  return function (a) {\n   return fn.call(that, a);\n  };\n case 2:\n  return function (a, b) {\n   return fn.call(that, a, b);\n  };\n case 3:\n  return function (a, b, c) {\n   return fn.call(that, a, b, c);\n  };\n }\n return function () {\n  return fn.apply(that, arguments);\n };\n};\n\n/***/ }),\n/* 76 */\n/***/ ((module) => {\n\nmodule.exports = function (it) {\n if (typeof it != 'function') {\n  throw TypeError(String(it) + ' is not a function');\n }\n return it;\n};\n\n/***/ }),\n/* 77 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(78);\nvar Iterators = __w_pdfjs_require__(62);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = function (it) {\n if (it != undefined)\n  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];\n};\n\n/***/ }),\n/* 78 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar classofRaw = __w_pdfjs_require__(18);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar CORRECT_ARGUMENTS = classofRaw(function () {\n return arguments;\n}()) == 'Arguments';\nvar tryGet = function (it, key) {\n try {\n  return it[key];\n } catch (error) {\n }\n};\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n\n/***/ }),\n/* 79 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\ntest[TO_STRING_TAG] = 'z';\nmodule.exports = String(test) === '[object z]';\n\n/***/ }),\n/* 80 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n  return anObject(returnMethod.call(iterator)).value;\n }\n};\n\n/***/ }),\n/* 81 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toPrimitive = __w_pdfjs_require__(20);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object)\n  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else\n  object[propertyKey] = value;\n};\n\n/***/ }),\n/* 82 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(83);\n__w_pdfjs_require__(84);\n__w_pdfjs_require__(86);\n__w_pdfjs_require__(104);\n__w_pdfjs_require__(105);\n__w_pdfjs_require__(106);\n__w_pdfjs_require__(107);\n__w_pdfjs_require__(109);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Promise;\n\n/***/ }),\n/* 83 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar getPrototypeOf = __w_pdfjs_require__(66);\nvar setPrototypeOf = __w_pdfjs_require__(70);\nvar create = __w_pdfjs_require__(58);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar iterate = __w_pdfjs_require__(73);\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError))\n  return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n  that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined)\n  createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n$({ global: true }, { AggregateError: $AggregateError });\n\n/***/ }),\n/* 84 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar redefine = __w_pdfjs_require__(28);\nvar toString = __w_pdfjs_require__(85);\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n\n/***/ }),\n/* 85 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);\nvar classof = __w_pdfjs_require__(78);\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n\n/***/ }),\n/* 86 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar global = __w_pdfjs_require__(10);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar NativePromise = __w_pdfjs_require__(87);\nvar redefine = __w_pdfjs_require__(28);\nvar redefineAll = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar setSpecies = __w_pdfjs_require__(89);\nvar isObject = __w_pdfjs_require__(21);\nvar aFunction = __w_pdfjs_require__(76);\nvar anInstance = __w_pdfjs_require__(90);\nvar inspectSource = __w_pdfjs_require__(30);\nvar iterate = __w_pdfjs_require__(73);\nvar checkCorrectnessOfIteration = __w_pdfjs_require__(91);\nvar speciesConstructor = __w_pdfjs_require__(92);\nvar task = __w_pdfjs_require__(93).set;\nvar microtask = __w_pdfjs_require__(97);\nvar promiseResolve = __w_pdfjs_require__(99);\nvar hostReportErrors = __w_pdfjs_require__(101);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar isForced = __w_pdfjs_require__(51);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_NODE = __w_pdfjs_require__(96);\nvar V8_VERSION = __w_pdfjs_require__(103);\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar PromiseConstructor = NativePromise;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar $fetch = getBuiltIn('fetch');\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n if (!GLOBAL_CORE_JS_PROMISE) {\n  if (V8_VERSION === 66)\n   return true;\n  if (!IS_NODE && !NATIVE_REJECTION_EVENT)\n   return true;\n }\n if (IS_PURE && !PromiseConstructor.prototype['finally'])\n  return true;\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))\n  return false;\n var promise = PromiseConstructor.resolve(1);\n var FakePromise = function (exec) {\n  exec(function () {\n  }, function () {\n  });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n return !(promise.then(function () {\n }) instanceof FakePromise);\n});\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () {\n });\n});\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (state, isReject) {\n if (state.notified)\n  return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n  var value = state.value;\n  var ok = state.state == FULFILLED;\n  var index = 0;\n  while (chain.length > index) {\n   var reaction = chain[index++];\n   var handler = ok ? reaction.ok : reaction.fail;\n   var resolve = reaction.resolve;\n   var reject = reaction.reject;\n   var domain = reaction.domain;\n   var result, then, exited;\n   try {\n    if (handler) {\n     if (!ok) {\n      if (state.rejection === UNHANDLED)\n       onHandleUnhandled(state);\n      state.rejection = HANDLED;\n     }\n     if (handler === true)\n      result = value;\n     else {\n      if (domain)\n       domain.enter();\n      result = handler(value);\n      if (domain) {\n       domain.exit();\n       exited = true;\n      }\n     }\n     if (result === reaction.promise) {\n      reject(TypeError('Promise-chain cycle'));\n     } else if (then = isThenable(result)) {\n      then.call(result, resolve, reject);\n     } else\n      resolve(result);\n    } else\n     reject(value);\n   } catch (error) {\n    if (domain && !exited)\n     domain.exit();\n    reject(error);\n   }\n  }\n  state.reactions = [];\n  state.notified = false;\n  if (isReject && !state.rejection)\n   onUnhandled(state);\n });\n};\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n  event = document.createEvent('Event');\n  event.promise = promise;\n  event.reason = reason;\n  event.initEvent(name, false, true);\n  global.dispatchEvent(event);\n } else\n  event = {\n   promise: promise,\n   reason: reason\n  };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name]))\n  handler(event);\n else if (name === UNHANDLED_REJECTION)\n  hostReportErrors('Unhandled promise rejection', reason);\n};\nvar onUnhandled = function (state) {\n task.call(global, function () {\n  var promise = state.facade;\n  var value = state.value;\n  var IS_UNHANDLED = isUnhandled(state);\n  var result;\n  if (IS_UNHANDLED) {\n   result = perform(function () {\n    if (IS_NODE) {\n     process.emit('unhandledRejection', value, promise);\n    } else\n     dispatchEvent(UNHANDLED_REJECTION, promise, value);\n   });\n   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n   if (result.error)\n    throw result.value;\n  }\n });\n};\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n  var promise = state.facade;\n  if (IS_NODE) {\n   process.emit('rejectionHandled', promise);\n  } else\n   dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n  fn(state, value, unwrap);\n };\n};\nvar internalReject = function (state, value, unwrap) {\n if (state.done)\n  return;\n state.done = true;\n if (unwrap)\n  state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\nvar internalResolve = function (state, value, unwrap) {\n if (state.done)\n  return;\n state.done = true;\n if (unwrap)\n  state = unwrap;\n try {\n  if (state.facade === value)\n   throw TypeError(\"Promise can't be resolved itself\");\n  var then = isThenable(value);\n  if (then) {\n   microtask(function () {\n    var wrapper = { done: false };\n    try {\n     then.call(value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state));\n    } catch (error) {\n     internalReject(wrapper, error, state);\n    }\n   });\n  } else {\n   state.value = value;\n   state.state = FULFILLED;\n   notify(state, false);\n  }\n } catch (error) {\n  internalReject({ done: false }, error, state);\n }\n};\nif (FORCED) {\n PromiseConstructor = function Promise(executor) {\n  anInstance(this, PromiseConstructor, PROMISE);\n  aFunction(executor);\n  Internal.call(this);\n  var state = getInternalState(this);\n  try {\n   executor(bind(internalResolve, state), bind(internalReject, state));\n  } catch (error) {\n   internalReject(state, error);\n  }\n };\n Internal = function Promise(executor) {\n  setInternalState(this, {\n   type: PROMISE,\n   done: false,\n   notified: false,\n   parent: false,\n   reactions: [],\n   rejection: false,\n   state: PENDING,\n   value: undefined\n  });\n };\n Internal.prototype = redefineAll(PromiseConstructor.prototype, {\n  then: function then(onFulfilled, onRejected) {\n   var state = getInternalPromiseState(this);\n   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n   reaction.fail = typeof onRejected == 'function' && onRejected;\n   reaction.domain = IS_NODE ? process.domain : undefined;\n   state.parent = true;\n   state.reactions.push(reaction);\n   if (state.state != PENDING)\n    notify(state, false);\n   return reaction.promise;\n  },\n  'catch': function (onRejected) {\n   return this.then(undefined, onRejected);\n  }\n });\n OwnPromiseCapability = function () {\n  var promise = new Internal();\n  var state = getInternalState(promise);\n  this.promise = promise;\n  this.resolve = bind(internalResolve, state);\n  this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);\n };\n if (!IS_PURE && typeof NativePromise == 'function') {\n  nativeThen = NativePromise.prototype.then;\n  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {\n   var that = this;\n   return new PromiseConstructor(function (resolve, reject) {\n    nativeThen.call(that, resolve, reject);\n   }).then(onFulfilled, onRejected);\n  }, { unsafe: true });\n  if (typeof $fetch == 'function')\n   $({\n    global: true,\n    enumerable: true,\n    forced: true\n   }, {\n    fetch: function fetch(input) {\n     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));\n    }\n   });\n }\n}\n$({\n global: true,\n wrap: true,\n forced: FORCED\n}, { Promise: PromiseConstructor });\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\nPromiseWrapper = getBuiltIn(PROMISE);\n$({\n target: PROMISE,\n stat: true,\n forced: FORCED\n}, {\n reject: function reject(r) {\n  var capability = newPromiseCapability(this);\n  capability.reject.call(undefined, r);\n  return capability.promise;\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: IS_PURE || FORCED\n}, {\n resolve: function resolve(x) {\n  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n$({\n target: PROMISE,\n stat: true,\n forced: INCORRECT_ITERATION\n}, {\n all: function all(iterable) {\n  var C = this;\n  var capability = newPromiseCapability(C);\n  var resolve = capability.resolve;\n  var reject = capability.reject;\n  var result = perform(function () {\n   var $promiseResolve = aFunction(C.resolve);\n   var values = [];\n   var counter = 0;\n   var remaining = 1;\n   iterate(iterable, function (promise) {\n    var index = counter++;\n    var alreadyCalled = false;\n    values.push(undefined);\n    remaining++;\n    $promiseResolve.call(C, promise).then(function (value) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = value;\n     --remaining || resolve(values);\n    }, reject);\n   });\n   --remaining || resolve(values);\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n },\n race: function race(iterable) {\n  var C = this;\n  var capability = newPromiseCapability(C);\n  var reject = capability.reject;\n  var result = perform(function () {\n   var $promiseResolve = aFunction(C.resolve);\n   iterate(iterable, function (promise) {\n    $promiseResolve.call(C, promise).then(capability.resolve, reject);\n   });\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n }\n});\n\n/***/ }),\n/* 87 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = global.Promise;\n\n/***/ }),\n/* 88 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar redefine = __w_pdfjs_require__(28);\nmodule.exports = function (target, src, options) {\n for (var key in src)\n  redefine(target, key, src[key], options);\n return target;\n};\n\n/***/ }),\n/* 89 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar definePropertyModule = __w_pdfjs_require__(26);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n  defineProperty(Constructor, SPECIES, {\n   configurable: true,\n   get: function () {\n    return this;\n   }\n  });\n }\n};\n\n/***/ }),\n/* 90 */\n/***/ ((module) => {\n\nmodule.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n }\n return it;\n};\n\n/***/ }),\n/* 91 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\ntry {\n var called = 0;\n var iteratorWithReturn = {\n  next: function () {\n   return { done: !!called++ };\n  },\n  'return': function () {\n   SAFE_CLOSING = true;\n  }\n };\n iteratorWithReturn[ITERATOR] = function () {\n  return this;\n };\n Array.from(iteratorWithReturn, function () {\n  throw 2;\n });\n} catch (error) {\n}\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING)\n  return false;\n var ITERATION_SUPPORT = false;\n try {\n  var object = {};\n  object[ITERATOR] = function () {\n   return {\n    next: function () {\n     return { done: ITERATION_SUPPORT = true };\n    }\n   };\n  };\n  exec(object);\n } catch (error) {\n }\n return ITERATION_SUPPORT;\n};\n\n/***/ }),\n/* 92 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar aFunction = __w_pdfjs_require__(76);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar SPECIES = wellKnownSymbol('species');\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n\n/***/ }),\n/* 93 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar fails = __w_pdfjs_require__(13);\nvar bind = __w_pdfjs_require__(75);\nvar html = __w_pdfjs_require__(61);\nvar createElement = __w_pdfjs_require__(24);\nvar IS_IOS = __w_pdfjs_require__(94);\nvar IS_NODE = __w_pdfjs_require__(96);\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function (id) {\n if (queue.hasOwnProperty(id)) {\n  var fn = queue[id];\n  delete queue[id];\n  fn();\n }\n};\nvar runner = function (id) {\n return function () {\n  run(id);\n };\n};\nvar listener = function (event) {\n run(event.data);\n};\nvar post = function (id) {\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\nif (!set || !clear) {\n set = function setImmediate(fn) {\n  var args = [];\n  var i = 1;\n  while (arguments.length > i)\n   args.push(arguments[i++]);\n  queue[++counter] = function () {\n   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n  };\n  defer(counter);\n  return counter;\n };\n clear = function clearImmediate(id) {\n  delete queue[id];\n };\n if (IS_NODE) {\n  defer = function (id) {\n   process.nextTick(runner(id));\n  };\n } else if (Dispatch && Dispatch.now) {\n  defer = function (id) {\n   Dispatch.now(runner(id));\n  };\n } else if (MessageChannel && !IS_IOS) {\n  channel = new MessageChannel();\n  port = channel.port2;\n  channel.port1.onmessage = listener;\n  defer = bind(port.postMessage, port, 1);\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) {\n  defer = post;\n  global.addEventListener('message', listener, false);\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n  defer = function (id) {\n   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n    html.removeChild(this);\n    run(id);\n   };\n  };\n } else {\n  defer = function (id) {\n   setTimeout(runner(id), 0);\n  };\n }\n}\nmodule.exports = {\n set: set,\n clear: clear\n};\n\n/***/ }),\n/* 94 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n\n/***/ }),\n/* 95 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar getBuiltIn = __w_pdfjs_require__(41);\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n\n/***/ }),\n/* 96 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar classof = __w_pdfjs_require__(18);\nvar global = __w_pdfjs_require__(10);\nmodule.exports = classof(global.process) == 'process';\n\n/***/ }),\n/* 97 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;\nvar macrotask = __w_pdfjs_require__(93).set;\nvar IS_IOS = __w_pdfjs_require__(94);\nvar IS_WEBOS_WEBKIT = __w_pdfjs_require__(98);\nvar IS_NODE = __w_pdfjs_require__(96);\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\nvar flush, head, last, notify, toggle, node, promise, then;\nif (!queueMicrotask) {\n flush = function () {\n  var parent, fn;\n  if (IS_NODE && (parent = process.domain))\n   parent.exit();\n  while (head) {\n   fn = head.fn;\n   head = head.next;\n   try {\n    fn();\n   } catch (error) {\n    if (head)\n     notify();\n    else\n     last = undefined;\n    throw error;\n   }\n  }\n  last = undefined;\n  if (parent)\n   parent.enter();\n };\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n  toggle = true;\n  node = document.createTextNode('');\n  new MutationObserver(flush).observe(node, { characterData: true });\n  notify = function () {\n   node.data = toggle = !toggle;\n  };\n } else if (Promise && Promise.resolve) {\n  promise = Promise.resolve(undefined);\n  then = promise.then;\n  notify = function () {\n   then.call(promise, flush);\n  };\n } else if (IS_NODE) {\n  notify = function () {\n   process.nextTick(flush);\n  };\n } else {\n  notify = function () {\n   macrotask.call(global, flush);\n  };\n }\n}\nmodule.exports = queueMicrotask || function (fn) {\n var task = {\n  fn: fn,\n  next: undefined\n };\n if (last)\n  last.next = task;\n if (!head) {\n  head = task;\n  notify();\n }\n last = task;\n};\n\n/***/ }),\n/* 98 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n\n/***/ }),\n/* 99 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar isObject = __w_pdfjs_require__(21);\nvar newPromiseCapability = __w_pdfjs_require__(100);\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C)\n  return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n\n/***/ }),\n/* 100 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar aFunction = __w_pdfjs_require__(76);\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n  if (resolve !== undefined || reject !== undefined)\n   throw TypeError('Bad Promise constructor');\n  resolve = $$resolve;\n  reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n\n/***/ }),\n/* 101 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n  arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n\n/***/ }),\n/* 102 */\n/***/ ((module) => {\n\nmodule.exports = function (exec) {\n try {\n  return {\n   error: false,\n   value: exec()\n  };\n } catch (error) {\n  return {\n   error: true,\n   value: error\n  };\n }\n};\n\n/***/ }),\n/* 103 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar userAgent = __w_pdfjs_require__(95);\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n version = match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n  match = userAgent.match(/Chrome\\/(\\d+)/);\n  if (match)\n   version = match[1];\n }\n}\nmodule.exports = version && +version;\n\n/***/ }),\n/* 104 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(76);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar iterate = __w_pdfjs_require__(73);\n$({\n target: 'Promise',\n stat: true\n}, {\n allSettled: function allSettled(iterable) {\n  var C = this;\n  var capability = newPromiseCapabilityModule.f(C);\n  var resolve = capability.resolve;\n  var reject = capability.reject;\n  var result = perform(function () {\n   var promiseResolve = aFunction(C.resolve);\n   var values = [];\n   var counter = 0;\n   var remaining = 1;\n   iterate(iterable, function (promise) {\n    var index = counter++;\n    var alreadyCalled = false;\n    values.push(undefined);\n    remaining++;\n    promiseResolve.call(C, promise).then(function (value) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = {\n      status: 'fulfilled',\n      value: value\n     };\n     --remaining || resolve(values);\n    }, function (error) {\n     if (alreadyCalled)\n      return;\n     alreadyCalled = true;\n     values[index] = {\n      status: 'rejected',\n      reason: error\n     };\n     --remaining || resolve(values);\n    });\n   });\n   --remaining || resolve(values);\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n }\n});\n\n/***/ }),\n/* 105 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar aFunction = __w_pdfjs_require__(76);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar newPromiseCapabilityModule = __w_pdfjs_require__(100);\nvar perform = __w_pdfjs_require__(102);\nvar iterate = __w_pdfjs_require__(73);\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n$({\n target: 'Promise',\n stat: true\n}, {\n any: function any(iterable) {\n  var C = this;\n  var capability = newPromiseCapabilityModule.f(C);\n  var resolve = capability.resolve;\n  var reject = capability.reject;\n  var result = perform(function () {\n   var promiseResolve = aFunction(C.resolve);\n   var errors = [];\n   var counter = 0;\n   var remaining = 1;\n   var alreadyResolved = false;\n   iterate(iterable, function (promise) {\n    var index = counter++;\n    var alreadyRejected = false;\n    errors.push(undefined);\n    remaining++;\n    promiseResolve.call(C, promise).then(function (value) {\n     if (alreadyRejected || alreadyResolved)\n      return;\n     alreadyResolved = true;\n     resolve(value);\n    }, function (error) {\n     if (alreadyRejected || alreadyResolved)\n      return;\n     alreadyRejected = true;\n     errors[index] = error;\n     --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n    });\n   });\n   --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n  });\n  if (result.error)\n   reject(result.value);\n  return capability.promise;\n }\n});\n\n/***/ }),\n/* 106 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar NativePromise = __w_pdfjs_require__(87);\nvar fails = __w_pdfjs_require__(13);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar speciesConstructor = __w_pdfjs_require__(92);\nvar promiseResolve = __w_pdfjs_require__(99);\nvar redefine = __w_pdfjs_require__(28);\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({\n  then: function () {\n  }\n }, function () {\n });\n});\n$({\n target: 'Promise',\n proto: true,\n real: true,\n forced: NON_GENERIC\n}, {\n 'finally': function (onFinally) {\n  var C = speciesConstructor(this, getBuiltIn('Promise'));\n  var isFunction = typeof onFinally == 'function';\n  return this.then(isFunction ? function (x) {\n   return promiseResolve(C, onFinally()).then(function () {\n    return x;\n   });\n  } : onFinally, isFunction ? function (e) {\n   return promiseResolve(C, onFinally()).then(function () {\n    throw e;\n   });\n  } : onFinally);\n }\n});\nif (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {\n redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);\n}\n\n/***/ }),\n/* 107 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar charAt = __w_pdfjs_require__(108).charAt;\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar defineIterator = __w_pdfjs_require__(63);\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n  type: STRING_ITERATOR,\n  string: String(iterated),\n  index: 0\n });\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length)\n  return {\n   value: undefined,\n   done: true\n  };\n point = charAt(string, index);\n state.index += point.length;\n return {\n  value: point,\n  done: false\n };\n});\n\n/***/ }),\n/* 108 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toInteger = __w_pdfjs_require__(47);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n  var S = String(requireObjectCoercible($this));\n  var position = toInteger(pos);\n  var size = S.length;\n  var first, second;\n  if (position < 0 || position >= size)\n   return CONVERT_TO_STRING ? '' : undefined;\n  first = S.charCodeAt(position);\n  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\nmodule.exports = {\n codeAt: createMethod(false),\n charAt: createMethod(true)\n};\n\n/***/ }),\n/* 109 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar DOMIterables = __w_pdfjs_require__(110);\nvar ArrayIteratorMethods = __w_pdfjs_require__(53);\nvar createNonEnumerableProperty = __w_pdfjs_require__(25);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n  if (CollectionPrototype[ITERATOR] !== ArrayValues)\n   try {\n    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n   } catch (error) {\n    CollectionPrototype[ITERATOR] = ArrayValues;\n   }\n  if (!CollectionPrototype[TO_STRING_TAG]) {\n   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n  }\n  if (DOMIterables[COLLECTION_NAME])\n   for (var METHOD_NAME in ArrayIteratorMethods) {\n    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])\n     try {\n      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n     } catch (error) {\n      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n     }\n   }\n }\n}\n\n/***/ }),\n/* 110 */\n/***/ ((module) => {\n\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n\n/***/ }),\n/* 111 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(112);\n__w_pdfjs_require__(120);\n__w_pdfjs_require__(118);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.URL;\n\n/***/ }),\n/* 112 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n__w_pdfjs_require__(107);\nvar $ = __w_pdfjs_require__(9);\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar USE_NATIVE_URL = __w_pdfjs_require__(113);\nvar global = __w_pdfjs_require__(10);\nvar defineProperties = __w_pdfjs_require__(59);\nvar redefine = __w_pdfjs_require__(28);\nvar anInstance = __w_pdfjs_require__(90);\nvar has = __w_pdfjs_require__(22);\nvar assign = __w_pdfjs_require__(114);\nvar arrayFrom = __w_pdfjs_require__(115);\nvar codeAt = __w_pdfjs_require__(108).codeAt;\nvar toASCII = __w_pdfjs_require__(117);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar URLSearchParamsModule = __w_pdfjs_require__(118);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar NativeURL = global.URL;\nvar URLSearchParams = URLSearchParamsModule.URLSearchParams;\nvar getInternalSearchParamsState = URLSearchParamsModule.getState;\nvar setInternalState = InternalStateModule.set;\nvar getInternalURLState = InternalStateModule.getterFor('URL');\nvar floor = Math.floor;\nvar pow = Math.pow;\nvar INVALID_AUTHORITY = 'Invalid authority';\nvar INVALID_SCHEME = 'Invalid scheme';\nvar INVALID_HOST = 'Invalid host';\nvar INVALID_PORT = 'Invalid port';\nvar ALPHA = /[A-Za-z]/;\nvar ALPHANUMERIC = /[\\d+-.A-Za-z]/;\nvar DIGIT = /\\d/;\nvar HEX_START = /^(0x|0X)/;\nvar OCT = /^[0-7]+$/;\nvar DEC = /^\\d+$/;\nvar HEX = /^[\\dA-Fa-f]+$/;\nvar FORBIDDEN_HOST_CODE_POINT = /[\\u0000\\u0009\\u000A\\u000D #%/:?@[\\\\]]/;\nvar FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\\u0000\\u0009\\u000A\\u000D #/:?@[\\\\]]/;\nvar LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\\u0000-\\u001F ]+|[\\u0000-\\u001F ]+$/g;\nvar TAB_AND_NEW_LINE = /[\\u0009\\u000A\\u000D]/g;\nvar EOF;\nvar parseHost = function (url, input) {\n var result, codePoints, index;\n if (input.charAt(0) == '[') {\n  if (input.charAt(input.length - 1) != ']')\n   return INVALID_HOST;\n  result = parseIPv6(input.slice(1, -1));\n  if (!result)\n   return INVALID_HOST;\n  url.host = result;\n } else if (!isSpecial(url)) {\n  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))\n   return INVALID_HOST;\n  result = '';\n  codePoints = arrayFrom(input);\n  for (index = 0; index < codePoints.length; index++) {\n   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);\n  }\n  url.host = result;\n } else {\n  input = toASCII(input);\n  if (FORBIDDEN_HOST_CODE_POINT.test(input))\n   return INVALID_HOST;\n  result = parseIPv4(input);\n  if (result === null)\n   return INVALID_HOST;\n  url.host = result;\n }\n};\nvar parseIPv4 = function (input) {\n var parts = input.split('.');\n var partsLength, numbers, index, part, radix, number, ipv4;\n if (parts.length && parts[parts.length - 1] == '') {\n  parts.pop();\n }\n partsLength = parts.length;\n if (partsLength > 4)\n  return input;\n numbers = [];\n for (index = 0; index < partsLength; index++) {\n  part = parts[index];\n  if (part == '')\n   return input;\n  radix = 10;\n  if (part.length > 1 && part.charAt(0) == '0') {\n   radix = HEX_START.test(part) ? 16 : 8;\n   part = part.slice(radix == 8 ? 1 : 2);\n  }\n  if (part === '') {\n   number = 0;\n  } else {\n   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))\n    return input;\n   number = parseInt(part, radix);\n  }\n  numbers.push(number);\n }\n for (index = 0; index < partsLength; index++) {\n  number = numbers[index];\n  if (index == partsLength - 1) {\n   if (number >= pow(256, 5 - partsLength))\n    return null;\n  } else if (number > 255)\n   return null;\n }\n ipv4 = numbers.pop();\n for (index = 0; index < numbers.length; index++) {\n  ipv4 += numbers[index] * pow(256, 3 - index);\n }\n return ipv4;\n};\nvar parseIPv6 = function (input) {\n var address = [\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0,\n  0\n ];\n var pieceIndex = 0;\n var compress = null;\n var pointer = 0;\n var value, length, numbersSeen, ipv4Piece, number, swaps, swap;\n var char = function () {\n  return input.charAt(pointer);\n };\n if (char() == ':') {\n  if (input.charAt(1) != ':')\n   return;\n  pointer += 2;\n  pieceIndex++;\n  compress = pieceIndex;\n }\n while (char()) {\n  if (pieceIndex == 8)\n   return;\n  if (char() == ':') {\n   if (compress !== null)\n    return;\n   pointer++;\n   pieceIndex++;\n   compress = pieceIndex;\n   continue;\n  }\n  value = length = 0;\n  while (length < 4 && HEX.test(char())) {\n   value = value * 16 + parseInt(char(), 16);\n   pointer++;\n   length++;\n  }\n  if (char() == '.') {\n   if (length == 0)\n    return;\n   pointer -= length;\n   if (pieceIndex > 6)\n    return;\n   numbersSeen = 0;\n   while (char()) {\n    ipv4Piece = null;\n    if (numbersSeen > 0) {\n     if (char() == '.' && numbersSeen < 4)\n      pointer++;\n     else\n      return;\n    }\n    if (!DIGIT.test(char()))\n     return;\n    while (DIGIT.test(char())) {\n     number = parseInt(char(), 10);\n     if (ipv4Piece === null)\n      ipv4Piece = number;\n     else if (ipv4Piece == 0)\n      return;\n     else\n      ipv4Piece = ipv4Piece * 10 + number;\n     if (ipv4Piece > 255)\n      return;\n     pointer++;\n    }\n    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;\n    numbersSeen++;\n    if (numbersSeen == 2 || numbersSeen == 4)\n     pieceIndex++;\n   }\n   if (numbersSeen != 4)\n    return;\n   break;\n  } else if (char() == ':') {\n   pointer++;\n   if (!char())\n    return;\n  } else if (char())\n   return;\n  address[pieceIndex++] = value;\n }\n if (compress !== null) {\n  swaps = pieceIndex - compress;\n  pieceIndex = 7;\n  while (pieceIndex != 0 && swaps > 0) {\n   swap = address[pieceIndex];\n   address[pieceIndex--] = address[compress + swaps - 1];\n   address[compress + --swaps] = swap;\n  }\n } else if (pieceIndex != 8)\n  return;\n return address;\n};\nvar findLongestZeroSequence = function (ipv6) {\n var maxIndex = null;\n var maxLength = 1;\n var currStart = null;\n var currLength = 0;\n var index = 0;\n for (; index < 8; index++) {\n  if (ipv6[index] !== 0) {\n   if (currLength > maxLength) {\n    maxIndex = currStart;\n    maxLength = currLength;\n   }\n   currStart = null;\n   currLength = 0;\n  } else {\n   if (currStart === null)\n    currStart = index;\n   ++currLength;\n  }\n }\n if (currLength > maxLength) {\n  maxIndex = currStart;\n  maxLength = currLength;\n }\n return maxIndex;\n};\nvar serializeHost = function (host) {\n var result, index, compress, ignore0;\n if (typeof host == 'number') {\n  result = [];\n  for (index = 0; index < 4; index++) {\n   result.unshift(host % 256);\n   host = floor(host / 256);\n  }\n  return result.join('.');\n } else if (typeof host == 'object') {\n  result = '';\n  compress = findLongestZeroSequence(host);\n  for (index = 0; index < 8; index++) {\n   if (ignore0 && host[index] === 0)\n    continue;\n   if (ignore0)\n    ignore0 = false;\n   if (compress === index) {\n    result += index ? ':' : '::';\n    ignore0 = true;\n   } else {\n    result += host[index].toString(16);\n    if (index < 7)\n     result += ':';\n   }\n  }\n  return '[' + result + ']';\n }\n return host;\n};\nvar C0ControlPercentEncodeSet = {};\nvar fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {\n ' ': 1,\n '\"': 1,\n '<': 1,\n '>': 1,\n '`': 1\n});\nvar pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {\n '#': 1,\n '?': 1,\n '{': 1,\n '}': 1\n});\nvar userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {\n '/': 1,\n ':': 1,\n ';': 1,\n '=': 1,\n '@': 1,\n '[': 1,\n '\\\\': 1,\n ']': 1,\n '^': 1,\n '|': 1\n});\nvar percentEncode = function (char, set) {\n var code = codeAt(char, 0);\n return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);\n};\nvar specialSchemes = {\n ftp: 21,\n file: null,\n http: 80,\n https: 443,\n ws: 80,\n wss: 443\n};\nvar isSpecial = function (url) {\n return has(specialSchemes, url.scheme);\n};\nvar includesCredentials = function (url) {\n return url.username != '' || url.password != '';\n};\nvar cannotHaveUsernamePasswordPort = function (url) {\n return !url.host || url.cannotBeABaseURL || url.scheme == 'file';\n};\nvar isWindowsDriveLetter = function (string, normalized) {\n var second;\n return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');\n};\nvar startsWithWindowsDriveLetter = function (string) {\n var third;\n return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\\\' || third === '?' || third === '#'));\n};\nvar shortenURLsPath = function (url) {\n var path = url.path;\n var pathSize = path.length;\n if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {\n  path.pop();\n }\n};\nvar isSingleDot = function (segment) {\n return segment === '.' || segment.toLowerCase() === '%2e';\n};\nvar isDoubleDot = function (segment) {\n segment = segment.toLowerCase();\n return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';\n};\nvar SCHEME_START = {};\nvar SCHEME = {};\nvar NO_SCHEME = {};\nvar SPECIAL_RELATIVE_OR_AUTHORITY = {};\nvar PATH_OR_AUTHORITY = {};\nvar RELATIVE = {};\nvar RELATIVE_SLASH = {};\nvar SPECIAL_AUTHORITY_SLASHES = {};\nvar SPECIAL_AUTHORITY_IGNORE_SLASHES = {};\nvar AUTHORITY = {};\nvar HOST = {};\nvar HOSTNAME = {};\nvar PORT = {};\nvar FILE = {};\nvar FILE_SLASH = {};\nvar FILE_HOST = {};\nvar PATH_START = {};\nvar PATH = {};\nvar CANNOT_BE_A_BASE_URL_PATH = {};\nvar QUERY = {};\nvar FRAGMENT = {};\nvar parseURL = function (url, input, stateOverride, base) {\n var state = stateOverride || SCHEME_START;\n var pointer = 0;\n var buffer = '';\n var seenAt = false;\n var seenBracket = false;\n var seenPasswordToken = false;\n var codePoints, char, bufferCodePoints, failure;\n if (!stateOverride) {\n  url.scheme = '';\n  url.username = '';\n  url.password = '';\n  url.host = null;\n  url.port = null;\n  url.path = [];\n  url.query = null;\n  url.fragment = null;\n  url.cannotBeABaseURL = false;\n  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');\n }\n input = input.replace(TAB_AND_NEW_LINE, '');\n codePoints = arrayFrom(input);\n while (pointer <= codePoints.length) {\n  char = codePoints[pointer];\n  switch (state) {\n  case SCHEME_START:\n   if (char && ALPHA.test(char)) {\n    buffer += char.toLowerCase();\n    state = SCHEME;\n   } else if (!stateOverride) {\n    state = NO_SCHEME;\n    continue;\n   } else\n    return INVALID_SCHEME;\n   break;\n  case SCHEME:\n   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {\n    buffer += char.toLowerCase();\n   } else if (char == ':') {\n    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))\n     return;\n    url.scheme = buffer;\n    if (stateOverride) {\n     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)\n      url.port = null;\n     return;\n    }\n    buffer = '';\n    if (url.scheme == 'file') {\n     state = FILE;\n    } else if (isSpecial(url) && base && base.scheme == url.scheme) {\n     state = SPECIAL_RELATIVE_OR_AUTHORITY;\n    } else if (isSpecial(url)) {\n     state = SPECIAL_AUTHORITY_SLASHES;\n    } else if (codePoints[pointer + 1] == '/') {\n     state = PATH_OR_AUTHORITY;\n     pointer++;\n    } else {\n     url.cannotBeABaseURL = true;\n     url.path.push('');\n     state = CANNOT_BE_A_BASE_URL_PATH;\n    }\n   } else if (!stateOverride) {\n    buffer = '';\n    state = NO_SCHEME;\n    pointer = 0;\n    continue;\n   } else\n    return INVALID_SCHEME;\n   break;\n  case NO_SCHEME:\n   if (!base || base.cannotBeABaseURL && char != '#')\n    return INVALID_SCHEME;\n   if (base.cannotBeABaseURL && char == '#') {\n    url.scheme = base.scheme;\n    url.path = base.path.slice();\n    url.query = base.query;\n    url.fragment = '';\n    url.cannotBeABaseURL = true;\n    state = FRAGMENT;\n    break;\n   }\n   state = base.scheme == 'file' ? FILE : RELATIVE;\n   continue;\n  case SPECIAL_RELATIVE_OR_AUTHORITY:\n   if (char == '/' && codePoints[pointer + 1] == '/') {\n    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n    pointer++;\n   } else {\n    state = RELATIVE;\n    continue;\n   }\n   break;\n  case PATH_OR_AUTHORITY:\n   if (char == '/') {\n    state = AUTHORITY;\n    break;\n   } else {\n    state = PATH;\n    continue;\n   }\n  case RELATIVE:\n   url.scheme = base.scheme;\n   if (char == EOF) {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = base.query;\n   } else if (char == '/' || char == '\\\\' && isSpecial(url)) {\n    state = RELATIVE_SLASH;\n   } else if (char == '?') {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = '';\n    state = QUERY;\n   } else if (char == '#') {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.query = base.query;\n    url.fragment = '';\n    state = FRAGMENT;\n   } else {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    url.path = base.path.slice();\n    url.path.pop();\n    state = PATH;\n    continue;\n   }\n   break;\n  case RELATIVE_SLASH:\n   if (isSpecial(url) && (char == '/' || char == '\\\\')) {\n    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n   } else if (char == '/') {\n    state = AUTHORITY;\n   } else {\n    url.username = base.username;\n    url.password = base.password;\n    url.host = base.host;\n    url.port = base.port;\n    state = PATH;\n    continue;\n   }\n   break;\n  case SPECIAL_AUTHORITY_SLASHES:\n   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;\n   if (char != '/' || buffer.charAt(pointer + 1) != '/')\n    continue;\n   pointer++;\n   break;\n  case SPECIAL_AUTHORITY_IGNORE_SLASHES:\n   if (char != '/' && char != '\\\\') {\n    state = AUTHORITY;\n    continue;\n   }\n   break;\n  case AUTHORITY:\n   if (char == '@') {\n    if (seenAt)\n     buffer = '%40' + buffer;\n    seenAt = true;\n    bufferCodePoints = arrayFrom(buffer);\n    for (var i = 0; i < bufferCodePoints.length; i++) {\n     var codePoint = bufferCodePoints[i];\n     if (codePoint == ':' && !seenPasswordToken) {\n      seenPasswordToken = true;\n      continue;\n     }\n     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);\n     if (seenPasswordToken)\n      url.password += encodedCodePoints;\n     else\n      url.username += encodedCodePoints;\n    }\n    buffer = '';\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n    if (seenAt && buffer == '')\n     return INVALID_AUTHORITY;\n    pointer -= arrayFrom(buffer).length + 1;\n    buffer = '';\n    state = HOST;\n   } else\n    buffer += char;\n   break;\n  case HOST:\n  case HOSTNAME:\n   if (stateOverride && url.scheme == 'file') {\n    state = FILE_HOST;\n    continue;\n   } else if (char == ':' && !seenBracket) {\n    if (buffer == '')\n     return INVALID_HOST;\n    failure = parseHost(url, buffer);\n    if (failure)\n     return failure;\n    buffer = '';\n    state = PORT;\n    if (stateOverride == HOSTNAME)\n     return;\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url)) {\n    if (isSpecial(url) && buffer == '')\n     return INVALID_HOST;\n    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))\n     return;\n    failure = parseHost(url, buffer);\n    if (failure)\n     return failure;\n    buffer = '';\n    state = PATH_START;\n    if (stateOverride)\n     return;\n    continue;\n   } else {\n    if (char == '[')\n     seenBracket = true;\n    else if (char == ']')\n     seenBracket = false;\n    buffer += char;\n   }\n   break;\n  case PORT:\n   if (DIGIT.test(char)) {\n    buffer += char;\n   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\\\' && isSpecial(url) || stateOverride) {\n    if (buffer != '') {\n     var port = parseInt(buffer, 10);\n     if (port > 0xFFFF)\n      return INVALID_PORT;\n     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;\n     buffer = '';\n    }\n    if (stateOverride)\n     return;\n    state = PATH_START;\n    continue;\n   } else\n    return INVALID_PORT;\n   break;\n  case FILE:\n   url.scheme = 'file';\n   if (char == '/' || char == '\\\\')\n    state = FILE_SLASH;\n   else if (base && base.scheme == 'file') {\n    if (char == EOF) {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = base.query;\n    } else if (char == '?') {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = '';\n     state = QUERY;\n    } else if (char == '#') {\n     url.host = base.host;\n     url.path = base.path.slice();\n     url.query = base.query;\n     url.fragment = '';\n     state = FRAGMENT;\n    } else {\n     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n      url.host = base.host;\n      url.path = base.path.slice();\n      shortenURLsPath(url);\n     }\n     state = PATH;\n     continue;\n    }\n   } else {\n    state = PATH;\n    continue;\n   }\n   break;\n  case FILE_SLASH:\n   if (char == '/' || char == '\\\\') {\n    state = FILE_HOST;\n    break;\n   }\n   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {\n    if (isWindowsDriveLetter(base.path[0], true))\n     url.path.push(base.path[0]);\n    else\n     url.host = base.host;\n   }\n   state = PATH;\n   continue;\n  case FILE_HOST:\n   if (char == EOF || char == '/' || char == '\\\\' || char == '?' || char == '#') {\n    if (!stateOverride && isWindowsDriveLetter(buffer)) {\n     state = PATH;\n    } else if (buffer == '') {\n     url.host = '';\n     if (stateOverride)\n      return;\n     state = PATH_START;\n    } else {\n     failure = parseHost(url, buffer);\n     if (failure)\n      return failure;\n     if (url.host == 'localhost')\n      url.host = '';\n     if (stateOverride)\n      return;\n     buffer = '';\n     state = PATH_START;\n    }\n    continue;\n   } else\n    buffer += char;\n   break;\n  case PATH_START:\n   if (isSpecial(url)) {\n    state = PATH;\n    if (char != '/' && char != '\\\\')\n     continue;\n   } else if (!stateOverride && char == '?') {\n    url.query = '';\n    state = QUERY;\n   } else if (!stateOverride && char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    state = PATH;\n    if (char != '/')\n     continue;\n   }\n   break;\n  case PATH:\n   if (char == EOF || char == '/' || char == '\\\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {\n    if (isDoubleDot(buffer)) {\n     shortenURLsPath(url);\n     if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n      url.path.push('');\n     }\n    } else if (isSingleDot(buffer)) {\n     if (char != '/' && !(char == '\\\\' && isSpecial(url))) {\n      url.path.push('');\n     }\n    } else {\n     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {\n      if (url.host)\n       url.host = '';\n      buffer = buffer.charAt(0) + ':';\n     }\n     url.path.push(buffer);\n    }\n    buffer = '';\n    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {\n     while (url.path.length > 1 && url.path[0] === '') {\n      url.path.shift();\n     }\n    }\n    if (char == '?') {\n     url.query = '';\n     state = QUERY;\n    } else if (char == '#') {\n     url.fragment = '';\n     state = FRAGMENT;\n    }\n   } else {\n    buffer += percentEncode(char, pathPercentEncodeSet);\n   }\n   break;\n  case CANNOT_BE_A_BASE_URL_PATH:\n   if (char == '?') {\n    url.query = '';\n    state = QUERY;\n   } else if (char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);\n   }\n   break;\n  case QUERY:\n   if (!stateOverride && char == '#') {\n    url.fragment = '';\n    state = FRAGMENT;\n   } else if (char != EOF) {\n    if (char == \"'\" && isSpecial(url))\n     url.query += '%27';\n    else if (char == '#')\n     url.query += '%23';\n    else\n     url.query += percentEncode(char, C0ControlPercentEncodeSet);\n   }\n   break;\n  case FRAGMENT:\n   if (char != EOF)\n    url.fragment += percentEncode(char, fragmentPercentEncodeSet);\n   break;\n  }\n  pointer++;\n }\n};\nvar URLConstructor = function URL(url) {\n var that = anInstance(this, URLConstructor, 'URL');\n var base = arguments.length > 1 ? arguments[1] : undefined;\n var urlString = String(url);\n var state = setInternalState(that, { type: 'URL' });\n var baseState, failure;\n if (base !== undefined) {\n  if (base instanceof URLConstructor)\n   baseState = getInternalURLState(base);\n  else {\n   failure = parseURL(baseState = {}, String(base));\n   if (failure)\n    throw TypeError(failure);\n  }\n }\n failure = parseURL(state, urlString, null, baseState);\n if (failure)\n  throw TypeError(failure);\n var searchParams = state.searchParams = new URLSearchParams();\n var searchParamsState = getInternalSearchParamsState(searchParams);\n searchParamsState.updateSearchParams(state.query);\n searchParamsState.updateURL = function () {\n  state.query = String(searchParams) || null;\n };\n if (!DESCRIPTORS) {\n  that.href = serializeURL.call(that);\n  that.origin = getOrigin.call(that);\n  that.protocol = getProtocol.call(that);\n  that.username = getUsername.call(that);\n  that.password = getPassword.call(that);\n  that.host = getHost.call(that);\n  that.hostname = getHostname.call(that);\n  that.port = getPort.call(that);\n  that.pathname = getPathname.call(that);\n  that.search = getSearch.call(that);\n  that.searchParams = getSearchParams.call(that);\n  that.hash = getHash.call(that);\n }\n};\nvar URLPrototype = URLConstructor.prototype;\nvar serializeURL = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var username = url.username;\n var password = url.password;\n var host = url.host;\n var port = url.port;\n var path = url.path;\n var query = url.query;\n var fragment = url.fragment;\n var output = scheme + ':';\n if (host !== null) {\n  output += '//';\n  if (includesCredentials(url)) {\n   output += username + (password ? ':' + password : '') + '@';\n  }\n  output += serializeHost(host);\n  if (port !== null)\n   output += ':' + port;\n } else if (scheme == 'file')\n  output += '//';\n output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n if (query !== null)\n  output += '?' + query;\n if (fragment !== null)\n  output += '#' + fragment;\n return output;\n};\nvar getOrigin = function () {\n var url = getInternalURLState(this);\n var scheme = url.scheme;\n var port = url.port;\n if (scheme == 'blob')\n  try {\n   return new URL(scheme.path[0]).origin;\n  } catch (error) {\n   return 'null';\n  }\n if (scheme == 'file' || !isSpecial(url))\n  return 'null';\n return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');\n};\nvar getProtocol = function () {\n return getInternalURLState(this).scheme + ':';\n};\nvar getUsername = function () {\n return getInternalURLState(this).username;\n};\nvar getPassword = function () {\n return getInternalURLState(this).password;\n};\nvar getHost = function () {\n var url = getInternalURLState(this);\n var host = url.host;\n var port = url.port;\n return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;\n};\nvar getHostname = function () {\n var host = getInternalURLState(this).host;\n return host === null ? '' : serializeHost(host);\n};\nvar getPort = function () {\n var port = getInternalURLState(this).port;\n return port === null ? '' : String(port);\n};\nvar getPathname = function () {\n var url = getInternalURLState(this);\n var path = url.path;\n return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';\n};\nvar getSearch = function () {\n var query = getInternalURLState(this).query;\n return query ? '?' + query : '';\n};\nvar getSearchParams = function () {\n return getInternalURLState(this).searchParams;\n};\nvar getHash = function () {\n var fragment = getInternalURLState(this).fragment;\n return fragment ? '#' + fragment : '';\n};\nvar accessorDescriptor = function (getter, setter) {\n return {\n  get: getter,\n  set: setter,\n  configurable: true,\n  enumerable: true\n };\n};\nif (DESCRIPTORS) {\n defineProperties(URLPrototype, {\n  href: accessorDescriptor(serializeURL, function (href) {\n   var url = getInternalURLState(this);\n   var urlString = String(href);\n   var failure = parseURL(url, urlString);\n   if (failure)\n    throw TypeError(failure);\n   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n  }),\n  origin: accessorDescriptor(getOrigin),\n  protocol: accessorDescriptor(getProtocol, function (protocol) {\n   var url = getInternalURLState(this);\n   parseURL(url, String(protocol) + ':', SCHEME_START);\n  }),\n  username: accessorDescriptor(getUsername, function (username) {\n   var url = getInternalURLState(this);\n   var codePoints = arrayFrom(String(username));\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   url.username = '';\n   for (var i = 0; i < codePoints.length; i++) {\n    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n   }\n  }),\n  password: accessorDescriptor(getPassword, function (password) {\n   var url = getInternalURLState(this);\n   var codePoints = arrayFrom(String(password));\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   url.password = '';\n   for (var i = 0; i < codePoints.length; i++) {\n    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);\n   }\n  }),\n  host: accessorDescriptor(getHost, function (host) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   parseURL(url, String(host), HOST);\n  }),\n  hostname: accessorDescriptor(getHostname, function (hostname) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   parseURL(url, String(hostname), HOSTNAME);\n  }),\n  port: accessorDescriptor(getPort, function (port) {\n   var url = getInternalURLState(this);\n   if (cannotHaveUsernamePasswordPort(url))\n    return;\n   port = String(port);\n   if (port == '')\n    url.port = null;\n   else\n    parseURL(url, port, PORT);\n  }),\n  pathname: accessorDescriptor(getPathname, function (pathname) {\n   var url = getInternalURLState(this);\n   if (url.cannotBeABaseURL)\n    return;\n   url.path = [];\n   parseURL(url, pathname + '', PATH_START);\n  }),\n  search: accessorDescriptor(getSearch, function (search) {\n   var url = getInternalURLState(this);\n   search = String(search);\n   if (search == '') {\n    url.query = null;\n   } else {\n    if ('?' == search.charAt(0))\n     search = search.slice(1);\n    url.query = '';\n    parseURL(url, search, QUERY);\n   }\n   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);\n  }),\n  searchParams: accessorDescriptor(getSearchParams),\n  hash: accessorDescriptor(getHash, function (hash) {\n   var url = getInternalURLState(this);\n   hash = String(hash);\n   if (hash == '') {\n    url.fragment = null;\n    return;\n   }\n   if ('#' == hash.charAt(0))\n    hash = hash.slice(1);\n   url.fragment = '';\n   parseURL(url, hash, FRAGMENT);\n  })\n });\n}\nredefine(URLPrototype, 'toJSON', function toJSON() {\n return serializeURL.call(this);\n}, { enumerable: true });\nredefine(URLPrototype, 'toString', function toString() {\n return serializeURL.call(this);\n}, { enumerable: true });\nif (NativeURL) {\n var nativeCreateObjectURL = NativeURL.createObjectURL;\n var nativeRevokeObjectURL = NativeURL.revokeObjectURL;\n if (nativeCreateObjectURL)\n  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {\n   return nativeCreateObjectURL.apply(NativeURL, arguments);\n  });\n if (nativeRevokeObjectURL)\n  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {\n   return nativeRevokeObjectURL.apply(NativeURL, arguments);\n  });\n}\nsetToStringTag(URLConstructor, 'URL');\n$({\n global: true,\n forced: !USE_NATIVE_URL,\n sham: !DESCRIPTORS\n}, { URL: URLConstructor });\n\n/***/ }),\n/* 113 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar fails = __w_pdfjs_require__(13);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar IS_PURE = __w_pdfjs_require__(36);\nvar ITERATOR = wellKnownSymbol('iterator');\nmodule.exports = !fails(function () {\n var url = new URL('b?a=1&b=2&c=3', 'http://a');\n var searchParams = url.searchParams;\n var result = '';\n url.pathname = 'c%20d';\n searchParams.forEach(function (value, key) {\n  searchParams['delete']('b');\n  result += key + value;\n });\n return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';\n});\n\n/***/ }),\n/* 114 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar fails = __w_pdfjs_require__(13);\nvar objectKeys = __w_pdfjs_require__(60);\nvar getOwnPropertySymbolsModule = __w_pdfjs_require__(50);\nvar propertyIsEnumerableModule = __w_pdfjs_require__(14);\nvar toObject = __w_pdfjs_require__(67);\nvar IndexedObject = __w_pdfjs_require__(17);\nvar nativeAssign = Object.assign;\nvar defineProperty = Object.defineProperty;\nmodule.exports = !nativeAssign || fails(function () {\n if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {\n   enumerable: true,\n   get: function () {\n    defineProperty(this, 'b', {\n     value: 3,\n     enumerable: false\n    });\n   }\n  }), { b: 2 })).b !== 1)\n  return true;\n var A = {};\n var B = {};\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) {\n  B[chr] = chr;\n });\n return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) {\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n  var S = IndexedObject(arguments[index++]);\n  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n  var length = keys.length;\n  var j = 0;\n  var key;\n  while (length > j) {\n   key = keys[j++];\n   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))\n    T[key] = S[key];\n  }\n }\n return T;\n} : nativeAssign;\n\n/***/ }),\n/* 115 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar bind = __w_pdfjs_require__(75);\nvar toObject = __w_pdfjs_require__(67);\nvar callWithSafeIterationClosing = __w_pdfjs_require__(116);\nvar isArrayIteratorMethod = __w_pdfjs_require__(74);\nvar toLength = __w_pdfjs_require__(46);\nvar createProperty = __w_pdfjs_require__(81);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nmodule.exports = function from(arrayLike) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var argumentsLength = arguments.length;\n var mapfn = argumentsLength > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iteratorMethod = getIteratorMethod(O);\n var index = 0;\n var length, result, step, iterator, next, value;\n if (mapping)\n  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);\n if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {\n  iterator = iteratorMethod.call(O);\n  next = iterator.next;\n  result = new C();\n  for (; !(step = next.call(iterator)).done; index++) {\n   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [\n    step.value,\n    index\n   ], true) : step.value;\n   createProperty(result, index, value);\n  }\n } else {\n  length = toLength(O.length);\n  result = new C(length);\n  for (; length > index; index++) {\n   value = mapping ? mapfn(O[index], index) : O[index];\n   createProperty(result, index, value);\n  }\n }\n result.length = index;\n return result;\n};\n\n/***/ }),\n/* 116 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar iteratorClose = __w_pdfjs_require__(80);\nmodule.exports = function (iterator, fn, value, ENTRIES) {\n try {\n  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);\n } catch (error) {\n  iteratorClose(iterator);\n  throw error;\n }\n};\n\n/***/ }),\n/* 117 */\n/***/ ((module) => {\n\n\"use strict\";\n\nvar maxInt = 2147483647;\nvar base = 36;\nvar tMin = 1;\nvar tMax = 26;\nvar skew = 38;\nvar damp = 700;\nvar initialBias = 72;\nvar initialN = 128;\nvar delimiter = '-';\nvar regexNonASCII = /[^\\0-\\u007E]/;\nvar regexSeparators = /[.\\u3002\\uFF0E\\uFF61]/g;\nvar OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';\nvar baseMinusTMin = base - tMin;\nvar floor = Math.floor;\nvar stringFromCharCode = String.fromCharCode;\nvar ucs2decode = function (string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n while (counter < length) {\n  var value = string.charCodeAt(counter++);\n  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n   var extra = string.charCodeAt(counter++);\n   if ((extra & 0xFC00) == 0xDC00) {\n    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n   } else {\n    output.push(value);\n    counter--;\n   }\n  } else {\n   output.push(value);\n  }\n }\n return output;\n};\nvar digitToBasic = function (digit) {\n return digit + 22 + 75 * (digit < 26);\n};\nvar adapt = function (delta, numPoints, firstTime) {\n var k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (; delta > baseMinusTMin * tMax >> 1; k += base) {\n  delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n};\nvar encode = function (input) {\n var output = [];\n input = ucs2decode(input);\n var inputLength = input.length;\n var n = initialN;\n var delta = 0;\n var bias = initialBias;\n var i, currentValue;\n for (i = 0; i < input.length; i++) {\n  currentValue = input[i];\n  if (currentValue < 0x80) {\n   output.push(stringFromCharCode(currentValue));\n  }\n }\n var basicLength = output.length;\n var handledCPCount = basicLength;\n if (basicLength) {\n  output.push(delimiter);\n }\n while (handledCPCount < inputLength) {\n  var m = maxInt;\n  for (i = 0; i < input.length; i++) {\n   currentValue = input[i];\n   if (currentValue >= n && currentValue < m) {\n    m = currentValue;\n   }\n  }\n  var handledCPCountPlusOne = handledCPCount + 1;\n  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n   throw RangeError(OVERFLOW_ERROR);\n  }\n  delta += (m - n) * handledCPCountPlusOne;\n  n = m;\n  for (i = 0; i < input.length; i++) {\n   currentValue = input[i];\n   if (currentValue < n && ++delta > maxInt) {\n    throw RangeError(OVERFLOW_ERROR);\n   }\n   if (currentValue == n) {\n    var q = delta;\n    for (var k = base;; k += base) {\n     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;\n     if (q < t)\n      break;\n     var qMinusT = q - t;\n     var baseMinusT = base - t;\n     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));\n     q = floor(qMinusT / baseMinusT);\n    }\n    output.push(stringFromCharCode(digitToBasic(q)));\n    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n    delta = 0;\n    ++handledCPCount;\n   }\n  }\n  ++delta;\n  ++n;\n }\n return output.join('');\n};\nmodule.exports = function (input) {\n var encoded = [];\n var labels = input.toLowerCase().replace(regexSeparators, '\\u002E').split('.');\n var i, label;\n for (i = 0; i < labels.length; i++) {\n  label = labels[i];\n  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);\n }\n return encoded.join('.');\n};\n\n/***/ }),\n/* 118 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n__w_pdfjs_require__(53);\nvar $ = __w_pdfjs_require__(9);\nvar getBuiltIn = __w_pdfjs_require__(41);\nvar USE_NATIVE_URL = __w_pdfjs_require__(113);\nvar redefine = __w_pdfjs_require__(28);\nvar redefineAll = __w_pdfjs_require__(88);\nvar setToStringTag = __w_pdfjs_require__(69);\nvar createIteratorConstructor = __w_pdfjs_require__(64);\nvar InternalStateModule = __w_pdfjs_require__(32);\nvar anInstance = __w_pdfjs_require__(90);\nvar hasOwn = __w_pdfjs_require__(22);\nvar bind = __w_pdfjs_require__(75);\nvar classof = __w_pdfjs_require__(78);\nvar anObject = __w_pdfjs_require__(27);\nvar isObject = __w_pdfjs_require__(21);\nvar create = __w_pdfjs_require__(58);\nvar createPropertyDescriptor = __w_pdfjs_require__(15);\nvar getIterator = __w_pdfjs_require__(119);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nvar wellKnownSymbol = __w_pdfjs_require__(55);\nvar $fetch = getBuiltIn('fetch');\nvar Headers = getBuiltIn('Headers');\nvar ITERATOR = wellKnownSymbol('iterator');\nvar URL_SEARCH_PARAMS = 'URLSearchParams';\nvar URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);\nvar getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);\nvar plus = /\\+/g;\nvar sequences = Array(4);\nvar percentSequence = function (bytes) {\n return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\\\da-f]{2}){' + bytes + '})', 'gi'));\n};\nvar percentDecode = function (sequence) {\n try {\n  return decodeURIComponent(sequence);\n } catch (error) {\n  return sequence;\n }\n};\nvar deserialize = function (it) {\n var result = it.replace(plus, ' ');\n var bytes = 4;\n try {\n  return decodeURIComponent(result);\n } catch (error) {\n  while (bytes) {\n   result = result.replace(percentSequence(bytes--), percentDecode);\n  }\n  return result;\n }\n};\nvar find = /[!'()~]|%20/g;\nvar replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+'\n};\nvar replacer = function (match) {\n return replace[match];\n};\nvar serialize = function (it) {\n return encodeURIComponent(it).replace(find, replacer);\n};\nvar parseSearchParams = function (result, query) {\n if (query) {\n  var attributes = query.split('&');\n  var index = 0;\n  var attribute, entry;\n  while (index < attributes.length) {\n   attribute = attributes[index++];\n   if (attribute.length) {\n    entry = attribute.split('=');\n    result.push({\n     key: deserialize(entry.shift()),\n     value: deserialize(entry.join('='))\n    });\n   }\n  }\n }\n};\nvar updateSearchParams = function (query) {\n this.entries.length = 0;\n parseSearchParams(this.entries, query);\n};\nvar validateArgumentsLength = function (passed, required) {\n if (passed < required)\n  throw TypeError('Not enough arguments');\n};\nvar URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {\n setInternalState(this, {\n  type: URL_SEARCH_PARAMS_ITERATOR,\n  iterator: getIterator(getInternalParamsState(params).entries),\n  kind: kind\n });\n}, 'Iterator', function next() {\n var state = getInternalIteratorState(this);\n var kind = state.kind;\n var step = state.iterator.next();\n var entry = step.value;\n if (!step.done) {\n  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [\n   entry.key,\n   entry.value\n  ];\n }\n return step;\n});\nvar URLSearchParamsConstructor = function URLSearchParams() {\n anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n var init = arguments.length > 0 ? arguments[0] : undefined;\n var that = this;\n var entries = [];\n var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;\n setInternalState(that, {\n  type: URL_SEARCH_PARAMS,\n  entries: entries,\n  updateURL: function () {\n  },\n  updateSearchParams: updateSearchParams\n });\n if (init !== undefined) {\n  if (isObject(init)) {\n   iteratorMethod = getIteratorMethod(init);\n   if (typeof iteratorMethod === 'function') {\n    iterator = iteratorMethod.call(init);\n    next = iterator.next;\n    while (!(step = next.call(iterator)).done) {\n     entryIterator = getIterator(anObject(step.value));\n     entryNext = entryIterator.next;\n     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)\n      throw TypeError('Expected sequence with length 2');\n     entries.push({\n      key: first.value + '',\n      value: second.value + ''\n     });\n    }\n   } else\n    for (key in init)\n     if (hasOwn(init, key))\n      entries.push({\n       key: key,\n       value: init[key] + ''\n      });\n  } else {\n   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');\n  }\n }\n};\nvar URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;\nredefineAll(URLSearchParamsPrototype, {\n append: function append(name, value) {\n  validateArgumentsLength(arguments.length, 2);\n  var state = getInternalParamsState(this);\n  state.entries.push({\n   key: name + '',\n   value: value + ''\n  });\n  state.updateURL();\n },\n 'delete': function (name) {\n  validateArgumentsLength(arguments.length, 1);\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var key = name + '';\n  var index = 0;\n  while (index < entries.length) {\n   if (entries[index].key === key)\n    entries.splice(index, 1);\n   else\n    index++;\n  }\n  state.updateURL();\n },\n get: function get(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var index = 0;\n  for (; index < entries.length; index++) {\n   if (entries[index].key === key)\n    return entries[index].value;\n  }\n  return null;\n },\n getAll: function getAll(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var result = [];\n  var index = 0;\n  for (; index < entries.length; index++) {\n   if (entries[index].key === key)\n    result.push(entries[index].value);\n  }\n  return result;\n },\n has: function has(name) {\n  validateArgumentsLength(arguments.length, 1);\n  var entries = getInternalParamsState(this).entries;\n  var key = name + '';\n  var index = 0;\n  while (index < entries.length) {\n   if (entries[index++].key === key)\n    return true;\n  }\n  return false;\n },\n set: function set(name, value) {\n  validateArgumentsLength(arguments.length, 1);\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var found = false;\n  var key = name + '';\n  var val = value + '';\n  var index = 0;\n  var entry;\n  for (; index < entries.length; index++) {\n   entry = entries[index];\n   if (entry.key === key) {\n    if (found)\n     entries.splice(index--, 1);\n    else {\n     found = true;\n     entry.value = val;\n    }\n   }\n  }\n  if (!found)\n   entries.push({\n    key: key,\n    value: val\n   });\n  state.updateURL();\n },\n sort: function sort() {\n  var state = getInternalParamsState(this);\n  var entries = state.entries;\n  var slice = entries.slice();\n  var entry, entriesIndex, sliceIndex;\n  entries.length = 0;\n  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {\n   entry = slice[sliceIndex];\n   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {\n    if (entries[entriesIndex].key > entry.key) {\n     entries.splice(entriesIndex, 0, entry);\n     break;\n    }\n   }\n   if (entriesIndex === sliceIndex)\n    entries.push(entry);\n  }\n  state.updateURL();\n },\n forEach: function forEach(callback) {\n  var entries = getInternalParamsState(this).entries;\n  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);\n  var index = 0;\n  var entry;\n  while (index < entries.length) {\n   entry = entries[index++];\n   boundFunction(entry.value, entry.key, this);\n  }\n },\n keys: function keys() {\n  return new URLSearchParamsIterator(this, 'keys');\n },\n values: function values() {\n  return new URLSearchParamsIterator(this, 'values');\n },\n entries: function entries() {\n  return new URLSearchParamsIterator(this, 'entries');\n }\n}, { enumerable: true });\nredefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);\nredefine(URLSearchParamsPrototype, 'toString', function toString() {\n var entries = getInternalParamsState(this).entries;\n var result = [];\n var index = 0;\n var entry;\n while (index < entries.length) {\n  entry = entries[index++];\n  result.push(serialize(entry.key) + '=' + serialize(entry.value));\n }\n return result.join('&');\n}, { enumerable: true });\nsetToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);\n$({\n global: true,\n forced: !USE_NATIVE_URL\n}, { URLSearchParams: URLSearchParamsConstructor });\nif (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {\n $({\n  global: true,\n  enumerable: true,\n  forced: true\n }, {\n  fetch: function fetch(input) {\n   var args = [input];\n   var init, body, headers;\n   if (arguments.length > 1) {\n    init = arguments[1];\n    if (isObject(init)) {\n     body = init.body;\n     if (classof(body) === URL_SEARCH_PARAMS) {\n      headers = init.headers ? new Headers(init.headers) : new Headers();\n      if (!headers.has('content-type')) {\n       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n      }\n      init = create(init, {\n       body: createPropertyDescriptor(0, String(body)),\n       headers: createPropertyDescriptor(0, headers)\n      });\n     }\n    }\n    args.push(init);\n   }\n   return $fetch.apply(this, args);\n  }\n });\n}\nmodule.exports = {\n URLSearchParams: URLSearchParamsConstructor,\n getState: getInternalParamsState\n};\n\n/***/ }),\n/* 119 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar anObject = __w_pdfjs_require__(27);\nvar getIteratorMethod = __w_pdfjs_require__(77);\nmodule.exports = function (it) {\n var iteratorMethod = getIteratorMethod(it);\n if (typeof iteratorMethod != 'function') {\n  throw TypeError(String(it) + ' is not iterable');\n }\n return anObject(iteratorMethod.call(it));\n};\n\n/***/ }),\n/* 120 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\n$({\n target: 'URL',\n proto: true,\n enumerable: true\n}, {\n toJSON: function toJSON() {\n  return URL.prototype.toString.call(this);\n }\n});\n\n/***/ }),\n/* 121 */\n/***/ (function(__unused_webpack_module, exports) {\n\n(function (global, factory) {\n  true ? factory(exports) : undefined;\n}(this, function (exports) {\n 'use strict';\n var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {\n  return \"Symbol(\" + description + \")\";\n };\n function noop() {\n }\n function getGlobals() {\n  if (typeof self !== 'undefined') {\n   return self;\n  } else if (typeof window !== 'undefined') {\n   return window;\n  } else if (typeof global !== 'undefined') {\n   return global;\n  }\n  return undefined;\n }\n var globals = getGlobals();\n function typeIsObject(x) {\n  return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n var rethrowAssertionErrorRejection = noop;\n var originalPromise = Promise;\n var originalPromiseThen = Promise.prototype.then;\n var originalPromiseResolve = Promise.resolve.bind(originalPromise);\n var originalPromiseReject = Promise.reject.bind(originalPromise);\n function newPromise(executor) {\n  return new originalPromise(executor);\n }\n function promiseResolvedWith(value) {\n  return originalPromiseResolve(value);\n }\n function promiseRejectedWith(reason) {\n  return originalPromiseReject(reason);\n }\n function PerformPromiseThen(promise, onFulfilled, onRejected) {\n  return originalPromiseThen.call(promise, onFulfilled, onRejected);\n }\n function uponPromise(promise, onFulfilled, onRejected) {\n  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);\n }\n function uponFulfillment(promise, onFulfilled) {\n  uponPromise(promise, onFulfilled);\n }\n function uponRejection(promise, onRejected) {\n  uponPromise(promise, undefined, onRejected);\n }\n function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {\n  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);\n }\n function setPromiseIsHandledToTrue(promise) {\n  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);\n }\n var queueMicrotask = function () {\n  var globalQueueMicrotask = globals && globals.queueMicrotask;\n  if (typeof globalQueueMicrotask === 'function') {\n   return globalQueueMicrotask;\n  }\n  var resolvedPromise = promiseResolvedWith(undefined);\n  return function (fn) {\n   return PerformPromiseThen(resolvedPromise, fn);\n  };\n }();\n function reflectCall(F, V, args) {\n  if (typeof F !== 'function') {\n   throw new TypeError('Argument is not a function');\n  }\n  return Function.prototype.apply.call(F, V, args);\n }\n function promiseCall(F, V, args) {\n  try {\n   return promiseResolvedWith(reflectCall(F, V, args));\n  } catch (value) {\n   return promiseRejectedWith(value);\n  }\n }\n var QUEUE_MAX_ARRAY_SIZE = 16384;\n var SimpleQueue = function () {\n  function SimpleQueue() {\n   this._cursor = 0;\n   this._size = 0;\n   this._front = {\n    _elements: [],\n    _next: undefined\n   };\n   this._back = this._front;\n   this._cursor = 0;\n   this._size = 0;\n  }\n  Object.defineProperty(SimpleQueue.prototype, \"length\", {\n   get: function () {\n    return this._size;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  SimpleQueue.prototype.push = function (element) {\n   var oldBack = this._back;\n   var newBack = oldBack;\n   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {\n    newBack = {\n     _elements: [],\n     _next: undefined\n    };\n   }\n   oldBack._elements.push(element);\n   if (newBack !== oldBack) {\n    this._back = newBack;\n    oldBack._next = newBack;\n   }\n   ++this._size;\n  };\n  SimpleQueue.prototype.shift = function () {\n   var oldFront = this._front;\n   var newFront = oldFront;\n   var oldCursor = this._cursor;\n   var newCursor = oldCursor + 1;\n   var elements = oldFront._elements;\n   var element = elements[oldCursor];\n   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {\n    newFront = oldFront._next;\n    newCursor = 0;\n   }\n   --this._size;\n   this._cursor = newCursor;\n   if (oldFront !== newFront) {\n    this._front = newFront;\n   }\n   elements[oldCursor] = undefined;\n   return element;\n  };\n  SimpleQueue.prototype.forEach = function (callback) {\n   var i = this._cursor;\n   var node = this._front;\n   var elements = node._elements;\n   while (i !== elements.length || node._next !== undefined) {\n    if (i === elements.length) {\n     node = node._next;\n     elements = node._elements;\n     i = 0;\n     if (elements.length === 0) {\n      break;\n     }\n    }\n    callback(elements[i]);\n    ++i;\n   }\n  };\n  SimpleQueue.prototype.peek = function () {\n   var front = this._front;\n   var cursor = this._cursor;\n   return front._elements[cursor];\n  };\n  return SimpleQueue;\n }();\n function ReadableStreamReaderGenericInitialize(reader, stream) {\n  reader._ownerReadableStream = stream;\n  stream._reader = reader;\n  if (stream._state === 'readable') {\n   defaultReaderClosedPromiseInitialize(reader);\n  } else if (stream._state === 'closed') {\n   defaultReaderClosedPromiseInitializeAsResolved(reader);\n  } else {\n   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);\n  }\n }\n function ReadableStreamReaderGenericCancel(reader, reason) {\n  var stream = reader._ownerReadableStream;\n  return ReadableStreamCancel(stream, reason);\n }\n function ReadableStreamReaderGenericRelease(reader) {\n  if (reader._ownerReadableStream._state === 'readable') {\n   defaultReaderClosedPromiseReject(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n  } else {\n   defaultReaderClosedPromiseResetToRejected(reader, new TypeError(\"Reader was released and can no longer be used to monitor the stream's closedness\"));\n  }\n  reader._ownerReadableStream._reader = undefined;\n  reader._ownerReadableStream = undefined;\n }\n function readerLockException(name) {\n  return new TypeError('Cannot ' + name + ' a stream using a released reader');\n }\n function defaultReaderClosedPromiseInitialize(reader) {\n  reader._closedPromise = newPromise(function (resolve, reject) {\n   reader._closedPromise_resolve = resolve;\n   reader._closedPromise_reject = reject;\n  });\n }\n function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseReject(reader, reason);\n }\n function defaultReaderClosedPromiseInitializeAsResolved(reader) {\n  defaultReaderClosedPromiseInitialize(reader);\n  defaultReaderClosedPromiseResolve(reader);\n }\n function defaultReaderClosedPromiseReject(reader, reason) {\n  if (reader._closedPromise_reject === undefined) {\n   return;\n  }\n  setPromiseIsHandledToTrue(reader._closedPromise);\n  reader._closedPromise_reject(reason);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n }\n function defaultReaderClosedPromiseResetToRejected(reader, reason) {\n  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);\n }\n function defaultReaderClosedPromiseResolve(reader) {\n  if (reader._closedPromise_resolve === undefined) {\n   return;\n  }\n  reader._closedPromise_resolve(undefined);\n  reader._closedPromise_resolve = undefined;\n  reader._closedPromise_reject = undefined;\n }\n var AbortSteps = SymbolPolyfill('[[AbortSteps]]');\n var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');\n var CancelSteps = SymbolPolyfill('[[CancelSteps]]');\n var PullSteps = SymbolPolyfill('[[PullSteps]]');\n var NumberIsFinite = Number.isFinite || function (x) {\n  return typeof x === 'number' && isFinite(x);\n };\n var MathTrunc = Math.trunc || function (v) {\n  return v < 0 ? Math.ceil(v) : Math.floor(v);\n };\n function isDictionary(x) {\n  return typeof x === 'object' || typeof x === 'function';\n }\n function assertDictionary(obj, context) {\n  if (obj !== undefined && !isDictionary(obj)) {\n   throw new TypeError(context + \" is not an object.\");\n  }\n }\n function assertFunction(x, context) {\n  if (typeof x !== 'function') {\n   throw new TypeError(context + \" is not a function.\");\n  }\n }\n function isObject(x) {\n  return typeof x === 'object' && x !== null || typeof x === 'function';\n }\n function assertObject(x, context) {\n  if (!isObject(x)) {\n   throw new TypeError(context + \" is not an object.\");\n  }\n }\n function assertRequiredArgument(x, position, context) {\n  if (x === undefined) {\n   throw new TypeError(\"Parameter \" + position + \" is required in '\" + context + \"'.\");\n  }\n }\n function assertRequiredField(x, field, context) {\n  if (x === undefined) {\n   throw new TypeError(field + \" is required in '\" + context + \"'.\");\n  }\n }\n function convertUnrestrictedDouble(value) {\n  return Number(value);\n }\n function censorNegativeZero(x) {\n  return x === 0 ? 0 : x;\n }\n function integerPart(x) {\n  return censorNegativeZero(MathTrunc(x));\n }\n function convertUnsignedLongLongWithEnforceRange(value, context) {\n  var lowerBound = 0;\n  var upperBound = Number.MAX_SAFE_INTEGER;\n  var x = Number(value);\n  x = censorNegativeZero(x);\n  if (!NumberIsFinite(x)) {\n   throw new TypeError(context + \" is not a finite number\");\n  }\n  x = integerPart(x);\n  if (x < lowerBound || x > upperBound) {\n   throw new TypeError(context + \" is outside the accepted range of \" + lowerBound + \" to \" + upperBound + \", inclusive\");\n  }\n  if (!NumberIsFinite(x) || x === 0) {\n   return 0;\n  }\n  return x;\n }\n function assertReadableStream(x, context) {\n  if (!IsReadableStream(x)) {\n   throw new TypeError(context + \" is not a ReadableStream.\");\n  }\n }\n function AcquireReadableStreamDefaultReader(stream) {\n  return new ReadableStreamDefaultReader(stream);\n }\n function ReadableStreamAddReadRequest(stream, readRequest) {\n  stream._reader._readRequests.push(readRequest);\n }\n function ReadableStreamFulfillReadRequest(stream, chunk, done) {\n  var reader = stream._reader;\n  var readRequest = reader._readRequests.shift();\n  if (done) {\n   readRequest._closeSteps();\n  } else {\n   readRequest._chunkSteps(chunk);\n  }\n }\n function ReadableStreamGetNumReadRequests(stream) {\n  return stream._reader._readRequests.length;\n }\n function ReadableStreamHasDefaultReader(stream) {\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return false;\n  }\n  if (!IsReadableStreamDefaultReader(reader)) {\n   return false;\n  }\n  return true;\n }\n var ReadableStreamDefaultReader = function () {\n  function ReadableStreamDefaultReader(stream) {\n   assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');\n   assertReadableStream(stream, 'First parameter');\n   if (IsReadableStreamLocked(stream)) {\n    throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n   }\n   ReadableStreamReaderGenericInitialize(this, stream);\n   this._readRequests = new SimpleQueue();\n  }\n  Object.defineProperty(ReadableStreamDefaultReader.prototype, \"closed\", {\n   get: function () {\n    if (!IsReadableStreamDefaultReader(this)) {\n     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableStreamDefaultReader.prototype.cancel = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsReadableStreamDefaultReader(this)) {\n    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('cancel'));\n   }\n   return ReadableStreamReaderGenericCancel(this, reason);\n  };\n  ReadableStreamDefaultReader.prototype.read = function () {\n   if (!IsReadableStreamDefaultReader(this)) {\n    return promiseRejectedWith(defaultReaderBrandCheckException('read'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('read from'));\n   }\n   var resolvePromise;\n   var rejectPromise;\n   var promise = newPromise(function (resolve, reject) {\n    resolvePromise = resolve;\n    rejectPromise = reject;\n   });\n   var readRequest = {\n    _chunkSteps: function (chunk) {\n     return resolvePromise({\n      value: chunk,\n      done: false\n     });\n    },\n    _closeSteps: function () {\n     return resolvePromise({\n      value: undefined,\n      done: true\n     });\n    },\n    _errorSteps: function (e) {\n     return rejectPromise(e);\n    }\n   };\n   ReadableStreamDefaultReaderRead(this, readRequest);\n   return promise;\n  };\n  ReadableStreamDefaultReader.prototype.releaseLock = function () {\n   if (!IsReadableStreamDefaultReader(this)) {\n    throw defaultReaderBrandCheckException('releaseLock');\n   }\n   if (this._ownerReadableStream === undefined) {\n    return;\n   }\n   if (this._readRequests.length > 0) {\n    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n   }\n   ReadableStreamReaderGenericRelease(this);\n  };\n  return ReadableStreamDefaultReader;\n }();\n Object.defineProperties(ReadableStreamDefaultReader.prototype, {\n  cancel: { enumerable: true },\n  read: { enumerable: true },\n  releaseLock: { enumerable: true },\n  closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableStreamDefaultReader',\n   configurable: true\n  });\n }\n function IsReadableStreamDefaultReader(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultReaderRead(reader, readRequest) {\n  var stream = reader._ownerReadableStream;\n  stream._disturbed = true;\n  if (stream._state === 'closed') {\n   readRequest._closeSteps();\n  } else if (stream._state === 'errored') {\n   readRequest._errorSteps(stream._storedError);\n  } else {\n   stream._readableStreamController[PullSteps](readRequest);\n  }\n }\n function defaultReaderBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamDefaultReader.prototype.\" + name + \" can only be used on a ReadableStreamDefaultReader\");\n }\n var _a;\n var AsyncIteratorPrototype;\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {\n   return this;\n  }, _a);\n  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });\n }\n var ReadableStreamAsyncIteratorImpl = function () {\n  function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {\n   this._ongoingPromise = undefined;\n   this._isFinished = false;\n   this._reader = reader;\n   this._preventCancel = preventCancel;\n  }\n  ReadableStreamAsyncIteratorImpl.prototype.next = function () {\n   var _this = this;\n   var nextSteps = function () {\n    return _this._nextSteps();\n   };\n   this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();\n   return this._ongoingPromise;\n  };\n  ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {\n   var _this = this;\n   var returnSteps = function () {\n    return _this._returnSteps(value);\n   };\n   return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();\n  };\n  ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {\n   var _this = this;\n   if (this._isFinished) {\n    return Promise.resolve({\n     value: undefined,\n     done: true\n    });\n   }\n   var reader = this._reader;\n   if (reader._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('iterate'));\n   }\n   var resolvePromise;\n   var rejectPromise;\n   var promise = newPromise(function (resolve, reject) {\n    resolvePromise = resolve;\n    rejectPromise = reject;\n   });\n   var readRequest = {\n    _chunkSteps: function (chunk) {\n     _this._ongoingPromise = undefined;\n     queueMicrotask(function () {\n      return resolvePromise({\n       value: chunk,\n       done: false\n      });\n     });\n    },\n    _closeSteps: function () {\n     _this._ongoingPromise = undefined;\n     _this._isFinished = true;\n     ReadableStreamReaderGenericRelease(reader);\n     resolvePromise({\n      value: undefined,\n      done: true\n     });\n    },\n    _errorSteps: function (reason) {\n     _this._ongoingPromise = undefined;\n     _this._isFinished = true;\n     ReadableStreamReaderGenericRelease(reader);\n     rejectPromise(reason);\n    }\n   };\n   ReadableStreamDefaultReaderRead(reader, readRequest);\n   return promise;\n  };\n  ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {\n   if (this._isFinished) {\n    return Promise.resolve({\n     value: value,\n     done: true\n    });\n   }\n   this._isFinished = true;\n   var reader = this._reader;\n   if (reader._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('finish iterating'));\n   }\n   if (!this._preventCancel) {\n    var result = ReadableStreamReaderGenericCancel(reader, value);\n    ReadableStreamReaderGenericRelease(reader);\n    return transformPromiseWith(result, function () {\n     return {\n      value: value,\n      done: true\n     };\n    });\n   }\n   ReadableStreamReaderGenericRelease(reader);\n   return promiseResolvedWith({\n    value: value,\n    done: true\n   });\n  };\n  return ReadableStreamAsyncIteratorImpl;\n }();\n var ReadableStreamAsyncIteratorPrototype = {\n  next: function () {\n   if (!IsReadableStreamAsyncIterator(this)) {\n    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));\n   }\n   return this._asyncIteratorImpl.next();\n  },\n  return: function (value) {\n   if (!IsReadableStreamAsyncIterator(this)) {\n    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));\n   }\n   return this._asyncIteratorImpl.return(value);\n  }\n };\n if (AsyncIteratorPrototype !== undefined) {\n  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);\n }\n function AcquireReadableStreamAsyncIterator(stream, preventCancel) {\n  var reader = AcquireReadableStreamDefaultReader(stream);\n  var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);\n  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);\n  iterator._asyncIteratorImpl = impl;\n  return iterator;\n }\n function IsReadableStreamAsyncIterator(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {\n   return false;\n  }\n  return true;\n }\n function streamAsyncIteratorBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamAsyncIterator.\" + name + \" can only be used on a ReadableSteamAsyncIterator\");\n }\n var NumberIsNaN = Number.isNaN || function (x) {\n  return x !== x;\n };\n function IsFiniteNonNegativeNumber(v) {\n  if (!IsNonNegativeNumber(v)) {\n   return false;\n  }\n  if (v === Infinity) {\n   return false;\n  }\n  return true;\n }\n function IsNonNegativeNumber(v) {\n  if (typeof v !== 'number') {\n   return false;\n  }\n  if (NumberIsNaN(v)) {\n   return false;\n  }\n  if (v < 0) {\n   return false;\n  }\n  return true;\n }\n function DequeueValue(container) {\n  var pair = container._queue.shift();\n  container._queueTotalSize -= pair.size;\n  if (container._queueTotalSize < 0) {\n   container._queueTotalSize = 0;\n  }\n  return pair.value;\n }\n function EnqueueValueWithSize(container, value, size) {\n  size = Number(size);\n  if (!IsFiniteNonNegativeNumber(size)) {\n   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');\n  }\n  container._queue.push({\n   value: value,\n   size: size\n  });\n  container._queueTotalSize += size;\n }\n function PeekQueueValue(container) {\n  var pair = container._queue.peek();\n  return pair.value;\n }\n function ResetQueue(container) {\n  container._queue = new SimpleQueue();\n  container._queueTotalSize = 0;\n }\n function CreateArrayFromList(elements) {\n  return elements.slice();\n }\n function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {\n  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);\n }\n function TransferArrayBuffer(O) {\n  return O;\n }\n function IsDetachedBuffer(O) {\n  return false;\n }\n var ReadableStreamBYOBRequest = function () {\n  function ReadableStreamBYOBRequest() {\n   throw new TypeError('Illegal constructor');\n  }\n  Object.defineProperty(ReadableStreamBYOBRequest.prototype, \"view\", {\n   get: function () {\n    if (!IsReadableStreamBYOBRequest(this)) {\n     throw byobRequestBrandCheckException('view');\n    }\n    return this._view;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {\n   if (!IsReadableStreamBYOBRequest(this)) {\n    throw byobRequestBrandCheckException('respond');\n   }\n   assertRequiredArgument(bytesWritten, 1, 'respond');\n   bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');\n   if (this._associatedReadableByteStreamController === undefined) {\n    throw new TypeError('This BYOB request has been invalidated');\n   }\n   if (IsDetachedBuffer(this._view.buffer));\n   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);\n  };\n  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {\n   if (!IsReadableStreamBYOBRequest(this)) {\n    throw byobRequestBrandCheckException('respondWithNewView');\n   }\n   assertRequiredArgument(view, 1, 'respondWithNewView');\n   if (!ArrayBuffer.isView(view)) {\n    throw new TypeError('You can only respond with array buffer views');\n   }\n   if (view.byteLength === 0) {\n    throw new TypeError('chunk must have non-zero byteLength');\n   }\n   if (view.buffer.byteLength === 0) {\n    throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n   }\n   if (this._associatedReadableByteStreamController === undefined) {\n    throw new TypeError('This BYOB request has been invalidated');\n   }\n   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);\n  };\n  return ReadableStreamBYOBRequest;\n }();\n Object.defineProperties(ReadableStreamBYOBRequest.prototype, {\n  respond: { enumerable: true },\n  respondWithNewView: { enumerable: true },\n  view: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableStreamBYOBRequest',\n   configurable: true\n  });\n }\n var ReadableByteStreamController = function () {\n  function ReadableByteStreamController() {\n   throw new TypeError('Illegal constructor');\n  }\n  Object.defineProperty(ReadableByteStreamController.prototype, \"byobRequest\", {\n   get: function () {\n    if (!IsReadableByteStreamController(this)) {\n     throw byteStreamControllerBrandCheckException('byobRequest');\n    }\n    if (this._byobRequest === null && this._pendingPullIntos.length > 0) {\n     var firstDescriptor = this._pendingPullIntos.peek();\n     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);\n     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);\n     SetUpReadableStreamBYOBRequest(byobRequest, this, view);\n     this._byobRequest = byobRequest;\n    }\n    return this._byobRequest;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(ReadableByteStreamController.prototype, \"desiredSize\", {\n   get: function () {\n    if (!IsReadableByteStreamController(this)) {\n     throw byteStreamControllerBrandCheckException('desiredSize');\n    }\n    return ReadableByteStreamControllerGetDesiredSize(this);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableByteStreamController.prototype.close = function () {\n   if (!IsReadableByteStreamController(this)) {\n    throw byteStreamControllerBrandCheckException('close');\n   }\n   if (this._closeRequested) {\n    throw new TypeError('The stream has already been closed; do not close it again!');\n   }\n   var state = this._controlledReadableByteStream._state;\n   if (state !== 'readable') {\n    throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be closed\");\n   }\n   ReadableByteStreamControllerClose(this);\n  };\n  ReadableByteStreamController.prototype.enqueue = function (chunk) {\n   if (!IsReadableByteStreamController(this)) {\n    throw byteStreamControllerBrandCheckException('enqueue');\n   }\n   assertRequiredArgument(chunk, 1, 'enqueue');\n   if (!ArrayBuffer.isView(chunk)) {\n    throw new TypeError('chunk must be an array buffer view');\n   }\n   if (chunk.byteLength === 0) {\n    throw new TypeError('chunk must have non-zero byteLength');\n   }\n   if (chunk.buffer.byteLength === 0) {\n    throw new TypeError(\"chunk's buffer must have non-zero byteLength\");\n   }\n   if (this._closeRequested) {\n    throw new TypeError('stream is closed or draining');\n   }\n   var state = this._controlledReadableByteStream._state;\n   if (state !== 'readable') {\n    throw new TypeError(\"The stream (in \" + state + \" state) is not in the readable state and cannot be enqueued to\");\n   }\n   ReadableByteStreamControllerEnqueue(this, chunk);\n  };\n  ReadableByteStreamController.prototype.error = function (e) {\n   if (e === void 0) {\n    e = undefined;\n   }\n   if (!IsReadableByteStreamController(this)) {\n    throw byteStreamControllerBrandCheckException('error');\n   }\n   ReadableByteStreamControllerError(this, e);\n  };\n  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {\n   if (this._pendingPullIntos.length > 0) {\n    var firstDescriptor = this._pendingPullIntos.peek();\n    firstDescriptor.bytesFilled = 0;\n   }\n   ResetQueue(this);\n   var result = this._cancelAlgorithm(reason);\n   ReadableByteStreamControllerClearAlgorithms(this);\n   return result;\n  };\n  ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {\n   var stream = this._controlledReadableByteStream;\n   if (this._queueTotalSize > 0) {\n    var entry = this._queue.shift();\n    this._queueTotalSize -= entry.byteLength;\n    ReadableByteStreamControllerHandleQueueDrain(this);\n    var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);\n    readRequest._chunkSteps(view);\n    return;\n   }\n   var autoAllocateChunkSize = this._autoAllocateChunkSize;\n   if (autoAllocateChunkSize !== undefined) {\n    var buffer = void 0;\n    try {\n     buffer = new ArrayBuffer(autoAllocateChunkSize);\n    } catch (bufferE) {\n     readRequest._errorSteps(bufferE);\n     return;\n    }\n    var pullIntoDescriptor = {\n     buffer: buffer,\n     byteOffset: 0,\n     byteLength: autoAllocateChunkSize,\n     bytesFilled: 0,\n     elementSize: 1,\n     viewConstructor: Uint8Array,\n     readerType: 'default'\n    };\n    this._pendingPullIntos.push(pullIntoDescriptor);\n   }\n   ReadableStreamAddReadRequest(stream, readRequest);\n   ReadableByteStreamControllerCallPullIfNeeded(this);\n  };\n  return ReadableByteStreamController;\n }();\n Object.defineProperties(ReadableByteStreamController.prototype, {\n  close: { enumerable: true },\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  byobRequest: { enumerable: true },\n  desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableByteStreamController',\n   configurable: true\n  });\n }\n function IsReadableByteStreamController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {\n   return false;\n  }\n  return true;\n }\n function IsReadableStreamBYOBRequest(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {\n   return false;\n  }\n  return true;\n }\n function ReadableByteStreamControllerCallPullIfNeeded(controller) {\n  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);\n  if (!shouldPull) {\n   return;\n  }\n  if (controller._pulling) {\n   controller._pullAgain = true;\n   return;\n  }\n  controller._pulling = true;\n  var pullPromise = controller._pullAlgorithm();\n  uponPromise(pullPromise, function () {\n   controller._pulling = false;\n   if (controller._pullAgain) {\n    controller._pullAgain = false;\n    ReadableByteStreamControllerCallPullIfNeeded(controller);\n   }\n  }, function (e) {\n   ReadableByteStreamControllerError(controller, e);\n  });\n }\n function ReadableByteStreamControllerClearPendingPullIntos(controller) {\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  controller._pendingPullIntos = new SimpleQueue();\n }\n function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {\n  var done = false;\n  if (stream._state === 'closed') {\n   done = true;\n  }\n  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n  if (pullIntoDescriptor.readerType === 'default') {\n   ReadableStreamFulfillReadRequest(stream, filledView, done);\n  } else {\n   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);\n  }\n }\n function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {\n  var bytesFilled = pullIntoDescriptor.bytesFilled;\n  var elementSize = pullIntoDescriptor.elementSize;\n  return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);\n }\n function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {\n  controller._queue.push({\n   buffer: buffer,\n   byteOffset: byteOffset,\n   byteLength: byteLength\n  });\n  controller._queueTotalSize += byteLength;\n }\n function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {\n  var elementSize = pullIntoDescriptor.elementSize;\n  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;\n  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);\n  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;\n  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;\n  var totalBytesToCopyRemaining = maxBytesToCopy;\n  var ready = false;\n  if (maxAlignedBytes > currentAlignedBytes) {\n   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;\n   ready = true;\n  }\n  var queue = controller._queue;\n  while (totalBytesToCopyRemaining > 0) {\n   var headOfQueue = queue.peek();\n   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);\n   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n   CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);\n   if (headOfQueue.byteLength === bytesToCopy) {\n    queue.shift();\n   } else {\n    headOfQueue.byteOffset += bytesToCopy;\n    headOfQueue.byteLength -= bytesToCopy;\n   }\n   controller._queueTotalSize -= bytesToCopy;\n   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);\n   totalBytesToCopyRemaining -= bytesToCopy;\n  }\n  return ready;\n }\n function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  pullIntoDescriptor.bytesFilled += size;\n }\n function ReadableByteStreamControllerHandleQueueDrain(controller) {\n  if (controller._queueTotalSize === 0 && controller._closeRequested) {\n   ReadableByteStreamControllerClearAlgorithms(controller);\n   ReadableStreamClose(controller._controlledReadableByteStream);\n  } else {\n   ReadableByteStreamControllerCallPullIfNeeded(controller);\n  }\n }\n function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {\n  if (controller._byobRequest === null) {\n   return;\n  }\n  controller._byobRequest._associatedReadableByteStreamController = undefined;\n  controller._byobRequest._view = null;\n  controller._byobRequest = null;\n }\n function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {\n  while (controller._pendingPullIntos.length > 0) {\n   if (controller._queueTotalSize === 0) {\n    return;\n   }\n   var pullIntoDescriptor = controller._pendingPullIntos.peek();\n   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n    ReadableByteStreamControllerShiftPendingPullInto(controller);\n    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n   }\n  }\n }\n function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {\n  var stream = controller._controlledReadableByteStream;\n  var elementSize = 1;\n  if (view.constructor !== DataView) {\n   elementSize = view.constructor.BYTES_PER_ELEMENT;\n  }\n  var ctor = view.constructor;\n  var buffer = TransferArrayBuffer(view.buffer);\n  var pullIntoDescriptor = {\n   buffer: buffer,\n   byteOffset: view.byteOffset,\n   byteLength: view.byteLength,\n   bytesFilled: 0,\n   elementSize: elementSize,\n   viewConstructor: ctor,\n   readerType: 'byob'\n  };\n  if (controller._pendingPullIntos.length > 0) {\n   controller._pendingPullIntos.push(pullIntoDescriptor);\n   ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n   return;\n  }\n  if (stream._state === 'closed') {\n   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);\n   readIntoRequest._closeSteps(emptyView);\n   return;\n  }\n  if (controller._queueTotalSize > 0) {\n   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {\n    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);\n    ReadableByteStreamControllerHandleQueueDrain(controller);\n    readIntoRequest._chunkSteps(filledView);\n    return;\n   }\n   if (controller._closeRequested) {\n    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n    ReadableByteStreamControllerError(controller, e);\n    readIntoRequest._errorSteps(e);\n    return;\n   }\n  }\n  controller._pendingPullIntos.push(pullIntoDescriptor);\n  ReadableStreamAddReadIntoRequest(stream, readIntoRequest);\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {\n  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);\n  var stream = controller._controlledReadableByteStream;\n  if (ReadableStreamHasBYOBReader(stream)) {\n   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);\n    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);\n   }\n  }\n }\n function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {\n  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {\n   throw new RangeError('bytesWritten out of range');\n  }\n  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);\n  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {\n   return;\n  }\n  ReadableByteStreamControllerShiftPendingPullInto(controller);\n  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;\n  if (remainderSize > 0) {\n   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;\n   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);\n  }\n  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);\n  pullIntoDescriptor.bytesFilled -= remainderSize;\n  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);\n  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n }\n function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {\n  var firstDescriptor = controller._pendingPullIntos.peek();\n  var state = controller._controlledReadableByteStream._state;\n  if (state === 'closed') {\n   if (bytesWritten !== 0) {\n    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');\n   }\n   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);\n  } else {\n   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);\n  }\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerShiftPendingPullInto(controller) {\n  var descriptor = controller._pendingPullIntos.shift();\n  ReadableByteStreamControllerInvalidateBYOBRequest(controller);\n  return descriptor;\n }\n function ReadableByteStreamControllerShouldCallPull(controller) {\n  var stream = controller._controlledReadableByteStream;\n  if (stream._state !== 'readable') {\n   return false;\n  }\n  if (controller._closeRequested) {\n   return false;\n  }\n  if (!controller._started) {\n   return false;\n  }\n  if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n   return true;\n  }\n  if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {\n   return true;\n  }\n  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);\n  if (desiredSize > 0) {\n   return true;\n  }\n  return false;\n }\n function ReadableByteStreamControllerClearAlgorithms(controller) {\n  controller._pullAlgorithm = undefined;\n  controller._cancelAlgorithm = undefined;\n }\n function ReadableByteStreamControllerClose(controller) {\n  var stream = controller._controlledReadableByteStream;\n  if (controller._closeRequested || stream._state !== 'readable') {\n   return;\n  }\n  if (controller._queueTotalSize > 0) {\n   controller._closeRequested = true;\n   return;\n  }\n  if (controller._pendingPullIntos.length > 0) {\n   var firstPendingPullInto = controller._pendingPullIntos.peek();\n   if (firstPendingPullInto.bytesFilled > 0) {\n    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');\n    ReadableByteStreamControllerError(controller, e);\n    throw e;\n   }\n  }\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamClose(stream);\n }\n function ReadableByteStreamControllerEnqueue(controller, chunk) {\n  var stream = controller._controlledReadableByteStream;\n  if (controller._closeRequested || stream._state !== 'readable') {\n   return;\n  }\n  var buffer = chunk.buffer;\n  var byteOffset = chunk.byteOffset;\n  var byteLength = chunk.byteLength;\n  var transferredBuffer = TransferArrayBuffer(buffer);\n  if (ReadableStreamHasDefaultReader(stream)) {\n   if (ReadableStreamGetNumReadRequests(stream) === 0) {\n    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n   } else {\n    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);\n    ReadableStreamFulfillReadRequest(stream, transferredView, false);\n   }\n  } else if (ReadableStreamHasBYOBReader(stream)) {\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);\n  } else {\n   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);\n  }\n  ReadableByteStreamControllerCallPullIfNeeded(controller);\n }\n function ReadableByteStreamControllerError(controller, e) {\n  var stream = controller._controlledReadableByteStream;\n  if (stream._state !== 'readable') {\n   return;\n  }\n  ReadableByteStreamControllerClearPendingPullIntos(controller);\n  ResetQueue(controller);\n  ReadableByteStreamControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n }\n function ReadableByteStreamControllerGetDesiredSize(controller) {\n  var state = controller._controlledReadableByteStream._state;\n  if (state === 'errored') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableByteStreamControllerRespond(controller, bytesWritten) {\n  bytesWritten = Number(bytesWritten);\n  if (!IsFiniteNonNegativeNumber(bytesWritten)) {\n   throw new RangeError('bytesWritten must be a finite');\n  }\n  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);\n }\n function ReadableByteStreamControllerRespondWithNewView(controller, view) {\n  var firstDescriptor = controller._pendingPullIntos.peek();\n  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {\n   throw new RangeError('The region specified by view does not match byobRequest');\n  }\n  if (firstDescriptor.byteLength !== view.byteLength) {\n   throw new RangeError('The buffer of view has different capacity than byobRequest');\n  }\n  firstDescriptor.buffer = view.buffer;\n  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);\n }\n function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {\n  controller._controlledReadableByteStream = stream;\n  controller._pullAgain = false;\n  controller._pulling = false;\n  controller._byobRequest = null;\n  controller._queue = controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._closeRequested = false;\n  controller._started = false;\n  controller._strategyHWM = highWaterMark;\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n  controller._autoAllocateChunkSize = autoAllocateChunkSize;\n  controller._pendingPullIntos = new SimpleQueue();\n  stream._readableStreamController = controller;\n  var startResult = startAlgorithm();\n  uponPromise(promiseResolvedWith(startResult), function () {\n   controller._started = true;\n   ReadableByteStreamControllerCallPullIfNeeded(controller);\n  }, function (r) {\n   ReadableByteStreamControllerError(controller, r);\n  });\n }\n function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {\n  var controller = Object.create(ReadableByteStreamController.prototype);\n  var startAlgorithm = function () {\n   return undefined;\n  };\n  var pullAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  var cancelAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  if (underlyingByteSource.start !== undefined) {\n   startAlgorithm = function () {\n    return underlyingByteSource.start(controller);\n   };\n  }\n  if (underlyingByteSource.pull !== undefined) {\n   pullAlgorithm = function () {\n    return underlyingByteSource.pull(controller);\n   };\n  }\n  if (underlyingByteSource.cancel !== undefined) {\n   cancelAlgorithm = function (reason) {\n    return underlyingByteSource.cancel(reason);\n   };\n  }\n  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;\n  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);\n }\n function SetUpReadableStreamBYOBRequest(request, controller, view) {\n  request._associatedReadableByteStreamController = controller;\n  request._view = view;\n }\n function byobRequestBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamBYOBRequest.prototype.\" + name + \" can only be used on a ReadableStreamBYOBRequest\");\n }\n function byteStreamControllerBrandCheckException(name) {\n  return new TypeError(\"ReadableByteStreamController.prototype.\" + name + \" can only be used on a ReadableByteStreamController\");\n }\n function AcquireReadableStreamBYOBReader(stream) {\n  return new ReadableStreamBYOBReader(stream);\n }\n function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {\n  stream._reader._readIntoRequests.push(readIntoRequest);\n }\n function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {\n  var reader = stream._reader;\n  var readIntoRequest = reader._readIntoRequests.shift();\n  if (done) {\n   readIntoRequest._closeSteps(chunk);\n  } else {\n   readIntoRequest._chunkSteps(chunk);\n  }\n }\n function ReadableStreamGetNumReadIntoRequests(stream) {\n  return stream._reader._readIntoRequests.length;\n }\n function ReadableStreamHasBYOBReader(stream) {\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return false;\n  }\n  if (!IsReadableStreamBYOBReader(reader)) {\n   return false;\n  }\n  return true;\n }\n var ReadableStreamBYOBReader = function () {\n  function ReadableStreamBYOBReader(stream) {\n   assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');\n   assertReadableStream(stream, 'First parameter');\n   if (IsReadableStreamLocked(stream)) {\n    throw new TypeError('This stream has already been locked for exclusive reading by another reader');\n   }\n   if (!IsReadableByteStreamController(stream._readableStreamController)) {\n    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');\n   }\n   ReadableStreamReaderGenericInitialize(this, stream);\n   this._readIntoRequests = new SimpleQueue();\n  }\n  Object.defineProperty(ReadableStreamBYOBReader.prototype, \"closed\", {\n   get: function () {\n    if (!IsReadableStreamBYOBReader(this)) {\n     return promiseRejectedWith(byobReaderBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableStreamBYOBReader.prototype.cancel = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsReadableStreamBYOBReader(this)) {\n    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('cancel'));\n   }\n   return ReadableStreamReaderGenericCancel(this, reason);\n  };\n  ReadableStreamBYOBReader.prototype.read = function (view) {\n   if (!IsReadableStreamBYOBReader(this)) {\n    return promiseRejectedWith(byobReaderBrandCheckException('read'));\n   }\n   if (!ArrayBuffer.isView(view)) {\n    return promiseRejectedWith(new TypeError('view must be an array buffer view'));\n   }\n   if (view.byteLength === 0) {\n    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));\n   }\n   if (view.buffer.byteLength === 0) {\n    return promiseRejectedWith(new TypeError(\"view's buffer must have non-zero byteLength\"));\n   }\n   if (this._ownerReadableStream === undefined) {\n    return promiseRejectedWith(readerLockException('read from'));\n   }\n   var resolvePromise;\n   var rejectPromise;\n   var promise = newPromise(function (resolve, reject) {\n    resolvePromise = resolve;\n    rejectPromise = reject;\n   });\n   var readIntoRequest = {\n    _chunkSteps: function (chunk) {\n     return resolvePromise({\n      value: chunk,\n      done: false\n     });\n    },\n    _closeSteps: function (chunk) {\n     return resolvePromise({\n      value: chunk,\n      done: true\n     });\n    },\n    _errorSteps: function (e) {\n     return rejectPromise(e);\n    }\n   };\n   ReadableStreamBYOBReaderRead(this, view, readIntoRequest);\n   return promise;\n  };\n  ReadableStreamBYOBReader.prototype.releaseLock = function () {\n   if (!IsReadableStreamBYOBReader(this)) {\n    throw byobReaderBrandCheckException('releaseLock');\n   }\n   if (this._ownerReadableStream === undefined) {\n    return;\n   }\n   if (this._readIntoRequests.length > 0) {\n    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');\n   }\n   ReadableStreamReaderGenericRelease(this);\n  };\n  return ReadableStreamBYOBReader;\n }();\n Object.defineProperties(ReadableStreamBYOBReader.prototype, {\n  cancel: { enumerable: true },\n  read: { enumerable: true },\n  releaseLock: { enumerable: true },\n  closed: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableStreamBYOBReader',\n   configurable: true\n  });\n }\n function IsReadableStreamBYOBReader(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {\n  var stream = reader._ownerReadableStream;\n  stream._disturbed = true;\n  if (stream._state === 'errored') {\n   readIntoRequest._errorSteps(stream._storedError);\n  } else {\n   ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);\n  }\n }\n function byobReaderBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamBYOBReader.prototype.\" + name + \" can only be used on a ReadableStreamBYOBReader\");\n }\n function ExtractHighWaterMark(strategy, defaultHWM) {\n  var highWaterMark = strategy.highWaterMark;\n  if (highWaterMark === undefined) {\n   return defaultHWM;\n  }\n  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {\n   throw new RangeError('Invalid highWaterMark');\n  }\n  return highWaterMark;\n }\n function ExtractSizeAlgorithm(strategy) {\n  var size = strategy.size;\n  if (!size) {\n   return function () {\n    return 1;\n   };\n  }\n  return size;\n }\n function convertQueuingStrategy(init, context) {\n  assertDictionary(init, context);\n  var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n  var size = init === null || init === void 0 ? void 0 : init.size;\n  return {\n   highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),\n   size: size === undefined ? undefined : convertQueuingStrategySize(size, context + \" has member 'size' that\")\n  };\n }\n function convertQueuingStrategySize(fn, context) {\n  assertFunction(fn, context);\n  return function (chunk) {\n   return convertUnrestrictedDouble(fn(chunk));\n  };\n }\n function convertUnderlyingSink(original, context) {\n  assertDictionary(original, context);\n  var abort = original === null || original === void 0 ? void 0 : original.abort;\n  var close = original === null || original === void 0 ? void 0 : original.close;\n  var start = original === null || original === void 0 ? void 0 : original.start;\n  var type = original === null || original === void 0 ? void 0 : original.type;\n  var write = original === null || original === void 0 ? void 0 : original.write;\n  return {\n   abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + \" has member 'abort' that\"),\n   close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + \" has member 'close' that\"),\n   start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + \" has member 'start' that\"),\n   write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + \" has member 'write' that\"),\n   type: type\n  };\n }\n function convertUnderlyingSinkAbortCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (reason) {\n   return promiseCall(fn, original, [reason]);\n  };\n }\n function convertUnderlyingSinkCloseCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function () {\n   return promiseCall(fn, original, []);\n  };\n }\n function convertUnderlyingSinkStartCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (controller) {\n   return reflectCall(fn, original, [controller]);\n  };\n }\n function convertUnderlyingSinkWriteCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (chunk, controller) {\n   return promiseCall(fn, original, [\n    chunk,\n    controller\n   ]);\n  };\n }\n function assertWritableStream(x, context) {\n  if (!IsWritableStream(x)) {\n   throw new TypeError(context + \" is not a WritableStream.\");\n  }\n }\n var WritableStream = function () {\n  function WritableStream(rawUnderlyingSink, rawStrategy) {\n   if (rawUnderlyingSink === void 0) {\n    rawUnderlyingSink = {};\n   }\n   if (rawStrategy === void 0) {\n    rawStrategy = {};\n   }\n   if (rawUnderlyingSink === undefined) {\n    rawUnderlyingSink = null;\n   } else {\n    assertObject(rawUnderlyingSink, 'First parameter');\n   }\n   var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n   var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');\n   InitializeWritableStream(this);\n   var type = underlyingSink.type;\n   if (type !== undefined) {\n    throw new RangeError('Invalid type is specified');\n   }\n   var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n   var highWaterMark = ExtractHighWaterMark(strategy, 1);\n   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);\n  }\n  Object.defineProperty(WritableStream.prototype, \"locked\", {\n   get: function () {\n    if (!IsWritableStream(this)) {\n     throw streamBrandCheckException('locked');\n    }\n    return IsWritableStreamLocked(this);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  WritableStream.prototype.abort = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsWritableStream(this)) {\n    return promiseRejectedWith(streamBrandCheckException('abort'));\n   }\n   if (IsWritableStreamLocked(this)) {\n    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));\n   }\n   return WritableStreamAbort(this, reason);\n  };\n  WritableStream.prototype.close = function () {\n   if (!IsWritableStream(this)) {\n    return promiseRejectedWith(streamBrandCheckException('close'));\n   }\n   if (IsWritableStreamLocked(this)) {\n    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));\n   }\n   if (WritableStreamCloseQueuedOrInFlight(this)) {\n    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n   }\n   return WritableStreamClose(this);\n  };\n  WritableStream.prototype.getWriter = function () {\n   if (!IsWritableStream(this)) {\n    throw streamBrandCheckException('getWriter');\n   }\n   return AcquireWritableStreamDefaultWriter(this);\n  };\n  return WritableStream;\n }();\n Object.defineProperties(WritableStream.prototype, {\n  abort: { enumerable: true },\n  close: { enumerable: true },\n  getWriter: { enumerable: true },\n  locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {\n   value: 'WritableStream',\n   configurable: true\n  });\n }\n function AcquireWritableStreamDefaultWriter(stream) {\n  return new WritableStreamDefaultWriter(stream);\n }\n function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n  if (highWaterMark === void 0) {\n   highWaterMark = 1;\n  }\n  if (sizeAlgorithm === void 0) {\n   sizeAlgorithm = function () {\n    return 1;\n   };\n  }\n  var stream = Object.create(WritableStream.prototype);\n  InitializeWritableStream(stream);\n  var controller = Object.create(WritableStreamDefaultController.prototype);\n  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n  return stream;\n }\n function InitializeWritableStream(stream) {\n  stream._state = 'writable';\n  stream._storedError = undefined;\n  stream._writer = undefined;\n  stream._writableStreamController = undefined;\n  stream._writeRequests = new SimpleQueue();\n  stream._inFlightWriteRequest = undefined;\n  stream._closeRequest = undefined;\n  stream._inFlightCloseRequest = undefined;\n  stream._pendingAbortRequest = undefined;\n  stream._backpressure = false;\n }\n function IsWritableStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {\n   return false;\n  }\n  return true;\n }\n function IsWritableStreamLocked(stream) {\n  if (stream._writer === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamAbort(stream, reason) {\n  var state = stream._state;\n  if (state === 'closed' || state === 'errored') {\n   return promiseResolvedWith(undefined);\n  }\n  if (stream._pendingAbortRequest !== undefined) {\n   return stream._pendingAbortRequest._promise;\n  }\n  var wasAlreadyErroring = false;\n  if (state === 'erroring') {\n   wasAlreadyErroring = true;\n   reason = undefined;\n  }\n  var promise = newPromise(function (resolve, reject) {\n   stream._pendingAbortRequest = {\n    _promise: undefined,\n    _resolve: resolve,\n    _reject: reject,\n    _reason: reason,\n    _wasAlreadyErroring: wasAlreadyErroring\n   };\n  });\n  stream._pendingAbortRequest._promise = promise;\n  if (!wasAlreadyErroring) {\n   WritableStreamStartErroring(stream, reason);\n  }\n  return promise;\n }\n function WritableStreamClose(stream) {\n  var state = stream._state;\n  if (state === 'closed' || state === 'errored') {\n   return promiseRejectedWith(new TypeError(\"The stream (in \" + state + \" state) is not in the writable state and cannot be closed\"));\n  }\n  var promise = newPromise(function (resolve, reject) {\n   var closeRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._closeRequest = closeRequest;\n  });\n  var writer = stream._writer;\n  if (writer !== undefined && stream._backpressure && state === 'writable') {\n   defaultWriterReadyPromiseResolve(writer);\n  }\n  WritableStreamDefaultControllerClose(stream._writableStreamController);\n  return promise;\n }\n function WritableStreamAddWriteRequest(stream) {\n  var promise = newPromise(function (resolve, reject) {\n   var writeRequest = {\n    _resolve: resolve,\n    _reject: reject\n   };\n   stream._writeRequests.push(writeRequest);\n  });\n  return promise;\n }\n function WritableStreamDealWithRejection(stream, error) {\n  var state = stream._state;\n  if (state === 'writable') {\n   WritableStreamStartErroring(stream, error);\n   return;\n  }\n  WritableStreamFinishErroring(stream);\n }\n function WritableStreamStartErroring(stream, reason) {\n  var controller = stream._writableStreamController;\n  stream._state = 'erroring';\n  stream._storedError = reason;\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);\n  }\n  if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {\n   WritableStreamFinishErroring(stream);\n  }\n }\n function WritableStreamFinishErroring(stream) {\n  stream._state = 'errored';\n  stream._writableStreamController[ErrorSteps]();\n  var storedError = stream._storedError;\n  stream._writeRequests.forEach(function (writeRequest) {\n   writeRequest._reject(storedError);\n  });\n  stream._writeRequests = new SimpleQueue();\n  if (stream._pendingAbortRequest === undefined) {\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n   return;\n  }\n  var abortRequest = stream._pendingAbortRequest;\n  stream._pendingAbortRequest = undefined;\n  if (abortRequest._wasAlreadyErroring) {\n   abortRequest._reject(storedError);\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n   return;\n  }\n  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);\n  uponPromise(promise, function () {\n   abortRequest._resolve();\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n  }, function (reason) {\n   abortRequest._reject(reason);\n   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);\n  });\n }\n function WritableStreamFinishInFlightWrite(stream) {\n  stream._inFlightWriteRequest._resolve(undefined);\n  stream._inFlightWriteRequest = undefined;\n }\n function WritableStreamFinishInFlightWriteWithError(stream, error) {\n  stream._inFlightWriteRequest._reject(error);\n  stream._inFlightWriteRequest = undefined;\n  WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamFinishInFlightClose(stream) {\n  stream._inFlightCloseRequest._resolve(undefined);\n  stream._inFlightCloseRequest = undefined;\n  var state = stream._state;\n  if (state === 'erroring') {\n   stream._storedError = undefined;\n   if (stream._pendingAbortRequest !== undefined) {\n    stream._pendingAbortRequest._resolve();\n    stream._pendingAbortRequest = undefined;\n   }\n  }\n  stream._state = 'closed';\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   defaultWriterClosedPromiseResolve(writer);\n  }\n }\n function WritableStreamFinishInFlightCloseWithError(stream, error) {\n  stream._inFlightCloseRequest._reject(error);\n  stream._inFlightCloseRequest = undefined;\n  if (stream._pendingAbortRequest !== undefined) {\n   stream._pendingAbortRequest._reject(error);\n   stream._pendingAbortRequest = undefined;\n  }\n  WritableStreamDealWithRejection(stream, error);\n }\n function WritableStreamCloseQueuedOrInFlight(stream) {\n  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamHasOperationMarkedInFlight(stream) {\n  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamMarkCloseRequestInFlight(stream) {\n  stream._inFlightCloseRequest = stream._closeRequest;\n  stream._closeRequest = undefined;\n }\n function WritableStreamMarkFirstWriteRequestInFlight(stream) {\n  stream._inFlightWriteRequest = stream._writeRequests.shift();\n }\n function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {\n  if (stream._closeRequest !== undefined) {\n   stream._closeRequest._reject(stream._storedError);\n   stream._closeRequest = undefined;\n  }\n  var writer = stream._writer;\n  if (writer !== undefined) {\n   defaultWriterClosedPromiseReject(writer, stream._storedError);\n  }\n }\n function WritableStreamUpdateBackpressure(stream, backpressure) {\n  var writer = stream._writer;\n  if (writer !== undefined && backpressure !== stream._backpressure) {\n   if (backpressure) {\n    defaultWriterReadyPromiseReset(writer);\n   } else {\n    defaultWriterReadyPromiseResolve(writer);\n   }\n  }\n  stream._backpressure = backpressure;\n }\n var WritableStreamDefaultWriter = function () {\n  function WritableStreamDefaultWriter(stream) {\n   assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');\n   assertWritableStream(stream, 'First parameter');\n   if (IsWritableStreamLocked(stream)) {\n    throw new TypeError('This stream has already been locked for exclusive writing by another writer');\n   }\n   this._ownerWritableStream = stream;\n   stream._writer = this;\n   var state = stream._state;\n   if (state === 'writable') {\n    if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {\n     defaultWriterReadyPromiseInitialize(this);\n    } else {\n     defaultWriterReadyPromiseInitializeAsResolved(this);\n    }\n    defaultWriterClosedPromiseInitialize(this);\n   } else if (state === 'erroring') {\n    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);\n    defaultWriterClosedPromiseInitialize(this);\n   } else if (state === 'closed') {\n    defaultWriterReadyPromiseInitializeAsResolved(this);\n    defaultWriterClosedPromiseInitializeAsResolved(this);\n   } else {\n    var storedError = stream._storedError;\n    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);\n    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);\n   }\n  }\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"closed\", {\n   get: function () {\n    if (!IsWritableStreamDefaultWriter(this)) {\n     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));\n    }\n    return this._closedPromise;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"desiredSize\", {\n   get: function () {\n    if (!IsWritableStreamDefaultWriter(this)) {\n     throw defaultWriterBrandCheckException('desiredSize');\n    }\n    if (this._ownerWritableStream === undefined) {\n     throw defaultWriterLockException('desiredSize');\n    }\n    return WritableStreamDefaultWriterGetDesiredSize(this);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, \"ready\", {\n   get: function () {\n    if (!IsWritableStreamDefaultWriter(this)) {\n     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));\n    }\n    return this._readyPromise;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  WritableStreamDefaultWriter.prototype.abort = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsWritableStreamDefaultWriter(this)) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));\n   }\n   if (this._ownerWritableStream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('abort'));\n   }\n   return WritableStreamDefaultWriterAbort(this, reason);\n  };\n  WritableStreamDefaultWriter.prototype.close = function () {\n   if (!IsWritableStreamDefaultWriter(this)) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('close'));\n   }\n   var stream = this._ownerWritableStream;\n   if (stream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('close'));\n   }\n   if (WritableStreamCloseQueuedOrInFlight(stream)) {\n    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));\n   }\n   return WritableStreamDefaultWriterClose(this);\n  };\n  WritableStreamDefaultWriter.prototype.releaseLock = function () {\n   if (!IsWritableStreamDefaultWriter(this)) {\n    throw defaultWriterBrandCheckException('releaseLock');\n   }\n   var stream = this._ownerWritableStream;\n   if (stream === undefined) {\n    return;\n   }\n   WritableStreamDefaultWriterRelease(this);\n  };\n  WritableStreamDefaultWriter.prototype.write = function (chunk) {\n   if (chunk === void 0) {\n    chunk = undefined;\n   }\n   if (!IsWritableStreamDefaultWriter(this)) {\n    return promiseRejectedWith(defaultWriterBrandCheckException('write'));\n   }\n   if (this._ownerWritableStream === undefined) {\n    return promiseRejectedWith(defaultWriterLockException('write to'));\n   }\n   return WritableStreamDefaultWriterWrite(this, chunk);\n  };\n  return WritableStreamDefaultWriter;\n }();\n Object.defineProperties(WritableStreamDefaultWriter.prototype, {\n  abort: { enumerable: true },\n  close: { enumerable: true },\n  releaseLock: { enumerable: true },\n  write: { enumerable: true },\n  closed: { enumerable: true },\n  desiredSize: { enumerable: true },\n  ready: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {\n   value: 'WritableStreamDefaultWriter',\n   configurable: true\n  });\n }\n function IsWritableStreamDefaultWriter(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {\n   return false;\n  }\n  return true;\n }\n function WritableStreamDefaultWriterAbort(writer, reason) {\n  var stream = writer._ownerWritableStream;\n  return WritableStreamAbort(stream, reason);\n }\n function WritableStreamDefaultWriterClose(writer) {\n  var stream = writer._ownerWritableStream;\n  return WritableStreamClose(stream);\n }\n function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {\n  var stream = writer._ownerWritableStream;\n  var state = stream._state;\n  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n   return promiseResolvedWith(undefined);\n  }\n  if (state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  return WritableStreamDefaultWriterClose(writer);\n }\n function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {\n  if (writer._closedPromiseState === 'pending') {\n   defaultWriterClosedPromiseReject(writer, error);\n  } else {\n   defaultWriterClosedPromiseResetToRejected(writer, error);\n  }\n }\n function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {\n  if (writer._readyPromiseState === 'pending') {\n   defaultWriterReadyPromiseReject(writer, error);\n  } else {\n   defaultWriterReadyPromiseResetToRejected(writer, error);\n  }\n }\n function WritableStreamDefaultWriterGetDesiredSize(writer) {\n  var stream = writer._ownerWritableStream;\n  var state = stream._state;\n  if (state === 'errored' || state === 'erroring') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);\n }\n function WritableStreamDefaultWriterRelease(writer) {\n  var stream = writer._ownerWritableStream;\n  var releasedError = new TypeError(\"Writer was released and can no longer be used to monitor the stream's closedness\");\n  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);\n  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);\n  stream._writer = undefined;\n  writer._ownerWritableStream = undefined;\n }\n function WritableStreamDefaultWriterWrite(writer, chunk) {\n  var stream = writer._ownerWritableStream;\n  var controller = stream._writableStreamController;\n  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);\n  if (stream !== writer._ownerWritableStream) {\n   return promiseRejectedWith(defaultWriterLockException('write to'));\n  }\n  var state = stream._state;\n  if (state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {\n   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));\n  }\n  if (state === 'erroring') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  var promise = WritableStreamAddWriteRequest(stream);\n  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);\n  return promise;\n }\n var closeSentinel = {};\n var WritableStreamDefaultController = function () {\n  function WritableStreamDefaultController() {\n   throw new TypeError('Illegal constructor');\n  }\n  WritableStreamDefaultController.prototype.error = function (e) {\n   if (e === void 0) {\n    e = undefined;\n   }\n   if (!IsWritableStreamDefaultController(this)) {\n    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');\n   }\n   var state = this._controlledWritableStream._state;\n   if (state !== 'writable') {\n    return;\n   }\n   WritableStreamDefaultControllerError(this, e);\n  };\n  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {\n   var result = this._abortAlgorithm(reason);\n   WritableStreamDefaultControllerClearAlgorithms(this);\n   return result;\n  };\n  WritableStreamDefaultController.prototype[ErrorSteps] = function () {\n   ResetQueue(this);\n  };\n  return WritableStreamDefaultController;\n }();\n Object.defineProperties(WritableStreamDefaultController.prototype, { error: { enumerable: true } });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n   value: 'WritableStreamDefaultController',\n   configurable: true\n  });\n }\n function IsWritableStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {\n   return false;\n  }\n  return true;\n }\n function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {\n  controller._controlledWritableStream = stream;\n  stream._writableStreamController = controller;\n  controller._queue = undefined;\n  controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._started = false;\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n  controller._writeAlgorithm = writeAlgorithm;\n  controller._closeAlgorithm = closeAlgorithm;\n  controller._abortAlgorithm = abortAlgorithm;\n  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n  WritableStreamUpdateBackpressure(stream, backpressure);\n  var startResult = startAlgorithm();\n  var startPromise = promiseResolvedWith(startResult);\n  uponPromise(startPromise, function () {\n   controller._started = true;\n   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }, function (r) {\n   controller._started = true;\n   WritableStreamDealWithRejection(stream, r);\n  });\n }\n function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {\n  var controller = Object.create(WritableStreamDefaultController.prototype);\n  var startAlgorithm = function () {\n   return undefined;\n  };\n  var writeAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  var closeAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  var abortAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  if (underlyingSink.start !== undefined) {\n   startAlgorithm = function () {\n    return underlyingSink.start(controller);\n   };\n  }\n  if (underlyingSink.write !== undefined) {\n   writeAlgorithm = function (chunk) {\n    return underlyingSink.write(chunk, controller);\n   };\n  }\n  if (underlyingSink.close !== undefined) {\n   closeAlgorithm = function () {\n    return underlyingSink.close();\n   };\n  }\n  if (underlyingSink.abort !== undefined) {\n   abortAlgorithm = function (reason) {\n    return underlyingSink.abort(reason);\n   };\n  }\n  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function WritableStreamDefaultControllerClearAlgorithms(controller) {\n  controller._writeAlgorithm = undefined;\n  controller._closeAlgorithm = undefined;\n  controller._abortAlgorithm = undefined;\n  controller._strategySizeAlgorithm = undefined;\n }\n function WritableStreamDefaultControllerClose(controller) {\n  EnqueueValueWithSize(controller, closeSentinel, 0);\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {\n  try {\n   return controller._strategySizeAlgorithm(chunk);\n  } catch (chunkSizeE) {\n   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);\n   return 1;\n  }\n }\n function WritableStreamDefaultControllerGetDesiredSize(controller) {\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {\n  try {\n   EnqueueValueWithSize(controller, chunk, chunkSize);\n  } catch (enqueueE) {\n   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);\n   return;\n  }\n  var stream = controller._controlledWritableStream;\n  if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {\n   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n   WritableStreamUpdateBackpressure(stream, backpressure);\n  }\n  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n }\n function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {\n  var stream = controller._controlledWritableStream;\n  if (!controller._started) {\n   return;\n  }\n  if (stream._inFlightWriteRequest !== undefined) {\n   return;\n  }\n  var state = stream._state;\n  if (state === 'erroring') {\n   WritableStreamFinishErroring(stream);\n   return;\n  }\n  if (controller._queue.length === 0) {\n   return;\n  }\n  var value = PeekQueueValue(controller);\n  if (value === closeSentinel) {\n   WritableStreamDefaultControllerProcessClose(controller);\n  } else {\n   WritableStreamDefaultControllerProcessWrite(controller, value);\n  }\n }\n function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {\n  if (controller._controlledWritableStream._state === 'writable') {\n   WritableStreamDefaultControllerError(controller, error);\n  }\n }\n function WritableStreamDefaultControllerProcessClose(controller) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamMarkCloseRequestInFlight(stream);\n  DequeueValue(controller);\n  var sinkClosePromise = controller._closeAlgorithm();\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  uponPromise(sinkClosePromise, function () {\n   WritableStreamFinishInFlightClose(stream);\n  }, function (reason) {\n   WritableStreamFinishInFlightCloseWithError(stream, reason);\n  });\n }\n function WritableStreamDefaultControllerProcessWrite(controller, chunk) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamMarkFirstWriteRequestInFlight(stream);\n  var sinkWritePromise = controller._writeAlgorithm(chunk);\n  uponPromise(sinkWritePromise, function () {\n   WritableStreamFinishInFlightWrite(stream);\n   var state = stream._state;\n   DequeueValue(controller);\n   if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {\n    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);\n    WritableStreamUpdateBackpressure(stream, backpressure);\n   }\n   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);\n  }, function (reason) {\n   if (stream._state === 'writable') {\n    WritableStreamDefaultControllerClearAlgorithms(controller);\n   }\n   WritableStreamFinishInFlightWriteWithError(stream, reason);\n  });\n }\n function WritableStreamDefaultControllerGetBackpressure(controller) {\n  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);\n  return desiredSize <= 0;\n }\n function WritableStreamDefaultControllerError(controller, error) {\n  var stream = controller._controlledWritableStream;\n  WritableStreamDefaultControllerClearAlgorithms(controller);\n  WritableStreamStartErroring(stream, error);\n }\n function streamBrandCheckException(name) {\n  return new TypeError(\"WritableStream.prototype.\" + name + \" can only be used on a WritableStream\");\n }\n function defaultWriterBrandCheckException(name) {\n  return new TypeError(\"WritableStreamDefaultWriter.prototype.\" + name + \" can only be used on a WritableStreamDefaultWriter\");\n }\n function defaultWriterLockException(name) {\n  return new TypeError('Cannot ' + name + ' a stream using a released writer');\n }\n function defaultWriterClosedPromiseInitialize(writer) {\n  writer._closedPromise = newPromise(function (resolve, reject) {\n   writer._closedPromise_resolve = resolve;\n   writer._closedPromise_reject = reject;\n   writer._closedPromiseState = 'pending';\n  });\n }\n function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseReject(writer, reason);\n }\n function defaultWriterClosedPromiseInitializeAsResolved(writer) {\n  defaultWriterClosedPromiseInitialize(writer);\n  defaultWriterClosedPromiseResolve(writer);\n }\n function defaultWriterClosedPromiseReject(writer, reason) {\n  if (writer._closedPromise_reject === undefined) {\n   return;\n  }\n  setPromiseIsHandledToTrue(writer._closedPromise);\n  writer._closedPromise_reject(reason);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'rejected';\n }\n function defaultWriterClosedPromiseResetToRejected(writer, reason) {\n  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterClosedPromiseResolve(writer) {\n  if (writer._closedPromise_resolve === undefined) {\n   return;\n  }\n  writer._closedPromise_resolve(undefined);\n  writer._closedPromise_resolve = undefined;\n  writer._closedPromise_reject = undefined;\n  writer._closedPromiseState = 'resolved';\n }\n function defaultWriterReadyPromiseInitialize(writer) {\n  writer._readyPromise = newPromise(function (resolve, reject) {\n   writer._readyPromise_resolve = resolve;\n   writer._readyPromise_reject = reject;\n  });\n  writer._readyPromiseState = 'pending';\n }\n function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseReject(writer, reason);\n }\n function defaultWriterReadyPromiseInitializeAsResolved(writer) {\n  defaultWriterReadyPromiseInitialize(writer);\n  defaultWriterReadyPromiseResolve(writer);\n }\n function defaultWriterReadyPromiseReject(writer, reason) {\n  if (writer._readyPromise_reject === undefined) {\n   return;\n  }\n  setPromiseIsHandledToTrue(writer._readyPromise);\n  writer._readyPromise_reject(reason);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'rejected';\n }\n function defaultWriterReadyPromiseReset(writer) {\n  defaultWriterReadyPromiseInitialize(writer);\n }\n function defaultWriterReadyPromiseResetToRejected(writer, reason) {\n  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);\n }\n function defaultWriterReadyPromiseResolve(writer) {\n  if (writer._readyPromise_resolve === undefined) {\n   return;\n  }\n  writer._readyPromise_resolve(undefined);\n  writer._readyPromise_resolve = undefined;\n  writer._readyPromise_reject = undefined;\n  writer._readyPromiseState = 'fulfilled';\n }\n function isAbortSignal(value) {\n  if (typeof value !== 'object' || value === null) {\n   return false;\n  }\n  try {\n   return typeof value.aborted === 'boolean';\n  } catch (_a) {\n   return false;\n  }\n }\n var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;\n function isDOMExceptionConstructor(ctor) {\n  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {\n   return false;\n  }\n  try {\n   new ctor();\n   return true;\n  } catch (_a) {\n   return false;\n  }\n }\n function createDOMExceptionPolyfill() {\n  var ctor = function DOMException(message, name) {\n   this.message = message || '';\n   this.name = name || 'Error';\n   if (Error.captureStackTrace) {\n    Error.captureStackTrace(this, this.constructor);\n   }\n  };\n  ctor.prototype = Object.create(Error.prototype);\n  Object.defineProperty(ctor.prototype, 'constructor', {\n   value: ctor,\n   writable: true,\n   configurable: true\n  });\n  return ctor;\n }\n var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();\n function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {\n  var reader = AcquireReadableStreamDefaultReader(source);\n  var writer = AcquireWritableStreamDefaultWriter(dest);\n  source._disturbed = true;\n  var shuttingDown = false;\n  var currentWrite = promiseResolvedWith(undefined);\n  return newPromise(function (resolve, reject) {\n   var abortAlgorithm;\n   if (signal !== undefined) {\n    abortAlgorithm = function () {\n     var error = new DOMException$1('Aborted', 'AbortError');\n     var actions = [];\n     if (!preventAbort) {\n      actions.push(function () {\n       if (dest._state === 'writable') {\n        return WritableStreamAbort(dest, error);\n       }\n       return promiseResolvedWith(undefined);\n      });\n     }\n     if (!preventCancel) {\n      actions.push(function () {\n       if (source._state === 'readable') {\n        return ReadableStreamCancel(source, error);\n       }\n       return promiseResolvedWith(undefined);\n      });\n     }\n     shutdownWithAction(function () {\n      return Promise.all(actions.map(function (action) {\n       return action();\n      }));\n     }, true, error);\n    };\n    if (signal.aborted) {\n     abortAlgorithm();\n     return;\n    }\n    signal.addEventListener('abort', abortAlgorithm);\n   }\n   function pipeLoop() {\n    return newPromise(function (resolveLoop, rejectLoop) {\n     function next(done) {\n      if (done) {\n       resolveLoop();\n      } else {\n       PerformPromiseThen(pipeStep(), next, rejectLoop);\n      }\n     }\n     next(false);\n    });\n   }\n   function pipeStep() {\n    if (shuttingDown) {\n     return promiseResolvedWith(true);\n    }\n    return PerformPromiseThen(writer._readyPromise, function () {\n     return newPromise(function (resolveRead, rejectRead) {\n      ReadableStreamDefaultReaderRead(reader, {\n       _chunkSteps: function (chunk) {\n        currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);\n        resolveRead(false);\n       },\n       _closeSteps: function () {\n        return resolveRead(true);\n       },\n       _errorSteps: rejectRead\n      });\n     });\n    });\n   }\n   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {\n    if (!preventAbort) {\n     shutdownWithAction(function () {\n      return WritableStreamAbort(dest, storedError);\n     }, true, storedError);\n    } else {\n     shutdown(true, storedError);\n    }\n   });\n   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {\n    if (!preventCancel) {\n     shutdownWithAction(function () {\n      return ReadableStreamCancel(source, storedError);\n     }, true, storedError);\n    } else {\n     shutdown(true, storedError);\n    }\n   });\n   isOrBecomesClosed(source, reader._closedPromise, function () {\n    if (!preventClose) {\n     shutdownWithAction(function () {\n      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);\n     });\n    } else {\n     shutdown();\n    }\n   });\n   if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {\n    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');\n    if (!preventCancel) {\n     shutdownWithAction(function () {\n      return ReadableStreamCancel(source, destClosed_1);\n     }, true, destClosed_1);\n    } else {\n     shutdown(true, destClosed_1);\n    }\n   }\n   setPromiseIsHandledToTrue(pipeLoop());\n   function waitForWritesToFinish() {\n    var oldCurrentWrite = currentWrite;\n    return PerformPromiseThen(currentWrite, function () {\n     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;\n    });\n   }\n   function isOrBecomesErrored(stream, promise, action) {\n    if (stream._state === 'errored') {\n     action(stream._storedError);\n    } else {\n     uponRejection(promise, action);\n    }\n   }\n   function isOrBecomesClosed(stream, promise, action) {\n    if (stream._state === 'closed') {\n     action();\n    } else {\n     uponFulfillment(promise, action);\n    }\n   }\n   function shutdownWithAction(action, originalIsError, originalError) {\n    if (shuttingDown) {\n     return;\n    }\n    shuttingDown = true;\n    if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n     uponFulfillment(waitForWritesToFinish(), doTheRest);\n    } else {\n     doTheRest();\n    }\n    function doTheRest() {\n     uponPromise(action(), function () {\n      return finalize(originalIsError, originalError);\n     }, function (newError) {\n      return finalize(true, newError);\n     });\n    }\n   }\n   function shutdown(isError, error) {\n    if (shuttingDown) {\n     return;\n    }\n    shuttingDown = true;\n    if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {\n     uponFulfillment(waitForWritesToFinish(), function () {\n      return finalize(isError, error);\n     });\n    } else {\n     finalize(isError, error);\n    }\n   }\n   function finalize(isError, error) {\n    WritableStreamDefaultWriterRelease(writer);\n    ReadableStreamReaderGenericRelease(reader);\n    if (signal !== undefined) {\n     signal.removeEventListener('abort', abortAlgorithm);\n    }\n    if (isError) {\n     reject(error);\n    } else {\n     resolve(undefined);\n    }\n   }\n  });\n }\n var ReadableStreamDefaultController = function () {\n  function ReadableStreamDefaultController() {\n   throw new TypeError('Illegal constructor');\n  }\n  Object.defineProperty(ReadableStreamDefaultController.prototype, \"desiredSize\", {\n   get: function () {\n    if (!IsReadableStreamDefaultController(this)) {\n     throw defaultControllerBrandCheckException('desiredSize');\n    }\n    return ReadableStreamDefaultControllerGetDesiredSize(this);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableStreamDefaultController.prototype.close = function () {\n   if (!IsReadableStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException('close');\n   }\n   if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n    throw new TypeError('The stream is not in a state that permits close');\n   }\n   ReadableStreamDefaultControllerClose(this);\n  };\n  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {\n   if (chunk === void 0) {\n    chunk = undefined;\n   }\n   if (!IsReadableStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException('enqueue');\n   }\n   if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {\n    throw new TypeError('The stream is not in a state that permits enqueue');\n   }\n   return ReadableStreamDefaultControllerEnqueue(this, chunk);\n  };\n  ReadableStreamDefaultController.prototype.error = function (e) {\n   if (e === void 0) {\n    e = undefined;\n   }\n   if (!IsReadableStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException('error');\n   }\n   ReadableStreamDefaultControllerError(this, e);\n  };\n  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {\n   ResetQueue(this);\n   var result = this._cancelAlgorithm(reason);\n   ReadableStreamDefaultControllerClearAlgorithms(this);\n   return result;\n  };\n  ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {\n   var stream = this._controlledReadableStream;\n   if (this._queue.length > 0) {\n    var chunk = DequeueValue(this);\n    if (this._closeRequested && this._queue.length === 0) {\n     ReadableStreamDefaultControllerClearAlgorithms(this);\n     ReadableStreamClose(stream);\n    } else {\n     ReadableStreamDefaultControllerCallPullIfNeeded(this);\n    }\n    readRequest._chunkSteps(chunk);\n   } else {\n    ReadableStreamAddReadRequest(stream, readRequest);\n    ReadableStreamDefaultControllerCallPullIfNeeded(this);\n   }\n  };\n  return ReadableStreamDefaultController;\n }();\n Object.defineProperties(ReadableStreamDefaultController.prototype, {\n  close: { enumerable: true },\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableStreamDefaultController',\n   configurable: true\n  });\n }\n function IsReadableStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {\n  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);\n  if (!shouldPull) {\n   return;\n  }\n  if (controller._pulling) {\n   controller._pullAgain = true;\n   return;\n  }\n  controller._pulling = true;\n  var pullPromise = controller._pullAlgorithm();\n  uponPromise(pullPromise, function () {\n   controller._pulling = false;\n   if (controller._pullAgain) {\n    controller._pullAgain = false;\n    ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n   }\n  }, function (e) {\n   ReadableStreamDefaultControllerError(controller, e);\n  });\n }\n function ReadableStreamDefaultControllerShouldCallPull(controller) {\n  var stream = controller._controlledReadableStream;\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n   return false;\n  }\n  if (!controller._started) {\n   return false;\n  }\n  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n   return true;\n  }\n  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);\n  if (desiredSize > 0) {\n   return true;\n  }\n  return false;\n }\n function ReadableStreamDefaultControllerClearAlgorithms(controller) {\n  controller._pullAlgorithm = undefined;\n  controller._cancelAlgorithm = undefined;\n  controller._strategySizeAlgorithm = undefined;\n }\n function ReadableStreamDefaultControllerClose(controller) {\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n   return;\n  }\n  var stream = controller._controlledReadableStream;\n  controller._closeRequested = true;\n  if (controller._queue.length === 0) {\n   ReadableStreamDefaultControllerClearAlgorithms(controller);\n   ReadableStreamClose(stream);\n  }\n }\n function ReadableStreamDefaultControllerEnqueue(controller, chunk) {\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {\n   return;\n  }\n  var stream = controller._controlledReadableStream;\n  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {\n   ReadableStreamFulfillReadRequest(stream, chunk, false);\n  } else {\n   var chunkSize = void 0;\n   try {\n    chunkSize = controller._strategySizeAlgorithm(chunk);\n   } catch (chunkSizeE) {\n    ReadableStreamDefaultControllerError(controller, chunkSizeE);\n    throw chunkSizeE;\n   }\n   try {\n    EnqueueValueWithSize(controller, chunk, chunkSize);\n   } catch (enqueueE) {\n    ReadableStreamDefaultControllerError(controller, enqueueE);\n    throw enqueueE;\n   }\n  }\n  ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n }\n function ReadableStreamDefaultControllerError(controller, e) {\n  var stream = controller._controlledReadableStream;\n  if (stream._state !== 'readable') {\n   return;\n  }\n  ResetQueue(controller);\n  ReadableStreamDefaultControllerClearAlgorithms(controller);\n  ReadableStreamError(stream, e);\n }\n function ReadableStreamDefaultControllerGetDesiredSize(controller) {\n  var state = controller._controlledReadableStream._state;\n  if (state === 'errored') {\n   return null;\n  }\n  if (state === 'closed') {\n   return 0;\n  }\n  return controller._strategyHWM - controller._queueTotalSize;\n }\n function ReadableStreamDefaultControllerHasBackpressure(controller) {\n  if (ReadableStreamDefaultControllerShouldCallPull(controller)) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {\n  var state = controller._controlledReadableStream._state;\n  if (!controller._closeRequested && state === 'readable') {\n   return true;\n  }\n  return false;\n }\n function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n  controller._controlledReadableStream = stream;\n  controller._queue = undefined;\n  controller._queueTotalSize = undefined;\n  ResetQueue(controller);\n  controller._started = false;\n  controller._closeRequested = false;\n  controller._pullAgain = false;\n  controller._pulling = false;\n  controller._strategySizeAlgorithm = sizeAlgorithm;\n  controller._strategyHWM = highWaterMark;\n  controller._pullAlgorithm = pullAlgorithm;\n  controller._cancelAlgorithm = cancelAlgorithm;\n  stream._readableStreamController = controller;\n  var startResult = startAlgorithm();\n  uponPromise(promiseResolvedWith(startResult), function () {\n   controller._started = true;\n   ReadableStreamDefaultControllerCallPullIfNeeded(controller);\n  }, function (r) {\n   ReadableStreamDefaultControllerError(controller, r);\n  });\n }\n function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {\n  var controller = Object.create(ReadableStreamDefaultController.prototype);\n  var startAlgorithm = function () {\n   return undefined;\n  };\n  var pullAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  var cancelAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  if (underlyingSource.start !== undefined) {\n   startAlgorithm = function () {\n    return underlyingSource.start(controller);\n   };\n  }\n  if (underlyingSource.pull !== undefined) {\n   pullAlgorithm = function () {\n    return underlyingSource.pull(controller);\n   };\n  }\n  if (underlyingSource.cancel !== undefined) {\n   cancelAlgorithm = function (reason) {\n    return underlyingSource.cancel(reason);\n   };\n  }\n  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n }\n function defaultControllerBrandCheckException(name) {\n  return new TypeError(\"ReadableStreamDefaultController.prototype.\" + name + \" can only be used on a ReadableStreamDefaultController\");\n }\n function ReadableStreamTee(stream, cloneForBranch2) {\n  var reader = AcquireReadableStreamDefaultReader(stream);\n  var reading = false;\n  var canceled1 = false;\n  var canceled2 = false;\n  var reason1;\n  var reason2;\n  var branch1;\n  var branch2;\n  var resolveCancelPromise;\n  var cancelPromise = newPromise(function (resolve) {\n   resolveCancelPromise = resolve;\n  });\n  function pullAlgorithm() {\n   if (reading) {\n    return promiseResolvedWith(undefined);\n   }\n   reading = true;\n   var readRequest = {\n    _chunkSteps: function (value) {\n     queueMicrotask(function () {\n      reading = false;\n      var value1 = value;\n      var value2 = value;\n      if (!canceled1) {\n       ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);\n      }\n      if (!canceled2) {\n       ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);\n      }\n      resolveCancelPromise(undefined);\n     });\n    },\n    _closeSteps: function () {\n     reading = false;\n     if (!canceled1) {\n      ReadableStreamDefaultControllerClose(branch1._readableStreamController);\n     }\n     if (!canceled2) {\n      ReadableStreamDefaultControllerClose(branch2._readableStreamController);\n     }\n    },\n    _errorSteps: function () {\n     reading = false;\n    }\n   };\n   ReadableStreamDefaultReaderRead(reader, readRequest);\n   return promiseResolvedWith(undefined);\n  }\n  function cancel1Algorithm(reason) {\n   canceled1 = true;\n   reason1 = reason;\n   if (canceled2) {\n    var compositeReason = CreateArrayFromList([\n     reason1,\n     reason2\n    ]);\n    var cancelResult = ReadableStreamCancel(stream, compositeReason);\n    resolveCancelPromise(cancelResult);\n   }\n   return cancelPromise;\n  }\n  function cancel2Algorithm(reason) {\n   canceled2 = true;\n   reason2 = reason;\n   if (canceled1) {\n    var compositeReason = CreateArrayFromList([\n     reason1,\n     reason2\n    ]);\n    var cancelResult = ReadableStreamCancel(stream, compositeReason);\n    resolveCancelPromise(cancelResult);\n   }\n   return cancelPromise;\n  }\n  function startAlgorithm() {\n  }\n  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);\n  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);\n  uponRejection(reader._closedPromise, function (r) {\n   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);\n   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);\n   resolveCancelPromise(undefined);\n  });\n  return [\n   branch1,\n   branch2\n  ];\n }\n function convertUnderlyingDefaultOrByteSource(source, context) {\n  assertDictionary(source, context);\n  var original = source;\n  var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;\n  var cancel = original === null || original === void 0 ? void 0 : original.cancel;\n  var pull = original === null || original === void 0 ? void 0 : original.pull;\n  var start = original === null || original === void 0 ? void 0 : original.start;\n  var type = original === null || original === void 0 ? void 0 : original.type;\n  return {\n   autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + \" has member 'autoAllocateChunkSize' that\"),\n   cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + \" has member 'cancel' that\"),\n   pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + \" has member 'pull' that\"),\n   start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + \" has member 'start' that\"),\n   type: type === undefined ? undefined : convertReadableStreamType(type, context + \" has member 'type' that\")\n  };\n }\n function convertUnderlyingSourceCancelCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (reason) {\n   return promiseCall(fn, original, [reason]);\n  };\n }\n function convertUnderlyingSourcePullCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (controller) {\n   return promiseCall(fn, original, [controller]);\n  };\n }\n function convertUnderlyingSourceStartCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (controller) {\n   return reflectCall(fn, original, [controller]);\n  };\n }\n function convertReadableStreamType(type, context) {\n  type = \"\" + type;\n  if (type !== 'bytes') {\n   throw new TypeError(context + \" '\" + type + \"' is not a valid enumeration value for ReadableStreamType\");\n  }\n  return type;\n }\n function convertReaderOptions(options, context) {\n  assertDictionary(options, context);\n  var mode = options === null || options === void 0 ? void 0 : options.mode;\n  return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + \" has member 'mode' that\") };\n }\n function convertReadableStreamReaderMode(mode, context) {\n  mode = \"\" + mode;\n  if (mode !== 'byob') {\n   throw new TypeError(context + \" '\" + mode + \"' is not a valid enumeration value for ReadableStreamReaderMode\");\n  }\n  return mode;\n }\n function convertIteratorOptions(options, context) {\n  assertDictionary(options, context);\n  var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n  return { preventCancel: Boolean(preventCancel) };\n }\n function convertPipeOptions(options, context) {\n  assertDictionary(options, context);\n  var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;\n  var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;\n  var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;\n  var signal = options === null || options === void 0 ? void 0 : options.signal;\n  if (signal !== undefined) {\n   assertAbortSignal(signal, context + \" has member 'signal' that\");\n  }\n  return {\n   preventAbort: Boolean(preventAbort),\n   preventCancel: Boolean(preventCancel),\n   preventClose: Boolean(preventClose),\n   signal: signal\n  };\n }\n function assertAbortSignal(signal, context) {\n  if (!isAbortSignal(signal)) {\n   throw new TypeError(context + \" is not an AbortSignal.\");\n  }\n }\n function convertReadableWritablePair(pair, context) {\n  assertDictionary(pair, context);\n  var readable = pair === null || pair === void 0 ? void 0 : pair.readable;\n  assertRequiredField(readable, 'readable', 'ReadableWritablePair');\n  assertReadableStream(readable, context + \" has member 'readable' that\");\n  var writable = pair === null || pair === void 0 ? void 0 : pair.writable;\n  assertRequiredField(writable, 'writable', 'ReadableWritablePair');\n  assertWritableStream(writable, context + \" has member 'writable' that\");\n  return {\n   readable: readable,\n   writable: writable\n  };\n }\n var ReadableStream = function () {\n  function ReadableStream(rawUnderlyingSource, rawStrategy) {\n   if (rawUnderlyingSource === void 0) {\n    rawUnderlyingSource = {};\n   }\n   if (rawStrategy === void 0) {\n    rawStrategy = {};\n   }\n   if (rawUnderlyingSource === undefined) {\n    rawUnderlyingSource = null;\n   } else {\n    assertObject(rawUnderlyingSource, 'First parameter');\n   }\n   var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');\n   var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');\n   InitializeReadableStream(this);\n   if (underlyingSource.type === 'bytes') {\n    if (strategy.size !== undefined) {\n     throw new RangeError('The strategy for a byte stream cannot have a size function');\n    }\n    var highWaterMark = ExtractHighWaterMark(strategy, 0);\n    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);\n   } else {\n    var sizeAlgorithm = ExtractSizeAlgorithm(strategy);\n    var highWaterMark = ExtractHighWaterMark(strategy, 1);\n    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);\n   }\n  }\n  Object.defineProperty(ReadableStream.prototype, \"locked\", {\n   get: function () {\n    if (!IsReadableStream(this)) {\n     throw streamBrandCheckException$1('locked');\n    }\n    return IsReadableStreamLocked(this);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  ReadableStream.prototype.cancel = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsReadableStream(this)) {\n    return promiseRejectedWith(streamBrandCheckException$1('cancel'));\n   }\n   if (IsReadableStreamLocked(this)) {\n    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));\n   }\n   return ReadableStreamCancel(this, reason);\n  };\n  ReadableStream.prototype.getReader = function (rawOptions) {\n   if (rawOptions === void 0) {\n    rawOptions = undefined;\n   }\n   if (!IsReadableStream(this)) {\n    throw streamBrandCheckException$1('getReader');\n   }\n   var options = convertReaderOptions(rawOptions, 'First parameter');\n   if (options.mode === undefined) {\n    return AcquireReadableStreamDefaultReader(this);\n   }\n   return AcquireReadableStreamBYOBReader(this);\n  };\n  ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {\n   if (rawOptions === void 0) {\n    rawOptions = {};\n   }\n   if (!IsReadableStream(this)) {\n    throw streamBrandCheckException$1('pipeThrough');\n   }\n   assertRequiredArgument(rawTransform, 1, 'pipeThrough');\n   var transform = convertReadableWritablePair(rawTransform, 'First parameter');\n   var options = convertPipeOptions(rawOptions, 'Second parameter');\n   if (IsReadableStreamLocked(this)) {\n    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');\n   }\n   if (IsWritableStreamLocked(transform.writable)) {\n    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');\n   }\n   var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n   setPromiseIsHandledToTrue(promise);\n   return transform.readable;\n  };\n  ReadableStream.prototype.pipeTo = function (destination, rawOptions) {\n   if (rawOptions === void 0) {\n    rawOptions = {};\n   }\n   if (!IsReadableStream(this)) {\n    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));\n   }\n   if (destination === undefined) {\n    return promiseRejectedWith(\"Parameter 1 is required in 'pipeTo'.\");\n   }\n   if (!IsWritableStream(destination)) {\n    return promiseRejectedWith(new TypeError(\"ReadableStream.prototype.pipeTo's first argument must be a WritableStream\"));\n   }\n   var options;\n   try {\n    options = convertPipeOptions(rawOptions, 'Second parameter');\n   } catch (e) {\n    return promiseRejectedWith(e);\n   }\n   if (IsReadableStreamLocked(this)) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));\n   }\n   if (IsWritableStreamLocked(destination)) {\n    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));\n   }\n   return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);\n  };\n  ReadableStream.prototype.tee = function () {\n   if (!IsReadableStream(this)) {\n    throw streamBrandCheckException$1('tee');\n   }\n   var branches = ReadableStreamTee(this);\n   return CreateArrayFromList(branches);\n  };\n  ReadableStream.prototype.values = function (rawOptions) {\n   if (rawOptions === void 0) {\n    rawOptions = undefined;\n   }\n   if (!IsReadableStream(this)) {\n    throw streamBrandCheckException$1('values');\n   }\n   var options = convertIteratorOptions(rawOptions, 'First parameter');\n   return AcquireReadableStreamAsyncIterator(this, options.preventCancel);\n  };\n  return ReadableStream;\n }();\n Object.defineProperties(ReadableStream.prototype, {\n  cancel: { enumerable: true },\n  getReader: { enumerable: true },\n  pipeThrough: { enumerable: true },\n  pipeTo: { enumerable: true },\n  tee: { enumerable: true },\n  values: { enumerable: true },\n  locked: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ReadableStream',\n   configurable: true\n  });\n }\n if (typeof SymbolPolyfill.asyncIterator === 'symbol') {\n  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {\n   value: ReadableStream.prototype.values,\n   writable: true,\n   configurable: true\n  });\n }\n function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {\n  if (highWaterMark === void 0) {\n   highWaterMark = 1;\n  }\n  if (sizeAlgorithm === void 0) {\n   sizeAlgorithm = function () {\n    return 1;\n   };\n  }\n  var stream = Object.create(ReadableStream.prototype);\n  InitializeReadableStream(stream);\n  var controller = Object.create(ReadableStreamDefaultController.prototype);\n  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);\n  return stream;\n }\n function InitializeReadableStream(stream) {\n  stream._state = 'readable';\n  stream._reader = undefined;\n  stream._storedError = undefined;\n  stream._disturbed = false;\n }\n function IsReadableStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {\n   return false;\n  }\n  return true;\n }\n function IsReadableStreamLocked(stream) {\n  if (stream._reader === undefined) {\n   return false;\n  }\n  return true;\n }\n function ReadableStreamCancel(stream, reason) {\n  stream._disturbed = true;\n  if (stream._state === 'closed') {\n   return promiseResolvedWith(undefined);\n  }\n  if (stream._state === 'errored') {\n   return promiseRejectedWith(stream._storedError);\n  }\n  ReadableStreamClose(stream);\n  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);\n  return transformPromiseWith(sourceCancelPromise, noop);\n }\n function ReadableStreamClose(stream) {\n  stream._state = 'closed';\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return;\n  }\n  if (IsReadableStreamDefaultReader(reader)) {\n   reader._readRequests.forEach(function (readRequest) {\n    readRequest._closeSteps();\n   });\n   reader._readRequests = new SimpleQueue();\n  }\n  defaultReaderClosedPromiseResolve(reader);\n }\n function ReadableStreamError(stream, e) {\n  stream._state = 'errored';\n  stream._storedError = e;\n  var reader = stream._reader;\n  if (reader === undefined) {\n   return;\n  }\n  if (IsReadableStreamDefaultReader(reader)) {\n   reader._readRequests.forEach(function (readRequest) {\n    readRequest._errorSteps(e);\n   });\n   reader._readRequests = new SimpleQueue();\n  } else {\n   reader._readIntoRequests.forEach(function (readIntoRequest) {\n    readIntoRequest._errorSteps(e);\n   });\n   reader._readIntoRequests = new SimpleQueue();\n  }\n  defaultReaderClosedPromiseReject(reader, e);\n }\n function streamBrandCheckException$1(name) {\n  return new TypeError(\"ReadableStream.prototype.\" + name + \" can only be used on a ReadableStream\");\n }\n function convertQueuingStrategyInit(init, context) {\n  assertDictionary(init, context);\n  var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;\n  assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');\n  return { highWaterMark: convertUnrestrictedDouble(highWaterMark) };\n }\n var byteLengthSizeFunction = function size(chunk) {\n  return chunk.byteLength;\n };\n var ByteLengthQueuingStrategy = function () {\n  function ByteLengthQueuingStrategy(options) {\n   assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');\n   options = convertQueuingStrategyInit(options, 'First parameter');\n   this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;\n  }\n  Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"highWaterMark\", {\n   get: function () {\n    if (!IsByteLengthQueuingStrategy(this)) {\n     throw byteLengthBrandCheckException('highWaterMark');\n    }\n    return this._byteLengthQueuingStrategyHighWaterMark;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(ByteLengthQueuingStrategy.prototype, \"size\", {\n   get: function () {\n    if (!IsByteLengthQueuingStrategy(this)) {\n     throw byteLengthBrandCheckException('size');\n    }\n    return byteLengthSizeFunction;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  return ByteLengthQueuingStrategy;\n }();\n Object.defineProperties(ByteLengthQueuingStrategy.prototype, {\n  highWaterMark: { enumerable: true },\n  size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n   value: 'ByteLengthQueuingStrategy',\n   configurable: true\n  });\n }\n function byteLengthBrandCheckException(name) {\n  return new TypeError(\"ByteLengthQueuingStrategy.prototype.\" + name + \" can only be used on a ByteLengthQueuingStrategy\");\n }\n function IsByteLengthQueuingStrategy(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {\n   return false;\n  }\n  return true;\n }\n var countSizeFunction = function size() {\n  return 1;\n };\n var CountQueuingStrategy = function () {\n  function CountQueuingStrategy(options) {\n   assertRequiredArgument(options, 1, 'CountQueuingStrategy');\n   options = convertQueuingStrategyInit(options, 'First parameter');\n   this._countQueuingStrategyHighWaterMark = options.highWaterMark;\n  }\n  Object.defineProperty(CountQueuingStrategy.prototype, \"highWaterMark\", {\n   get: function () {\n    if (!IsCountQueuingStrategy(this)) {\n     throw countBrandCheckException('highWaterMark');\n    }\n    return this._countQueuingStrategyHighWaterMark;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(CountQueuingStrategy.prototype, \"size\", {\n   get: function () {\n    if (!IsCountQueuingStrategy(this)) {\n     throw countBrandCheckException('size');\n    }\n    return countSizeFunction;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  return CountQueuingStrategy;\n }();\n Object.defineProperties(CountQueuingStrategy.prototype, {\n  highWaterMark: { enumerable: true },\n  size: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {\n   value: 'CountQueuingStrategy',\n   configurable: true\n  });\n }\n function countBrandCheckException(name) {\n  return new TypeError(\"CountQueuingStrategy.prototype.\" + name + \" can only be used on a CountQueuingStrategy\");\n }\n function IsCountQueuingStrategy(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {\n   return false;\n  }\n  return true;\n }\n function convertTransformer(original, context) {\n  assertDictionary(original, context);\n  var flush = original === null || original === void 0 ? void 0 : original.flush;\n  var readableType = original === null || original === void 0 ? void 0 : original.readableType;\n  var start = original === null || original === void 0 ? void 0 : original.start;\n  var transform = original === null || original === void 0 ? void 0 : original.transform;\n  var writableType = original === null || original === void 0 ? void 0 : original.writableType;\n  return {\n   flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + \" has member 'flush' that\"),\n   readableType: readableType,\n   start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + \" has member 'start' that\"),\n   transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + \" has member 'transform' that\"),\n   writableType: writableType\n  };\n }\n function convertTransformerFlushCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (controller) {\n   return promiseCall(fn, original, [controller]);\n  };\n }\n function convertTransformerStartCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (controller) {\n   return reflectCall(fn, original, [controller]);\n  };\n }\n function convertTransformerTransformCallback(fn, original, context) {\n  assertFunction(fn, context);\n  return function (chunk, controller) {\n   return promiseCall(fn, original, [\n    chunk,\n    controller\n   ]);\n  };\n }\n var TransformStream = function () {\n  function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {\n   if (rawTransformer === void 0) {\n    rawTransformer = {};\n   }\n   if (rawWritableStrategy === void 0) {\n    rawWritableStrategy = {};\n   }\n   if (rawReadableStrategy === void 0) {\n    rawReadableStrategy = {};\n   }\n   if (rawTransformer === undefined) {\n    rawTransformer = null;\n   }\n   var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');\n   var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');\n   var transformer = convertTransformer(rawTransformer, 'First parameter');\n   if (transformer.readableType !== undefined) {\n    throw new RangeError('Invalid readableType specified');\n   }\n   if (transformer.writableType !== undefined) {\n    throw new RangeError('Invalid writableType specified');\n   }\n   var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);\n   var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);\n   var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);\n   var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);\n   var startPromise_resolve;\n   var startPromise = newPromise(function (resolve) {\n    startPromise_resolve = resolve;\n   });\n   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);\n   if (transformer.start !== undefined) {\n    startPromise_resolve(transformer.start(this._transformStreamController));\n   } else {\n    startPromise_resolve(undefined);\n   }\n  }\n  Object.defineProperty(TransformStream.prototype, \"readable\", {\n   get: function () {\n    if (!IsTransformStream(this)) {\n     throw streamBrandCheckException$2('readable');\n    }\n    return this._readable;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  Object.defineProperty(TransformStream.prototype, \"writable\", {\n   get: function () {\n    if (!IsTransformStream(this)) {\n     throw streamBrandCheckException$2('writable');\n    }\n    return this._writable;\n   },\n   enumerable: false,\n   configurable: true\n  });\n  return TransformStream;\n }();\n Object.defineProperties(TransformStream.prototype, {\n  readable: { enumerable: true },\n  writable: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {\n   value: 'TransformStream',\n   configurable: true\n  });\n }\n function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {\n  function startAlgorithm() {\n   return startPromise;\n  }\n  function writeAlgorithm(chunk) {\n   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);\n  }\n  function abortAlgorithm(reason) {\n   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);\n  }\n  function closeAlgorithm() {\n   return TransformStreamDefaultSinkCloseAlgorithm(stream);\n  }\n  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);\n  function pullAlgorithm() {\n   return TransformStreamDefaultSourcePullAlgorithm(stream);\n  }\n  function cancelAlgorithm(reason) {\n   TransformStreamErrorWritableAndUnblockWrite(stream, reason);\n   return promiseResolvedWith(undefined);\n  }\n  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);\n  stream._backpressure = undefined;\n  stream._backpressureChangePromise = undefined;\n  stream._backpressureChangePromise_resolve = undefined;\n  TransformStreamSetBackpressure(stream, true);\n  stream._transformStreamController = undefined;\n }\n function IsTransformStream(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {\n   return false;\n  }\n  return true;\n }\n function TransformStreamError(stream, e) {\n  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);\n  TransformStreamErrorWritableAndUnblockWrite(stream, e);\n }\n function TransformStreamErrorWritableAndUnblockWrite(stream, e) {\n  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);\n  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);\n  if (stream._backpressure) {\n   TransformStreamSetBackpressure(stream, false);\n  }\n }\n function TransformStreamSetBackpressure(stream, backpressure) {\n  if (stream._backpressureChangePromise !== undefined) {\n   stream._backpressureChangePromise_resolve();\n  }\n  stream._backpressureChangePromise = newPromise(function (resolve) {\n   stream._backpressureChangePromise_resolve = resolve;\n  });\n  stream._backpressure = backpressure;\n }\n var TransformStreamDefaultController = function () {\n  function TransformStreamDefaultController() {\n   throw new TypeError('Illegal constructor');\n  }\n  Object.defineProperty(TransformStreamDefaultController.prototype, \"desiredSize\", {\n   get: function () {\n    if (!IsTransformStreamDefaultController(this)) {\n     throw defaultControllerBrandCheckException$1('desiredSize');\n    }\n    var readableController = this._controlledTransformStream._readable._readableStreamController;\n    return ReadableStreamDefaultControllerGetDesiredSize(readableController);\n   },\n   enumerable: false,\n   configurable: true\n  });\n  TransformStreamDefaultController.prototype.enqueue = function (chunk) {\n   if (chunk === void 0) {\n    chunk = undefined;\n   }\n   if (!IsTransformStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException$1('enqueue');\n   }\n   TransformStreamDefaultControllerEnqueue(this, chunk);\n  };\n  TransformStreamDefaultController.prototype.error = function (reason) {\n   if (reason === void 0) {\n    reason = undefined;\n   }\n   if (!IsTransformStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException$1('error');\n   }\n   TransformStreamDefaultControllerError(this, reason);\n  };\n  TransformStreamDefaultController.prototype.terminate = function () {\n   if (!IsTransformStreamDefaultController(this)) {\n    throw defaultControllerBrandCheckException$1('terminate');\n   }\n   TransformStreamDefaultControllerTerminate(this);\n  };\n  return TransformStreamDefaultController;\n }();\n Object.defineProperties(TransformStreamDefaultController.prototype, {\n  enqueue: { enumerable: true },\n  error: { enumerable: true },\n  terminate: { enumerable: true },\n  desiredSize: { enumerable: true }\n });\n if (typeof SymbolPolyfill.toStringTag === 'symbol') {\n  Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {\n   value: 'TransformStreamDefaultController',\n   configurable: true\n  });\n }\n function IsTransformStreamDefaultController(x) {\n  if (!typeIsObject(x)) {\n   return false;\n  }\n  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {\n   return false;\n  }\n  return true;\n }\n function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {\n  controller._controlledTransformStream = stream;\n  stream._transformStreamController = controller;\n  controller._transformAlgorithm = transformAlgorithm;\n  controller._flushAlgorithm = flushAlgorithm;\n }\n function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {\n  var controller = Object.create(TransformStreamDefaultController.prototype);\n  var transformAlgorithm = function (chunk) {\n   try {\n    TransformStreamDefaultControllerEnqueue(controller, chunk);\n    return promiseResolvedWith(undefined);\n   } catch (transformResultE) {\n    return promiseRejectedWith(transformResultE);\n   }\n  };\n  var flushAlgorithm = function () {\n   return promiseResolvedWith(undefined);\n  };\n  if (transformer.transform !== undefined) {\n   transformAlgorithm = function (chunk) {\n    return transformer.transform(chunk, controller);\n   };\n  }\n  if (transformer.flush !== undefined) {\n   flushAlgorithm = function () {\n    return transformer.flush(controller);\n   };\n  }\n  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);\n }\n function TransformStreamDefaultControllerClearAlgorithms(controller) {\n  controller._transformAlgorithm = undefined;\n  controller._flushAlgorithm = undefined;\n }\n function TransformStreamDefaultControllerEnqueue(controller, chunk) {\n  var stream = controller._controlledTransformStream;\n  var readableController = stream._readable._readableStreamController;\n  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {\n   throw new TypeError('Readable side is not in a state that permits enqueue');\n  }\n  try {\n   ReadableStreamDefaultControllerEnqueue(readableController, chunk);\n  } catch (e) {\n   TransformStreamErrorWritableAndUnblockWrite(stream, e);\n   throw stream._readable._storedError;\n  }\n  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);\n  if (backpressure !== stream._backpressure) {\n   TransformStreamSetBackpressure(stream, true);\n  }\n }\n function TransformStreamDefaultControllerError(controller, e) {\n  TransformStreamError(controller._controlledTransformStream, e);\n }\n function TransformStreamDefaultControllerPerformTransform(controller, chunk) {\n  var transformPromise = controller._transformAlgorithm(chunk);\n  return transformPromiseWith(transformPromise, undefined, function (r) {\n   TransformStreamError(controller._controlledTransformStream, r);\n   throw r;\n  });\n }\n function TransformStreamDefaultControllerTerminate(controller) {\n  var stream = controller._controlledTransformStream;\n  var readableController = stream._readable._readableStreamController;\n  ReadableStreamDefaultControllerClose(readableController);\n  var error = new TypeError('TransformStream terminated');\n  TransformStreamErrorWritableAndUnblockWrite(stream, error);\n }\n function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {\n  var controller = stream._transformStreamController;\n  if (stream._backpressure) {\n   var backpressureChangePromise = stream._backpressureChangePromise;\n   return transformPromiseWith(backpressureChangePromise, function () {\n    var writable = stream._writable;\n    var state = writable._state;\n    if (state === 'erroring') {\n     throw writable._storedError;\n    }\n    return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n   });\n  }\n  return TransformStreamDefaultControllerPerformTransform(controller, chunk);\n }\n function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {\n  TransformStreamError(stream, reason);\n  return promiseResolvedWith(undefined);\n }\n function TransformStreamDefaultSinkCloseAlgorithm(stream) {\n  var readable = stream._readable;\n  var controller = stream._transformStreamController;\n  var flushPromise = controller._flushAlgorithm();\n  TransformStreamDefaultControllerClearAlgorithms(controller);\n  return transformPromiseWith(flushPromise, function () {\n   if (readable._state === 'errored') {\n    throw readable._storedError;\n   }\n   ReadableStreamDefaultControllerClose(readable._readableStreamController);\n  }, function (r) {\n   TransformStreamError(stream, r);\n   throw readable._storedError;\n  });\n }\n function TransformStreamDefaultSourcePullAlgorithm(stream) {\n  TransformStreamSetBackpressure(stream, false);\n  return stream._backpressureChangePromise;\n }\n function defaultControllerBrandCheckException$1(name) {\n  return new TypeError(\"TransformStreamDefaultController.prototype.\" + name + \" can only be used on a TransformStreamDefaultController\");\n }\n function streamBrandCheckException$2(name) {\n  return new TypeError(\"TransformStream.prototype.\" + name + \" can only be used on a TransformStream\");\n }\n exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;\n exports.CountQueuingStrategy = CountQueuingStrategy;\n exports.ReadableByteStreamController = ReadableByteStreamController;\n exports.ReadableStream = ReadableStream;\n exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;\n exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;\n exports.ReadableStreamDefaultController = ReadableStreamDefaultController;\n exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;\n exports.TransformStream = TransformStream;\n exports.TransformStreamDefaultController = TransformStreamDefaultController;\n exports.WritableStream = WritableStream;\n exports.WritableStreamDefaultController = WritableStreamDefaultController;\n exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;\n Object.defineProperty(exports, '__esModule', { value: true });\n}));\n\n/***/ }),\n/* 122 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(123);\nvar entryUnbind = __w_pdfjs_require__(127);\nmodule.exports = entryUnbind('String', 'padStart');\n\n/***/ }),\n/* 123 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar $padStart = __w_pdfjs_require__(124).start;\nvar WEBKIT_BUG = __w_pdfjs_require__(126);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padStart: function padStart(maxLength) {\n  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 124 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar toLength = __w_pdfjs_require__(46);\nvar repeat = __w_pdfjs_require__(125);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nvar ceil = Math.ceil;\nvar createMethod = function (IS_END) {\n return function ($this, maxLength, fillString) {\n  var S = String(requireObjectCoercible($this));\n  var stringLength = S.length;\n  var fillStr = fillString === undefined ? ' ' : String(fillString);\n  var intMaxLength = toLength(maxLength);\n  var fillLen, stringFiller;\n  if (intMaxLength <= stringLength || fillStr == '')\n   return S;\n  fillLen = intMaxLength - stringLength;\n  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));\n  if (stringFiller.length > fillLen)\n   stringFiller = stringFiller.slice(0, fillLen);\n  return IS_END ? S + stringFiller : stringFiller + S;\n };\n};\nmodule.exports = {\n start: createMethod(false),\n end: createMethod(true)\n};\n\n/***/ }),\n/* 125 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar toInteger = __w_pdfjs_require__(47);\nvar requireObjectCoercible = __w_pdfjs_require__(19);\nmodule.exports = ''.repeat || function repeat(count) {\n var str = String(requireObjectCoercible(this));\n var result = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity)\n  throw RangeError('Wrong number of repetitions');\n for (; n > 0; (n >>>= 1) && (str += str))\n  if (n & 1)\n   result += str;\n return result;\n};\n\n/***/ }),\n/* 126 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar userAgent = __w_pdfjs_require__(95);\nmodule.exports = /Version\\/10\\.\\d+(\\.\\d+)?( Mobile\\/\\w+)? Safari\\//.test(userAgent);\n\n/***/ }),\n/* 127 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar global = __w_pdfjs_require__(10);\nvar bind = __w_pdfjs_require__(75);\nvar call = Function.call;\nmodule.exports = function (CONSTRUCTOR, METHOD, length) {\n return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);\n};\n\n/***/ }),\n/* 128 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(129);\nvar entryUnbind = __w_pdfjs_require__(127);\nmodule.exports = entryUnbind('String', 'padEnd');\n\n/***/ }),\n/* 129 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\nvar $ = __w_pdfjs_require__(9);\nvar $padEnd = __w_pdfjs_require__(124).end;\nvar WEBKIT_BUG = __w_pdfjs_require__(126);\n$({\n target: 'String',\n proto: true,\n forced: WEBKIT_BUG\n}, {\n padEnd: function padEnd(maxLength) {\n  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\n/***/ }),\n/* 130 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(131);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.values;\n\n/***/ }),\n/* 131 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar $values = __w_pdfjs_require__(132).values;\n$({\n target: 'Object',\n stat: true\n}, {\n values: function values(O) {\n  return $values(O);\n }\n});\n\n/***/ }),\n/* 132 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar DESCRIPTORS = __w_pdfjs_require__(12);\nvar objectKeys = __w_pdfjs_require__(60);\nvar toIndexedObject = __w_pdfjs_require__(16);\nvar propertyIsEnumerable = __w_pdfjs_require__(14).f;\nvar createMethod = function (TO_ENTRIES) {\n return function (it) {\n  var O = toIndexedObject(it);\n  var keys = objectKeys(O);\n  var length = keys.length;\n  var i = 0;\n  var result = [];\n  var key;\n  while (length > i) {\n   key = keys[i++];\n   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {\n    result.push(TO_ENTRIES ? [\n     key,\n     O[key]\n    ] : O[key]);\n   }\n  }\n  return result;\n };\n};\nmodule.exports = {\n entries: createMethod(true),\n values: createMethod(false)\n};\n\n/***/ }),\n/* 133 */\n/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\n__w_pdfjs_require__(134);\nvar path = __w_pdfjs_require__(42);\nmodule.exports = path.Object.entries;\n\n/***/ }),\n/* 134 */\n/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {\n\nvar $ = __w_pdfjs_require__(9);\nvar $entries = __w_pdfjs_require__(132).entries;\n$({\n target: 'Object',\n stat: true\n}, {\n entries: function entries(O) {\n  return $entries(O);\n }\n});\n\n/***/ }),\n/* 135 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.clearPrimitiveCaches = clearPrimitiveCaches;\nexports.isCmd = isCmd;\nexports.isDict = isDict;\nexports.isEOF = isEOF;\nexports.isName = isName;\nexports.isRef = isRef;\nexports.isRefsEqual = isRefsEqual;\nexports.isStream = isStream;\nexports.RefSetCache = exports.RefSet = exports.Ref = exports.Name = exports.EOF = exports.Dict = exports.Cmd = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nvar EOF = {};\nexports.EOF = EOF;\n\nvar Name = function NameClosure() {\n  var nameCache = Object.create(null);\n\n  function Name(name) {\n    this.name = name;\n  }\n\n  Name.prototype = {};\n\n  Name.get = function Name_get(name) {\n    var nameValue = nameCache[name];\n    return nameValue ? nameValue : nameCache[name] = new Name(name);\n  };\n\n  Name._clearCache = function () {\n    nameCache = Object.create(null);\n  };\n\n  return Name;\n}();\n\nexports.Name = Name;\n\nvar Cmd = function CmdClosure() {\n  var cmdCache = Object.create(null);\n\n  function Cmd(cmd) {\n    this.cmd = cmd;\n  }\n\n  Cmd.prototype = {};\n\n  Cmd.get = function Cmd_get(cmd) {\n    var cmdValue = cmdCache[cmd];\n    return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd);\n  };\n\n  Cmd._clearCache = function () {\n    cmdCache = Object.create(null);\n  };\n\n  return Cmd;\n}();\n\nexports.Cmd = Cmd;\n\nvar Dict = function DictClosure() {\n  var nonSerializable = function nonSerializableClosure() {\n    return nonSerializable;\n  };\n\n  function Dict(xref) {\n    this._map = Object.create(null);\n    this.xref = xref;\n    this.objId = null;\n    this.suppressEncryption = false;\n    this.__nonSerializable__ = nonSerializable;\n  }\n\n  Dict.prototype = {\n    assignXref: function Dict_assignXref(newXref) {\n      this.xref = newXref;\n    },\n\n    get size() {\n      return Object.keys(this._map).length;\n    },\n\n    get: function get(key1, key2, key3) {\n      var value = this._map[key1];\n\n      if (value === undefined && key2 !== undefined) {\n        value = this._map[key2];\n\n        if (value === undefined && key3 !== undefined) {\n          value = this._map[key3];\n        }\n      }\n\n      if (value instanceof Ref && this.xref) {\n        return this.xref.fetch(value, this.suppressEncryption);\n      }\n\n      return value;\n    },\n    getAsync: function getAsync(key1, key2, key3) {\n      var _this = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                value = _this._map[key1];\n\n                if (value === undefined && key2 !== undefined) {\n                  value = _this._map[key2];\n\n                  if (value === undefined && key3 !== undefined) {\n                    value = _this._map[key3];\n                  }\n                }\n\n                if (!(value instanceof Ref && _this.xref)) {\n                  _context.next = 4;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", _this.xref.fetchAsync(value, _this.suppressEncryption));\n\n              case 4:\n                return _context.abrupt(\"return\", value);\n\n              case 5:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    getArray: function getArray(key1, key2, key3) {\n      var value = this.get(key1, key2, key3);\n\n      if (!Array.isArray(value) || !this.xref) {\n        return value;\n      }\n\n      value = value.slice();\n\n      for (var i = 0, ii = value.length; i < ii; i++) {\n        if (!(value[i] instanceof Ref)) {\n          continue;\n        }\n\n        value[i] = this.xref.fetch(value[i], this.suppressEncryption);\n      }\n\n      return value;\n    },\n    getRaw: function Dict_getRaw(key) {\n      return this._map[key];\n    },\n    getKeys: function Dict_getKeys() {\n      return Object.keys(this._map);\n    },\n    getRawValues: function Dict_getRawValues() {\n      return Object.values(this._map);\n    },\n    set: function Dict_set(key, value) {\n      this._map[key] = value;\n    },\n    has: function Dict_has(key) {\n      return this._map[key] !== undefined;\n    },\n    forEach: function Dict_forEach(callback) {\n      for (var key in this._map) {\n        callback(key, this.get(key));\n      }\n    }\n  };\n\n  Dict.empty = function () {\n    var emptyDict = new Dict(null);\n\n    emptyDict.set = function (key, value) {\n      (0, _util.unreachable)(\"Should not call `set` on the empty dictionary.\");\n    };\n\n    return emptyDict;\n  }();\n\n  Dict.merge = function (_ref) {\n    var xref = _ref.xref,\n        dictArray = _ref.dictArray,\n        _ref$mergeSubDicts = _ref.mergeSubDicts,\n        mergeSubDicts = _ref$mergeSubDicts === void 0 ? false : _ref$mergeSubDicts;\n    var mergedDict = new Dict(xref);\n\n    if (!mergeSubDicts) {\n      var _iterator = _createForOfIteratorHelper(dictArray),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var dict = _step.value;\n\n          if (!(dict instanceof Dict)) {\n            continue;\n          }\n\n          for (var _i = 0, _Object$entries = Object.entries(dict._map); _i < _Object$entries.length; _i++) {\n            var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),\n                key = _Object$entries$_i[0],\n                value = _Object$entries$_i[1];\n\n            if (mergedDict._map[key] === undefined) {\n              mergedDict._map[key] = value;\n            }\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      return mergedDict.size > 0 ? mergedDict : Dict.empty;\n    }\n\n    var properties = new Map();\n\n    var _iterator2 = _createForOfIteratorHelper(dictArray),\n        _step2;\n\n    try {\n      for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n        var _dict = _step2.value;\n\n        if (!(_dict instanceof Dict)) {\n          continue;\n        }\n\n        for (var _i2 = 0, _Object$entries2 = Object.entries(_dict._map); _i2 < _Object$entries2.length; _i2++) {\n          var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),\n              _key = _Object$entries2$_i[0],\n              _value = _Object$entries2$_i[1];\n\n          var property = properties.get(_key);\n\n          if (property === undefined) {\n            property = [];\n            properties.set(_key, property);\n          }\n\n          property.push(_value);\n        }\n      }\n    } catch (err) {\n      _iterator2.e(err);\n    } finally {\n      _iterator2.f();\n    }\n\n    var _iterator3 = _createForOfIteratorHelper(properties),\n        _step3;\n\n    try {\n      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n        var _step3$value = _slicedToArray(_step3.value, 2),\n            name = _step3$value[0],\n            values = _step3$value[1];\n\n        if (values.length === 1 || !(values[0] instanceof Dict)) {\n          mergedDict._map[name] = values[0];\n          continue;\n        }\n\n        var subDict = new Dict(xref);\n\n        var _iterator4 = _createForOfIteratorHelper(values),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var _dict2 = _step4.value;\n\n            if (!(_dict2 instanceof Dict)) {\n              continue;\n            }\n\n            for (var _i3 = 0, _Object$entries3 = Object.entries(_dict2._map); _i3 < _Object$entries3.length; _i3++) {\n              var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2),\n                  _key2 = _Object$entries3$_i[0],\n                  _value2 = _Object$entries3$_i[1];\n\n              if (subDict._map[_key2] === undefined) {\n                subDict._map[_key2] = _value2;\n              }\n            }\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n\n        if (subDict.size > 0) {\n          mergedDict._map[name] = subDict;\n        }\n      }\n    } catch (err) {\n      _iterator3.e(err);\n    } finally {\n      _iterator3.f();\n    }\n\n    properties.clear();\n    return mergedDict.size > 0 ? mergedDict : Dict.empty;\n  };\n\n  return Dict;\n}();\n\nexports.Dict = Dict;\n\nvar Ref = function RefClosure() {\n  var refCache = Object.create(null);\n\n  function Ref(num, gen) {\n    this.num = num;\n    this.gen = gen;\n  }\n\n  Ref.prototype = {\n    toString: function Ref_toString() {\n      if (this.gen === 0) {\n        return \"\".concat(this.num, \"R\");\n      }\n\n      return \"\".concat(this.num, \"R\").concat(this.gen);\n    }\n  };\n\n  Ref.get = function (num, gen) {\n    var key = gen === 0 ? \"\".concat(num, \"R\") : \"\".concat(num, \"R\").concat(gen);\n    var refValue = refCache[key];\n    return refValue ? refValue : refCache[key] = new Ref(num, gen);\n  };\n\n  Ref._clearCache = function () {\n    refCache = Object.create(null);\n  };\n\n  return Ref;\n}();\n\nexports.Ref = Ref;\n\nvar RefSet = /*#__PURE__*/function () {\n  function RefSet() {\n    var parent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n    _classCallCheck(this, RefSet);\n\n    this._set = new Set(parent && parent._set);\n  }\n\n  _createClass(RefSet, [{\n    key: \"has\",\n    value: function has(ref) {\n      return this._set.has(ref.toString());\n    }\n  }, {\n    key: \"put\",\n    value: function put(ref) {\n      this._set.add(ref.toString());\n    }\n  }, {\n    key: \"remove\",\n    value: function remove(ref) {\n      this._set[\"delete\"](ref.toString());\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      var _iterator5 = _createForOfIteratorHelper(this._set.values()),\n          _step5;\n\n      try {\n        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n          var ref = _step5.value;\n          callback(ref);\n        }\n      } catch (err) {\n        _iterator5.e(err);\n      } finally {\n        _iterator5.f();\n      }\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this._set.clear();\n    }\n  }]);\n\n  return RefSet;\n}();\n\nexports.RefSet = RefSet;\n\nvar RefSetCache = /*#__PURE__*/function () {\n  function RefSetCache() {\n    _classCallCheck(this, RefSetCache);\n\n    this._map = new Map();\n  }\n\n  _createClass(RefSetCache, [{\n    key: \"get\",\n    value: function get(ref) {\n      return this._map.get(ref.toString());\n    }\n  }, {\n    key: \"has\",\n    value: function has(ref) {\n      return this._map.has(ref.toString());\n    }\n  }, {\n    key: \"put\",\n    value: function put(ref, obj) {\n      this._map.set(ref.toString(), obj);\n    }\n  }, {\n    key: \"putAlias\",\n    value: function putAlias(ref, aliasRef) {\n      this._map.set(ref.toString(), this.get(aliasRef));\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      var _iterator6 = _createForOfIteratorHelper(this._map.values()),\n          _step6;\n\n      try {\n        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n          var value = _step6.value;\n          callback(value);\n        }\n      } catch (err) {\n        _iterator6.e(err);\n      } finally {\n        _iterator6.f();\n      }\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      this._map.clear();\n    }\n  }, {\n    key: \"size\",\n    get: function get() {\n      return this._map.size;\n    }\n  }]);\n\n  return RefSetCache;\n}();\n\nexports.RefSetCache = RefSetCache;\n\nfunction isEOF(v) {\n  return v === EOF;\n}\n\nfunction isName(v, name) {\n  return v instanceof Name && (name === undefined || v.name === name);\n}\n\nfunction isCmd(v, cmd) {\n  return v instanceof Cmd && (cmd === undefined || v.cmd === cmd);\n}\n\nfunction isDict(v, type) {\n  return v instanceof Dict && (type === undefined || isName(v.get(\"Type\"), type));\n}\n\nfunction isRef(v) {\n  return v instanceof Ref;\n}\n\nfunction isRefsEqual(v1, v2) {\n  return v1.num === v2.num && v1.gen === v2.gen;\n}\n\nfunction isStream(v) {\n  return _typeof(v) === \"object\" && v !== null && v.getBytes !== undefined;\n}\n\nfunction clearPrimitiveCaches() {\n  Cmd._clearCache();\n\n  Name._clearCache();\n\n  Ref._clearCache();\n}\n\n/***/ }),\n/* 136 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.NetworkPdfManager = exports.LocalPdfManager = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _chunked_stream = __w_pdfjs_require__(137);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _document = __w_pdfjs_require__(139);\n\nvar _stream = __w_pdfjs_require__(142);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BasePdfManager = /*#__PURE__*/function () {\n  function BasePdfManager() {\n    _classCallCheck(this, BasePdfManager);\n\n    if (this.constructor === BasePdfManager) {\n      (0, _util.unreachable)(\"Cannot initialize BasePdfManager.\");\n    }\n  }\n\n  _createClass(BasePdfManager, [{\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      (0, _util.unreachable)(\"Abstract method `onLoadedStream` called\");\n    }\n  }, {\n    key: \"ensureDoc\",\n    value: function ensureDoc(prop, args) {\n      return this.ensure(this.pdfDocument, prop, args);\n    }\n  }, {\n    key: \"ensureXRef\",\n    value: function ensureXRef(prop, args) {\n      return this.ensure(this.pdfDocument.xref, prop, args);\n    }\n  }, {\n    key: \"ensureCatalog\",\n    value: function ensureCatalog(prop, args) {\n      return this.ensure(this.pdfDocument.catalog, prop, args);\n    }\n  }, {\n    key: \"getPage\",\n    value: function getPage(pageIndex) {\n      return this.pdfDocument.getPage(pageIndex);\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      return this.pdfDocument.fontFallback(id, handler);\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return this.pdfDocument.cleanup(manuallyTriggered);\n    }\n  }, {\n    key: \"ensure\",\n    value: function () {\n      var _ensure = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(obj, prop, args) {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                (0, _util.unreachable)(\"Abstract method `ensure` called\");\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function ensure(_x, _x2, _x3) {\n        return _ensure.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      (0, _util.unreachable)(\"Abstract method `requestRange` called\");\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {\n      (0, _util.unreachable)(\"Abstract method `requestLoadedStream` called\");\n    }\n  }, {\n    key: \"sendProgressiveData\",\n    value: function sendProgressiveData(chunk) {\n      (0, _util.unreachable)(\"Abstract method `sendProgressiveData` called\");\n    }\n  }, {\n    key: \"updatePassword\",\n    value: function updatePassword(password) {\n      this._password = password;\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {\n      (0, _util.unreachable)(\"Abstract method `terminate` called\");\n    }\n  }, {\n    key: \"docId\",\n    get: function get() {\n      return this._docId;\n    }\n  }, {\n    key: \"password\",\n    get: function get() {\n      return this._password;\n    }\n  }, {\n    key: \"docBaseUrl\",\n    get: function get() {\n      var docBaseUrl = null;\n\n      if (this._docBaseUrl) {\n        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(this._docBaseUrl);\n\n        if (absoluteUrl) {\n          docBaseUrl = absoluteUrl.href;\n        } else {\n          (0, _util.warn)(\"Invalid absolute docBaseUrl: \\\"\".concat(this._docBaseUrl, \"\\\".\"));\n        }\n      }\n\n      return (0, _util.shadow)(this, \"docBaseUrl\", docBaseUrl);\n    }\n  }]);\n\n  return BasePdfManager;\n}();\n\nvar LocalPdfManager = /*#__PURE__*/function (_BasePdfManager) {\n  _inherits(LocalPdfManager, _BasePdfManager);\n\n  var _super = _createSuper(LocalPdfManager);\n\n  function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) {\n    var _this;\n\n    _classCallCheck(this, LocalPdfManager);\n\n    _this = _super.call(this);\n    _this._docId = docId;\n    _this._password = password;\n    _this._docBaseUrl = docBaseUrl;\n    _this.evaluatorOptions = evaluatorOptions;\n    var stream = new _stream.Stream(data);\n    _this.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this), stream);\n    _this._loadedStreamPromise = Promise.resolve(stream);\n    return _this;\n  }\n\n  _createClass(LocalPdfManager, [{\n    key: \"ensure\",\n    value: function () {\n      var _ensure2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(obj, prop, args) {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                value = obj[prop];\n\n                if (!(typeof value === \"function\")) {\n                  _context2.next = 3;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", value.apply(obj, args));\n\n              case 3:\n                return _context2.abrupt(\"return\", value);\n\n              case 4:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2);\n      }));\n\n      function ensure(_x4, _x5, _x6) {\n        return _ensure2.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      return Promise.resolve();\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {}\n  }, {\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this._loadedStreamPromise;\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {}\n  }]);\n\n  return LocalPdfManager;\n}(BasePdfManager);\n\nexports.LocalPdfManager = LocalPdfManager;\n\nvar NetworkPdfManager = /*#__PURE__*/function (_BasePdfManager2) {\n  _inherits(NetworkPdfManager, _BasePdfManager2);\n\n  var _super2 = _createSuper(NetworkPdfManager);\n\n  function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) {\n    var _this2;\n\n    _classCallCheck(this, NetworkPdfManager);\n\n    _this2 = _super2.call(this);\n    _this2._docId = docId;\n    _this2._password = args.password;\n    _this2._docBaseUrl = docBaseUrl;\n    _this2.msgHandler = args.msgHandler;\n    _this2.evaluatorOptions = evaluatorOptions;\n    _this2.streamManager = new _chunked_stream.ChunkedStreamManager(pdfNetworkStream, {\n      msgHandler: args.msgHandler,\n      length: args.length,\n      disableAutoFetch: args.disableAutoFetch,\n      rangeChunkSize: args.rangeChunkSize\n    });\n    _this2.pdfDocument = new _document.PDFDocument(_assertThisInitialized(_this2), _this2.streamManager.getStream());\n    return _this2;\n  }\n\n  _createClass(NetworkPdfManager, [{\n    key: \"ensure\",\n    value: function () {\n      var _ensure3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(obj, prop, args) {\n        var value;\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                _context3.prev = 0;\n                value = obj[prop];\n\n                if (!(typeof value === \"function\")) {\n                  _context3.next = 4;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", value.apply(obj, args));\n\n              case 4:\n                return _context3.abrupt(\"return\", value);\n\n              case 7:\n                _context3.prev = 7;\n                _context3.t0 = _context3[\"catch\"](0);\n\n                if (_context3.t0 instanceof _core_utils.MissingDataException) {\n                  _context3.next = 11;\n                  break;\n                }\n\n                throw _context3.t0;\n\n              case 11:\n                _context3.next = 13;\n                return this.requestRange(_context3.t0.begin, _context3.t0.end);\n\n              case 13:\n                return _context3.abrupt(\"return\", this.ensure(obj, prop, args));\n\n              case 14:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this, [[0, 7]]);\n      }));\n\n      function ensure(_x7, _x8, _x9) {\n        return _ensure3.apply(this, arguments);\n      }\n\n      return ensure;\n    }()\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      return this.streamManager.requestRange(begin, end);\n    }\n  }, {\n    key: \"requestLoadedStream\",\n    value: function requestLoadedStream() {\n      this.streamManager.requestAllChunks();\n    }\n  }, {\n    key: \"sendProgressiveData\",\n    value: function sendProgressiveData(chunk) {\n      this.streamManager.onReceiveData({\n        chunk: chunk\n      });\n    }\n  }, {\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this.streamManager.onLoadedStream();\n    }\n  }, {\n    key: \"terminate\",\n    value: function terminate(reason) {\n      this.streamManager.abort(reason);\n    }\n  }]);\n\n  return NetworkPdfManager;\n}(BasePdfManager);\n\nexports.NetworkPdfManager = NetworkPdfManager;\n\n/***/ }),\n/* 137 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.ChunkedStreamManager = exports.ChunkedStream = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ChunkedStream = /*#__PURE__*/function () {\n  function ChunkedStream(length, chunkSize, manager) {\n    _classCallCheck(this, ChunkedStream);\n\n    this.bytes = new Uint8Array(length);\n    this.start = 0;\n    this.pos = 0;\n    this.end = length;\n    this.chunkSize = chunkSize;\n    this._loadedChunks = new Set();\n    this.numChunks = Math.ceil(length / chunkSize);\n    this.manager = manager;\n    this.progressiveDataLength = 0;\n    this.lastSuccessfulEnsureByteChunk = -1;\n  }\n\n  _createClass(ChunkedStream, [{\n    key: \"getMissingChunks\",\n    value: function getMissingChunks() {\n      var chunks = [];\n\n      for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) {\n        if (!this._loadedChunks.has(chunk)) {\n          chunks.push(chunk);\n        }\n      }\n\n      return chunks;\n    }\n  }, {\n    key: \"getBaseStreams\",\n    value: function getBaseStreams() {\n      return [this];\n    }\n  }, {\n    key: \"allChunksLoaded\",\n    value: function allChunksLoaded() {\n      return this.numChunksLoaded === this.numChunks;\n    }\n  }, {\n    key: \"onReceiveData\",\n    value: function onReceiveData(begin, chunk) {\n      var chunkSize = this.chunkSize;\n\n      if (begin % chunkSize !== 0) {\n        throw new Error(\"Bad begin offset: \".concat(begin));\n      }\n\n      var end = begin + chunk.byteLength;\n\n      if (end % chunkSize !== 0 && end !== this.bytes.length) {\n        throw new Error(\"Bad end offset: \".concat(end));\n      }\n\n      this.bytes.set(new Uint8Array(chunk), begin);\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        this._loadedChunks.add(curChunk);\n      }\n    }\n  }, {\n    key: \"onReceiveProgressiveData\",\n    value: function onReceiveProgressiveData(data) {\n      var position = this.progressiveDataLength;\n      var beginChunk = Math.floor(position / this.chunkSize);\n      this.bytes.set(new Uint8Array(data), position);\n      position += data.byteLength;\n      this.progressiveDataLength = position;\n      var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize);\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        this._loadedChunks.add(curChunk);\n      }\n    }\n  }, {\n    key: \"ensureByte\",\n    value: function ensureByte(pos) {\n      if (pos < this.progressiveDataLength) {\n        return;\n      }\n\n      var chunk = Math.floor(pos / this.chunkSize);\n\n      if (chunk === this.lastSuccessfulEnsureByteChunk) {\n        return;\n      }\n\n      if (!this._loadedChunks.has(chunk)) {\n        throw new _core_utils.MissingDataException(pos, pos + 1);\n      }\n\n      this.lastSuccessfulEnsureByteChunk = chunk;\n    }\n  }, {\n    key: \"ensureRange\",\n    value: function ensureRange(begin, end) {\n      if (begin >= end) {\n        return;\n      }\n\n      if (end <= this.progressiveDataLength) {\n        return;\n      }\n\n      var chunkSize = this.chunkSize;\n      var beginChunk = Math.floor(begin / chunkSize);\n      var endChunk = Math.floor((end - 1) / chunkSize) + 1;\n\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        if (!this._loadedChunks.has(chunk)) {\n          throw new _core_utils.MissingDataException(begin, end);\n        }\n      }\n    }\n  }, {\n    key: \"nextEmptyChunk\",\n    value: function nextEmptyChunk(beginChunk) {\n      var numChunks = this.numChunks;\n\n      for (var i = 0; i < numChunks; ++i) {\n        var chunk = (beginChunk + i) % numChunks;\n\n        if (!this._loadedChunks.has(chunk)) {\n          return chunk;\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"hasChunk\",\n    value: function hasChunk(chunk) {\n      return this._loadedChunks.has(chunk);\n    }\n  }, {\n    key: \"getByte\",\n    value: function getByte() {\n      var pos = this.pos;\n\n      if (pos >= this.end) {\n        return -1;\n      }\n\n      if (pos >= this.progressiveDataLength) {\n        this.ensureByte(pos);\n      }\n\n      return this.bytes[this.pos++];\n    }\n  }, {\n    key: \"getUint16\",\n    value: function getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    }\n  }, {\n    key: \"getInt32\",\n    value: function getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    }\n  }, {\n    key: \"getBytes\",\n    value: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n\n      if (!length) {\n        if (strEnd > this.progressiveDataLength) {\n          this.ensureRange(pos, strEnd);\n        }\n\n        var _subarray = bytes.subarray(pos, strEnd);\n\n        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n      }\n\n      var end = pos + length;\n\n      if (end > strEnd) {\n        end = strEnd;\n      }\n\n      if (end > this.progressiveDataLength) {\n        this.ensureRange(pos, end);\n      }\n\n      this.pos = end;\n      var subarray = bytes.subarray(pos, end);\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    }\n  }, {\n    key: \"peekByte\",\n    value: function peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    }\n  }, {\n    key: \"peekBytes\",\n    value: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    }\n  }, {\n    key: \"getByteRange\",\n    value: function getByteRange(begin, end) {\n      if (begin < 0) {\n        begin = 0;\n      }\n\n      if (end > this.end) {\n        end = this.end;\n      }\n\n      if (end > this.progressiveDataLength) {\n        this.ensureRange(begin, end);\n      }\n\n      return this.bytes.subarray(begin, end);\n    }\n  }, {\n    key: \"skip\",\n    value: function skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.pos = this.start;\n    }\n  }, {\n    key: \"moveStart\",\n    value: function moveStart() {\n      this.start = this.pos;\n    }\n  }, {\n    key: \"makeSubStream\",\n    value: function makeSubStream(start, length, dict) {\n      if (length) {\n        if (start + length > this.progressiveDataLength) {\n          this.ensureRange(start, start + length);\n        }\n      } else {\n        if (start >= this.progressiveDataLength) {\n          this.ensureByte(start);\n        }\n      }\n\n      function ChunkedStreamSubstream() {}\n\n      ChunkedStreamSubstream.prototype = Object.create(this);\n\n      ChunkedStreamSubstream.prototype.getMissingChunks = function () {\n        var chunkSize = this.chunkSize;\n        var beginChunk = Math.floor(this.start / chunkSize);\n        var endChunk = Math.floor((this.end - 1) / chunkSize) + 1;\n        var missingChunks = [];\n\n        for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n          if (!this._loadedChunks.has(chunk)) {\n            missingChunks.push(chunk);\n          }\n        }\n\n        return missingChunks;\n      };\n\n      ChunkedStreamSubstream.prototype.allChunksLoaded = function () {\n        if (this.numChunksLoaded === this.numChunks) {\n          return true;\n        }\n\n        return this.getMissingChunks().length === 0;\n      };\n\n      var subStream = new ChunkedStreamSubstream();\n      subStream.pos = subStream.start = start;\n      subStream.end = start + length || this.end;\n      subStream.dict = dict;\n      return subStream;\n    }\n  }, {\n    key: \"numChunksLoaded\",\n    get: function get() {\n      return this._loadedChunks.size;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return this.end - this.start;\n    }\n  }, {\n    key: \"isEmpty\",\n    get: function get() {\n      return this.length === 0;\n    }\n  }]);\n\n  return ChunkedStream;\n}();\n\nexports.ChunkedStream = ChunkedStream;\n\nvar ChunkedStreamManager = /*#__PURE__*/function () {\n  function ChunkedStreamManager(pdfNetworkStream, args) {\n    _classCallCheck(this, ChunkedStreamManager);\n\n    this.length = args.length;\n    this.chunkSize = args.rangeChunkSize;\n    this.stream = new ChunkedStream(this.length, this.chunkSize, this);\n    this.pdfNetworkStream = pdfNetworkStream;\n    this.disableAutoFetch = args.disableAutoFetch;\n    this.msgHandler = args.msgHandler;\n    this.currRequestId = 0;\n    this._chunksNeededByRequest = new Map();\n    this._requestsByChunk = new Map();\n    this._promisesByRequest = new Map();\n    this.progressiveDataLength = 0;\n    this.aborted = false;\n    this._loadedStreamCapability = (0, _util.createPromiseCapability)();\n  }\n\n  _createClass(ChunkedStreamManager, [{\n    key: \"onLoadedStream\",\n    value: function onLoadedStream() {\n      return this._loadedStreamCapability.promise;\n    }\n  }, {\n    key: \"sendRequest\",\n    value: function sendRequest(begin, end) {\n      var _this = this;\n\n      var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end);\n\n      if (!rangeReader.isStreamingSupported) {\n        rangeReader.onProgress = this.onProgress.bind(this);\n      }\n\n      var chunks = [],\n          loaded = 0;\n      var promise = new Promise(function (resolve, reject) {\n        var readChunk = function readChunk(chunk) {\n          try {\n            if (!chunk.done) {\n              var data = chunk.value;\n              chunks.push(data);\n              loaded += (0, _util.arrayByteLength)(data);\n\n              if (rangeReader.isStreamingSupported) {\n                _this.onProgress({\n                  loaded: loaded\n                });\n              }\n\n              rangeReader.read().then(readChunk, reject);\n              return;\n            }\n\n            var chunkData = (0, _util.arraysToBytes)(chunks);\n            chunks = null;\n            resolve(chunkData);\n          } catch (e) {\n            reject(e);\n          }\n        };\n\n        rangeReader.read().then(readChunk, reject);\n      });\n      promise.then(function (data) {\n        if (_this.aborted) {\n          return;\n        }\n\n        _this.onReceiveData({\n          chunk: data,\n          begin: begin\n        });\n      });\n    }\n  }, {\n    key: \"requestAllChunks\",\n    value: function requestAllChunks() {\n      var missingChunks = this.stream.getMissingChunks();\n\n      this._requestChunks(missingChunks);\n\n      return this._loadedStreamCapability.promise;\n    }\n  }, {\n    key: \"_requestChunks\",\n    value: function _requestChunks(chunks) {\n      var _this2 = this;\n\n      var requestId = this.currRequestId++;\n      var chunksNeeded = new Set();\n\n      this._chunksNeededByRequest.set(requestId, chunksNeeded);\n\n      var _iterator = _createForOfIteratorHelper(chunks),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var chunk = _step.value;\n\n          if (!this.stream.hasChunk(chunk)) {\n            chunksNeeded.add(chunk);\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      if (chunksNeeded.size === 0) {\n        return Promise.resolve();\n      }\n\n      var capability = (0, _util.createPromiseCapability)();\n\n      this._promisesByRequest.set(requestId, capability);\n\n      var chunksToRequest = [];\n\n      var _iterator2 = _createForOfIteratorHelper(chunksNeeded),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var _chunk = _step2.value;\n\n          var requestIds = this._requestsByChunk.get(_chunk);\n\n          if (!requestIds) {\n            requestIds = [];\n\n            this._requestsByChunk.set(_chunk, requestIds);\n\n            chunksToRequest.push(_chunk);\n          }\n\n          requestIds.push(requestId);\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      if (chunksToRequest.length > 0) {\n        var groupedChunksToRequest = this.groupChunks(chunksToRequest);\n\n        var _iterator3 = _createForOfIteratorHelper(groupedChunksToRequest),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var groupedChunk = _step3.value;\n            var begin = groupedChunk.beginChunk * this.chunkSize;\n            var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length);\n            this.sendRequest(begin, end);\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n      }\n\n      return capability.promise[\"catch\"](function (reason) {\n        if (_this2.aborted) {\n          return;\n        }\n\n        throw reason;\n      });\n    }\n  }, {\n    key: \"getStream\",\n    value: function getStream() {\n      return this.stream;\n    }\n  }, {\n    key: \"requestRange\",\n    value: function requestRange(begin, end) {\n      end = Math.min(end, this.length);\n      var beginChunk = this.getBeginChunk(begin);\n      var endChunk = this.getEndChunk(end);\n      var chunks = [];\n\n      for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n        chunks.push(chunk);\n      }\n\n      return this._requestChunks(chunks);\n    }\n  }, {\n    key: \"requestRanges\",\n    value: function requestRanges() {\n      var ranges = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n      var chunksToRequest = [];\n\n      var _iterator4 = _createForOfIteratorHelper(ranges),\n          _step4;\n\n      try {\n        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n          var range = _step4.value;\n          var beginChunk = this.getBeginChunk(range.begin);\n          var endChunk = this.getEndChunk(range.end);\n\n          for (var chunk = beginChunk; chunk < endChunk; ++chunk) {\n            if (!chunksToRequest.includes(chunk)) {\n              chunksToRequest.push(chunk);\n            }\n          }\n        }\n      } catch (err) {\n        _iterator4.e(err);\n      } finally {\n        _iterator4.f();\n      }\n\n      chunksToRequest.sort(function (a, b) {\n        return a - b;\n      });\n      return this._requestChunks(chunksToRequest);\n    }\n  }, {\n    key: \"groupChunks\",\n    value: function groupChunks(chunks) {\n      var groupedChunks = [];\n      var beginChunk = -1;\n      var prevChunk = -1;\n\n      for (var i = 0, ii = chunks.length; i < ii; ++i) {\n        var chunk = chunks[i];\n\n        if (beginChunk < 0) {\n          beginChunk = chunk;\n        }\n\n        if (prevChunk >= 0 && prevChunk + 1 !== chunk) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: prevChunk + 1\n          });\n          beginChunk = chunk;\n        }\n\n        if (i + 1 === chunks.length) {\n          groupedChunks.push({\n            beginChunk: beginChunk,\n            endChunk: chunk + 1\n          });\n        }\n\n        prevChunk = chunk;\n      }\n\n      return groupedChunks;\n    }\n  }, {\n    key: \"onProgress\",\n    value: function onProgress(args) {\n      this.msgHandler.send(\"DocProgress\", {\n        loaded: this.stream.numChunksLoaded * this.chunkSize + args.loaded,\n        total: this.length\n      });\n    }\n  }, {\n    key: \"onReceiveData\",\n    value: function onReceiveData(args) {\n      var chunk = args.chunk;\n      var isProgressive = args.begin === undefined;\n      var begin = isProgressive ? this.progressiveDataLength : args.begin;\n      var end = begin + chunk.byteLength;\n      var beginChunk = Math.floor(begin / this.chunkSize);\n      var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize);\n\n      if (isProgressive) {\n        this.stream.onReceiveProgressiveData(chunk);\n        this.progressiveDataLength = end;\n      } else {\n        this.stream.onReceiveData(begin, chunk);\n      }\n\n      if (this.stream.allChunksLoaded()) {\n        this._loadedStreamCapability.resolve(this.stream);\n      }\n\n      var loadedRequests = [];\n\n      for (var curChunk = beginChunk; curChunk < endChunk; ++curChunk) {\n        var requestIds = this._requestsByChunk.get(curChunk);\n\n        if (!requestIds) {\n          continue;\n        }\n\n        this._requestsByChunk[\"delete\"](curChunk);\n\n        var _iterator5 = _createForOfIteratorHelper(requestIds),\n            _step5;\n\n        try {\n          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n            var requestId = _step5.value;\n\n            var chunksNeeded = this._chunksNeededByRequest.get(requestId);\n\n            if (chunksNeeded.has(curChunk)) {\n              chunksNeeded[\"delete\"](curChunk);\n            }\n\n            if (chunksNeeded.size > 0) {\n              continue;\n            }\n\n            loadedRequests.push(requestId);\n          }\n        } catch (err) {\n          _iterator5.e(err);\n        } finally {\n          _iterator5.f();\n        }\n      }\n\n      if (!this.disableAutoFetch && this._requestsByChunk.size === 0) {\n        var nextEmptyChunk;\n\n        if (this.stream.numChunksLoaded === 1) {\n          var lastChunk = this.stream.numChunks - 1;\n\n          if (!this.stream.hasChunk(lastChunk)) {\n            nextEmptyChunk = lastChunk;\n          }\n        } else {\n          nextEmptyChunk = this.stream.nextEmptyChunk(endChunk);\n        }\n\n        if (Number.isInteger(nextEmptyChunk)) {\n          this._requestChunks([nextEmptyChunk]);\n        }\n      }\n\n      for (var _i = 0, _loadedRequests = loadedRequests; _i < _loadedRequests.length; _i++) {\n        var _requestId = _loadedRequests[_i];\n\n        var capability = this._promisesByRequest.get(_requestId);\n\n        this._promisesByRequest[\"delete\"](_requestId);\n\n        capability.resolve();\n      }\n\n      this.msgHandler.send(\"DocProgress\", {\n        loaded: this.stream.numChunksLoaded * this.chunkSize,\n        total: this.length\n      });\n    }\n  }, {\n    key: \"onError\",\n    value: function onError(err) {\n      this._loadedStreamCapability.reject(err);\n    }\n  }, {\n    key: \"getBeginChunk\",\n    value: function getBeginChunk(begin) {\n      return Math.floor(begin / this.chunkSize);\n    }\n  }, {\n    key: \"getEndChunk\",\n    value: function getEndChunk(end) {\n      return Math.floor((end - 1) / this.chunkSize) + 1;\n    }\n  }, {\n    key: \"abort\",\n    value: function abort(reason) {\n      this.aborted = true;\n\n      if (this.pdfNetworkStream) {\n        this.pdfNetworkStream.cancelAllRequests(reason);\n      }\n\n      var _iterator6 = _createForOfIteratorHelper(this._promisesByRequest.values()),\n          _step6;\n\n      try {\n        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n          var capability = _step6.value;\n          capability.reject(reason);\n        }\n      } catch (err) {\n        _iterator6.e(err);\n      } finally {\n        _iterator6.f();\n      }\n    }\n  }]);\n\n  return ChunkedStreamManager;\n}();\n\nexports.ChunkedStreamManager = ChunkedStreamManager;\n\n/***/ }),\n/* 138 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.collectActions = collectActions;\nexports.escapePDFName = escapePDFName;\nexports.getArrayLookupTableFactory = getArrayLookupTableFactory;\nexports.getInheritableProperty = getInheritableProperty;\nexports.getLookupTableFactory = getLookupTableFactory;\nexports.isWhiteSpace = isWhiteSpace;\nexports.log2 = log2;\nexports.parseXFAPath = parseXFAPath;\nexports.readInt8 = readInt8;\nexports.readUint16 = readUint16;\nexports.readUint32 = readUint32;\nexports.toRomanNumerals = toRomanNumerals;\nexports.XRefParseException = exports.XRefEntryException = exports.MissingDataException = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction getLookupTableFactory(initializer) {\n  var lookup;\n  return function () {\n    if (initializer) {\n      lookup = Object.create(null);\n      initializer(lookup);\n      initializer = null;\n    }\n\n    return lookup;\n  };\n}\n\nfunction getArrayLookupTableFactory(initializer) {\n  var lookup;\n  return function () {\n    if (initializer) {\n      var arr = initializer();\n      initializer = null;\n      lookup = Object.create(null);\n\n      for (var i = 0, ii = arr.length; i < ii; i += 2) {\n        lookup[arr[i]] = arr[i + 1];\n      }\n\n      arr = null;\n    }\n\n    return lookup;\n  };\n}\n\nvar MissingDataException = /*#__PURE__*/function (_BaseException) {\n  _inherits(MissingDataException, _BaseException);\n\n  var _super = _createSuper(MissingDataException);\n\n  function MissingDataException(begin, end) {\n    var _this;\n\n    _classCallCheck(this, MissingDataException);\n\n    _this = _super.call(this, \"Missing data [\".concat(begin, \", \").concat(end, \")\"));\n    _this.begin = begin;\n    _this.end = end;\n    return _this;\n  }\n\n  return MissingDataException;\n}(_util.BaseException);\n\nexports.MissingDataException = MissingDataException;\n\nvar XRefEntryException = /*#__PURE__*/function (_BaseException2) {\n  _inherits(XRefEntryException, _BaseException2);\n\n  var _super2 = _createSuper(XRefEntryException);\n\n  function XRefEntryException() {\n    _classCallCheck(this, XRefEntryException);\n\n    return _super2.apply(this, arguments);\n  }\n\n  return XRefEntryException;\n}(_util.BaseException);\n\nexports.XRefEntryException = XRefEntryException;\n\nvar XRefParseException = /*#__PURE__*/function (_BaseException3) {\n  _inherits(XRefParseException, _BaseException3);\n\n  var _super3 = _createSuper(XRefParseException);\n\n  function XRefParseException() {\n    _classCallCheck(this, XRefParseException);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return XRefParseException;\n}(_util.BaseException);\n\nexports.XRefParseException = XRefParseException;\n\nfunction getInheritableProperty(_ref) {\n  var dict = _ref.dict,\n      key = _ref.key,\n      _ref$getArray = _ref.getArray,\n      getArray = _ref$getArray === void 0 ? false : _ref$getArray,\n      _ref$stopWhenFound = _ref.stopWhenFound,\n      stopWhenFound = _ref$stopWhenFound === void 0 ? true : _ref$stopWhenFound;\n  var LOOP_LIMIT = 100;\n  var loopCount = 0;\n  var values;\n\n  while (dict) {\n    var value = getArray ? dict.getArray(key) : dict.get(key);\n\n    if (value !== undefined) {\n      if (stopWhenFound) {\n        return value;\n      }\n\n      if (!values) {\n        values = [];\n      }\n\n      values.push(value);\n    }\n\n    if (++loopCount > LOOP_LIMIT) {\n      (0, _util.warn)(\"getInheritableProperty: maximum loop count exceeded for \\\"\".concat(key, \"\\\"\"));\n      break;\n    }\n\n    dict = dict.get(\"Parent\");\n  }\n\n  return values;\n}\n\nvar ROMAN_NUMBER_MAP = [\"\", \"C\", \"CC\", \"CCC\", \"CD\", \"D\", \"DC\", \"DCC\", \"DCCC\", \"CM\", \"\", \"X\", \"XX\", \"XXX\", \"XL\", \"L\", \"LX\", \"LXX\", \"LXXX\", \"XC\", \"\", \"I\", \"II\", \"III\", \"IV\", \"V\", \"VI\", \"VII\", \"VIII\", \"IX\"];\n\nfunction toRomanNumerals(number) {\n  var lowerCase = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n  (0, _util.assert)(Number.isInteger(number) && number > 0, \"The number should be a positive integer.\");\n  var romanBuf = [];\n  var pos;\n\n  while (number >= 1000) {\n    number -= 1000;\n    romanBuf.push(\"M\");\n  }\n\n  pos = number / 100 | 0;\n  number %= 100;\n  romanBuf.push(ROMAN_NUMBER_MAP[pos]);\n  pos = number / 10 | 0;\n  number %= 10;\n  romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]);\n  romanBuf.push(ROMAN_NUMBER_MAP[20 + number]);\n  var romanStr = romanBuf.join(\"\");\n  return lowerCase ? romanStr.toLowerCase() : romanStr;\n}\n\nfunction log2(x) {\n  if (x <= 0) {\n    return 0;\n  }\n\n  return Math.ceil(Math.log2(x));\n}\n\nfunction readInt8(data, offset) {\n  return data[offset] << 24 >> 24;\n}\n\nfunction readUint16(data, offset) {\n  return data[offset] << 8 | data[offset + 1];\n}\n\nfunction readUint32(data, offset) {\n  return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0;\n}\n\nfunction isWhiteSpace(ch) {\n  return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n}\n\nfunction parseXFAPath(path) {\n  var positionPattern = /(.+)\\[([0-9]+)\\]$/;\n  return path.split(\".\").map(function (component) {\n    var m = component.match(positionPattern);\n\n    if (m) {\n      return {\n        name: m[1],\n        pos: parseInt(m[2], 10)\n      };\n    }\n\n    return {\n      name: component,\n      pos: 0\n    };\n  });\n}\n\nfunction escapePDFName(str) {\n  var buffer = [];\n  var start = 0;\n\n  for (var i = 0, ii = str.length; i < ii; i++) {\n    var _char = str.charCodeAt(i);\n\n    if (_char < 0x21 || _char > 0x7e || _char === 0x23 || _char === 0x28 || _char === 0x29 || _char === 0x3c || _char === 0x3e || _char === 0x5b || _char === 0x5d || _char === 0x7b || _char === 0x7d || _char === 0x2f || _char === 0x25) {\n      if (start < i) {\n        buffer.push(str.substring(start, i));\n      }\n\n      buffer.push(\"#\".concat(_char.toString(16)));\n      start = i + 1;\n    }\n  }\n\n  if (buffer.length === 0) {\n    return str;\n  }\n\n  if (start < str.length) {\n    buffer.push(str.substring(start, str.length));\n  }\n\n  return buffer.join(\"\");\n}\n\nfunction _collectJS(entry, xref, list, parents) {\n  if (!entry) {\n    return;\n  }\n\n  var parent = null;\n\n  if ((0, _primitives.isRef)(entry)) {\n    if (parents.has(entry)) {\n      return;\n    }\n\n    parent = entry;\n    parents.put(parent);\n    entry = xref.fetch(entry);\n  }\n\n  if (Array.isArray(entry)) {\n    var _iterator = _createForOfIteratorHelper(entry),\n        _step;\n\n    try {\n      for (_iterator.s(); !(_step = _iterator.n()).done;) {\n        var element = _step.value;\n\n        _collectJS(element, xref, list, parents);\n      }\n    } catch (err) {\n      _iterator.e(err);\n    } finally {\n      _iterator.f();\n    }\n  } else if (entry instanceof _primitives.Dict) {\n    if ((0, _primitives.isName)(entry.get(\"S\"), \"JavaScript\") && entry.has(\"JS\")) {\n      var js = entry.get(\"JS\");\n      var code;\n\n      if ((0, _primitives.isStream)(js)) {\n        code = (0, _util.bytesToString)(js.getBytes());\n      } else {\n        code = js;\n      }\n\n      code = (0, _util.stringToPDFString)(code);\n\n      if (code) {\n        list.push(code);\n      }\n    }\n\n    _collectJS(entry.getRaw(\"Next\"), xref, list, parents);\n  }\n\n  if (parent) {\n    parents.remove(parent);\n  }\n}\n\nfunction collectActions(xref, dict, eventType) {\n  var actions = Object.create(null);\n\n  if (dict.has(\"AA\")) {\n    var additionalActions = dict.get(\"AA\");\n\n    var _iterator2 = _createForOfIteratorHelper(additionalActions.getKeys()),\n        _step2;\n\n    try {\n      for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n        var key = _step2.value;\n        var action = eventType[key];\n\n        if (!action) {\n          continue;\n        }\n\n        var actionDict = additionalActions.getRaw(key);\n        var parents = new _primitives.RefSet();\n        var list = [];\n\n        _collectJS(actionDict, xref, list, parents);\n\n        if (list.length > 0) {\n          actions[action] = list;\n        }\n      }\n    } catch (err) {\n      _iterator2.e(err);\n    } finally {\n      _iterator2.f();\n    }\n  }\n\n  if (dict.has(\"A\")) {\n    var _actionDict = dict.get(\"A\");\n\n    var _parents = new _primitives.RefSet();\n\n    var _list = [];\n\n    _collectJS(_actionDict, xref, _list, _parents);\n\n    if (_list.length > 0) {\n      actions.Action = _list;\n    }\n  }\n\n  return (0, _util.objectSize)(actions) > 0 ? actions : null;\n}\n\n/***/ }),\n/* 139 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PDFDocument = exports.Page = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _obj = __w_pdfjs_require__(140);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _annotation = __w_pdfjs_require__(155);\n\nvar _crypto = __w_pdfjs_require__(152);\n\nvar _parser = __w_pdfjs_require__(141);\n\nvar _operator_list = __w_pdfjs_require__(174);\n\nvar _evaluator = __w_pdfjs_require__(157);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DEFAULT_USER_UNIT = 1.0;\nvar LETTER_SIZE_MEDIABOX = [0, 0, 612, 792];\n\nfunction isAnnotationRenderable(annotation, intent) {\n  return intent === \"display\" && annotation.viewable || intent === \"print\" && annotation.printable;\n}\n\nvar Page = /*#__PURE__*/function () {\n  function Page(_ref) {\n    var pdfManager = _ref.pdfManager,\n        xref = _ref.xref,\n        pageIndex = _ref.pageIndex,\n        pageDict = _ref.pageDict,\n        ref = _ref.ref,\n        globalIdFactory = _ref.globalIdFactory,\n        fontCache = _ref.fontCache,\n        builtInCMapCache = _ref.builtInCMapCache,\n        globalImageCache = _ref.globalImageCache,\n        nonBlendModesSet = _ref.nonBlendModesSet;\n\n    _classCallCheck(this, Page);\n\n    this.pdfManager = pdfManager;\n    this.pageIndex = pageIndex;\n    this.pageDict = pageDict;\n    this.xref = xref;\n    this.ref = ref;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.globalImageCache = globalImageCache;\n    this.nonBlendModesSet = nonBlendModesSet;\n    this.evaluatorOptions = pdfManager.evaluatorOptions;\n    this.resourcesPromise = null;\n    var idCounters = {\n      obj: 0\n    };\n\n    this._localIdFactory = /*#__PURE__*/function (_globalIdFactory) {\n      _inherits(_class, _globalIdFactory);\n\n      var _super = _createSuper(_class);\n\n      function _class() {\n        _classCallCheck(this, _class);\n\n        return _super.apply(this, arguments);\n      }\n\n      _createClass(_class, null, [{\n        key: \"createObjId\",\n        value: function createObjId() {\n          return \"p\".concat(pageIndex, \"_\").concat(++idCounters.obj);\n        }\n      }]);\n\n      return _class;\n    }(globalIdFactory);\n  }\n\n  _createClass(Page, [{\n    key: \"_getInheritableProperty\",\n    value: function _getInheritableProperty(key) {\n      var getArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var value = (0, _core_utils.getInheritableProperty)({\n        dict: this.pageDict,\n        key: key,\n        getArray: getArray,\n        stopWhenFound: false\n      });\n\n      if (!Array.isArray(value)) {\n        return value;\n      }\n\n      if (value.length === 1 || !(0, _primitives.isDict)(value[0])) {\n        return value[0];\n      }\n\n      return _primitives.Dict.merge({\n        xref: this.xref,\n        dictArray: value\n      });\n    }\n  }, {\n    key: \"_getBoundingBox\",\n    value: function _getBoundingBox(name) {\n      var box = this._getInheritableProperty(name, true);\n\n      if (Array.isArray(box) && box.length === 4) {\n        if (box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n          return box;\n        }\n\n        (0, _util.warn)(\"Empty /\".concat(name, \" entry.\"));\n      }\n\n      return null;\n    }\n  }, {\n    key: \"getContentStream\",\n    value: function getContentStream() {\n      var content = this.content;\n      var stream;\n\n      if (Array.isArray(content)) {\n        var xref = this.xref;\n        var streams = [];\n\n        var _iterator = _createForOfIteratorHelper(content),\n            _step;\n\n        try {\n          for (_iterator.s(); !(_step = _iterator.n()).done;) {\n            var subStream = _step.value;\n            streams.push(xref.fetchIfRef(subStream));\n          }\n        } catch (err) {\n          _iterator.e(err);\n        } finally {\n          _iterator.f();\n        }\n\n        stream = new _stream.StreamsSequenceStream(streams);\n      } else if ((0, _primitives.isStream)(content)) {\n        stream = content;\n      } else {\n        stream = new _stream.NullStream();\n      }\n\n      return stream;\n    }\n  }, {\n    key: \"save\",\n    value: function save(handler, task, annotationStorage) {\n      var partialEvaluator = new _evaluator.PartialEvaluator({\n        xref: this.xref,\n        handler: handler,\n        pageIndex: this.pageIndex,\n        idFactory: this._localIdFactory,\n        fontCache: this.fontCache,\n        builtInCMapCache: this.builtInCMapCache,\n        globalImageCache: this.globalImageCache,\n        options: this.evaluatorOptions\n      });\n      return this._parsedAnnotations.then(function (annotations) {\n        var newRefsPromises = [];\n\n        var _iterator2 = _createForOfIteratorHelper(annotations),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var annotation = _step2.value;\n\n            if (!isAnnotationRenderable(annotation, \"print\")) {\n              continue;\n            }\n\n            newRefsPromises.push(annotation.save(partialEvaluator, task, annotationStorage)[\"catch\"](function (reason) {\n              (0, _util.warn)(\"save - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n              return null;\n            }));\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        return Promise.all(newRefsPromises);\n      });\n    }\n  }, {\n    key: \"loadResources\",\n    value: function loadResources(keys) {\n      var _this = this;\n\n      if (!this.resourcesPromise) {\n        this.resourcesPromise = this.pdfManager.ensure(this, \"resources\");\n      }\n\n      return this.resourcesPromise.then(function () {\n        var objectLoader = new _obj.ObjectLoader(_this.resources, keys, _this.xref);\n        return objectLoader.load();\n      });\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(_ref2) {\n      var _this2 = this;\n\n      var handler = _ref2.handler,\n          sink = _ref2.sink,\n          task = _ref2.task,\n          intent = _ref2.intent,\n          renderInteractiveForms = _ref2.renderInteractiveForms,\n          annotationStorage = _ref2.annotationStorage;\n      var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n      var partialEvaluator = new _evaluator.PartialEvaluator({\n        xref: this.xref,\n        handler: handler,\n        pageIndex: this.pageIndex,\n        idFactory: this._localIdFactory,\n        fontCache: this.fontCache,\n        builtInCMapCache: this.builtInCMapCache,\n        globalImageCache: this.globalImageCache,\n        options: this.evaluatorOptions\n      });\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      var pageListPromise = dataPromises.then(function (_ref3) {\n        var _ref4 = _slicedToArray(_ref3, 1),\n            contentStream = _ref4[0];\n\n        var opList = new _operator_list.OperatorList(intent, sink);\n        handler.send(\"StartRenderPage\", {\n          transparency: partialEvaluator.hasBlendModes(_this2.resources, _this2.nonBlendModesSet),\n          pageIndex: _this2.pageIndex,\n          intent: intent\n        });\n        return partialEvaluator.getOperatorList({\n          stream: contentStream,\n          task: task,\n          resources: _this2.resources,\n          operatorList: opList\n        }).then(function () {\n          return opList;\n        });\n      });\n      return Promise.all([pageListPromise, this._parsedAnnotations]).then(function (_ref5) {\n        var _ref6 = _slicedToArray(_ref5, 2),\n            pageOpList = _ref6[0],\n            annotations = _ref6[1];\n\n        if (annotations.length === 0) {\n          pageOpList.flush(true);\n          return {\n            length: pageOpList.totalLength\n          };\n        }\n\n        var opListPromises = [];\n\n        var _iterator3 = _createForOfIteratorHelper(annotations),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var annotation = _step3.value;\n\n            if (isAnnotationRenderable(annotation, intent) && !annotation.isHidden(annotationStorage)) {\n              opListPromises.push(annotation.getOperatorList(partialEvaluator, task, renderInteractiveForms, annotationStorage)[\"catch\"](function (reason) {\n                (0, _util.warn)(\"getOperatorList - ignoring annotation data during \" + \"\\\"\".concat(task.name, \"\\\" task: \\\"\").concat(reason, \"\\\".\"));\n                return null;\n              }));\n            }\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n\n        return Promise.all(opListPromises).then(function (opLists) {\n          pageOpList.addOp(_util.OPS.beginAnnotations, []);\n\n          var _iterator4 = _createForOfIteratorHelper(opLists),\n              _step4;\n\n          try {\n            for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n              var opList = _step4.value;\n              pageOpList.addOpList(opList);\n            }\n          } catch (err) {\n            _iterator4.e(err);\n          } finally {\n            _iterator4.f();\n          }\n\n          pageOpList.addOp(_util.OPS.endAnnotations, []);\n          pageOpList.flush(true);\n          return {\n            length: pageOpList.totalLength\n          };\n        });\n      });\n    }\n  }, {\n    key: \"extractTextContent\",\n    value: function extractTextContent(_ref7) {\n      var _this3 = this;\n\n      var handler = _ref7.handler,\n          task = _ref7.task,\n          normalizeWhitespace = _ref7.normalizeWhitespace,\n          sink = _ref7.sink,\n          combineTextItems = _ref7.combineTextItems;\n      var contentStreamPromise = this.pdfManager.ensure(this, \"getContentStream\");\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"XObject\", \"Font\"]);\n      var dataPromises = Promise.all([contentStreamPromise, resourcesPromise]);\n      return dataPromises.then(function (_ref8) {\n        var _ref9 = _slicedToArray(_ref8, 1),\n            contentStream = _ref9[0];\n\n        var partialEvaluator = new _evaluator.PartialEvaluator({\n          xref: _this3.xref,\n          handler: handler,\n          pageIndex: _this3.pageIndex,\n          idFactory: _this3._localIdFactory,\n          fontCache: _this3.fontCache,\n          builtInCMapCache: _this3.builtInCMapCache,\n          globalImageCache: _this3.globalImageCache,\n          options: _this3.evaluatorOptions\n        });\n        return partialEvaluator.getTextContent({\n          stream: contentStream,\n          task: task,\n          resources: _this3.resources,\n          normalizeWhitespace: normalizeWhitespace,\n          combineTextItems: combineTextItems,\n          sink: sink\n        });\n      });\n    }\n  }, {\n    key: \"getAnnotationsData\",\n    value: function getAnnotationsData(intent) {\n      return this._parsedAnnotations.then(function (annotations) {\n        var annotationsData = [];\n\n        for (var i = 0, ii = annotations.length; i < ii; i++) {\n          if (!intent || isAnnotationRenderable(annotations[i], intent)) {\n            annotationsData.push(annotations[i].data);\n          }\n        }\n\n        return annotationsData;\n      });\n    }\n  }, {\n    key: \"content\",\n    get: function get() {\n      return this.pageDict.get(\"Contents\");\n    }\n  }, {\n    key: \"resources\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"resources\", this._getInheritableProperty(\"Resources\") || _primitives.Dict.empty);\n    }\n  }, {\n    key: \"mediaBox\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"mediaBox\", this._getBoundingBox(\"MediaBox\") || LETTER_SIZE_MEDIABOX);\n    }\n  }, {\n    key: \"cropBox\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"cropBox\", this._getBoundingBox(\"CropBox\") || this.mediaBox);\n    }\n  }, {\n    key: \"userUnit\",\n    get: function get() {\n      var obj = this.pageDict.get(\"UserUnit\");\n\n      if (!(0, _util.isNum)(obj) || obj <= 0) {\n        obj = DEFAULT_USER_UNIT;\n      }\n\n      return (0, _util.shadow)(this, \"userUnit\", obj);\n    }\n  }, {\n    key: \"view\",\n    get: function get() {\n      var cropBox = this.cropBox,\n          mediaBox = this.mediaBox;\n      var view;\n\n      if (cropBox === mediaBox || (0, _util.isArrayEqual)(cropBox, mediaBox)) {\n        view = mediaBox;\n      } else {\n        var box = _util.Util.intersect(cropBox, mediaBox);\n\n        if (box && box[2] - box[0] !== 0 && box[3] - box[1] !== 0) {\n          view = box;\n        } else {\n          (0, _util.warn)(\"Empty /CropBox and /MediaBox intersection.\");\n        }\n      }\n\n      return (0, _util.shadow)(this, \"view\", view || mediaBox);\n    }\n  }, {\n    key: \"rotate\",\n    get: function get() {\n      var rotate = this._getInheritableProperty(\"Rotate\") || 0;\n\n      if (rotate % 90 !== 0) {\n        rotate = 0;\n      } else if (rotate >= 360) {\n        rotate = rotate % 360;\n      } else if (rotate < 0) {\n        rotate = (rotate % 360 + 360) % 360;\n      }\n\n      return (0, _util.shadow)(this, \"rotate\", rotate);\n    }\n  }, {\n    key: \"annotations\",\n    get: function get() {\n      var annots = this._getInheritableProperty(\"Annots\");\n\n      return (0, _util.shadow)(this, \"annotations\", Array.isArray(annots) ? annots : []);\n    }\n  }, {\n    key: \"_parsedAnnotations\",\n    get: function get() {\n      var _this4 = this;\n\n      var parsedAnnotations = this.pdfManager.ensure(this, \"annotations\").then(function () {\n        var annotationPromises = [];\n\n        var _iterator5 = _createForOfIteratorHelper(_this4.annotations),\n            _step5;\n\n        try {\n          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n            var annotationRef = _step5.value;\n            annotationPromises.push(_annotation.AnnotationFactory.create(_this4.xref, annotationRef, _this4.pdfManager, _this4._localIdFactory)[\"catch\"](function (reason) {\n              (0, _util.warn)(\"_parsedAnnotations: \\\"\".concat(reason, \"\\\".\"));\n              return null;\n            }));\n          }\n        } catch (err) {\n          _iterator5.e(err);\n        } finally {\n          _iterator5.f();\n        }\n\n        return Promise.all(annotationPromises).then(function (annotations) {\n          return annotations.filter(function (annotation) {\n            return !!annotation;\n          });\n        });\n      });\n      return (0, _util.shadow)(this, \"_parsedAnnotations\", parsedAnnotations);\n    }\n  }, {\n    key: \"jsActions\",\n    get: function get() {\n      var actions = (0, _core_utils.collectActions)(this.xref, this.pageDict, _util.PageActionEventType);\n      return (0, _util.shadow)(this, \"jsActions\", actions);\n    }\n  }]);\n\n  return Page;\n}();\n\nexports.Page = Page;\nvar PDF_HEADER_SIGNATURE = new Uint8Array([0x25, 0x50, 0x44, 0x46, 0x2d]);\nvar STARTXREF_SIGNATURE = new Uint8Array([0x73, 0x74, 0x61, 0x72, 0x74, 0x78, 0x72, 0x65, 0x66]);\nvar ENDOBJ_SIGNATURE = new Uint8Array([0x65, 0x6e, 0x64, 0x6f, 0x62, 0x6a]);\nvar FINGERPRINT_FIRST_BYTES = 1024;\nvar EMPTY_FINGERPRINT = \"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\";\nvar PDF_HEADER_VERSION_REGEXP = /^[1-9]\\.[0-9]$/;\n\nfunction find(stream, signature) {\n  var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1024;\n  var backwards = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n  var signatureLength = signature.length;\n  var scanBytes = stream.peekBytes(limit);\n  var scanLength = scanBytes.length - signatureLength;\n\n  if (scanLength <= 0) {\n    return false;\n  }\n\n  if (backwards) {\n    var signatureEnd = signatureLength - 1;\n    var pos = scanBytes.length - 1;\n\n    while (pos >= signatureEnd) {\n      var j = 0;\n\n      while (j < signatureLength && scanBytes[pos - j] === signature[signatureEnd - j]) {\n        j++;\n      }\n\n      if (j >= signatureLength) {\n        stream.pos += pos - signatureEnd;\n        return true;\n      }\n\n      pos--;\n    }\n  } else {\n    var _pos = 0;\n\n    while (_pos <= scanLength) {\n      var _j = 0;\n\n      while (_j < signatureLength && scanBytes[_pos + _j] === signature[_j]) {\n        _j++;\n      }\n\n      if (_j >= signatureLength) {\n        stream.pos += _pos;\n        return true;\n      }\n\n      _pos++;\n    }\n  }\n\n  return false;\n}\n\nvar PDFDocument = /*#__PURE__*/function () {\n  function PDFDocument(pdfManager, arg) {\n    _classCallCheck(this, PDFDocument);\n\n    var stream;\n\n    if ((0, _primitives.isStream)(arg)) {\n      stream = arg;\n    } else if ((0, _util.isArrayBuffer)(arg)) {\n      stream = new _stream.Stream(arg);\n    } else {\n      throw new Error(\"PDFDocument: Unknown argument type\");\n    }\n\n    if (stream.length <= 0) {\n      throw new _util.InvalidPDFException(\"The PDF file is empty, i.e. its size is zero bytes.\");\n    }\n\n    this.pdfManager = pdfManager;\n    this.stream = stream;\n    this.xref = new _obj.XRef(stream, pdfManager);\n    this._pagePromises = [];\n    this._version = null;\n    var idCounters = {\n      font: 0\n    };\n\n    this._globalIdFactory = /*#__PURE__*/function () {\n      function _class2() {\n        _classCallCheck(this, _class2);\n      }\n\n      _createClass(_class2, null, [{\n        key: \"getDocId\",\n        value: function getDocId() {\n          return \"g_\".concat(pdfManager.docId);\n        }\n      }, {\n        key: \"createFontId\",\n        value: function createFontId() {\n          return \"f\".concat(++idCounters.font);\n        }\n      }, {\n        key: \"createObjId\",\n        value: function createObjId() {\n          (0, _util.unreachable)(\"Abstract method `createObjId` called.\");\n        }\n      }]);\n\n      return _class2;\n    }();\n  }\n\n  _createClass(PDFDocument, [{\n    key: \"parse\",\n    value: function parse(recoveryMode) {\n      this.xref.parse(recoveryMode);\n      this.catalog = new _obj.Catalog(this.pdfManager, this.xref);\n\n      if (this.catalog.version) {\n        this._version = this.catalog.version;\n      }\n    }\n  }, {\n    key: \"checkHeader\",\n    value: function checkHeader() {\n      var stream = this.stream;\n      stream.reset();\n\n      if (!find(stream, PDF_HEADER_SIGNATURE)) {\n        return;\n      }\n\n      stream.moveStart();\n      var MAX_PDF_VERSION_LENGTH = 12;\n      var version = \"\",\n          ch;\n\n      while ((ch = stream.getByte()) > 0x20) {\n        if (version.length >= MAX_PDF_VERSION_LENGTH) {\n          break;\n        }\n\n        version += String.fromCharCode(ch);\n      }\n\n      if (!this._version) {\n        this._version = version.substring(5);\n      }\n    }\n  }, {\n    key: \"parseStartXRef\",\n    value: function parseStartXRef() {\n      this.xref.setStartXRef(this.startXRef);\n    }\n  }, {\n    key: \"_hasOnlyDocumentSignatures\",\n    value: function _hasOnlyDocumentSignatures(fields) {\n      var _this5 = this;\n\n      var recursionDepth = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n      var RECURSION_LIMIT = 10;\n\n      if (!Array.isArray(fields)) {\n        return false;\n      }\n\n      return fields.every(function (field) {\n        field = _this5.xref.fetchIfRef(field);\n\n        if (!(field instanceof _primitives.Dict)) {\n          return false;\n        }\n\n        if (field.has(\"Kids\")) {\n          if (++recursionDepth > RECURSION_LIMIT) {\n            (0, _util.warn)(\"_hasOnlyDocumentSignatures: maximum recursion depth reached\");\n            return false;\n          }\n\n          return _this5._hasOnlyDocumentSignatures(field.get(\"Kids\"), recursionDepth);\n        }\n\n        var isSignature = (0, _primitives.isName)(field.get(\"FT\"), \"Sig\");\n        var rectangle = field.get(\"Rect\");\n        var isInvisible = Array.isArray(rectangle) && rectangle.every(function (value) {\n          return value === 0;\n        });\n        return isSignature && isInvisible;\n      });\n    }\n  }, {\n    key: \"_getLinearizationPage\",\n    value: function _getLinearizationPage(pageIndex) {\n      var catalog = this.catalog,\n          linearization = this.linearization;\n\n      var ref = _primitives.Ref.get(linearization.objectNumberFirst, 0);\n\n      return this.xref.fetchAsync(ref).then(function (obj) {\n        if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Type\") && obj.has(\"Contents\")) {\n          if (ref && !catalog.pageKidsCountCache.has(ref)) {\n            catalog.pageKidsCountCache.put(ref, 1);\n          }\n\n          return [obj, ref];\n        }\n\n        throw new _util.FormatError(\"The Linearization dictionary doesn't point \" + \"to a valid Page dictionary.\");\n      })[\"catch\"](function (reason) {\n        (0, _util.info)(reason);\n        return catalog.getPageDict(pageIndex);\n      });\n    }\n  }, {\n    key: \"getPage\",\n    value: function getPage(pageIndex) {\n      var _this6 = this;\n\n      if (this._pagePromises[pageIndex] !== undefined) {\n        return this._pagePromises[pageIndex];\n      }\n\n      var catalog = this.catalog,\n          linearization = this.linearization;\n      var promise = linearization && linearization.pageFirst === pageIndex ? this._getLinearizationPage(pageIndex) : catalog.getPageDict(pageIndex);\n      return this._pagePromises[pageIndex] = promise.then(function (_ref10) {\n        var _ref11 = _slicedToArray(_ref10, 2),\n            pageDict = _ref11[0],\n            ref = _ref11[1];\n\n        return new Page({\n          pdfManager: _this6.pdfManager,\n          xref: _this6.xref,\n          pageIndex: pageIndex,\n          pageDict: pageDict,\n          ref: ref,\n          globalIdFactory: _this6._globalIdFactory,\n          fontCache: catalog.fontCache,\n          builtInCMapCache: catalog.builtInCMapCache,\n          globalImageCache: catalog.globalImageCache,\n          nonBlendModesSet: catalog.nonBlendModesSet\n        });\n      });\n    }\n  }, {\n    key: \"checkFirstPage\",\n    value: function checkFirstPage() {\n      var _this7 = this;\n\n      return this.getPage(0)[\"catch\"]( /*#__PURE__*/function () {\n        var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(reason) {\n          return _regenerator[\"default\"].wrap(function _callee$(_context) {\n            while (1) {\n              switch (_context.prev = _context.next) {\n                case 0:\n                  if (!(reason instanceof _core_utils.XRefEntryException)) {\n                    _context.next = 5;\n                    break;\n                  }\n\n                  _this7._pagePromises.length = 0;\n                  _context.next = 4;\n                  return _this7.cleanup();\n\n                case 4:\n                  throw new _core_utils.XRefParseException();\n\n                case 5:\n                case \"end\":\n                  return _context.stop();\n              }\n            }\n          }, _callee);\n        }));\n\n        return function (_x) {\n          return _ref12.apply(this, arguments);\n        };\n      }());\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      return this.catalog.fontFallback(id, handler);\n    }\n  }, {\n    key: \"cleanup\",\n    value: function () {\n      var _cleanup = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        var manuallyTriggered,\n            _args2 = arguments;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                manuallyTriggered = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : false;\n                return _context2.abrupt(\"return\", this.catalog ? this.catalog.cleanup(manuallyTriggered) : (0, _primitives.clearPrimitiveCaches)());\n\n              case 2:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function cleanup() {\n        return _cleanup.apply(this, arguments);\n      }\n\n      return cleanup;\n    }()\n  }, {\n    key: \"_collectFieldObjects\",\n    value: function _collectFieldObjects(name, fieldRef, promises) {\n      var field = this.xref.fetchIfRef(fieldRef);\n\n      if (field.has(\"T\")) {\n        var partName = (0, _util.stringToPDFString)(field.get(\"T\"));\n\n        if (name === \"\") {\n          name = partName;\n        } else {\n          name = \"\".concat(name, \".\").concat(partName);\n        }\n      }\n\n      if (!promises.has(name)) {\n        promises.set(name, []);\n      }\n\n      promises.get(name).push(_annotation.AnnotationFactory.create(this.xref, fieldRef, this.pdfManager, this._localIdFactory).then(function (annotation) {\n        return annotation && annotation.getFieldObject();\n      })[\"catch\"](function (reason) {\n        (0, _util.warn)(\"_collectFieldObjects: \\\"\".concat(reason, \"\\\".\"));\n        return null;\n      }));\n\n      if (field.has(\"Kids\")) {\n        var kids = field.get(\"Kids\");\n\n        var _iterator6 = _createForOfIteratorHelper(kids),\n            _step6;\n\n        try {\n          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n            var kid = _step6.value;\n\n            this._collectFieldObjects(name, kid, promises);\n          }\n        } catch (err) {\n          _iterator6.e(err);\n        } finally {\n          _iterator6.f();\n        }\n      }\n    }\n  }, {\n    key: \"linearization\",\n    get: function get() {\n      var linearization = null;\n\n      try {\n        linearization = _parser.Linearization.create(this.stream);\n      } catch (err) {\n        if (err instanceof _core_utils.MissingDataException) {\n          throw err;\n        }\n\n        (0, _util.info)(err);\n      }\n\n      return (0, _util.shadow)(this, \"linearization\", linearization);\n    }\n  }, {\n    key: \"startXRef\",\n    get: function get() {\n      var stream = this.stream;\n      var startXRef = 0;\n\n      if (this.linearization) {\n        stream.reset();\n\n        if (find(stream, ENDOBJ_SIGNATURE)) {\n          startXRef = stream.pos + 6 - stream.start;\n        }\n      } else {\n        var step = 1024;\n        var startXRefLength = STARTXREF_SIGNATURE.length;\n        var found = false,\n            pos = stream.end;\n\n        while (!found && pos > 0) {\n          pos -= step - startXRefLength;\n\n          if (pos < 0) {\n            pos = 0;\n          }\n\n          stream.pos = pos;\n          found = find(stream, STARTXREF_SIGNATURE, step, true);\n        }\n\n        if (found) {\n          stream.skip(9);\n          var ch;\n\n          do {\n            ch = stream.getByte();\n          } while ((0, _core_utils.isWhiteSpace)(ch));\n\n          var str = \"\";\n\n          while (ch >= 0x20 && ch <= 0x39) {\n            str += String.fromCharCode(ch);\n            ch = stream.getByte();\n          }\n\n          startXRef = parseInt(str, 10);\n\n          if (isNaN(startXRef)) {\n            startXRef = 0;\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"startXRef\", startXRef);\n    }\n  }, {\n    key: \"numPages\",\n    get: function get() {\n      var linearization = this.linearization;\n      var num = linearization ? linearization.numPages : this.catalog.numPages;\n      return (0, _util.shadow)(this, \"numPages\", num);\n    }\n  }, {\n    key: \"formInfo\",\n    get: function get() {\n      var formInfo = {\n        hasFields: false,\n        hasAcroForm: false,\n        hasXfa: false\n      };\n      var acroForm = this.catalog.acroForm;\n\n      if (!acroForm) {\n        return (0, _util.shadow)(this, \"formInfo\", formInfo);\n      }\n\n      try {\n        var fields = acroForm.get(\"Fields\");\n        var hasFields = Array.isArray(fields) && fields.length > 0;\n        formInfo.hasFields = hasFields;\n        var xfa = acroForm.get(\"XFA\");\n        formInfo.hasXfa = Array.isArray(xfa) && xfa.length > 0 || (0, _primitives.isStream)(xfa) && !xfa.isEmpty;\n        var sigFlags = acroForm.get(\"SigFlags\");\n\n        var hasOnlyDocumentSignatures = !!(sigFlags & 0x1) && this._hasOnlyDocumentSignatures(fields);\n\n        formInfo.hasAcroForm = hasFields && !hasOnlyDocumentSignatures;\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Cannot fetch form information: \\\"\".concat(ex, \"\\\".\"));\n      }\n\n      return (0, _util.shadow)(this, \"formInfo\", formInfo);\n    }\n  }, {\n    key: \"documentInfo\",\n    get: function get() {\n      var DocumentInfoValidators = {\n        Title: _util.isString,\n        Author: _util.isString,\n        Subject: _util.isString,\n        Keywords: _util.isString,\n        Creator: _util.isString,\n        Producer: _util.isString,\n        CreationDate: _util.isString,\n        ModDate: _util.isString,\n        Trapped: _primitives.isName\n      };\n      var version = this._version;\n\n      if (typeof version !== \"string\" || !PDF_HEADER_VERSION_REGEXP.test(version)) {\n        (0, _util.warn)(\"Invalid PDF header version number: \".concat(version));\n        version = null;\n      }\n\n      var docInfo = {\n        PDFFormatVersion: version,\n        IsLinearized: !!this.linearization,\n        IsAcroFormPresent: this.formInfo.hasAcroForm,\n        IsXFAPresent: this.formInfo.hasXfa,\n        IsCollectionPresent: !!this.catalog.collection\n      };\n      var infoDict;\n\n      try {\n        infoDict = this.xref.trailer.get(\"Info\");\n      } catch (err) {\n        if (err instanceof _core_utils.MissingDataException) {\n          throw err;\n        }\n\n        (0, _util.info)(\"The document information dictionary is invalid.\");\n      }\n\n      if ((0, _primitives.isDict)(infoDict)) {\n        var _iterator7 = _createForOfIteratorHelper(infoDict.getKeys()),\n            _step7;\n\n        try {\n          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n            var key = _step7.value;\n            var value = infoDict.get(key);\n\n            if (DocumentInfoValidators[key]) {\n              if (DocumentInfoValidators[key](value)) {\n                docInfo[key] = typeof value !== \"string\" ? value : (0, _util.stringToPDFString)(value);\n              } else {\n                (0, _util.info)(\"Bad value in document info for \\\"\".concat(key, \"\\\".\"));\n              }\n            } else if (typeof key === \"string\") {\n              var customValue = void 0;\n\n              if ((0, _util.isString)(value)) {\n                customValue = (0, _util.stringToPDFString)(value);\n              } else if ((0, _primitives.isName)(value) || (0, _util.isNum)(value) || (0, _util.isBool)(value)) {\n                customValue = value;\n              } else {\n                (0, _util.info)(\"Unsupported value in document info for (custom) \\\"\".concat(key, \"\\\".\"));\n                continue;\n              }\n\n              if (!docInfo.Custom) {\n                docInfo.Custom = Object.create(null);\n              }\n\n              docInfo.Custom[key] = customValue;\n            }\n          }\n        } catch (err) {\n          _iterator7.e(err);\n        } finally {\n          _iterator7.f();\n        }\n      }\n\n      return (0, _util.shadow)(this, \"documentInfo\", docInfo);\n    }\n  }, {\n    key: \"fingerprint\",\n    get: function get() {\n      var hash;\n      var idArray = this.xref.trailer.get(\"ID\");\n\n      if (Array.isArray(idArray) && idArray[0] && (0, _util.isString)(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) {\n        hash = (0, _util.stringToBytes)(idArray[0]);\n      } else {\n        hash = (0, _crypto.calculateMD5)(this.stream.getByteRange(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES);\n      }\n\n      var fingerprintBuf = [];\n\n      for (var i = 0, ii = hash.length; i < ii; i++) {\n        var hex = hash[i].toString(16);\n        fingerprintBuf.push(hex.padStart(2, \"0\"));\n      }\n\n      return (0, _util.shadow)(this, \"fingerprint\", fingerprintBuf.join(\"\"));\n    }\n  }, {\n    key: \"fieldObjects\",\n    get: function get() {\n      if (!this.formInfo.hasFields) {\n        return (0, _util.shadow)(this, \"fieldObjects\", Promise.resolve(null));\n      }\n\n      var allFields = Object.create(null);\n      var fieldPromises = new Map();\n\n      var _iterator8 = _createForOfIteratorHelper(this.catalog.acroForm.get(\"Fields\")),\n          _step8;\n\n      try {\n        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n          var fieldRef = _step8.value;\n\n          this._collectFieldObjects(\"\", fieldRef, fieldPromises);\n        }\n      } catch (err) {\n        _iterator8.e(err);\n      } finally {\n        _iterator8.f();\n      }\n\n      var allPromises = [];\n\n      var _iterator9 = _createForOfIteratorHelper(fieldPromises),\n          _step9;\n\n      try {\n        var _loop = function _loop() {\n          var _step9$value = _slicedToArray(_step9.value, 2),\n              name = _step9$value[0],\n              promises = _step9$value[1];\n\n          allPromises.push(Promise.all(promises).then(function (fields) {\n            fields = fields.filter(function (field) {\n              return !!field;\n            });\n\n            if (fields.length > 0) {\n              allFields[name] = fields;\n            }\n          }));\n        };\n\n        for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {\n          _loop();\n        }\n      } catch (err) {\n        _iterator9.e(err);\n      } finally {\n        _iterator9.f();\n      }\n\n      return (0, _util.shadow)(this, \"fieldObjects\", Promise.all(allPromises).then(function () {\n        return allFields;\n      }));\n    }\n  }, {\n    key: \"hasJSActions\",\n    get: function get() {\n      var _this8 = this;\n\n      return (0, _util.shadow)(this, \"hasJSActions\", this.fieldObjects.then(function (fieldObjects) {\n        return fieldObjects !== null && Object.values(fieldObjects).some(function (fieldObject) {\n          return fieldObject.some(function (object) {\n            return object.actions !== null;\n          });\n        }) || !!_this8.catalog.jsActions;\n      }));\n    }\n  }, {\n    key: \"calculationOrderIds\",\n    get: function get() {\n      var acroForm = this.catalog.acroForm;\n\n      if (!acroForm || !acroForm.has(\"CO\")) {\n        return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n      }\n\n      var calculationOrder = acroForm.get(\"CO\");\n\n      if (!Array.isArray(calculationOrder) || calculationOrder.length === 0) {\n        return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n      }\n\n      var ids = calculationOrder.filter(_primitives.isRef).map(function (ref) {\n        return ref.toString();\n      });\n\n      if (ids.length === 0) {\n        return (0, _util.shadow)(this, \"calculationOrderIds\", null);\n      }\n\n      return (0, _util.shadow)(this, \"calculationOrderIds\", ids);\n    }\n  }]);\n\n  return PDFDocument;\n}();\n\nexports.PDFDocument = PDFDocument;\n\n/***/ }),\n/* 140 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.XRef = exports.ObjectLoader = exports.FileSpec = exports.Catalog = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _parser = __w_pdfjs_require__(141);\n\nvar _crypto = __w_pdfjs_require__(152);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _image_utils = __w_pdfjs_require__(154);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction fetchDestination(dest) {\n  return (0, _primitives.isDict)(dest) ? dest.get(\"D\") : dest;\n}\n\nvar Catalog = /*#__PURE__*/function () {\n  function Catalog(pdfManager, xref) {\n    _classCallCheck(this, Catalog);\n\n    this.pdfManager = pdfManager;\n    this.xref = xref;\n    this._catDict = xref.getCatalogObj();\n\n    if (!(0, _primitives.isDict)(this._catDict)) {\n      throw new _util.FormatError(\"Catalog object is not a dictionary.\");\n    }\n\n    this.fontCache = new _primitives.RefSetCache();\n    this.builtInCMapCache = new Map();\n    this.globalImageCache = new _image_utils.GlobalImageCache();\n    this.pageKidsCountCache = new _primitives.RefSetCache();\n    this.nonBlendModesSet = new _primitives.RefSet();\n  }\n\n  _createClass(Catalog, [{\n    key: \"_readMarkInfo\",\n    value: function _readMarkInfo() {\n      var obj = this._catDict.get(\"MarkInfo\");\n\n      if (!(0, _primitives.isDict)(obj)) {\n        return null;\n      }\n\n      var markInfo = Object.assign(Object.create(null), {\n        Marked: false,\n        UserProperties: false,\n        Suspects: false\n      });\n\n      for (var key in markInfo) {\n        if (!obj.has(key)) {\n          continue;\n        }\n\n        var value = obj.get(key);\n\n        if (!(0, _util.isBool)(value)) {\n          continue;\n        }\n\n        markInfo[key] = value;\n      }\n\n      return markInfo;\n    }\n  }, {\n    key: \"_readDocumentOutline\",\n    value: function _readDocumentOutline() {\n      var obj = this._catDict.get(\"Outlines\");\n\n      if (!(0, _primitives.isDict)(obj)) {\n        return null;\n      }\n\n      obj = obj.getRaw(\"First\");\n\n      if (!(0, _primitives.isRef)(obj)) {\n        return null;\n      }\n\n      var root = {\n        items: []\n      };\n      var queue = [{\n        obj: obj,\n        parent: root\n      }];\n      var processed = new _primitives.RefSet();\n      processed.put(obj);\n      var xref = this.xref,\n          blackColor = new Uint8ClampedArray(3);\n\n      while (queue.length > 0) {\n        var i = queue.shift();\n        var outlineDict = xref.fetchIfRef(i.obj);\n\n        if (outlineDict === null) {\n          continue;\n        }\n\n        if (!outlineDict.has(\"Title\")) {\n          throw new _util.FormatError(\"Invalid outline item encountered.\");\n        }\n\n        var data = {\n          url: null,\n          dest: null\n        };\n        Catalog.parseDestDictionary({\n          destDict: outlineDict,\n          resultObj: data,\n          docBaseUrl: this.pdfManager.docBaseUrl\n        });\n        var title = outlineDict.get(\"Title\");\n        var flags = outlineDict.get(\"F\") || 0;\n        var color = outlineDict.getArray(\"C\");\n        var count = outlineDict.get(\"Count\");\n        var rgbColor = blackColor;\n\n        if (Array.isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) {\n          rgbColor = _colorspace.ColorSpace.singletons.rgb.getRgb(color, 0);\n        }\n\n        var outlineItem = {\n          dest: data.dest,\n          url: data.url,\n          unsafeUrl: data.unsafeUrl,\n          newWindow: data.newWindow,\n          title: (0, _util.stringToPDFString)(title),\n          color: rgbColor,\n          count: Number.isInteger(count) ? count : undefined,\n          bold: !!(flags & 2),\n          italic: !!(flags & 1),\n          items: []\n        };\n        i.parent.items.push(outlineItem);\n        obj = outlineDict.getRaw(\"First\");\n\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: outlineItem\n          });\n          processed.put(obj);\n        }\n\n        obj = outlineDict.getRaw(\"Next\");\n\n        if ((0, _primitives.isRef)(obj) && !processed.has(obj)) {\n          queue.push({\n            obj: obj,\n            parent: i.parent\n          });\n          processed.put(obj);\n        }\n      }\n\n      return root.items.length > 0 ? root.items : null;\n    }\n  }, {\n    key: \"_readPermissions\",\n    value: function _readPermissions() {\n      var encrypt = this.xref.trailer.get(\"Encrypt\");\n\n      if (!(0, _primitives.isDict)(encrypt)) {\n        return null;\n      }\n\n      var flags = encrypt.get(\"P\");\n\n      if (!(0, _util.isNum)(flags)) {\n        return null;\n      }\n\n      flags += Math.pow(2, 32);\n      var permissions = [];\n\n      for (var key in _util.PermissionFlag) {\n        var value = _util.PermissionFlag[key];\n\n        if (flags & value) {\n          permissions.push(value);\n        }\n      }\n\n      return permissions;\n    }\n  }, {\n    key: \"_readOptionalContentConfig\",\n    value: function _readOptionalContentConfig(config, contentGroupRefs) {\n      function parseOnOff(refs) {\n        var onParsed = [];\n\n        if (Array.isArray(refs)) {\n          var _iterator = _createForOfIteratorHelper(refs),\n              _step;\n\n          try {\n            for (_iterator.s(); !(_step = _iterator.n()).done;) {\n              var value = _step.value;\n\n              if (!(0, _primitives.isRef)(value)) {\n                continue;\n              }\n\n              if (contentGroupRefs.includes(value)) {\n                onParsed.push(value.toString());\n              }\n            }\n          } catch (err) {\n            _iterator.e(err);\n          } finally {\n            _iterator.f();\n          }\n        }\n\n        return onParsed;\n      }\n\n      function parseOrder(refs) {\n        var nestedLevels = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n        if (!Array.isArray(refs)) {\n          return null;\n        }\n\n        var order = [];\n\n        var _iterator2 = _createForOfIteratorHelper(refs),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var value = _step2.value;\n\n            if ((0, _primitives.isRef)(value) && contentGroupRefs.includes(value)) {\n              parsedOrderRefs.put(value);\n              order.push(value.toString());\n              continue;\n            }\n\n            var nestedOrder = parseNestedOrder(value, nestedLevels);\n\n            if (nestedOrder) {\n              order.push(nestedOrder);\n            }\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        if (nestedLevels > 0) {\n          return order;\n        }\n\n        var hiddenGroups = [];\n\n        var _iterator3 = _createForOfIteratorHelper(contentGroupRefs),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var groupRef = _step3.value;\n\n            if (parsedOrderRefs.has(groupRef)) {\n              continue;\n            }\n\n            hiddenGroups.push(groupRef.toString());\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n\n        if (hiddenGroups.length) {\n          order.push({\n            name: null,\n            order: hiddenGroups\n          });\n        }\n\n        return order;\n      }\n\n      function parseNestedOrder(ref, nestedLevels) {\n        if (++nestedLevels > MAX_NESTED_LEVELS) {\n          (0, _util.warn)(\"parseNestedOrder - reached MAX_NESTED_LEVELS.\");\n          return null;\n        }\n\n        var value = xref.fetchIfRef(ref);\n\n        if (!Array.isArray(value)) {\n          return null;\n        }\n\n        var nestedName = xref.fetchIfRef(value[0]);\n\n        if (typeof nestedName !== \"string\") {\n          return null;\n        }\n\n        var nestedOrder = parseOrder(value.slice(1), nestedLevels);\n\n        if (!nestedOrder || !nestedOrder.length) {\n          return null;\n        }\n\n        return {\n          name: (0, _util.stringToPDFString)(nestedName),\n          order: nestedOrder\n        };\n      }\n\n      var xref = this.xref,\n          parsedOrderRefs = new _primitives.RefSet(),\n          MAX_NESTED_LEVELS = 10;\n      return {\n        name: (0, _util.isString)(config.get(\"Name\")) ? (0, _util.stringToPDFString)(config.get(\"Name\")) : null,\n        creator: (0, _util.isString)(config.get(\"Creator\")) ? (0, _util.stringToPDFString)(config.get(\"Creator\")) : null,\n        baseState: (0, _primitives.isName)(config.get(\"BaseState\")) ? config.get(\"BaseState\").name : null,\n        on: parseOnOff(config.get(\"ON\")),\n        off: parseOnOff(config.get(\"OFF\")),\n        order: parseOrder(config.get(\"Order\")),\n        groups: null\n      };\n    }\n  }, {\n    key: \"getDestination\",\n    value: function getDestination(destinationId) {\n      var obj = this._readDests();\n\n      if (obj instanceof NameTree || obj instanceof _primitives.Dict) {\n        return fetchDestination(obj.get(destinationId) || null);\n      }\n\n      return null;\n    }\n  }, {\n    key: \"_readDests\",\n    value: function _readDests() {\n      var obj = this._catDict.get(\"Names\");\n\n      if (obj && obj.has(\"Dests\")) {\n        return new NameTree(obj.getRaw(\"Dests\"), this.xref);\n      } else if (this._catDict.has(\"Dests\")) {\n        return this._catDict.get(\"Dests\");\n      }\n\n      return undefined;\n    }\n  }, {\n    key: \"_readPageLabels\",\n    value: function _readPageLabels() {\n      var obj = this._catDict.getRaw(\"PageLabels\");\n\n      if (!obj) {\n        return null;\n      }\n\n      var pageLabels = new Array(this.numPages);\n      var style = null,\n          prefix = \"\";\n      var numberTree = new NumberTree(obj, this.xref);\n      var nums = numberTree.getAll();\n      var currentLabel = \"\",\n          currentIndex = 1;\n\n      for (var i = 0, ii = this.numPages; i < ii; i++) {\n        if (i in nums) {\n          var labelDict = nums[i];\n\n          if (!(0, _primitives.isDict)(labelDict)) {\n            throw new _util.FormatError(\"PageLabel is not a dictionary.\");\n          }\n\n          if (labelDict.has(\"Type\") && !(0, _primitives.isName)(labelDict.get(\"Type\"), \"PageLabel\")) {\n            throw new _util.FormatError(\"Invalid type in PageLabel dictionary.\");\n          }\n\n          if (labelDict.has(\"S\")) {\n            var s = labelDict.get(\"S\");\n\n            if (!(0, _primitives.isName)(s)) {\n              throw new _util.FormatError(\"Invalid style in PageLabel dictionary.\");\n            }\n\n            style = s.name;\n          } else {\n            style = null;\n          }\n\n          if (labelDict.has(\"P\")) {\n            var p = labelDict.get(\"P\");\n\n            if (!(0, _util.isString)(p)) {\n              throw new _util.FormatError(\"Invalid prefix in PageLabel dictionary.\");\n            }\n\n            prefix = (0, _util.stringToPDFString)(p);\n          } else {\n            prefix = \"\";\n          }\n\n          if (labelDict.has(\"St\")) {\n            var st = labelDict.get(\"St\");\n\n            if (!(Number.isInteger(st) && st >= 1)) {\n              throw new _util.FormatError(\"Invalid start in PageLabel dictionary.\");\n            }\n\n            currentIndex = st;\n          } else {\n            currentIndex = 1;\n          }\n        }\n\n        switch (style) {\n          case \"D\":\n            currentLabel = currentIndex;\n            break;\n\n          case \"R\":\n          case \"r\":\n            currentLabel = (0, _core_utils.toRomanNumerals)(currentIndex, style === \"r\");\n            break;\n\n          case \"A\":\n          case \"a\":\n            var LIMIT = 26;\n            var A_UPPER_CASE = 0x41,\n                A_LOWER_CASE = 0x61;\n            var baseCharCode = style === \"a\" ? A_LOWER_CASE : A_UPPER_CASE;\n            var letterIndex = currentIndex - 1;\n            var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT);\n            var charBuf = [];\n\n            for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) {\n              charBuf.push(character);\n            }\n\n            currentLabel = charBuf.join(\"\");\n            break;\n\n          default:\n            if (style) {\n              throw new _util.FormatError(\"Invalid style \\\"\".concat(style, \"\\\" in PageLabel dictionary.\"));\n            }\n\n            currentLabel = \"\";\n        }\n\n        pageLabels[i] = prefix + currentLabel;\n        currentIndex++;\n      }\n\n      return pageLabels;\n    }\n  }, {\n    key: \"_collectJavaScript\",\n    value: function _collectJavaScript() {\n      var obj = this._catDict.get(\"Names\");\n\n      var javaScript = null;\n\n      function appendIfJavaScriptDict(name, jsDict) {\n        var type = jsDict.get(\"S\");\n\n        if (!(0, _primitives.isName)(type, \"JavaScript\")) {\n          return;\n        }\n\n        var js = jsDict.get(\"JS\");\n\n        if ((0, _primitives.isStream)(js)) {\n          js = (0, _util.bytesToString)(js.getBytes());\n        } else if (!(0, _util.isString)(js)) {\n          return;\n        }\n\n        if (javaScript === null) {\n          javaScript = Object.create(null);\n        }\n\n        javaScript[name] = (0, _util.stringToPDFString)(js);\n      }\n\n      if (obj && obj.has(\"JavaScript\")) {\n        var nameTree = new NameTree(obj.getRaw(\"JavaScript\"), this.xref);\n        var names = nameTree.getAll();\n\n        for (var name in names) {\n          var jsDict = names[name];\n\n          if ((0, _primitives.isDict)(jsDict)) {\n            appendIfJavaScriptDict(name, jsDict);\n          }\n        }\n      }\n\n      var openAction = this._catDict.get(\"OpenAction\");\n\n      if ((0, _primitives.isDict)(openAction) && (0, _primitives.isName)(openAction.get(\"S\"), \"JavaScript\")) {\n        appendIfJavaScriptDict(\"OpenAction\", openAction);\n      }\n\n      return javaScript;\n    }\n  }, {\n    key: \"fontFallback\",\n    value: function fontFallback(id, handler) {\n      var promises = [];\n      this.fontCache.forEach(function (promise) {\n        promises.push(promise);\n      });\n      return Promise.all(promises).then(function (translatedFonts) {\n        var _iterator4 = _createForOfIteratorHelper(translatedFonts),\n            _step4;\n\n        try {\n          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n            var translatedFont = _step4.value;\n\n            if (translatedFont.loadedName === id) {\n              translatedFont.fallback(handler);\n              return;\n            }\n          }\n        } catch (err) {\n          _iterator4.e(err);\n        } finally {\n          _iterator4.f();\n        }\n      });\n    }\n  }, {\n    key: \"cleanup\",\n    value: function cleanup() {\n      var _this = this;\n\n      var manuallyTriggered = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      (0, _primitives.clearPrimitiveCaches)();\n      this.globalImageCache.clear(manuallyTriggered);\n      this.pageKidsCountCache.clear();\n      this.nonBlendModesSet.clear();\n      var promises = [];\n      this.fontCache.forEach(function (promise) {\n        promises.push(promise);\n      });\n      return Promise.all(promises).then(function (translatedFonts) {\n        var _iterator5 = _createForOfIteratorHelper(translatedFonts),\n            _step5;\n\n        try {\n          for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n            var dict = _step5.value.dict;\n            delete dict.cacheKey;\n          }\n        } catch (err) {\n          _iterator5.e(err);\n        } finally {\n          _iterator5.f();\n        }\n\n        _this.fontCache.clear();\n\n        _this.builtInCMapCache.clear();\n      });\n    }\n  }, {\n    key: \"getPageDict\",\n    value: function getPageDict(pageIndex) {\n      var capability = (0, _util.createPromiseCapability)();\n      var nodesToVisit = [this._catDict.getRaw(\"Pages\")];\n      var visitedNodes = new _primitives.RefSet();\n      var xref = this.xref,\n          pageKidsCountCache = this.pageKidsCountCache;\n      var count,\n          currentPageIndex = 0;\n\n      function next() {\n        var _loop = function _loop() {\n          var currentNode = nodesToVisit.pop();\n\n          if ((0, _primitives.isRef)(currentNode)) {\n            count = pageKidsCountCache.get(currentNode);\n\n            if (count > 0 && currentPageIndex + count < pageIndex) {\n              currentPageIndex += count;\n              return \"continue\";\n            }\n\n            if (visitedNodes.has(currentNode)) {\n              capability.reject(new _util.FormatError(\"Pages tree contains circular reference.\"));\n              return {\n                v: void 0\n              };\n            }\n\n            visitedNodes.put(currentNode);\n            xref.fetchAsync(currentNode).then(function (obj) {\n              if ((0, _primitives.isDict)(obj, \"Page\") || (0, _primitives.isDict)(obj) && !obj.has(\"Kids\")) {\n                if (pageIndex === currentPageIndex) {\n                  if (currentNode && !pageKidsCountCache.has(currentNode)) {\n                    pageKidsCountCache.put(currentNode, 1);\n                  }\n\n                  capability.resolve([obj, currentNode]);\n                } else {\n                  currentPageIndex++;\n                  next();\n                }\n\n                return;\n              }\n\n              nodesToVisit.push(obj);\n              next();\n            }, capability.reject);\n            return {\n              v: void 0\n            };\n          }\n\n          if (!(0, _primitives.isDict)(currentNode)) {\n            capability.reject(new _util.FormatError(\"Page dictionary kid reference points to wrong type of object.\"));\n            return {\n              v: void 0\n            };\n          }\n\n          count = currentNode.get(\"Count\");\n\n          if (Number.isInteger(count) && count >= 0) {\n            var objId = currentNode.objId;\n\n            if (objId && !pageKidsCountCache.has(objId)) {\n              pageKidsCountCache.put(objId, count);\n            }\n\n            if (currentPageIndex + count <= pageIndex) {\n              currentPageIndex += count;\n              return \"continue\";\n            }\n          }\n\n          var kids = currentNode.get(\"Kids\");\n\n          if (!Array.isArray(kids)) {\n            if ((0, _primitives.isName)(currentNode.get(\"Type\"), \"Page\") || !currentNode.has(\"Type\") && currentNode.has(\"Contents\")) {\n              if (currentPageIndex === pageIndex) {\n                capability.resolve([currentNode, null]);\n                return {\n                  v: void 0\n                };\n              }\n\n              currentPageIndex++;\n              return \"continue\";\n            }\n\n            capability.reject(new _util.FormatError(\"Page dictionary kids object is not an array.\"));\n            return {\n              v: void 0\n            };\n          }\n\n          for (var last = kids.length - 1; last >= 0; last--) {\n            nodesToVisit.push(kids[last]);\n          }\n        };\n\n        while (nodesToVisit.length) {\n          var _ret = _loop();\n\n          if (_ret === \"continue\") continue;\n          if (_typeof(_ret) === \"object\") return _ret.v;\n        }\n\n        capability.reject(new Error(\"Page index \".concat(pageIndex, \" not found.\")));\n      }\n\n      next();\n      return capability.promise;\n    }\n  }, {\n    key: \"getPageIndex\",\n    value: function getPageIndex(pageRef) {\n      var xref = this.xref;\n\n      function pagesBeforeRef(kidRef) {\n        var total = 0,\n            parentRef;\n        return xref.fetchAsync(kidRef).then(function (node) {\n          if ((0, _primitives.isRefsEqual)(kidRef, pageRef) && !(0, _primitives.isDict)(node, \"Page\") && !((0, _primitives.isDict)(node) && !node.has(\"Type\") && node.has(\"Contents\"))) {\n            throw new _util.FormatError(\"The reference does not point to a /Page dictionary.\");\n          }\n\n          if (!node) {\n            return null;\n          }\n\n          if (!(0, _primitives.isDict)(node)) {\n            throw new _util.FormatError(\"Node must be a dictionary.\");\n          }\n\n          parentRef = node.getRaw(\"Parent\");\n          return node.getAsync(\"Parent\");\n        }).then(function (parent) {\n          if (!parent) {\n            return null;\n          }\n\n          if (!(0, _primitives.isDict)(parent)) {\n            throw new _util.FormatError(\"Parent must be a dictionary.\");\n          }\n\n          return parent.getAsync(\"Kids\");\n        }).then(function (kids) {\n          if (!kids) {\n            return null;\n          }\n\n          var kidPromises = [];\n          var found = false;\n\n          for (var i = 0, ii = kids.length; i < ii; i++) {\n            var kid = kids[i];\n\n            if (!(0, _primitives.isRef)(kid)) {\n              throw new _util.FormatError(\"Kid must be a reference.\");\n            }\n\n            if ((0, _primitives.isRefsEqual)(kid, kidRef)) {\n              found = true;\n              break;\n            }\n\n            kidPromises.push(xref.fetchAsync(kid).then(function (obj) {\n              if (!(0, _primitives.isDict)(obj)) {\n                throw new _util.FormatError(\"Kid node must be a dictionary.\");\n              }\n\n              if (obj.has(\"Count\")) {\n                total += obj.get(\"Count\");\n              } else {\n                total++;\n              }\n            }));\n          }\n\n          if (!found) {\n            throw new _util.FormatError(\"Kid reference not found in parent's kids.\");\n          }\n\n          return Promise.all(kidPromises).then(function () {\n            return [total, parentRef];\n          });\n        });\n      }\n\n      var total = 0;\n\n      function next(ref) {\n        return pagesBeforeRef(ref).then(function (args) {\n          if (!args) {\n            return total;\n          }\n\n          var _args = _slicedToArray(args, 2),\n              count = _args[0],\n              parentRef = _args[1];\n\n          total += count;\n          return next(parentRef);\n        });\n      }\n\n      return next(pageRef);\n    }\n  }, {\n    key: \"version\",\n    get: function get() {\n      var version = this._catDict.get(\"Version\");\n\n      if (!(0, _primitives.isName)(version)) {\n        return (0, _util.shadow)(this, \"version\", null);\n      }\n\n      return (0, _util.shadow)(this, \"version\", version.name);\n    }\n  }, {\n    key: \"collection\",\n    get: function get() {\n      var collection = null;\n\n      try {\n        var obj = this._catDict.get(\"Collection\");\n\n        if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n          collection = obj;\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.info)(\"Cannot fetch Collection entry; assuming no collection is present.\");\n      }\n\n      return (0, _util.shadow)(this, \"collection\", collection);\n    }\n  }, {\n    key: \"acroForm\",\n    get: function get() {\n      var acroForm = null;\n\n      try {\n        var obj = this._catDict.get(\"AcroForm\");\n\n        if ((0, _primitives.isDict)(obj) && obj.size > 0) {\n          acroForm = obj;\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.info)(\"Cannot fetch AcroForm entry; assuming no forms are present.\");\n      }\n\n      return (0, _util.shadow)(this, \"acroForm\", acroForm);\n    }\n  }, {\n    key: \"metadata\",\n    get: function get() {\n      var streamRef = this._catDict.getRaw(\"Metadata\");\n\n      if (!(0, _primitives.isRef)(streamRef)) {\n        return (0, _util.shadow)(this, \"metadata\", null);\n      }\n\n      var suppressEncryption = !(this.xref.encrypt && this.xref.encrypt.encryptMetadata);\n      var stream = this.xref.fetch(streamRef, suppressEncryption);\n      var metadata;\n\n      if (stream && (0, _primitives.isDict)(stream.dict)) {\n        var type = stream.dict.get(\"Type\");\n        var subtype = stream.dict.get(\"Subtype\");\n\n        if ((0, _primitives.isName)(type, \"Metadata\") && (0, _primitives.isName)(subtype, \"XML\")) {\n          try {\n            metadata = (0, _util.stringToUTF8String)((0, _util.bytesToString)(stream.getBytes()));\n          } catch (e) {\n            if (e instanceof _core_utils.MissingDataException) {\n              throw e;\n            }\n\n            (0, _util.info)(\"Skipping invalid metadata.\");\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"metadata\", metadata);\n    }\n  }, {\n    key: \"markInfo\",\n    get: function get() {\n      var markInfo = null;\n\n      try {\n        markInfo = this._readMarkInfo();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read mark info.\");\n      }\n\n      return (0, _util.shadow)(this, \"markInfo\", markInfo);\n    }\n  }, {\n    key: \"toplevelPagesDict\",\n    get: function get() {\n      var pagesObj = this._catDict.get(\"Pages\");\n\n      if (!(0, _primitives.isDict)(pagesObj)) {\n        throw new _util.FormatError(\"Invalid top-level pages dictionary.\");\n      }\n\n      return (0, _util.shadow)(this, \"toplevelPagesDict\", pagesObj);\n    }\n  }, {\n    key: \"documentOutline\",\n    get: function get() {\n      var obj = null;\n\n      try {\n        obj = this._readDocumentOutline();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read document outline.\");\n      }\n\n      return (0, _util.shadow)(this, \"documentOutline\", obj);\n    }\n  }, {\n    key: \"permissions\",\n    get: function get() {\n      var permissions = null;\n\n      try {\n        permissions = this._readPermissions();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read permissions.\");\n      }\n\n      return (0, _util.shadow)(this, \"permissions\", permissions);\n    }\n  }, {\n    key: \"optionalContentConfig\",\n    get: function get() {\n      var config = null;\n\n      try {\n        var properties = this._catDict.get(\"OCProperties\");\n\n        if (!properties) {\n          return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n        }\n\n        var defaultConfig = properties.get(\"D\");\n\n        if (!defaultConfig) {\n          return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n        }\n\n        var groupsData = properties.get(\"OCGs\");\n\n        if (!Array.isArray(groupsData)) {\n          return (0, _util.shadow)(this, \"optionalContentConfig\", null);\n        }\n\n        var groups = [];\n        var groupRefs = [];\n\n        var _iterator6 = _createForOfIteratorHelper(groupsData),\n            _step6;\n\n        try {\n          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n            var groupRef = _step6.value;\n\n            if (!(0, _primitives.isRef)(groupRef)) {\n              continue;\n            }\n\n            groupRefs.push(groupRef);\n            var group = this.xref.fetchIfRef(groupRef);\n            groups.push({\n              id: groupRef.toString(),\n              name: (0, _util.isString)(group.get(\"Name\")) ? (0, _util.stringToPDFString)(group.get(\"Name\")) : null,\n              intent: (0, _util.isString)(group.get(\"Intent\")) ? (0, _util.stringToPDFString)(group.get(\"Intent\")) : null\n            });\n          }\n        } catch (err) {\n          _iterator6.e(err);\n        } finally {\n          _iterator6.f();\n        }\n\n        config = this._readOptionalContentConfig(defaultConfig, groupRefs);\n        config.groups = groups;\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read optional content config: \".concat(ex));\n      }\n\n      return (0, _util.shadow)(this, \"optionalContentConfig\", config);\n    }\n  }, {\n    key: \"numPages\",\n    get: function get() {\n      var obj = this.toplevelPagesDict.get(\"Count\");\n\n      if (!Number.isInteger(obj)) {\n        throw new _util.FormatError(\"Page count in top-level pages dictionary is not an integer.\");\n      }\n\n      return (0, _util.shadow)(this, \"numPages\", obj);\n    }\n  }, {\n    key: \"destinations\",\n    get: function get() {\n      var obj = this._readDests(),\n          dests = Object.create(null);\n\n      if (obj instanceof NameTree) {\n        var names = obj.getAll();\n\n        for (var name in names) {\n          dests[name] = fetchDestination(names[name]);\n        }\n      } else if (obj instanceof _primitives.Dict) {\n        obj.forEach(function (key, value) {\n          if (value) {\n            dests[key] = fetchDestination(value);\n          }\n        });\n      }\n\n      return (0, _util.shadow)(this, \"destinations\", dests);\n    }\n  }, {\n    key: \"pageLabels\",\n    get: function get() {\n      var obj = null;\n\n      try {\n        obj = this._readPageLabels();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Unable to read page labels.\");\n      }\n\n      return (0, _util.shadow)(this, \"pageLabels\", obj);\n    }\n  }, {\n    key: \"pageLayout\",\n    get: function get() {\n      var obj = this._catDict.get(\"PageLayout\");\n\n      var pageLayout = \"\";\n\n      if ((0, _primitives.isName)(obj)) {\n        switch (obj.name) {\n          case \"SinglePage\":\n          case \"OneColumn\":\n          case \"TwoColumnLeft\":\n          case \"TwoColumnRight\":\n          case \"TwoPageLeft\":\n          case \"TwoPageRight\":\n            pageLayout = obj.name;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"pageLayout\", pageLayout);\n    }\n  }, {\n    key: \"pageMode\",\n    get: function get() {\n      var obj = this._catDict.get(\"PageMode\");\n\n      var pageMode = \"UseNone\";\n\n      if ((0, _primitives.isName)(obj)) {\n        switch (obj.name) {\n          case \"UseNone\":\n          case \"UseOutlines\":\n          case \"UseThumbs\":\n          case \"FullScreen\":\n          case \"UseOC\":\n          case \"UseAttachments\":\n            pageMode = obj.name;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"pageMode\", pageMode);\n    }\n  }, {\n    key: \"viewerPreferences\",\n    get: function get() {\n      var _this2 = this;\n\n      var ViewerPreferencesValidators = {\n        HideToolbar: _util.isBool,\n        HideMenubar: _util.isBool,\n        HideWindowUI: _util.isBool,\n        FitWindow: _util.isBool,\n        CenterWindow: _util.isBool,\n        DisplayDocTitle: _util.isBool,\n        NonFullScreenPageMode: _primitives.isName,\n        Direction: _primitives.isName,\n        ViewArea: _primitives.isName,\n        ViewClip: _primitives.isName,\n        PrintArea: _primitives.isName,\n        PrintClip: _primitives.isName,\n        PrintScaling: _primitives.isName,\n        Duplex: _primitives.isName,\n        PickTrayByPDFSize: _util.isBool,\n        PrintPageRange: Array.isArray,\n        NumCopies: Number.isInteger\n      };\n\n      var obj = this._catDict.get(\"ViewerPreferences\");\n\n      var prefs = null;\n\n      if ((0, _primitives.isDict)(obj)) {\n        for (var key in ViewerPreferencesValidators) {\n          if (!obj.has(key)) {\n            continue;\n          }\n\n          var value = obj.get(key);\n\n          if (!ViewerPreferencesValidators[key](value)) {\n            (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n            continue;\n          }\n\n          var prefValue = void 0;\n\n          switch (key) {\n            case \"NonFullScreenPageMode\":\n              switch (value.name) {\n                case \"UseNone\":\n                case \"UseOutlines\":\n                case \"UseThumbs\":\n                case \"UseOC\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"UseNone\";\n              }\n\n              break;\n\n            case \"Direction\":\n              switch (value.name) {\n                case \"L2R\":\n                case \"R2L\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"L2R\";\n              }\n\n              break;\n\n            case \"ViewArea\":\n            case \"ViewClip\":\n            case \"PrintArea\":\n            case \"PrintClip\":\n              switch (value.name) {\n                case \"MediaBox\":\n                case \"CropBox\":\n                case \"BleedBox\":\n                case \"TrimBox\":\n                case \"ArtBox\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"CropBox\";\n              }\n\n              break;\n\n            case \"PrintScaling\":\n              switch (value.name) {\n                case \"None\":\n                case \"AppDefault\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"AppDefault\";\n              }\n\n              break;\n\n            case \"Duplex\":\n              switch (value.name) {\n                case \"Simplex\":\n                case \"DuplexFlipShortEdge\":\n                case \"DuplexFlipLongEdge\":\n                  prefValue = value.name;\n                  break;\n\n                default:\n                  prefValue = \"None\";\n              }\n\n              break;\n\n            case \"PrintPageRange\":\n              var length = value.length;\n\n              if (length % 2 !== 0) {\n                break;\n              }\n\n              var isValid = value.every(function (page, i, arr) {\n                return Number.isInteger(page) && page > 0 && (i === 0 || page >= arr[i - 1]) && page <= _this2.numPages;\n              });\n\n              if (isValid) {\n                prefValue = value;\n              }\n\n              break;\n\n            case \"NumCopies\":\n              if (value > 0) {\n                prefValue = value;\n              }\n\n              break;\n\n            default:\n              if (typeof value !== \"boolean\") {\n                throw new _util.FormatError(\"viewerPreferences - expected a boolean value for: \".concat(key));\n              }\n\n              prefValue = value;\n          }\n\n          if (prefValue !== undefined) {\n            if (!prefs) {\n              prefs = Object.create(null);\n            }\n\n            prefs[key] = prefValue;\n          } else {\n            (0, _util.info)(\"Bad value in ViewerPreferences for \\\"\".concat(key, \"\\\".\"));\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"viewerPreferences\", prefs);\n    }\n  }, {\n    key: \"openAction\",\n    get: function get() {\n      var obj = this._catDict.get(\"OpenAction\");\n\n      var openAction = Object.create(null);\n\n      if ((0, _primitives.isDict)(obj)) {\n        var destDict = new _primitives.Dict(this.xref);\n        destDict.set(\"A\", obj);\n        var resultObj = {\n          url: null,\n          dest: null,\n          action: null\n        };\n        Catalog.parseDestDictionary({\n          destDict: destDict,\n          resultObj: resultObj\n        });\n\n        if (Array.isArray(resultObj.dest)) {\n          openAction.dest = resultObj.dest;\n        } else if (resultObj.action) {\n          openAction.action = resultObj.action;\n        }\n      } else if (Array.isArray(obj)) {\n        openAction.dest = obj;\n      }\n\n      return (0, _util.shadow)(this, \"openAction\", (0, _util.objectSize)(openAction) > 0 ? openAction : null);\n    }\n  }, {\n    key: \"attachments\",\n    get: function get() {\n      var obj = this._catDict.get(\"Names\");\n\n      var attachments = null;\n\n      if (obj && obj.has(\"EmbeddedFiles\")) {\n        var nameTree = new NameTree(obj.getRaw(\"EmbeddedFiles\"), this.xref);\n        var names = nameTree.getAll();\n\n        for (var name in names) {\n          var fs = new FileSpec(names[name], this.xref);\n\n          if (!attachments) {\n            attachments = Object.create(null);\n          }\n\n          attachments[(0, _util.stringToPDFString)(name)] = fs.serializable;\n        }\n      }\n\n      return (0, _util.shadow)(this, \"attachments\", attachments);\n    }\n  }, {\n    key: \"javaScript\",\n    get: function get() {\n      var javaScript = this._collectJavaScript();\n\n      return (0, _util.shadow)(this, \"javaScript\", javaScript ? Object.values(javaScript) : null);\n    }\n  }, {\n    key: \"jsActions\",\n    get: function get() {\n      var js = this._collectJavaScript();\n\n      var actions = (0, _core_utils.collectActions)(this.xref, this._catDict, _util.DocumentActionEventType);\n\n      if (!actions && js) {\n        actions = Object.create(null);\n      }\n\n      if (actions && js) {\n        for (var _i2 = 0, _Object$entries = Object.entries(js); _i2 < _Object$entries.length; _i2++) {\n          var _Object$entries$_i = _slicedToArray(_Object$entries[_i2], 2),\n              key = _Object$entries$_i[0],\n              val = _Object$entries$_i[1];\n\n          if (key in actions) {\n            actions[key].push(val);\n          } else {\n            actions[key] = [val];\n          }\n        }\n      }\n\n      return (0, _util.shadow)(this, \"jsActions\", actions);\n    }\n  }], [{\n    key: \"parseDestDictionary\",\n    value: function parseDestDictionary(params) {\n      function addDefaultProtocolToUrl(url) {\n        return url.startsWith(\"www.\") ? \"http://\".concat(url) : url;\n      }\n\n      function tryConvertUrlEncoding(url) {\n        try {\n          return (0, _util.stringToUTF8String)(url);\n        } catch (e) {\n          return url;\n        }\n      }\n\n      var destDict = params.destDict;\n\n      if (!(0, _primitives.isDict)(destDict)) {\n        (0, _util.warn)(\"parseDestDictionary: `destDict` must be a dictionary.\");\n        return;\n      }\n\n      var resultObj = params.resultObj;\n\n      if (_typeof(resultObj) !== \"object\") {\n        (0, _util.warn)(\"parseDestDictionary: `resultObj` must be an object.\");\n        return;\n      }\n\n      var docBaseUrl = params.docBaseUrl || null;\n      var action = destDict.get(\"A\"),\n          url,\n          dest;\n\n      if (!(0, _primitives.isDict)(action)) {\n        if (destDict.has(\"Dest\")) {\n          action = destDict.get(\"Dest\");\n        } else {\n          action = destDict.get(\"AA\");\n\n          if ((0, _primitives.isDict)(action)) {\n            if (action.has(\"D\")) {\n              action = action.get(\"D\");\n            } else if (action.has(\"U\")) {\n              action = action.get(\"U\");\n            }\n          }\n        }\n      }\n\n      if ((0, _primitives.isDict)(action)) {\n        var actionType = action.get(\"S\");\n\n        if (!(0, _primitives.isName)(actionType)) {\n          (0, _util.warn)(\"parseDestDictionary: Invalid type in Action dictionary.\");\n          return;\n        }\n\n        var actionName = actionType.name;\n\n        switch (actionName) {\n          case \"URI\":\n            url = action.get(\"URI\");\n\n            if ((0, _primitives.isName)(url)) {\n              url = \"/\" + url.name;\n            } else if ((0, _util.isString)(url)) {\n              url = addDefaultProtocolToUrl(url);\n            }\n\n            break;\n\n          case \"GoTo\":\n            dest = action.get(\"D\");\n            break;\n\n          case \"Launch\":\n          case \"GoToR\":\n            var urlDict = action.get(\"F\");\n\n            if ((0, _primitives.isDict)(urlDict)) {\n              url = urlDict.get(\"F\") || null;\n            } else if ((0, _util.isString)(urlDict)) {\n              url = urlDict;\n            }\n\n            var remoteDest = action.get(\"D\");\n\n            if (remoteDest) {\n              if ((0, _primitives.isName)(remoteDest)) {\n                remoteDest = remoteDest.name;\n              }\n\n              if ((0, _util.isString)(url)) {\n                var baseUrl = url.split(\"#\")[0];\n\n                if ((0, _util.isString)(remoteDest)) {\n                  url = baseUrl + \"#\" + remoteDest;\n                } else if (Array.isArray(remoteDest)) {\n                  url = baseUrl + \"#\" + JSON.stringify(remoteDest);\n                }\n              }\n            }\n\n            var newWindow = action.get(\"NewWindow\");\n\n            if ((0, _util.isBool)(newWindow)) {\n              resultObj.newWindow = newWindow;\n            }\n\n            break;\n\n          case \"Named\":\n            var namedAction = action.get(\"N\");\n\n            if ((0, _primitives.isName)(namedAction)) {\n              resultObj.action = namedAction.name;\n            }\n\n            break;\n\n          case \"JavaScript\":\n            var jsAction = action.get(\"JS\");\n            var js;\n\n            if ((0, _primitives.isStream)(jsAction)) {\n              js = (0, _util.bytesToString)(jsAction.getBytes());\n            } else if ((0, _util.isString)(jsAction)) {\n              js = jsAction;\n            }\n\n            if (js) {\n              var URL_OPEN_METHODS = [\"app.launchURL\", \"window.open\"];\n              var regex = new RegExp(\"^\\\\s*(\" + URL_OPEN_METHODS.join(\"|\").split(\".\").join(\"\\\\.\") + \")\\\\((?:'|\\\")([^'\\\"]*)(?:'|\\\")(?:,\\\\s*(\\\\w+)\\\\)|\\\\))\", \"i\");\n              var jsUrl = regex.exec((0, _util.stringToPDFString)(js));\n\n              if (jsUrl && jsUrl[2]) {\n                url = jsUrl[2];\n\n                if (jsUrl[3] === \"true\" && jsUrl[1] === \"app.launchURL\") {\n                  resultObj.newWindow = true;\n                }\n\n                break;\n              }\n            }\n\n          default:\n            (0, _util.warn)(\"parseDestDictionary: unsupported action type \\\"\".concat(actionName, \"\\\".\"));\n            break;\n        }\n      } else if (destDict.has(\"Dest\")) {\n        dest = destDict.get(\"Dest\");\n      }\n\n      if ((0, _util.isString)(url)) {\n        url = tryConvertUrlEncoding(url);\n        var absoluteUrl = (0, _util.createValidAbsoluteUrl)(url, docBaseUrl);\n\n        if (absoluteUrl) {\n          resultObj.url = absoluteUrl.href;\n        }\n\n        resultObj.unsafeUrl = url;\n      }\n\n      if (dest) {\n        if ((0, _primitives.isName)(dest)) {\n          dest = dest.name;\n        }\n\n        if ((0, _util.isString)(dest) || Array.isArray(dest)) {\n          resultObj.dest = dest;\n        }\n      }\n    }\n  }]);\n\n  return Catalog;\n}();\n\nexports.Catalog = Catalog;\n\nvar XRef = function XRefClosure() {\n  function XRef(stream, pdfManager) {\n    this.stream = stream;\n    this.pdfManager = pdfManager;\n    this.entries = [];\n    this.xrefstms = Object.create(null);\n    this._cacheMap = new Map();\n    this.stats = {\n      streamTypes: Object.create(null),\n      fontTypes: Object.create(null)\n    };\n    this._newRefNum = null;\n  }\n\n  XRef.prototype = {\n    getNewRef: function XRef_getNewRef() {\n      if (this._newRefNum === null) {\n        this._newRefNum = this.entries.length;\n      }\n\n      return _primitives.Ref.get(this._newRefNum++, 0);\n    },\n    resetNewRef: function XRef_resetNewRef() {\n      this._newRefNum = null;\n    },\n    setStartXRef: function XRef_setStartXRef(startXRef) {\n      this.startXRefQueue = [startXRef];\n    },\n    parse: function XRef_parse(recoveryMode) {\n      var trailerDict;\n\n      if (!recoveryMode) {\n        trailerDict = this.readXRef();\n      } else {\n        (0, _util.warn)(\"Indexing all PDF objects\");\n        trailerDict = this.indexObjects();\n      }\n\n      trailerDict.assignXref(this);\n      this.trailer = trailerDict;\n      var encrypt;\n\n      try {\n        encrypt = trailerDict.get(\"Encrypt\");\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"XRef.parse - Invalid \\\"Encrypt\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n      }\n\n      if ((0, _primitives.isDict)(encrypt)) {\n        var ids = trailerDict.get(\"ID\");\n        var fileId = ids && ids.length ? ids[0] : \"\";\n        encrypt.suppressEncryption = true;\n        this.encrypt = new _crypto.CipherTransformFactory(encrypt, fileId, this.pdfManager.password);\n      }\n\n      var root;\n\n      try {\n        root = trailerDict.get(\"Root\");\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"XRef.parse - Invalid \\\"Root\\\" reference: \\\"\".concat(ex, \"\\\".\"));\n      }\n\n      if ((0, _primitives.isDict)(root) && root.has(\"Pages\")) {\n        this.root = root;\n      } else {\n        if (!recoveryMode) {\n          throw new _core_utils.XRefParseException();\n        }\n\n        throw new _util.FormatError(\"Invalid root reference\");\n      }\n    },\n    processXRefTable: function XRef_processXRefTable(parser) {\n      if (!(\"tableState\" in this)) {\n        this.tableState = {\n          entryNum: 0,\n          streamPos: parser.lexer.stream.pos,\n          parserBuf1: parser.buf1,\n          parserBuf2: parser.buf2\n        };\n      }\n\n      var obj = this.readXRefTable(parser);\n\n      if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n        throw new _util.FormatError(\"Invalid XRef table: could not find trailer dictionary\");\n      }\n\n      var dict = parser.getObj();\n\n      if (!(0, _primitives.isDict)(dict) && dict.dict) {\n        dict = dict.dict;\n      }\n\n      if (!(0, _primitives.isDict)(dict)) {\n        throw new _util.FormatError(\"Invalid XRef table: could not parse trailer dictionary\");\n      }\n\n      delete this.tableState;\n      return dict;\n    },\n    readXRefTable: function XRef_readXRefTable(parser) {\n      var stream = parser.lexer.stream;\n      var tableState = this.tableState;\n      stream.pos = tableState.streamPos;\n      parser.buf1 = tableState.parserBuf1;\n      parser.buf2 = tableState.parserBuf2;\n      var obj;\n\n      while (true) {\n        if (!(\"firstEntryNum\" in tableState) || !(\"entryCount\" in tableState)) {\n          if ((0, _primitives.isCmd)(obj = parser.getObj(), \"trailer\")) {\n            break;\n          }\n\n          tableState.firstEntryNum = obj;\n          tableState.entryCount = parser.getObj();\n        }\n\n        var first = tableState.firstEntryNum;\n        var count = tableState.entryCount;\n\n        if (!Number.isInteger(first) || !Number.isInteger(count)) {\n          throw new _util.FormatError(\"Invalid XRef table: wrong types in subsection header\");\n        }\n\n        for (var i = tableState.entryNum; i < count; i++) {\n          tableState.streamPos = stream.pos;\n          tableState.entryNum = i;\n          tableState.parserBuf1 = parser.buf1;\n          tableState.parserBuf2 = parser.buf2;\n          var entry = {};\n          entry.offset = parser.getObj();\n          entry.gen = parser.getObj();\n          var type = parser.getObj();\n\n          if (type instanceof _primitives.Cmd) {\n            switch (type.cmd) {\n              case \"f\":\n                entry.free = true;\n                break;\n\n              case \"n\":\n                entry.uncompressed = true;\n                break;\n            }\n          }\n\n          if (!Number.isInteger(entry.offset) || !Number.isInteger(entry.gen) || !(entry.free || entry.uncompressed)) {\n            throw new _util.FormatError(\"Invalid entry in XRef subsection: \".concat(first, \", \").concat(count));\n          }\n\n          if (i === 0 && entry.free && first === 1) {\n            first = 0;\n          }\n\n          if (!this.entries[i + first]) {\n            this.entries[i + first] = entry;\n          }\n        }\n\n        tableState.entryNum = 0;\n        tableState.streamPos = stream.pos;\n        tableState.parserBuf1 = parser.buf1;\n        tableState.parserBuf2 = parser.buf2;\n        delete tableState.firstEntryNum;\n        delete tableState.entryCount;\n      }\n\n      if (this.entries[0] && !this.entries[0].free) {\n        throw new _util.FormatError(\"Invalid XRef table: unexpected first object\");\n      }\n\n      return obj;\n    },\n    processXRefStream: function XRef_processXRefStream(stream) {\n      if (!(\"streamState\" in this)) {\n        var streamParameters = stream.dict;\n        var byteWidths = streamParameters.get(\"W\");\n        var range = streamParameters.get(\"Index\");\n\n        if (!range) {\n          range = [0, streamParameters.get(\"Size\")];\n        }\n\n        this.streamState = {\n          entryRanges: range,\n          byteWidths: byteWidths,\n          entryNum: 0,\n          streamPos: stream.pos\n        };\n      }\n\n      this.readXRefStream(stream);\n      delete this.streamState;\n      return stream.dict;\n    },\n    readXRefStream: function XRef_readXRefStream(stream) {\n      var i, j;\n      var streamState = this.streamState;\n      stream.pos = streamState.streamPos;\n      var byteWidths = streamState.byteWidths;\n      var typeFieldWidth = byteWidths[0];\n      var offsetFieldWidth = byteWidths[1];\n      var generationFieldWidth = byteWidths[2];\n      var entryRanges = streamState.entryRanges;\n\n      while (entryRanges.length > 0) {\n        var first = entryRanges[0];\n        var n = entryRanges[1];\n\n        if (!Number.isInteger(first) || !Number.isInteger(n)) {\n          throw new _util.FormatError(\"Invalid XRef range fields: \".concat(first, \", \").concat(n));\n        }\n\n        if (!Number.isInteger(typeFieldWidth) || !Number.isInteger(offsetFieldWidth) || !Number.isInteger(generationFieldWidth)) {\n          throw new _util.FormatError(\"Invalid XRef entry fields length: \".concat(first, \", \").concat(n));\n        }\n\n        for (i = streamState.entryNum; i < n; ++i) {\n          streamState.entryNum = i;\n          streamState.streamPos = stream.pos;\n          var type = 0,\n              offset = 0,\n              generation = 0;\n\n          for (j = 0; j < typeFieldWidth; ++j) {\n            type = type << 8 | stream.getByte();\n          }\n\n          if (typeFieldWidth === 0) {\n            type = 1;\n          }\n\n          for (j = 0; j < offsetFieldWidth; ++j) {\n            offset = offset << 8 | stream.getByte();\n          }\n\n          for (j = 0; j < generationFieldWidth; ++j) {\n            generation = generation << 8 | stream.getByte();\n          }\n\n          var entry = {};\n          entry.offset = offset;\n          entry.gen = generation;\n\n          switch (type) {\n            case 0:\n              entry.free = true;\n              break;\n\n            case 1:\n              entry.uncompressed = true;\n              break;\n\n            case 2:\n              break;\n\n            default:\n              throw new _util.FormatError(\"Invalid XRef entry type: \".concat(type));\n          }\n\n          if (!this.entries[first + i]) {\n            this.entries[first + i] = entry;\n          }\n        }\n\n        streamState.entryNum = 0;\n        streamState.streamPos = stream.pos;\n        entryRanges.splice(0, 2);\n      }\n    },\n    indexObjects: function XRef_indexObjects() {\n      var TAB = 0x9,\n          LF = 0xa,\n          CR = 0xd,\n          SPACE = 0x20;\n      var PERCENT = 0x25,\n          LT = 0x3c;\n\n      function readToken(data, offset) {\n        var token = \"\",\n            ch = data[offset];\n\n        while (ch !== LF && ch !== CR && ch !== LT) {\n          if (++offset >= data.length) {\n            break;\n          }\n\n          token += String.fromCharCode(ch);\n          ch = data[offset];\n        }\n\n        return token;\n      }\n\n      function skipUntil(data, offset, what) {\n        var length = what.length,\n            dataLength = data.length;\n        var skipped = 0;\n\n        while (offset < dataLength) {\n          var i = 0;\n\n          while (i < length && data[offset + i] === what[i]) {\n            ++i;\n          }\n\n          if (i >= length) {\n            break;\n          }\n\n          offset++;\n          skipped++;\n        }\n\n        return skipped;\n      }\n\n      var objRegExp = /^(\\d+)\\s+(\\d+)\\s+obj\\b/;\n      var endobjRegExp = /\\bendobj[\\b\\s]$/;\n      var nestedObjRegExp = /\\s+(\\d+\\s+\\d+\\s+obj[\\b\\s<])$/;\n      var CHECK_CONTENT_LENGTH = 25;\n      var trailerBytes = new Uint8Array([116, 114, 97, 105, 108, 101, 114]);\n      var startxrefBytes = new Uint8Array([115, 116, 97, 114, 116, 120, 114, 101, 102]);\n      var objBytes = new Uint8Array([111, 98, 106]);\n      var xrefBytes = new Uint8Array([47, 88, 82, 101, 102]);\n      this.entries.length = 0;\n      var stream = this.stream;\n      stream.pos = 0;\n      var buffer = stream.getBytes();\n      var position = stream.start,\n          length = buffer.length;\n      var trailers = [],\n          xrefStms = [];\n\n      while (position < length) {\n        var ch = buffer[position];\n\n        if (ch === TAB || ch === LF || ch === CR || ch === SPACE) {\n          ++position;\n          continue;\n        }\n\n        if (ch === PERCENT) {\n          do {\n            ++position;\n\n            if (position >= length) {\n              break;\n            }\n\n            ch = buffer[position];\n          } while (ch !== LF && ch !== CR);\n\n          continue;\n        }\n\n        var token = readToken(buffer, position);\n        var m;\n\n        if (token.startsWith(\"xref\") && (token.length === 4 || /\\s/.test(token[4]))) {\n          position += skipUntil(buffer, position, trailerBytes);\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else if (m = objRegExp.exec(token)) {\n          var num = m[1] | 0,\n              gen = m[2] | 0;\n\n          if (!this.entries[num] || this.entries[num].gen === gen) {\n            this.entries[num] = {\n              offset: position - stream.start,\n              gen: gen,\n              uncompressed: true\n            };\n          }\n\n          var contentLength = void 0,\n              startPos = position + token.length;\n\n          while (startPos < buffer.length) {\n            var endPos = startPos + skipUntil(buffer, startPos, objBytes) + 4;\n            contentLength = endPos - position;\n            var checkPos = Math.max(endPos - CHECK_CONTENT_LENGTH, startPos);\n            var tokenStr = (0, _util.bytesToString)(buffer.subarray(checkPos, endPos));\n\n            if (endobjRegExp.test(tokenStr)) {\n              break;\n            } else {\n              var objToken = nestedObjRegExp.exec(tokenStr);\n\n              if (objToken && objToken[1]) {\n                (0, _util.warn)('indexObjects: Found new \"obj\" inside of another \"obj\", ' + 'caused by missing \"endobj\" -- trying to recover.');\n                contentLength -= objToken[1].length;\n                break;\n              }\n            }\n\n            startPos = endPos;\n          }\n\n          var content = buffer.subarray(position, position + contentLength);\n          var xrefTagOffset = skipUntil(content, 0, xrefBytes);\n\n          if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) {\n            xrefStms.push(position - stream.start);\n            this.xrefstms[position - stream.start] = 1;\n          }\n\n          position += contentLength;\n        } else if (token.startsWith(\"trailer\") && (token.length === 7 || /\\s/.test(token[7]))) {\n          trailers.push(position);\n          position += skipUntil(buffer, position, startxrefBytes);\n        } else {\n          position += token.length + 1;\n        }\n      }\n\n      for (var i = 0, ii = xrefStms.length; i < ii; ++i) {\n        this.startXRefQueue.push(xrefStms[i]);\n        this.readXRef(true);\n      }\n\n      var trailerDict;\n\n      for (var _i3 = 0, _ii = trailers.length; _i3 < _ii; ++_i3) {\n        stream.pos = trailers[_i3];\n        var parser = new _parser.Parser({\n          lexer: new _parser.Lexer(stream),\n          xref: this,\n          allowStreams: true,\n          recoveryMode: true\n        });\n        var obj = parser.getObj();\n\n        if (!(0, _primitives.isCmd)(obj, \"trailer\")) {\n          continue;\n        }\n\n        var dict = parser.getObj();\n\n        if (!(0, _primitives.isDict)(dict)) {\n          continue;\n        }\n\n        try {\n          var rootDict = dict.get(\"Root\");\n\n          if (!(rootDict instanceof _primitives.Dict)) {\n            continue;\n          }\n\n          var pagesDict = rootDict.get(\"Pages\");\n\n          if (!(pagesDict instanceof _primitives.Dict)) {\n            continue;\n          }\n\n          var pagesCount = pagesDict.get(\"Count\");\n\n          if (!Number.isInteger(pagesCount)) {\n            continue;\n          }\n        } catch (ex) {\n          if (ex instanceof _core_utils.MissingDataException) {\n            throw ex;\n          }\n\n          continue;\n        }\n\n        if (dict.has(\"ID\")) {\n          return dict;\n        }\n\n        trailerDict = dict;\n      }\n\n      if (trailerDict) {\n        return trailerDict;\n      }\n\n      throw new _util.InvalidPDFException(\"Invalid PDF structure.\");\n    },\n    readXRef: function XRef_readXRef(recoveryMode) {\n      var stream = this.stream;\n      var startXRefParsedCache = Object.create(null);\n\n      try {\n        while (this.startXRefQueue.length) {\n          var startXRef = this.startXRefQueue[0];\n\n          if (startXRefParsedCache[startXRef]) {\n            (0, _util.warn)(\"readXRef - skipping XRef table since it was already parsed.\");\n            this.startXRefQueue.shift();\n            continue;\n          }\n\n          startXRefParsedCache[startXRef] = true;\n          stream.pos = startXRef + stream.start;\n          var parser = new _parser.Parser({\n            lexer: new _parser.Lexer(stream),\n            xref: this,\n            allowStreams: true\n          });\n          var obj = parser.getObj();\n          var dict;\n\n          if ((0, _primitives.isCmd)(obj, \"xref\")) {\n            dict = this.processXRefTable(parser);\n\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n\n            obj = dict.get(\"XRefStm\");\n\n            if (Number.isInteger(obj)) {\n              var pos = obj;\n\n              if (!(pos in this.xrefstms)) {\n                this.xrefstms[pos] = 1;\n                this.startXRefQueue.push(pos);\n              }\n            }\n          } else if (Number.isInteger(obj)) {\n            if (!Number.isInteger(parser.getObj()) || !(0, _primitives.isCmd)(parser.getObj(), \"obj\") || !(0, _primitives.isStream)(obj = parser.getObj())) {\n              throw new _util.FormatError(\"Invalid XRef stream\");\n            }\n\n            dict = this.processXRefStream(obj);\n\n            if (!this.topDict) {\n              this.topDict = dict;\n            }\n\n            if (!dict) {\n              throw new _util.FormatError(\"Failed to read XRef stream\");\n            }\n          } else {\n            throw new _util.FormatError(\"Invalid XRef stream header\");\n          }\n\n          obj = dict.get(\"Prev\");\n\n          if (Number.isInteger(obj)) {\n            this.startXRefQueue.push(obj);\n          } else if ((0, _primitives.isRef)(obj)) {\n            this.startXRefQueue.push(obj.num);\n          }\n\n          this.startXRefQueue.shift();\n        }\n\n        return this.topDict;\n      } catch (e) {\n        if (e instanceof _core_utils.MissingDataException) {\n          throw e;\n        }\n\n        (0, _util.info)(\"(while reading XRef): \" + e);\n      }\n\n      if (recoveryMode) {\n        return undefined;\n      }\n\n      throw new _core_utils.XRefParseException();\n    },\n    getEntry: function XRef_getEntry(i) {\n      var xrefEntry = this.entries[i];\n\n      if (xrefEntry && !xrefEntry.free && xrefEntry.offset) {\n        return xrefEntry;\n      }\n\n      return null;\n    },\n    fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) {\n      if (obj instanceof _primitives.Ref) {\n        return this.fetch(obj, suppressEncryption);\n      }\n\n      return obj;\n    },\n    fetch: function XRef_fetch(ref, suppressEncryption) {\n      if (!(ref instanceof _primitives.Ref)) {\n        throw new Error(\"ref object is not a reference\");\n      }\n\n      var num = ref.num;\n\n      var cacheEntry = this._cacheMap.get(num);\n\n      if (cacheEntry !== undefined) {\n        if (cacheEntry instanceof _primitives.Dict && !cacheEntry.objId) {\n          cacheEntry.objId = ref.toString();\n        }\n\n        return cacheEntry;\n      }\n\n      var xrefEntry = this.getEntry(num);\n\n      if (xrefEntry === null) {\n        this._cacheMap.set(num, xrefEntry);\n\n        return xrefEntry;\n      }\n\n      if (xrefEntry.uncompressed) {\n        xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption);\n      } else {\n        xrefEntry = this.fetchCompressed(ref, xrefEntry, suppressEncryption);\n      }\n\n      if ((0, _primitives.isDict)(xrefEntry)) {\n        xrefEntry.objId = ref.toString();\n      } else if ((0, _primitives.isStream)(xrefEntry)) {\n        xrefEntry.dict.objId = ref.toString();\n      }\n\n      return xrefEntry;\n    },\n    fetchUncompressed: function fetchUncompressed(ref, xrefEntry) {\n      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var gen = ref.gen;\n      var num = ref.num;\n\n      if (xrefEntry.gen !== gen) {\n        throw new _core_utils.XRefEntryException(\"Inconsistent generation in XRef: \".concat(ref));\n      }\n\n      var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start);\n      var parser = new _parser.Parser({\n        lexer: new _parser.Lexer(stream),\n        xref: this,\n        allowStreams: true\n      });\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n\n      if (obj1 !== num || obj2 !== gen || !(obj3 instanceof _primitives.Cmd)) {\n        throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n      }\n\n      if (obj3.cmd !== \"obj\") {\n        if (obj3.cmd.startsWith(\"obj\")) {\n          num = parseInt(obj3.cmd.substring(3), 10);\n\n          if (!Number.isNaN(num)) {\n            return num;\n          }\n        }\n\n        throw new _core_utils.XRefEntryException(\"Bad (uncompressed) XRef entry: \".concat(ref));\n      }\n\n      if (this.encrypt && !suppressEncryption) {\n        xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen));\n      } else {\n        xrefEntry = parser.getObj();\n      }\n\n      if (!(0, _primitives.isStream)(xrefEntry)) {\n        this._cacheMap.set(num, xrefEntry);\n      }\n\n      return xrefEntry;\n    },\n    fetchCompressed: function fetchCompressed(ref, xrefEntry) {\n      var suppressEncryption = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var tableOffset = xrefEntry.offset;\n      var stream = this.fetch(_primitives.Ref.get(tableOffset, 0));\n\n      if (!(0, _primitives.isStream)(stream)) {\n        throw new _util.FormatError(\"bad ObjStm stream\");\n      }\n\n      var first = stream.dict.get(\"First\");\n      var n = stream.dict.get(\"N\");\n\n      if (!Number.isInteger(first) || !Number.isInteger(n)) {\n        throw new _util.FormatError(\"invalid first and n parameters for ObjStm stream\");\n      }\n\n      var parser = new _parser.Parser({\n        lexer: new _parser.Lexer(stream),\n        xref: this,\n        allowStreams: true\n      });\n      var nums = new Array(n);\n\n      for (var i = 0; i < n; ++i) {\n        var num = parser.getObj();\n\n        if (!Number.isInteger(num)) {\n          throw new _util.FormatError(\"invalid object number in the ObjStm stream: \".concat(num));\n        }\n\n        var offset = parser.getObj();\n\n        if (!Number.isInteger(offset)) {\n          throw new _util.FormatError(\"invalid object offset in the ObjStm stream: \".concat(offset));\n        }\n\n        nums[i] = num;\n      }\n\n      var entries = new Array(n);\n\n      for (var _i4 = 0; _i4 < n; ++_i4) {\n        var obj = parser.getObj();\n        entries[_i4] = obj;\n\n        if (parser.buf1 instanceof _primitives.Cmd && parser.buf1.cmd === \"endobj\") {\n          parser.shift();\n        }\n\n        if ((0, _primitives.isStream)(obj)) {\n          continue;\n        }\n\n        var _num = nums[_i4],\n            entry = this.entries[_num];\n\n        if (entry && entry.offset === tableOffset && entry.gen === _i4) {\n          this._cacheMap.set(_num, obj);\n        }\n      }\n\n      xrefEntry = entries[xrefEntry.gen];\n\n      if (xrefEntry === undefined) {\n        throw new _core_utils.XRefEntryException(\"Bad (compressed) XRef entry: \".concat(ref));\n      }\n\n      return xrefEntry;\n    },\n    fetchIfRefAsync: function fetchIfRefAsync(obj, suppressEncryption) {\n      var _this3 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                if (!(obj instanceof _primitives.Ref)) {\n                  _context.next = 2;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", _this3.fetchAsync(obj, suppressEncryption));\n\n              case 2:\n                return _context.abrupt(\"return\", obj);\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    },\n    fetchAsync: function fetchAsync(ref, suppressEncryption) {\n      var _this4 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.prev = 0;\n                return _context2.abrupt(\"return\", _this4.fetch(ref, suppressEncryption));\n\n              case 4:\n                _context2.prev = 4;\n                _context2.t0 = _context2[\"catch\"](0);\n\n                if (_context2.t0 instanceof _core_utils.MissingDataException) {\n                  _context2.next = 8;\n                  break;\n                }\n\n                throw _context2.t0;\n\n              case 8:\n                _context2.next = 10;\n                return _this4.pdfManager.requestRange(_context2.t0.begin, _context2.t0.end);\n\n              case 10:\n                return _context2.abrupt(\"return\", _this4.fetchAsync(ref, suppressEncryption));\n\n              case 11:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, null, [[0, 4]]);\n      }))();\n    },\n    getCatalogObj: function XRef_getCatalogObj() {\n      return this.root;\n    }\n  };\n  return XRef;\n}();\n\nexports.XRef = XRef;\n\nvar NameOrNumberTree = /*#__PURE__*/function () {\n  function NameOrNumberTree(root, xref, type) {\n    _classCallCheck(this, NameOrNumberTree);\n\n    if (this.constructor === NameOrNumberTree) {\n      (0, _util.unreachable)(\"Cannot initialize NameOrNumberTree.\");\n    }\n\n    this.root = root;\n    this.xref = xref;\n    this._type = type;\n  }\n\n  _createClass(NameOrNumberTree, [{\n    key: \"getAll\",\n    value: function getAll() {\n      var dict = Object.create(null);\n\n      if (!this.root) {\n        return dict;\n      }\n\n      var xref = this.xref;\n      var processed = new _primitives.RefSet();\n      processed.put(this.root);\n      var queue = [this.root];\n\n      while (queue.length > 0) {\n        var obj = xref.fetchIfRef(queue.shift());\n\n        if (!(0, _primitives.isDict)(obj)) {\n          continue;\n        }\n\n        if (obj.has(\"Kids\")) {\n          var kids = obj.get(\"Kids\");\n\n          for (var i = 0, ii = kids.length; i < ii; i++) {\n            var kid = kids[i];\n\n            if (processed.has(kid)) {\n              throw new _util.FormatError(\"Duplicate entry in \\\"\".concat(this._type, \"\\\" tree.\"));\n            }\n\n            queue.push(kid);\n            processed.put(kid);\n          }\n\n          continue;\n        }\n\n        var entries = obj.get(this._type);\n\n        if (Array.isArray(entries)) {\n          for (var _i5 = 0, _ii2 = entries.length; _i5 < _ii2; _i5 += 2) {\n            dict[xref.fetchIfRef(entries[_i5])] = xref.fetchIfRef(entries[_i5 + 1]);\n          }\n        }\n      }\n\n      return dict;\n    }\n  }, {\n    key: \"get\",\n    value: function get(key) {\n      if (!this.root) {\n        return null;\n      }\n\n      var xref = this.xref;\n      var kidsOrEntries = xref.fetchIfRef(this.root);\n      var loopCount = 0;\n      var MAX_LEVELS = 10;\n\n      while (kidsOrEntries.has(\"Kids\")) {\n        if (++loopCount > MAX_LEVELS) {\n          (0, _util.warn)(\"Search depth limit reached for \\\"\".concat(this._type, \"\\\" tree.\"));\n          return null;\n        }\n\n        var kids = kidsOrEntries.get(\"Kids\");\n\n        if (!Array.isArray(kids)) {\n          return null;\n        }\n\n        var l = 0,\n            r = kids.length - 1;\n\n        while (l <= r) {\n          var m = l + r >> 1;\n          var kid = xref.fetchIfRef(kids[m]);\n          var limits = kid.get(\"Limits\");\n\n          if (key < xref.fetchIfRef(limits[0])) {\n            r = m - 1;\n          } else if (key > xref.fetchIfRef(limits[1])) {\n            l = m + 1;\n          } else {\n            kidsOrEntries = xref.fetchIfRef(kids[m]);\n            break;\n          }\n        }\n\n        if (l > r) {\n          return null;\n        }\n      }\n\n      var entries = kidsOrEntries.get(this._type);\n\n      if (Array.isArray(entries)) {\n        var _l = 0,\n            _r = entries.length - 2;\n\n        while (_l <= _r) {\n          var tmp = _l + _r >> 1,\n              _m = tmp + (tmp & 1);\n\n          var currentKey = xref.fetchIfRef(entries[_m]);\n\n          if (key < currentKey) {\n            _r = _m - 2;\n          } else if (key > currentKey) {\n            _l = _m + 2;\n          } else {\n            return xref.fetchIfRef(entries[_m + 1]);\n          }\n        }\n\n        (0, _util.info)(\"Falling back to an exhaustive search, for key \\\"\".concat(key, \"\\\", \") + \"in \\\"\".concat(this._type, \"\\\" tree.\"));\n\n        for (var _m2 = 0, mm = entries.length; _m2 < mm; _m2 += 2) {\n          var _currentKey = xref.fetchIfRef(entries[_m2]);\n\n          if (_currentKey === key) {\n            (0, _util.warn)(\"The \\\"\".concat(key, \"\\\" key was found at an incorrect, \") + \"i.e. out-of-order, position in \\\"\".concat(this._type, \"\\\" tree.\"));\n            return xref.fetchIfRef(entries[_m2 + 1]);\n          }\n        }\n      }\n\n      return null;\n    }\n  }]);\n\n  return NameOrNumberTree;\n}();\n\nvar NameTree = /*#__PURE__*/function (_NameOrNumberTree) {\n  _inherits(NameTree, _NameOrNumberTree);\n\n  var _super = _createSuper(NameTree);\n\n  function NameTree(root, xref) {\n    _classCallCheck(this, NameTree);\n\n    return _super.call(this, root, xref, \"Names\");\n  }\n\n  return NameTree;\n}(NameOrNumberTree);\n\nvar NumberTree = /*#__PURE__*/function (_NameOrNumberTree2) {\n  _inherits(NumberTree, _NameOrNumberTree2);\n\n  var _super2 = _createSuper(NumberTree);\n\n  function NumberTree(root, xref) {\n    _classCallCheck(this, NumberTree);\n\n    return _super2.call(this, root, xref, \"Nums\");\n  }\n\n  return NumberTree;\n}(NameOrNumberTree);\n\nvar FileSpec = function FileSpecClosure() {\n  function FileSpec(root, xref) {\n    if (!root || !(0, _primitives.isDict)(root)) {\n      return;\n    }\n\n    this.xref = xref;\n    this.root = root;\n\n    if (root.has(\"FS\")) {\n      this.fs = root.get(\"FS\");\n    }\n\n    this.description = root.has(\"Desc\") ? (0, _util.stringToPDFString)(root.get(\"Desc\")) : \"\";\n\n    if (root.has(\"RF\")) {\n      (0, _util.warn)(\"Related file specifications are not supported\");\n    }\n\n    this.contentAvailable = true;\n\n    if (!root.has(\"EF\")) {\n      this.contentAvailable = false;\n      (0, _util.warn)(\"Non-embedded file specifications are not supported\");\n    }\n  }\n\n  function pickPlatformItem(dict) {\n    if (dict.has(\"UF\")) {\n      return dict.get(\"UF\");\n    } else if (dict.has(\"F\")) {\n      return dict.get(\"F\");\n    } else if (dict.has(\"Unix\")) {\n      return dict.get(\"Unix\");\n    } else if (dict.has(\"Mac\")) {\n      return dict.get(\"Mac\");\n    } else if (dict.has(\"DOS\")) {\n      return dict.get(\"DOS\");\n    }\n\n    return null;\n  }\n\n  FileSpec.prototype = {\n    get filename() {\n      if (!this._filename && this.root) {\n        var filename = pickPlatformItem(this.root) || \"unnamed\";\n        this._filename = (0, _util.stringToPDFString)(filename).replace(/\\\\\\\\/g, \"\\\\\").replace(/\\\\\\//g, \"/\").replace(/\\\\/g, \"/\");\n      }\n\n      return this._filename;\n    },\n\n    get content() {\n      if (!this.contentAvailable) {\n        return null;\n      }\n\n      if (!this.contentRef && this.root) {\n        this.contentRef = pickPlatformItem(this.root.get(\"EF\"));\n      }\n\n      var content = null;\n\n      if (this.contentRef) {\n        var xref = this.xref;\n        var fileObj = xref.fetchIfRef(this.contentRef);\n\n        if (fileObj && (0, _primitives.isStream)(fileObj)) {\n          content = fileObj.getBytes();\n        } else {\n          (0, _util.warn)(\"Embedded file specification points to non-existing/invalid \" + \"content\");\n        }\n      } else {\n        (0, _util.warn)(\"Embedded file specification does not have a content\");\n      }\n\n      return content;\n    },\n\n    get serializable() {\n      return {\n        filename: this.filename,\n        content: this.content\n      };\n    }\n\n  };\n  return FileSpec;\n}();\n\nexports.FileSpec = FileSpec;\n\nvar ObjectLoader = function () {\n  function mayHaveChildren(value) {\n    return value instanceof _primitives.Ref || value instanceof _primitives.Dict || Array.isArray(value) || (0, _primitives.isStream)(value);\n  }\n\n  function addChildren(node, nodesToVisit) {\n    if (node instanceof _primitives.Dict) {\n      node = node.getRawValues();\n    } else if ((0, _primitives.isStream)(node)) {\n      node = node.dict.getRawValues();\n    } else if (!Array.isArray(node)) {\n      return;\n    }\n\n    var _iterator7 = _createForOfIteratorHelper(node),\n        _step7;\n\n    try {\n      for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n        var rawValue = _step7.value;\n\n        if (mayHaveChildren(rawValue)) {\n          nodesToVisit.push(rawValue);\n        }\n      }\n    } catch (err) {\n      _iterator7.e(err);\n    } finally {\n      _iterator7.f();\n    }\n  }\n\n  function ObjectLoader(dict, keys, xref) {\n    this.dict = dict;\n    this.keys = keys;\n    this.xref = xref;\n    this.refSet = null;\n  }\n\n  ObjectLoader.prototype = {\n    load: function load() {\n      var _this5 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n        var keys, dict, nodesToVisit, i, ii, rawValue;\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                if (!(!_this5.xref.stream.allChunksLoaded || _this5.xref.stream.allChunksLoaded())) {\n                  _context3.next = 2;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 2:\n                keys = _this5.keys, dict = _this5.dict;\n                _this5.refSet = new _primitives.RefSet();\n                nodesToVisit = [];\n\n                for (i = 0, ii = keys.length; i < ii; i++) {\n                  rawValue = dict.getRaw(keys[i]);\n\n                  if (rawValue !== undefined) {\n                    nodesToVisit.push(rawValue);\n                  }\n                }\n\n                return _context3.abrupt(\"return\", _this5._walk(nodesToVisit));\n\n              case 7:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3);\n      }))();\n    },\n    _walk: function _walk(nodesToVisit) {\n      var _this6 = this;\n\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4() {\n        var nodesToRevisit, pendingRequests, currentNode, baseStreams, foundMissingData, i, ii, stream, _i6, _ii3, node;\n\n        return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                nodesToRevisit = [];\n                pendingRequests = [];\n\n              case 2:\n                if (!nodesToVisit.length) {\n                  _context4.next = 22;\n                  break;\n                }\n\n                currentNode = nodesToVisit.pop();\n\n                if (!(currentNode instanceof _primitives.Ref)) {\n                  _context4.next = 18;\n                  break;\n                }\n\n                if (!_this6.refSet.has(currentNode)) {\n                  _context4.next = 7;\n                  break;\n                }\n\n                return _context4.abrupt(\"continue\", 2);\n\n              case 7:\n                _context4.prev = 7;\n\n                _this6.refSet.put(currentNode);\n\n                currentNode = _this6.xref.fetch(currentNode);\n                _context4.next = 18;\n                break;\n\n              case 12:\n                _context4.prev = 12;\n                _context4.t0 = _context4[\"catch\"](7);\n\n                if (_context4.t0 instanceof _core_utils.MissingDataException) {\n                  _context4.next = 16;\n                  break;\n                }\n\n                throw _context4.t0;\n\n              case 16:\n                nodesToRevisit.push(currentNode);\n                pendingRequests.push({\n                  begin: _context4.t0.begin,\n                  end: _context4.t0.end\n                });\n\n              case 18:\n                if (currentNode && currentNode.getBaseStreams) {\n                  baseStreams = currentNode.getBaseStreams();\n                  foundMissingData = false;\n\n                  for (i = 0, ii = baseStreams.length; i < ii; i++) {\n                    stream = baseStreams[i];\n\n                    if (stream.allChunksLoaded && !stream.allChunksLoaded()) {\n                      foundMissingData = true;\n                      pendingRequests.push({\n                        begin: stream.start,\n                        end: stream.end\n                      });\n                    }\n                  }\n\n                  if (foundMissingData) {\n                    nodesToRevisit.push(currentNode);\n                  }\n                }\n\n                addChildren(currentNode, nodesToVisit);\n                _context4.next = 2;\n                break;\n\n              case 22:\n                if (!pendingRequests.length) {\n                  _context4.next = 27;\n                  break;\n                }\n\n                _context4.next = 25;\n                return _this6.xref.stream.manager.requestRanges(pendingRequests);\n\n              case 25:\n                for (_i6 = 0, _ii3 = nodesToRevisit.length; _i6 < _ii3; _i6++) {\n                  node = nodesToRevisit[_i6];\n\n                  if (node instanceof _primitives.Ref) {\n                    _this6.refSet.remove(node);\n                  }\n                }\n\n                return _context4.abrupt(\"return\", _this6._walk(nodesToRevisit));\n\n              case 27:\n                _this6.refSet = null;\n                return _context4.abrupt(\"return\", undefined);\n\n              case 29:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, null, [[7, 12]]);\n      }))();\n    }\n  };\n  return ObjectLoader;\n}();\n\nexports.ObjectLoader = ObjectLoader;\n\n/***/ }),\n/* 141 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.Parser = exports.Linearization = exports.Lexer = void 0;\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _ccitt_stream = __w_pdfjs_require__(143);\n\nvar _jbig2_stream = __w_pdfjs_require__(145);\n\nvar _jpeg_stream = __w_pdfjs_require__(148);\n\nvar _jpx_stream = __w_pdfjs_require__(150);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_LENGTH_TO_CACHE = 1000;\nvar MAX_ADLER32_LENGTH = 5552;\n\nfunction computeAdler32(bytes) {\n  var bytesLength = bytes.length;\n  var a = 1,\n      b = 0;\n\n  for (var i = 0; i < bytesLength; ++i) {\n    a += bytes[i] & 0xff;\n    b += a;\n  }\n\n  return b % 65521 << 16 | a % 65521;\n}\n\nvar Parser = /*#__PURE__*/function () {\n  function Parser(_ref) {\n    var lexer = _ref.lexer,\n        xref = _ref.xref,\n        _ref$allowStreams = _ref.allowStreams,\n        allowStreams = _ref$allowStreams === void 0 ? false : _ref$allowStreams,\n        _ref$recoveryMode = _ref.recoveryMode,\n        recoveryMode = _ref$recoveryMode === void 0 ? false : _ref$recoveryMode;\n\n    _classCallCheck(this, Parser);\n\n    this.lexer = lexer;\n    this.xref = xref;\n    this.allowStreams = allowStreams;\n    this.recoveryMode = recoveryMode;\n    this.imageCache = Object.create(null);\n    this.refill();\n  }\n\n  _createClass(Parser, [{\n    key: \"refill\",\n    value: function refill() {\n      this.buf1 = this.lexer.getObj();\n      this.buf2 = this.lexer.getObj();\n    }\n  }, {\n    key: \"shift\",\n    value: function shift() {\n      if (this.buf2 instanceof _primitives.Cmd && this.buf2.cmd === \"ID\") {\n        this.buf1 = this.buf2;\n        this.buf2 = null;\n      } else {\n        this.buf1 = this.buf2;\n        this.buf2 = this.lexer.getObj();\n      }\n    }\n  }, {\n    key: \"tryShift\",\n    value: function tryShift() {\n      try {\n        this.shift();\n        return true;\n      } catch (e) {\n        if (e instanceof _core_utils.MissingDataException) {\n          throw e;\n        }\n\n        return false;\n      }\n    }\n  }, {\n    key: \"getObj\",\n    value: function getObj() {\n      var cipherTransform = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var buf1 = this.buf1;\n      this.shift();\n\n      if (buf1 instanceof _primitives.Cmd) {\n        switch (buf1.cmd) {\n          case \"BI\":\n            return this.makeInlineImage(cipherTransform);\n\n          case \"[\":\n            var array = [];\n\n            while (!(0, _primitives.isCmd)(this.buf1, \"]\") && !(0, _primitives.isEOF)(this.buf1)) {\n              array.push(this.getObj(cipherTransform));\n            }\n\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError(\"End of file inside array\");\n              }\n\n              return array;\n            }\n\n            this.shift();\n            return array;\n\n          case \"<<\":\n            var dict = new _primitives.Dict(this.xref);\n\n            while (!(0, _primitives.isCmd)(this.buf1, \">>\") && !(0, _primitives.isEOF)(this.buf1)) {\n              if (!(0, _primitives.isName)(this.buf1)) {\n                (0, _util.info)(\"Malformed dictionary: key must be a name object\");\n                this.shift();\n                continue;\n              }\n\n              var key = this.buf1.name;\n              this.shift();\n\n              if ((0, _primitives.isEOF)(this.buf1)) {\n                break;\n              }\n\n              dict.set(key, this.getObj(cipherTransform));\n            }\n\n            if ((0, _primitives.isEOF)(this.buf1)) {\n              if (!this.recoveryMode) {\n                throw new _util.FormatError(\"End of file inside dictionary\");\n              }\n\n              return dict;\n            }\n\n            if ((0, _primitives.isCmd)(this.buf2, \"stream\")) {\n              return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict;\n            }\n\n            this.shift();\n            return dict;\n\n          default:\n            return buf1;\n        }\n      }\n\n      if (Number.isInteger(buf1)) {\n        if (Number.isInteger(this.buf1) && (0, _primitives.isCmd)(this.buf2, \"R\")) {\n          var ref = _primitives.Ref.get(buf1, this.buf1);\n\n          this.shift();\n          this.shift();\n          return ref;\n        }\n\n        return buf1;\n      }\n\n      if (typeof buf1 === \"string\") {\n        if (cipherTransform) {\n          return cipherTransform.decryptString(buf1);\n        }\n\n        return buf1;\n      }\n\n      return buf1;\n    }\n  }, {\n    key: \"findDefaultInlineStreamEnd\",\n    value: function findDefaultInlineStreamEnd(stream) {\n      var E = 0x45,\n          I = 0x49,\n          SPACE = 0x20,\n          LF = 0xa,\n          CR = 0xd,\n          NUL = 0x0;\n      var lexer = this.lexer,\n          startPos = stream.pos,\n          n = 10;\n      var state = 0,\n          ch,\n          maybeEIPos;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else {\n          (0, _util.assert)(state === 2, \"findDefaultInlineStreamEnd - invalid state.\");\n\n          if (ch === SPACE || ch === LF || ch === CR) {\n            maybeEIPos = stream.pos;\n            var followingBytes = stream.peekBytes(n);\n\n            for (var i = 0, ii = followingBytes.length; i < ii; i++) {\n              ch = followingBytes[i];\n\n              if (ch === NUL && followingBytes[i + 1] !== NUL) {\n                continue;\n              }\n\n              if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7f)) {\n                state = 0;\n                break;\n              }\n            }\n\n            if (state !== 2) {\n              continue;\n            }\n\n            if (lexer.knownCommands) {\n              var nextObj = lexer.peekObj();\n\n              if (nextObj instanceof _primitives.Cmd && !lexer.knownCommands[nextObj.cmd]) {\n                state = 0;\n              }\n            } else {\n              (0, _util.warn)(\"findDefaultInlineStreamEnd - `lexer.knownCommands` is undefined.\");\n            }\n\n            if (state === 2) {\n              break;\n            }\n          } else {\n            state = 0;\n          }\n        }\n      }\n\n      if (ch === -1) {\n        (0, _util.warn)(\"findDefaultInlineStreamEnd: \" + \"Reached the end of the stream without finding a valid EI marker\");\n\n        if (maybeEIPos) {\n          (0, _util.warn)('... trying to recover by using the last \"EI\" occurrence.');\n          stream.skip(-(stream.pos - maybeEIPos));\n        }\n      }\n\n      var endOffset = 4;\n      stream.skip(-endOffset);\n      ch = stream.peekByte();\n      stream.skip(endOffset);\n\n      if (!(0, _core_utils.isWhiteSpace)(ch)) {\n        endOffset--;\n      }\n\n      return stream.pos - endOffset - startPos;\n    }\n  }, {\n    key: \"findDCTDecodeInlineStreamEnd\",\n    value: function findDCTDecodeInlineStreamEnd(stream) {\n      var startPos = stream.pos;\n      var foundEOI = false,\n          b,\n          markerLength;\n\n      while ((b = stream.getByte()) !== -1) {\n        if (b !== 0xff) {\n          continue;\n        }\n\n        switch (stream.getByte()) {\n          case 0x00:\n            break;\n\n          case 0xff:\n            stream.skip(-1);\n            break;\n\n          case 0xd9:\n            foundEOI = true;\n            break;\n\n          case 0xc0:\n          case 0xc1:\n          case 0xc2:\n          case 0xc3:\n          case 0xc5:\n          case 0xc6:\n          case 0xc7:\n          case 0xc9:\n          case 0xca:\n          case 0xcb:\n          case 0xcd:\n          case 0xce:\n          case 0xcf:\n          case 0xc4:\n          case 0xcc:\n          case 0xda:\n          case 0xdb:\n          case 0xdc:\n          case 0xdd:\n          case 0xde:\n          case 0xdf:\n          case 0xe0:\n          case 0xe1:\n          case 0xe2:\n          case 0xe3:\n          case 0xe4:\n          case 0xe5:\n          case 0xe6:\n          case 0xe7:\n          case 0xe8:\n          case 0xe9:\n          case 0xea:\n          case 0xeb:\n          case 0xec:\n          case 0xed:\n          case 0xee:\n          case 0xef:\n          case 0xfe:\n            markerLength = stream.getUint16();\n\n            if (markerLength > 2) {\n              stream.skip(markerLength - 2);\n            } else {\n              stream.skip(-2);\n            }\n\n            break;\n        }\n\n        if (foundEOI) {\n          break;\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (b === -1) {\n        (0, _util.warn)(\"Inline DCTDecode image stream: \" + \"EOI marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"findASCII85DecodeInlineStreamEnd\",\n    value: function findASCII85DecodeInlineStreamEnd(stream) {\n      var TILDE = 0x7e,\n          GT = 0x3e;\n      var startPos = stream.pos;\n      var ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === TILDE) {\n          var tildePos = stream.pos;\n          ch = stream.peekByte();\n\n          while ((0, _core_utils.isWhiteSpace)(ch)) {\n            stream.skip();\n            ch = stream.peekByte();\n          }\n\n          if (ch === GT) {\n            stream.skip();\n            break;\n          }\n\n          if (stream.pos > tildePos) {\n            var maybeEI = stream.peekBytes(2);\n\n            if (maybeEI[0] === 0x45 && maybeEI[1] === 0x49) {\n              break;\n            }\n          }\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (ch === -1) {\n        (0, _util.warn)(\"Inline ASCII85Decode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"findASCIIHexDecodeInlineStreamEnd\",\n    value: function findASCIIHexDecodeInlineStreamEnd(stream) {\n      var GT = 0x3e;\n      var startPos = stream.pos;\n      var ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (ch === GT) {\n          break;\n        }\n      }\n\n      var length = stream.pos - startPos;\n\n      if (ch === -1) {\n        (0, _util.warn)(\"Inline ASCIIHexDecode image stream: \" + \"EOD marker not found, searching for /EI/ instead.\");\n        stream.skip(-length);\n        return this.findDefaultInlineStreamEnd(stream);\n      }\n\n      this.inlineStreamSkipEI(stream);\n      return length;\n    }\n  }, {\n    key: \"inlineStreamSkipEI\",\n    value: function inlineStreamSkipEI(stream) {\n      var E = 0x45,\n          I = 0x49;\n      var state = 0,\n          ch;\n\n      while ((ch = stream.getByte()) !== -1) {\n        if (state === 0) {\n          state = ch === E ? 1 : 0;\n        } else if (state === 1) {\n          state = ch === I ? 2 : 0;\n        } else if (state === 2) {\n          break;\n        }\n      }\n    }\n  }, {\n    key: \"makeInlineImage\",\n    value: function makeInlineImage(cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      var dict = new _primitives.Dict(this.xref);\n      var dictLength;\n\n      while (!(0, _primitives.isCmd)(this.buf1, \"ID\") && !(0, _primitives.isEOF)(this.buf1)) {\n        if (!(0, _primitives.isName)(this.buf1)) {\n          throw new _util.FormatError(\"Dictionary key must be a name object\");\n        }\n\n        var key = this.buf1.name;\n        this.shift();\n\n        if ((0, _primitives.isEOF)(this.buf1)) {\n          break;\n        }\n\n        dict.set(key, this.getObj(cipherTransform));\n      }\n\n      if (lexer.beginInlineImagePos !== -1) {\n        dictLength = stream.pos - lexer.beginInlineImagePos;\n      }\n\n      var filter = dict.get(\"Filter\", \"F\");\n      var filterName;\n\n      if ((0, _primitives.isName)(filter)) {\n        filterName = filter.name;\n      } else if (Array.isArray(filter)) {\n        var filterZero = this.xref.fetchIfRef(filter[0]);\n\n        if ((0, _primitives.isName)(filterZero)) {\n          filterName = filterZero.name;\n        }\n      }\n\n      var startPos = stream.pos;\n      var length;\n\n      if (filterName === \"DCTDecode\" || filterName === \"DCT\") {\n        length = this.findDCTDecodeInlineStreamEnd(stream);\n      } else if (filterName === \"ASCII85Decode\" || filterName === \"A85\") {\n        length = this.findASCII85DecodeInlineStreamEnd(stream);\n      } else if (filterName === \"ASCIIHexDecode\" || filterName === \"AHx\") {\n        length = this.findASCIIHexDecodeInlineStreamEnd(stream);\n      } else {\n        length = this.findDefaultInlineStreamEnd(stream);\n      }\n\n      var imageStream = stream.makeSubStream(startPos, length, dict);\n      var cacheKey;\n\n      if (length < MAX_LENGTH_TO_CACHE && dictLength < MAX_ADLER32_LENGTH) {\n        var imageBytes = imageStream.getBytes();\n        imageStream.reset();\n        var initialStreamPos = stream.pos;\n        stream.pos = lexer.beginInlineImagePos;\n        var dictBytes = stream.getBytes(dictLength);\n        stream.pos = initialStreamPos;\n        cacheKey = computeAdler32(imageBytes) + \"_\" + computeAdler32(dictBytes);\n        var cacheEntry = this.imageCache[cacheKey];\n\n        if (cacheEntry !== undefined) {\n          this.buf2 = _primitives.Cmd.get(\"EI\");\n          this.shift();\n          cacheEntry.reset();\n          return cacheEntry;\n        }\n      }\n\n      if (cipherTransform) {\n        imageStream = cipherTransform.createStream(imageStream, length);\n      }\n\n      imageStream = this.filter(imageStream, dict, length);\n      imageStream.dict = dict;\n\n      if (cacheKey !== undefined) {\n        imageStream.cacheKey = \"inline_\".concat(length, \"_\").concat(cacheKey);\n        this.imageCache[cacheKey] = imageStream;\n      }\n\n      this.buf2 = _primitives.Cmd.get(\"EI\");\n      this.shift();\n      return imageStream;\n    }\n  }, {\n    key: \"_findStreamLength\",\n    value: function _findStreamLength(startPos, signature) {\n      var stream = this.lexer.stream;\n      stream.pos = startPos;\n      var SCAN_BLOCK_LENGTH = 2048;\n      var signatureLength = signature.length;\n\n      while (stream.pos < stream.end) {\n        var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n        var scanLength = scanBytes.length - signatureLength;\n\n        if (scanLength <= 0) {\n          break;\n        }\n\n        var pos = 0;\n\n        while (pos < scanLength) {\n          var j = 0;\n\n          while (j < signatureLength && scanBytes[pos + j] === signature[j]) {\n            j++;\n          }\n\n          if (j >= signatureLength) {\n            stream.pos += pos;\n            return stream.pos - startPos;\n          }\n\n          pos++;\n        }\n\n        stream.pos += scanLength;\n      }\n\n      return -1;\n    }\n  }, {\n    key: \"makeStream\",\n    value: function makeStream(dict, cipherTransform) {\n      var lexer = this.lexer;\n      var stream = lexer.stream;\n      lexer.skipToNextLine();\n      var startPos = stream.pos - 1;\n      var length = dict.get(\"Length\");\n\n      if (!Number.isInteger(length)) {\n        (0, _util.info)(\"Bad length \\\"\".concat(length, \"\\\" in stream\"));\n        length = 0;\n      }\n\n      stream.pos = startPos + length;\n      lexer.nextChar();\n\n      if (this.tryShift() && (0, _primitives.isCmd)(this.buf2, \"endstream\")) {\n        this.shift();\n      } else {\n        var ENDSTREAM_SIGNATURE = new Uint8Array([0x65, 0x6E, 0x64, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6D]);\n\n        var actualLength = this._findStreamLength(startPos, ENDSTREAM_SIGNATURE);\n\n        if (actualLength < 0) {\n          var MAX_TRUNCATION = 1;\n\n          for (var i = 1; i <= MAX_TRUNCATION; i++) {\n            var end = ENDSTREAM_SIGNATURE.length - i;\n            var TRUNCATED_SIGNATURE = ENDSTREAM_SIGNATURE.slice(0, end);\n\n            var maybeLength = this._findStreamLength(startPos, TRUNCATED_SIGNATURE);\n\n            if (maybeLength >= 0) {\n              var lastByte = stream.peekBytes(end + 1)[end];\n\n              if (!(0, _core_utils.isWhiteSpace)(lastByte)) {\n                break;\n              }\n\n              (0, _util.info)(\"Found \\\"\".concat((0, _util.bytesToString)(TRUNCATED_SIGNATURE), \"\\\" when \") + \"searching for endstream command.\");\n              actualLength = maybeLength;\n              break;\n            }\n          }\n\n          if (actualLength < 0) {\n            throw new _util.FormatError(\"Missing endstream command.\");\n          }\n        }\n\n        length = actualLength;\n        lexer.nextChar();\n        this.shift();\n        this.shift();\n      }\n\n      this.shift();\n      stream = stream.makeSubStream(startPos, length, dict);\n\n      if (cipherTransform) {\n        stream = cipherTransform.createStream(stream, length);\n      }\n\n      stream = this.filter(stream, dict, length);\n      stream.dict = dict;\n      return stream;\n    }\n  }, {\n    key: \"filter\",\n    value: function filter(stream, dict, length) {\n      var filter = dict.get(\"Filter\", \"F\");\n      var params = dict.get(\"DecodeParms\", \"DP\");\n\n      if ((0, _primitives.isName)(filter)) {\n        if (Array.isArray(params)) {\n          (0, _util.warn)(\"/DecodeParms should not contain an Array, \" + \"when /Filter contains a Name.\");\n        }\n\n        return this.makeFilter(stream, filter.name, length, params);\n      }\n\n      var maybeLength = length;\n\n      if (Array.isArray(filter)) {\n        var filterArray = filter;\n        var paramsArray = params;\n\n        for (var i = 0, ii = filterArray.length; i < ii; ++i) {\n          filter = this.xref.fetchIfRef(filterArray[i]);\n\n          if (!(0, _primitives.isName)(filter)) {\n            throw new _util.FormatError(\"Bad filter name \\\"\".concat(filter, \"\\\"\"));\n          }\n\n          params = null;\n\n          if (Array.isArray(paramsArray) && i in paramsArray) {\n            params = this.xref.fetchIfRef(paramsArray[i]);\n          }\n\n          stream = this.makeFilter(stream, filter.name, maybeLength, params);\n          maybeLength = null;\n        }\n      }\n\n      return stream;\n    }\n  }, {\n    key: \"makeFilter\",\n    value: function makeFilter(stream, name, maybeLength, params) {\n      if (maybeLength === 0) {\n        (0, _util.warn)(\"Empty \\\"\".concat(name, \"\\\" stream.\"));\n        return new _stream.NullStream();\n      }\n\n      try {\n        var xrefStreamStats = this.xref.stats.streamTypes;\n\n        if (name === \"FlateDecode\" || name === \"Fl\") {\n          xrefStreamStats[_util.StreamType.FLATE] = true;\n\n          if (params) {\n            return new _stream.PredictorStream(new _stream.FlateStream(stream, maybeLength), maybeLength, params);\n          }\n\n          return new _stream.FlateStream(stream, maybeLength);\n        }\n\n        if (name === \"LZWDecode\" || name === \"LZW\") {\n          xrefStreamStats[_util.StreamType.LZW] = true;\n          var earlyChange = 1;\n\n          if (params) {\n            if (params.has(\"EarlyChange\")) {\n              earlyChange = params.get(\"EarlyChange\");\n            }\n\n            return new _stream.PredictorStream(new _stream.LZWStream(stream, maybeLength, earlyChange), maybeLength, params);\n          }\n\n          return new _stream.LZWStream(stream, maybeLength, earlyChange);\n        }\n\n        if (name === \"DCTDecode\" || name === \"DCT\") {\n          xrefStreamStats[_util.StreamType.DCT] = true;\n          return new _jpeg_stream.JpegStream(stream, maybeLength, stream.dict, params);\n        }\n\n        if (name === \"JPXDecode\" || name === \"JPX\") {\n          xrefStreamStats[_util.StreamType.JPX] = true;\n          return new _jpx_stream.JpxStream(stream, maybeLength, stream.dict, params);\n        }\n\n        if (name === \"ASCII85Decode\" || name === \"A85\") {\n          xrefStreamStats[_util.StreamType.A85] = true;\n          return new _stream.Ascii85Stream(stream, maybeLength);\n        }\n\n        if (name === \"ASCIIHexDecode\" || name === \"AHx\") {\n          xrefStreamStats[_util.StreamType.AHX] = true;\n          return new _stream.AsciiHexStream(stream, maybeLength);\n        }\n\n        if (name === \"CCITTFaxDecode\" || name === \"CCF\") {\n          xrefStreamStats[_util.StreamType.CCF] = true;\n          return new _ccitt_stream.CCITTFaxStream(stream, maybeLength, params);\n        }\n\n        if (name === \"RunLengthDecode\" || name === \"RL\") {\n          xrefStreamStats[_util.StreamType.RLX] = true;\n          return new _stream.RunLengthStream(stream, maybeLength);\n        }\n\n        if (name === \"JBIG2Decode\") {\n          xrefStreamStats[_util.StreamType.JBIG] = true;\n          return new _jbig2_stream.Jbig2Stream(stream, maybeLength, stream.dict, params);\n        }\n\n        (0, _util.warn)(\"Filter \\\"\".concat(name, \"\\\" is not supported.\"));\n        return stream;\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Invalid stream: \\\"\".concat(ex, \"\\\"\"));\n        return new _stream.NullStream();\n      }\n    }\n  }]);\n\n  return Parser;\n}();\n\nexports.Parser = Parser;\nvar specialChars = [1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0, 2, 2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n\nfunction toHexDigit(ch) {\n  if (ch >= 0x30 && ch <= 0x39) {\n    return ch & 0x0f;\n  }\n\n  if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n    return (ch & 0x0f) + 9;\n  }\n\n  return -1;\n}\n\nvar Lexer = /*#__PURE__*/function () {\n  function Lexer(stream) {\n    var knownCommands = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n    _classCallCheck(this, Lexer);\n\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n    this.knownCommands = knownCommands;\n    this._hexStringNumWarn = 0;\n    this.beginInlineImagePos = -1;\n  }\n\n  _createClass(Lexer, [{\n    key: \"nextChar\",\n    value: function nextChar() {\n      return this.currentChar = this.stream.getByte();\n    }\n  }, {\n    key: \"peekChar\",\n    value: function peekChar() {\n      return this.stream.peekByte();\n    }\n  }, {\n    key: \"getNumber\",\n    value: function getNumber() {\n      var ch = this.currentChar;\n      var eNotation = false;\n      var divideBy = 0;\n      var sign = 0;\n\n      if (ch === 0x2d) {\n        sign = -1;\n        ch = this.nextChar();\n\n        if (ch === 0x2d) {\n          ch = this.nextChar();\n        }\n      } else if (ch === 0x2b) {\n        sign = 1;\n        ch = this.nextChar();\n      }\n\n      if (ch === 0x0a || ch === 0x0d) {\n        do {\n          ch = this.nextChar();\n        } while (ch === 0x0a || ch === 0x0d);\n      }\n\n      if (ch === 0x2e) {\n        divideBy = 10;\n        ch = this.nextChar();\n      }\n\n      if (ch < 0x30 || ch > 0x39) {\n        if (divideBy === 10 && sign === 0 && ((0, _core_utils.isWhiteSpace)(ch) || ch === -1)) {\n          (0, _util.warn)(\"Lexer.getNumber - treating a single decimal point as zero.\");\n          return 0;\n        }\n\n        throw new _util.FormatError(\"Invalid number: \".concat(String.fromCharCode(ch), \" (charCode \").concat(ch, \")\"));\n      }\n\n      sign = sign || 1;\n      var baseValue = ch - 0x30;\n      var powerValue = 0;\n      var powerValueSign = 1;\n\n      while ((ch = this.nextChar()) >= 0) {\n        if (ch >= 0x30 && ch <= 0x39) {\n          var currentDigit = ch - 0x30;\n\n          if (eNotation) {\n            powerValue = powerValue * 10 + currentDigit;\n          } else {\n            if (divideBy !== 0) {\n              divideBy *= 10;\n            }\n\n            baseValue = baseValue * 10 + currentDigit;\n          }\n        } else if (ch === 0x2e) {\n          if (divideBy === 0) {\n            divideBy = 1;\n          } else {\n            break;\n          }\n        } else if (ch === 0x2d) {\n          (0, _util.warn)(\"Badly formatted number: minus sign in the middle\");\n        } else if (ch === 0x45 || ch === 0x65) {\n          ch = this.peekChar();\n\n          if (ch === 0x2b || ch === 0x2d) {\n            powerValueSign = ch === 0x2d ? -1 : 1;\n            this.nextChar();\n          } else if (ch < 0x30 || ch > 0x39) {\n            break;\n          }\n\n          eNotation = true;\n        } else {\n          break;\n        }\n      }\n\n      if (divideBy !== 0) {\n        baseValue /= divideBy;\n      }\n\n      if (eNotation) {\n        baseValue *= Math.pow(10, powerValueSign * powerValue);\n      }\n\n      return sign * baseValue;\n    }\n  }, {\n    key: \"getString\",\n    value: function getString() {\n      var numParen = 1;\n      var done = false;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.nextChar();\n\n      while (true) {\n        var charBuffered = false;\n\n        switch (ch | 0) {\n          case -1:\n            (0, _util.warn)(\"Unterminated string\");\n            done = true;\n            break;\n\n          case 0x28:\n            ++numParen;\n            strBuf.push(\"(\");\n            break;\n\n          case 0x29:\n            if (--numParen === 0) {\n              this.nextChar();\n              done = true;\n            } else {\n              strBuf.push(\")\");\n            }\n\n            break;\n\n          case 0x5c:\n            ch = this.nextChar();\n\n            switch (ch) {\n              case -1:\n                (0, _util.warn)(\"Unterminated string\");\n                done = true;\n                break;\n\n              case 0x6e:\n                strBuf.push(\"\\n\");\n                break;\n\n              case 0x72:\n                strBuf.push(\"\\r\");\n                break;\n\n              case 0x74:\n                strBuf.push(\"\\t\");\n                break;\n\n              case 0x62:\n                strBuf.push(\"\\b\");\n                break;\n\n              case 0x66:\n                strBuf.push(\"\\f\");\n                break;\n\n              case 0x5c:\n              case 0x28:\n              case 0x29:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n\n              case 0x30:\n              case 0x31:\n              case 0x32:\n              case 0x33:\n              case 0x34:\n              case 0x35:\n              case 0x36:\n              case 0x37:\n                var x = ch & 0x0f;\n                ch = this.nextChar();\n                charBuffered = true;\n\n                if (ch >= 0x30 && ch <= 0x37) {\n                  x = (x << 3) + (ch & 0x0f);\n                  ch = this.nextChar();\n\n                  if (ch >= 0x30 && ch <= 0x37) {\n                    charBuffered = false;\n                    x = (x << 3) + (ch & 0x0f);\n                  }\n                }\n\n                strBuf.push(String.fromCharCode(x));\n                break;\n\n              case 0x0d:\n                if (this.peekChar() === 0x0a) {\n                  this.nextChar();\n                }\n\n                break;\n\n              case 0x0a:\n                break;\n\n              default:\n                strBuf.push(String.fromCharCode(ch));\n                break;\n            }\n\n            break;\n\n          default:\n            strBuf.push(String.fromCharCode(ch));\n            break;\n        }\n\n        if (done) {\n          break;\n        }\n\n        if (!charBuffered) {\n          ch = this.nextChar();\n        }\n      }\n\n      return strBuf.join(\"\");\n    }\n  }, {\n    key: \"getName\",\n    value: function getName() {\n      var ch, previousCh;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        if (ch === 0x23) {\n          ch = this.nextChar();\n\n          if (specialChars[ch]) {\n            (0, _util.warn)(\"Lexer_getName: \" + \"NUMBER SIGN (#) should be followed by a hexadecimal number.\");\n            strBuf.push(\"#\");\n            break;\n          }\n\n          var x = toHexDigit(ch);\n\n          if (x !== -1) {\n            previousCh = ch;\n            ch = this.nextChar();\n            var x2 = toHexDigit(ch);\n\n            if (x2 === -1) {\n              (0, _util.warn)(\"Lexer_getName: Illegal digit (\".concat(String.fromCharCode(ch), \") \") + \"in hexadecimal number.\");\n              strBuf.push(\"#\", String.fromCharCode(previousCh));\n\n              if (specialChars[ch]) {\n                break;\n              }\n\n              strBuf.push(String.fromCharCode(ch));\n              continue;\n            }\n\n            strBuf.push(String.fromCharCode(x << 4 | x2));\n          } else {\n            strBuf.push(\"#\", String.fromCharCode(ch));\n          }\n        } else {\n          strBuf.push(String.fromCharCode(ch));\n        }\n      }\n\n      if (strBuf.length > 127) {\n        (0, _util.warn)(\"Name token is longer than allowed by the spec: \".concat(strBuf.length));\n      }\n\n      return _primitives.Name.get(strBuf.join(\"\"));\n    }\n  }, {\n    key: \"_hexStringWarn\",\n    value: function _hexStringWarn(ch) {\n      var MAX_HEX_STRING_NUM_WARN = 5;\n\n      if (this._hexStringNumWarn++ === MAX_HEX_STRING_NUM_WARN) {\n        (0, _util.warn)(\"getHexString - ignoring additional invalid characters.\");\n        return;\n      }\n\n      if (this._hexStringNumWarn > MAX_HEX_STRING_NUM_WARN) {\n        return;\n      }\n\n      (0, _util.warn)(\"getHexString - ignoring invalid character: \".concat(ch));\n    }\n  }, {\n    key: \"getHexString\",\n    value: function getHexString() {\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      var ch = this.currentChar;\n      var isFirstHex = true;\n      var firstDigit, secondDigit;\n      this._hexStringNumWarn = 0;\n\n      while (true) {\n        if (ch < 0) {\n          (0, _util.warn)(\"Unterminated hex string\");\n          break;\n        } else if (ch === 0x3e) {\n          this.nextChar();\n          break;\n        } else if (specialChars[ch] === 1) {\n          ch = this.nextChar();\n          continue;\n        } else {\n          if (isFirstHex) {\n            firstDigit = toHexDigit(ch);\n\n            if (firstDigit === -1) {\n              this._hexStringWarn(ch);\n\n              ch = this.nextChar();\n              continue;\n            }\n          } else {\n            secondDigit = toHexDigit(ch);\n\n            if (secondDigit === -1) {\n              this._hexStringWarn(ch);\n\n              ch = this.nextChar();\n              continue;\n            }\n\n            strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit));\n          }\n\n          isFirstHex = !isFirstHex;\n          ch = this.nextChar();\n        }\n      }\n\n      return strBuf.join(\"\");\n    }\n  }, {\n    key: \"getObj\",\n    value: function getObj() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (specialChars[ch] !== 1) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2b:\n        case 0x2d:\n        case 0x2e:\n          return this.getNumber();\n\n        case 0x28:\n          return this.getString();\n\n        case 0x2f:\n          return this.getName();\n\n        case 0x5b:\n          this.nextChar();\n          return _primitives.Cmd.get(\"[\");\n\n        case 0x5d:\n          this.nextChar();\n          return _primitives.Cmd.get(\"]\");\n\n        case 0x3c:\n          ch = this.nextChar();\n\n          if (ch === 0x3c) {\n            this.nextChar();\n            return _primitives.Cmd.get(\"<<\");\n          }\n\n          return this.getHexString();\n\n        case 0x3e:\n          ch = this.nextChar();\n\n          if (ch === 0x3e) {\n            this.nextChar();\n            return _primitives.Cmd.get(\">>\");\n          }\n\n          return _primitives.Cmd.get(\">\");\n\n        case 0x7b:\n          this.nextChar();\n          return _primitives.Cmd.get(\"{\");\n\n        case 0x7d:\n          this.nextChar();\n          return _primitives.Cmd.get(\"}\");\n\n        case 0x29:\n          this.nextChar();\n          throw new _util.FormatError(\"Illegal character: \".concat(ch));\n      }\n\n      var str = String.fromCharCode(ch);\n      var knownCommands = this.knownCommands;\n      var knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n\n      while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) {\n        var possibleCommand = str + String.fromCharCode(ch);\n\n        if (knownCommandFound && knownCommands[possibleCommand] === undefined) {\n          break;\n        }\n\n        if (str.length === 128) {\n          throw new _util.FormatError(\"Command token too long: \".concat(str.length));\n        }\n\n        str = possibleCommand;\n        knownCommandFound = knownCommands && knownCommands[str] !== undefined;\n      }\n\n      if (str === \"true\") {\n        return true;\n      }\n\n      if (str === \"false\") {\n        return false;\n      }\n\n      if (str === \"null\") {\n        return null;\n      }\n\n      if (str === \"BI\") {\n        this.beginInlineImagePos = this.stream.pos;\n      }\n\n      return _primitives.Cmd.get(str);\n    }\n  }, {\n    key: \"peekObj\",\n    value: function peekObj() {\n      var streamPos = this.stream.pos,\n          currentChar = this.currentChar,\n          beginInlineImagePos = this.beginInlineImagePos;\n      var nextObj;\n\n      try {\n        nextObj = this.getObj();\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"peekObj: \".concat(ex));\n      }\n\n      this.stream.pos = streamPos;\n      this.currentChar = currentChar;\n      this.beginInlineImagePos = beginInlineImagePos;\n      return nextObj;\n    }\n  }, {\n    key: \"skipToNextLine\",\n    value: function skipToNextLine() {\n      var ch = this.currentChar;\n\n      while (ch >= 0) {\n        if (ch === 0x0d) {\n          ch = this.nextChar();\n\n          if (ch === 0x0a) {\n            this.nextChar();\n          }\n\n          break;\n        } else if (ch === 0x0a) {\n          this.nextChar();\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n    }\n  }]);\n\n  return Lexer;\n}();\n\nexports.Lexer = Lexer;\n\nvar Linearization = /*#__PURE__*/function () {\n  function Linearization() {\n    _classCallCheck(this, Linearization);\n  }\n\n  _createClass(Linearization, null, [{\n    key: \"create\",\n    value: function create(stream) {\n      function getInt(linDict, name) {\n        var allowZeroValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n        var obj = linDict.get(name);\n\n        if (Number.isInteger(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) {\n          return obj;\n        }\n\n        throw new Error(\"The \\\"\".concat(name, \"\\\" parameter in the linearization \") + \"dictionary is invalid.\");\n      }\n\n      function getHints(linDict) {\n        var hints = linDict.get(\"H\");\n        var hintsLength;\n\n        if (Array.isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) {\n          for (var index = 0; index < hintsLength; index++) {\n            var hint = hints[index];\n\n            if (!(Number.isInteger(hint) && hint > 0)) {\n              throw new Error(\"Hint (\".concat(index, \") in the linearization dictionary is invalid.\"));\n            }\n          }\n\n          return hints;\n        }\n\n        throw new Error(\"Hint array in the linearization dictionary is invalid.\");\n      }\n\n      var parser = new Parser({\n        lexer: new Lexer(stream),\n        xref: null\n      });\n      var obj1 = parser.getObj();\n      var obj2 = parser.getObj();\n      var obj3 = parser.getObj();\n      var linDict = parser.getObj();\n      var obj, length;\n\n      if (!(Number.isInteger(obj1) && Number.isInteger(obj2) && (0, _primitives.isCmd)(obj3, \"obj\") && (0, _primitives.isDict)(linDict) && (0, _util.isNum)(obj = linDict.get(\"Linearized\")) && obj > 0)) {\n        return null;\n      } else if ((length = getInt(linDict, \"L\")) !== stream.length) {\n        throw new Error('The \"L\" parameter in the linearization dictionary ' + \"does not equal the stream length.\");\n      }\n\n      return {\n        length: length,\n        hints: getHints(linDict),\n        objectNumberFirst: getInt(linDict, \"O\"),\n        endFirst: getInt(linDict, \"E\"),\n        numPages: getInt(linDict, \"N\"),\n        mainXRefEntriesOffset: getInt(linDict, \"T\"),\n        pageFirst: linDict.has(\"P\") ? getInt(linDict, \"P\", true) : 0\n      };\n    }\n  }]);\n\n  return Linearization;\n}();\n\nexports.Linearization = Linearization;\n\n/***/ }),\n/* 142 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.StringStream = exports.StreamsSequenceStream = exports.Stream = exports.RunLengthStream = exports.PredictorStream = exports.NullStream = exports.LZWStream = exports.FlateStream = exports.DecryptStream = exports.DecodeStream = exports.AsciiHexStream = exports.Ascii85Stream = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar Stream = function StreamClosure() {\n  function Stream(arrayBuffer, start, length, dict) {\n    this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer);\n    this.start = start || 0;\n    this.pos = this.start;\n    this.end = start + length || this.bytes.length;\n    this.dict = dict;\n  }\n\n  Stream.prototype = {\n    get length() {\n      return this.end - this.start;\n    },\n\n    get isEmpty() {\n      return this.length === 0;\n    },\n\n    getByte: function Stream_getByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n\n      return this.bytes[this.pos++];\n    },\n    getUint16: function Stream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    },\n    getInt32: function Stream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.bytes;\n      var pos = this.pos;\n      var strEnd = this.end;\n\n      if (!length) {\n        var _subarray = bytes.subarray(pos, strEnd);\n\n        return forceClamped ? new Uint8ClampedArray(_subarray) : _subarray;\n      }\n\n      var end = pos + length;\n\n      if (end > strEnd) {\n        end = strEnd;\n      }\n\n      this.pos = end;\n      var subarray = bytes.subarray(pos, end);\n      return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n    },\n    peekByte: function Stream_peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    },\n    peekBytes: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    getByteRange: function getByteRange(begin, end) {\n      if (begin < 0) {\n        begin = 0;\n      }\n\n      if (end > this.end) {\n        end = this.end;\n      }\n\n      return this.bytes.subarray(begin, end);\n    },\n    skip: function Stream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    },\n    reset: function Stream_reset() {\n      this.pos = this.start;\n    },\n    moveStart: function Stream_moveStart() {\n      this.start = this.pos;\n    },\n    makeSubStream: function Stream_makeSubStream(start, length, dict) {\n      return new Stream(this.bytes.buffer, start, length, dict);\n    }\n  };\n  return Stream;\n}();\n\nexports.Stream = Stream;\n\nvar StringStream = function StringStreamClosure() {\n  function StringStream(str) {\n    var bytes = (0, _util.stringToBytes)(str);\n    Stream.call(this, bytes);\n  }\n\n  StringStream.prototype = Stream.prototype;\n  return StringStream;\n}();\n\nexports.StringStream = StringStream;\n\nvar DecodeStream = function DecodeStreamClosure() {\n  var emptyBuffer = new Uint8Array(0);\n\n  function DecodeStream(maybeMinBufferLength) {\n    this._rawMinBufferLength = maybeMinBufferLength || 0;\n    this.pos = 0;\n    this.bufferLength = 0;\n    this.eof = false;\n    this.buffer = emptyBuffer;\n    this.minBufferLength = 512;\n\n    if (maybeMinBufferLength) {\n      while (this.minBufferLength < maybeMinBufferLength) {\n        this.minBufferLength *= 2;\n      }\n    }\n  }\n\n  DecodeStream.prototype = {\n    get length() {\n      (0, _util.unreachable)(\"Should not access DecodeStream.length\");\n    },\n\n    get isEmpty() {\n      while (!this.eof && this.bufferLength === 0) {\n        this.readBlock();\n      }\n\n      return this.bufferLength === 0;\n    },\n\n    ensureBuffer: function DecodeStream_ensureBuffer(requested) {\n      var buffer = this.buffer;\n\n      if (requested <= buffer.byteLength) {\n        return buffer;\n      }\n\n      var size = this.minBufferLength;\n\n      while (size < requested) {\n        size *= 2;\n      }\n\n      var buffer2 = new Uint8Array(size);\n      buffer2.set(buffer);\n      return this.buffer = buffer2;\n    },\n    getByte: function DecodeStream_getByte() {\n      var pos = this.pos;\n\n      while (this.bufferLength <= pos) {\n        if (this.eof) {\n          return -1;\n        }\n\n        this.readBlock();\n      }\n\n      return this.buffer[this.pos++];\n    },\n    getUint16: function DecodeStream_getUint16() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n\n      if (b0 === -1 || b1 === -1) {\n        return -1;\n      }\n\n      return (b0 << 8) + b1;\n    },\n    getInt32: function DecodeStream_getInt32() {\n      var b0 = this.getByte();\n      var b1 = this.getByte();\n      var b2 = this.getByte();\n      var b3 = this.getByte();\n      return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n    },\n    getBytes: function getBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var end,\n          pos = this.pos;\n\n      if (length) {\n        this.ensureBuffer(pos + length);\n        end = pos + length;\n\n        while (!this.eof && this.bufferLength < end) {\n          this.readBlock();\n        }\n\n        var bufEnd = this.bufferLength;\n\n        if (end > bufEnd) {\n          end = bufEnd;\n        }\n      } else {\n        while (!this.eof) {\n          this.readBlock();\n        }\n\n        end = this.bufferLength;\n      }\n\n      this.pos = end;\n      var subarray = this.buffer.subarray(pos, end);\n      return forceClamped && !(subarray instanceof Uint8ClampedArray) ? new Uint8ClampedArray(subarray) : subarray;\n    },\n    peekByte: function DecodeStream_peekByte() {\n      var peekedByte = this.getByte();\n\n      if (peekedByte !== -1) {\n        this.pos--;\n      }\n\n      return peekedByte;\n    },\n    peekBytes: function peekBytes(length) {\n      var forceClamped = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var bytes = this.getBytes(length, forceClamped);\n      this.pos -= bytes.length;\n      return bytes;\n    },\n    makeSubStream: function DecodeStream_makeSubStream(start, length, dict) {\n      var end = start + length;\n\n      while (this.bufferLength <= end && !this.eof) {\n        this.readBlock();\n      }\n\n      return new Stream(this.buffer, start, length, dict);\n    },\n    getByteRange: function getByteRange(begin, end) {\n      (0, _util.unreachable)(\"Should not call DecodeStream.getByteRange\");\n    },\n    skip: function DecodeStream_skip(n) {\n      if (!n) {\n        n = 1;\n      }\n\n      this.pos += n;\n    },\n    reset: function DecodeStream_reset() {\n      this.pos = 0;\n    },\n    getBaseStreams: function DecodeStream_getBaseStreams() {\n      if (this.str && this.str.getBaseStreams) {\n        return this.str.getBaseStreams();\n      }\n\n      return [];\n    }\n  };\n  return DecodeStream;\n}();\n\nexports.DecodeStream = DecodeStream;\n\nvar StreamsSequenceStream = function StreamsSequenceStreamClosure() {\n  function StreamsSequenceStream(streams) {\n    this.streams = streams;\n    var maybeLength = 0;\n\n    for (var i = 0, ii = streams.length; i < ii; i++) {\n      var stream = streams[i];\n\n      if (stream instanceof DecodeStream) {\n        maybeLength += stream._rawMinBufferLength;\n      } else {\n        maybeLength += stream.length;\n      }\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype);\n\n  StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() {\n    var streams = this.streams;\n\n    if (streams.length === 0) {\n      this.eof = true;\n      return;\n    }\n\n    var stream = streams.shift();\n    var chunk = stream.getBytes();\n    var bufferLength = this.bufferLength;\n    var newLength = bufferLength + chunk.length;\n    var buffer = this.ensureBuffer(newLength);\n    buffer.set(chunk, bufferLength);\n    this.bufferLength = newLength;\n  };\n\n  StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() {\n    var baseStreams = [];\n\n    for (var i = 0, ii = this.streams.length; i < ii; i++) {\n      var stream = this.streams[i];\n\n      if (stream.getBaseStreams) {\n        baseStreams.push.apply(baseStreams, _toConsumableArray(stream.getBaseStreams()));\n      }\n    }\n\n    return baseStreams;\n  };\n\n  return StreamsSequenceStream;\n}();\n\nexports.StreamsSequenceStream = StreamsSequenceStream;\n\nvar FlateStream = function FlateStreamClosure() {\n  var codeLenCodeMap = new Int32Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);\n  var lengthDecode = new Int32Array([0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a, 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f, 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073, 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102]);\n  var distDecode = new Int32Array([0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d, 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1, 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01, 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001]);\n  var fixedLitCodeTab = [new Int32Array([0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0, 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0, 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0, 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8, 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8, 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8, 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4, 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4, 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4, 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc, 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec, 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc, 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2, 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2, 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2, 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca, 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea, 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da, 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6, 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6, 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6, 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce, 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee, 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de, 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe, 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1, 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1, 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1, 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1, 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9, 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9, 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9, 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9, 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5, 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5, 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5, 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5, 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd, 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed, 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd, 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd, 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3, 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3, 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3, 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3, 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb, 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb, 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db, 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb, 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7, 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7, 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7, 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7, 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf, 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef, 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df, 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff]), 9];\n  var fixedDistCodeTab = [new Int32Array([0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c, 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000, 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d, 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000]), 5];\n\n  function FlateStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    var cmf = str.getByte();\n    var flg = str.getByte();\n\n    if (cmf === -1 || flg === -1) {\n      throw new _util.FormatError(\"Invalid header in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if ((cmf & 0x0f) !== 0x08) {\n      throw new _util.FormatError(\"Unknown compression method in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if (((cmf << 8) + flg) % 31 !== 0) {\n      throw new _util.FormatError(\"Bad FCHECK in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    if (flg & 0x20) {\n      throw new _util.FormatError(\"FDICT bit set in flate stream: \".concat(cmf, \", \").concat(flg));\n    }\n\n    this.codeSize = 0;\n    this.codeBuf = 0;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  FlateStream.prototype = Object.create(DecodeStream.prototype);\n\n  FlateStream.prototype.getBits = function FlateStream_getBits(bits) {\n    var str = this.str;\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n\n    while (codeSize < bits) {\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad encoding in flate stream\");\n      }\n\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n\n    b = codeBuf & (1 << bits) - 1;\n    this.codeBuf = codeBuf >> bits;\n    this.codeSize = codeSize -= bits;\n    return b;\n  };\n\n  FlateStream.prototype.getCode = function FlateStream_getCode(table) {\n    var str = this.str;\n    var codes = table[0];\n    var maxLen = table[1];\n    var codeSize = this.codeSize;\n    var codeBuf = this.codeBuf;\n    var b;\n\n    while (codeSize < maxLen) {\n      if ((b = str.getByte()) === -1) {\n        break;\n      }\n\n      codeBuf |= b << codeSize;\n      codeSize += 8;\n    }\n\n    var code = codes[codeBuf & (1 << maxLen) - 1];\n    var codeLen = code >> 16;\n    var codeVal = code & 0xffff;\n\n    if (codeLen < 1 || codeSize < codeLen) {\n      throw new _util.FormatError(\"Bad encoding in flate stream\");\n    }\n\n    this.codeBuf = codeBuf >> codeLen;\n    this.codeSize = codeSize - codeLen;\n    return codeVal;\n  };\n\n  FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) {\n    var n = lengths.length;\n    var maxLen = 0;\n    var i;\n\n    for (i = 0; i < n; ++i) {\n      if (lengths[i] > maxLen) {\n        maxLen = lengths[i];\n      }\n    }\n\n    var size = 1 << maxLen;\n    var codes = new Int32Array(size);\n\n    for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n      for (var val = 0; val < n; ++val) {\n        if (lengths[val] === len) {\n          var code2 = 0;\n          var t = code;\n\n          for (i = 0; i < len; ++i) {\n            code2 = code2 << 1 | t & 1;\n            t >>= 1;\n          }\n\n          for (i = code2; i < size; i += skip) {\n            codes[i] = len << 16 | val;\n          }\n\n          ++code;\n        }\n      }\n    }\n\n    return [codes, maxLen];\n  };\n\n  FlateStream.prototype.readBlock = function FlateStream_readBlock() {\n    var buffer, len;\n    var str = this.str;\n    var hdr = this.getBits(3);\n\n    if (hdr & 1) {\n      this.eof = true;\n    }\n\n    hdr >>= 1;\n\n    if (hdr === 0) {\n      var b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      var blockLen = b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      blockLen |= b << 8;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      var check = b;\n\n      if ((b = str.getByte()) === -1) {\n        throw new _util.FormatError(\"Bad block header in flate stream\");\n      }\n\n      check |= b << 8;\n\n      if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n        throw new _util.FormatError(\"Bad uncompressed block length in flate stream\");\n      }\n\n      this.codeBuf = 0;\n      this.codeSize = 0;\n      var bufferLength = this.bufferLength,\n          end = bufferLength + blockLen;\n      buffer = this.ensureBuffer(end);\n      this.bufferLength = end;\n\n      if (blockLen === 0) {\n        if (str.peekByte() === -1) {\n          this.eof = true;\n        }\n      } else {\n        var block = str.getBytes(blockLen);\n        buffer.set(block, bufferLength);\n\n        if (block.length < blockLen) {\n          this.eof = true;\n        }\n      }\n\n      return;\n    }\n\n    var litCodeTable;\n    var distCodeTable;\n\n    if (hdr === 1) {\n      litCodeTable = fixedLitCodeTab;\n      distCodeTable = fixedDistCodeTab;\n    } else if (hdr === 2) {\n      var numLitCodes = this.getBits(5) + 257;\n      var numDistCodes = this.getBits(5) + 1;\n      var numCodeLenCodes = this.getBits(4) + 4;\n      var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n      var i;\n\n      for (i = 0; i < numCodeLenCodes; ++i) {\n        codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n      }\n\n      var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n      len = 0;\n      i = 0;\n      var codes = numLitCodes + numDistCodes;\n      var codeLengths = new Uint8Array(codes);\n      var bitsLength, bitsOffset, what;\n\n      while (i < codes) {\n        var code = this.getCode(codeLenCodeTab);\n\n        if (code === 16) {\n          bitsLength = 2;\n          bitsOffset = 3;\n          what = len;\n        } else if (code === 17) {\n          bitsLength = 3;\n          bitsOffset = 3;\n          what = len = 0;\n        } else if (code === 18) {\n          bitsLength = 7;\n          bitsOffset = 11;\n          what = len = 0;\n        } else {\n          codeLengths[i++] = len = code;\n          continue;\n        }\n\n        var repeatLength = this.getBits(bitsLength) + bitsOffset;\n\n        while (repeatLength-- > 0) {\n          codeLengths[i++] = what;\n        }\n      }\n\n      litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n      distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n    } else {\n      throw new _util.FormatError(\"Unknown block type in flate stream\");\n    }\n\n    buffer = this.buffer;\n    var limit = buffer ? buffer.length : 0;\n    var pos = this.bufferLength;\n\n    while (true) {\n      var code1 = this.getCode(litCodeTable);\n\n      if (code1 < 256) {\n        if (pos + 1 >= limit) {\n          buffer = this.ensureBuffer(pos + 1);\n          limit = buffer.length;\n        }\n\n        buffer[pos++] = code1;\n        continue;\n      }\n\n      if (code1 === 256) {\n        this.bufferLength = pos;\n        return;\n      }\n\n      code1 -= 257;\n      code1 = lengthDecode[code1];\n      var code2 = code1 >> 16;\n\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n\n      len = (code1 & 0xffff) + code2;\n      code1 = this.getCode(distCodeTable);\n      code1 = distDecode[code1];\n      code2 = code1 >> 16;\n\n      if (code2 > 0) {\n        code2 = this.getBits(code2);\n      }\n\n      var dist = (code1 & 0xffff) + code2;\n\n      if (pos + len >= limit) {\n        buffer = this.ensureBuffer(pos + len);\n        limit = buffer.length;\n      }\n\n      for (var k = 0; k < len; ++k, ++pos) {\n        buffer[pos] = buffer[pos - dist];\n      }\n    }\n  };\n\n  return FlateStream;\n}();\n\nexports.FlateStream = FlateStream;\n\nvar PredictorStream = function PredictorStreamClosure() {\n  function PredictorStream(str, maybeLength, params) {\n    if (!(0, _primitives.isDict)(params)) {\n      return str;\n    }\n\n    var predictor = this.predictor = params.get(\"Predictor\") || 1;\n\n    if (predictor <= 1) {\n      return str;\n    }\n\n    if (predictor !== 2 && (predictor < 10 || predictor > 15)) {\n      throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n    }\n\n    if (predictor === 2) {\n      this.readBlock = this.readBlockTiff;\n    } else {\n      this.readBlock = this.readBlockPng;\n    }\n\n    this.str = str;\n    this.dict = str.dict;\n    var colors = this.colors = params.get(\"Colors\") || 1;\n    var bits = this.bits = params.get(\"BitsPerComponent\") || 8;\n    var columns = this.columns = params.get(\"Columns\") || 1;\n    this.pixBytes = colors * bits + 7 >> 3;\n    this.rowBytes = columns * colors * bits + 7 >> 3;\n    DecodeStream.call(this, maybeLength);\n    return this;\n  }\n\n  PredictorStream.prototype = Object.create(DecodeStream.prototype);\n\n  PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() {\n    var rowBytes = this.rowBytes;\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var bits = this.bits;\n    var colors = this.colors;\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n\n    if (this.eof) {\n      return;\n    }\n\n    var inbuf = 0,\n        outbuf = 0;\n    var inbits = 0,\n        outbits = 0;\n    var pos = bufferLength;\n    var i;\n\n    if (bits === 1 && colors === 1) {\n      for (i = 0; i < rowBytes; ++i) {\n        var c = rawBytes[i] ^ inbuf;\n        c ^= c >> 1;\n        c ^= c >> 2;\n        c ^= c >> 4;\n        inbuf = (c & 1) << 7;\n        buffer[pos++] = c;\n      }\n    } else if (bits === 8) {\n      for (i = 0; i < colors; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n\n      for (; i < rowBytes; ++i) {\n        buffer[pos] = buffer[pos - colors] + rawBytes[i];\n        pos++;\n      }\n    } else if (bits === 16) {\n      var bytesPerPixel = colors * 2;\n\n      for (i = 0; i < bytesPerPixel; ++i) {\n        buffer[pos++] = rawBytes[i];\n      }\n\n      for (; i < rowBytes; i += 2) {\n        var sum = ((rawBytes[i] & 0xff) << 8) + (rawBytes[i + 1] & 0xff) + ((buffer[pos - bytesPerPixel] & 0xff) << 8) + (buffer[pos - bytesPerPixel + 1] & 0xff);\n        buffer[pos++] = sum >> 8 & 0xff;\n        buffer[pos++] = sum & 0xff;\n      }\n    } else {\n      var compArray = new Uint8Array(colors + 1);\n      var bitMask = (1 << bits) - 1;\n      var j = 0,\n          k = bufferLength;\n      var columns = this.columns;\n\n      for (i = 0; i < columns; ++i) {\n        for (var kk = 0; kk < colors; ++kk) {\n          if (inbits < bits) {\n            inbuf = inbuf << 8 | rawBytes[j++] & 0xff;\n            inbits += 8;\n          }\n\n          compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask;\n          inbits -= bits;\n          outbuf = outbuf << bits | compArray[kk];\n          outbits += bits;\n\n          if (outbits >= 8) {\n            buffer[k++] = outbuf >> outbits - 8 & 0xff;\n            outbits -= 8;\n          }\n        }\n      }\n\n      if (outbits > 0) {\n        buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1);\n      }\n    }\n\n    this.bufferLength += rowBytes;\n  };\n\n  PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() {\n    var rowBytes = this.rowBytes;\n    var pixBytes = this.pixBytes;\n    var predictor = this.str.getByte();\n    var rawBytes = this.str.getBytes(rowBytes);\n    this.eof = !rawBytes.length;\n\n    if (this.eof) {\n      return;\n    }\n\n    var bufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(bufferLength + rowBytes);\n    var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength);\n\n    if (prevRow.length === 0) {\n      prevRow = new Uint8Array(rowBytes);\n    }\n\n    var i,\n        j = bufferLength,\n        up,\n        c;\n\n    switch (predictor) {\n      case 0:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n\n        break;\n\n      case 1:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = rawBytes[i];\n        }\n\n        for (; i < rowBytes; ++i) {\n          buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xff;\n          j++;\n        }\n\n        break;\n\n      case 2:\n        for (i = 0; i < rowBytes; ++i) {\n          buffer[j++] = prevRow[i] + rawBytes[i] & 0xff;\n        }\n\n        break;\n\n      case 3:\n        for (i = 0; i < pixBytes; ++i) {\n          buffer[j++] = (prevRow[i] >> 1) + rawBytes[i];\n        }\n\n        for (; i < rowBytes; ++i) {\n          buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xff;\n          j++;\n        }\n\n        break;\n\n      case 4:\n        for (i = 0; i < pixBytes; ++i) {\n          up = prevRow[i];\n          c = rawBytes[i];\n          buffer[j++] = up + c;\n        }\n\n        for (; i < rowBytes; ++i) {\n          up = prevRow[i];\n          var upLeft = prevRow[i - pixBytes];\n          var left = buffer[j - pixBytes];\n          var p = left + up - upLeft;\n          var pa = p - left;\n\n          if (pa < 0) {\n            pa = -pa;\n          }\n\n          var pb = p - up;\n\n          if (pb < 0) {\n            pb = -pb;\n          }\n\n          var pc = p - upLeft;\n\n          if (pc < 0) {\n            pc = -pc;\n          }\n\n          c = rawBytes[i];\n\n          if (pa <= pb && pa <= pc) {\n            buffer[j++] = left + c;\n          } else if (pb <= pc) {\n            buffer[j++] = up + c;\n          } else {\n            buffer[j++] = upLeft + c;\n          }\n        }\n\n        break;\n\n      default:\n        throw new _util.FormatError(\"Unsupported predictor: \".concat(predictor));\n    }\n\n    this.bufferLength += rowBytes;\n  };\n\n  return PredictorStream;\n}();\n\nexports.PredictorStream = PredictorStream;\n\nvar DecryptStream = function DecryptStreamClosure() {\n  function DecryptStream(str, maybeLength, decrypt) {\n    this.str = str;\n    this.dict = str.dict;\n    this.decrypt = decrypt;\n    this.nextChunk = null;\n    this.initialized = false;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  var chunkSize = 512;\n  DecryptStream.prototype = Object.create(DecodeStream.prototype);\n\n  DecryptStream.prototype.readBlock = function DecryptStream_readBlock() {\n    var chunk;\n\n    if (this.initialized) {\n      chunk = this.nextChunk;\n    } else {\n      chunk = this.str.getBytes(chunkSize);\n      this.initialized = true;\n    }\n\n    if (!chunk || chunk.length === 0) {\n      this.eof = true;\n      return;\n    }\n\n    this.nextChunk = this.str.getBytes(chunkSize);\n    var hasMoreData = this.nextChunk && this.nextChunk.length > 0;\n    var decrypt = this.decrypt;\n    chunk = decrypt(chunk, !hasMoreData);\n    var bufferLength = this.bufferLength;\n    var i,\n        n = chunk.length;\n    var buffer = this.ensureBuffer(bufferLength + n);\n\n    for (i = 0; i < n; i++) {\n      buffer[bufferLength++] = chunk[i];\n    }\n\n    this.bufferLength = bufferLength;\n  };\n\n  return DecryptStream;\n}();\n\nexports.DecryptStream = DecryptStream;\n\nvar Ascii85Stream = function Ascii85StreamClosure() {\n  function Ascii85Stream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.input = new Uint8Array(5);\n\n    if (maybeLength) {\n      maybeLength = 0.8 * maybeLength;\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  Ascii85Stream.prototype = Object.create(DecodeStream.prototype);\n\n  Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() {\n    var TILDA_CHAR = 0x7e;\n    var Z_LOWER_CHAR = 0x7a;\n    var EOF = -1;\n    var str = this.str;\n    var c = str.getByte();\n\n    while ((0, _core_utils.isWhiteSpace)(c)) {\n      c = str.getByte();\n    }\n\n    if (c === EOF || c === TILDA_CHAR) {\n      this.eof = true;\n      return;\n    }\n\n    var bufferLength = this.bufferLength,\n        buffer;\n    var i;\n\n    if (c === Z_LOWER_CHAR) {\n      buffer = this.ensureBuffer(bufferLength + 4);\n\n      for (i = 0; i < 4; ++i) {\n        buffer[bufferLength + i] = 0;\n      }\n\n      this.bufferLength += 4;\n    } else {\n      var input = this.input;\n      input[0] = c;\n\n      for (i = 1; i < 5; ++i) {\n        c = str.getByte();\n\n        while ((0, _core_utils.isWhiteSpace)(c)) {\n          c = str.getByte();\n        }\n\n        input[i] = c;\n\n        if (c === EOF || c === TILDA_CHAR) {\n          break;\n        }\n      }\n\n      buffer = this.ensureBuffer(bufferLength + i - 1);\n      this.bufferLength += i - 1;\n\n      if (i < 5) {\n        for (; i < 5; ++i) {\n          input[i] = 0x21 + 84;\n        }\n\n        this.eof = true;\n      }\n\n      var t = 0;\n\n      for (i = 0; i < 5; ++i) {\n        t = t * 85 + (input[i] - 0x21);\n      }\n\n      for (i = 3; i >= 0; --i) {\n        buffer[bufferLength + i] = t & 0xff;\n        t >>= 8;\n      }\n    }\n  };\n\n  return Ascii85Stream;\n}();\n\nexports.Ascii85Stream = Ascii85Stream;\n\nvar AsciiHexStream = function AsciiHexStreamClosure() {\n  function AsciiHexStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    this.firstDigit = -1;\n\n    if (maybeLength) {\n      maybeLength = 0.5 * maybeLength;\n    }\n\n    DecodeStream.call(this, maybeLength);\n  }\n\n  AsciiHexStream.prototype = Object.create(DecodeStream.prototype);\n\n  AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() {\n    var UPSTREAM_BLOCK_SIZE = 8000;\n    var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE);\n\n    if (!bytes.length) {\n      this.eof = true;\n      return;\n    }\n\n    var maxDecodeLength = bytes.length + 1 >> 1;\n    var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n    var bufferLength = this.bufferLength;\n    var firstDigit = this.firstDigit;\n\n    for (var i = 0, ii = bytes.length; i < ii; i++) {\n      var ch = bytes[i],\n          digit;\n\n      if (ch >= 0x30 && ch <= 0x39) {\n        digit = ch & 0x0f;\n      } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) {\n        digit = (ch & 0x0f) + 9;\n      } else if (ch === 0x3e) {\n        this.eof = true;\n        break;\n      } else {\n        continue;\n      }\n\n      if (firstDigit < 0) {\n        firstDigit = digit;\n      } else {\n        buffer[bufferLength++] = firstDigit << 4 | digit;\n        firstDigit = -1;\n      }\n    }\n\n    if (firstDigit >= 0 && this.eof) {\n      buffer[bufferLength++] = firstDigit << 4;\n      firstDigit = -1;\n    }\n\n    this.firstDigit = firstDigit;\n    this.bufferLength = bufferLength;\n  };\n\n  return AsciiHexStream;\n}();\n\nexports.AsciiHexStream = AsciiHexStream;\n\nvar RunLengthStream = function RunLengthStreamClosure() {\n  function RunLengthStream(str, maybeLength) {\n    this.str = str;\n    this.dict = str.dict;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  RunLengthStream.prototype = Object.create(DecodeStream.prototype);\n\n  RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() {\n    var repeatHeader = this.str.getBytes(2);\n\n    if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n      this.eof = true;\n      return;\n    }\n\n    var buffer;\n    var bufferLength = this.bufferLength;\n    var n = repeatHeader[0];\n\n    if (n < 128) {\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n      buffer[bufferLength++] = repeatHeader[1];\n\n      if (n > 0) {\n        var source = this.str.getBytes(n);\n        buffer.set(source, bufferLength);\n        bufferLength += n;\n      }\n    } else {\n      n = 257 - n;\n      var b = repeatHeader[1];\n      buffer = this.ensureBuffer(bufferLength + n + 1);\n\n      for (var i = 0; i < n; i++) {\n        buffer[bufferLength++] = b;\n      }\n    }\n\n    this.bufferLength = bufferLength;\n  };\n\n  return RunLengthStream;\n}();\n\nexports.RunLengthStream = RunLengthStream;\n\nvar LZWStream = function LZWStreamClosure() {\n  function LZWStream(str, maybeLength, earlyChange) {\n    this.str = str;\n    this.dict = str.dict;\n    this.cachedData = 0;\n    this.bitsCached = 0;\n    var maxLzwDictionarySize = 4096;\n    var lzwState = {\n      earlyChange: earlyChange,\n      codeLength: 9,\n      nextCode: 258,\n      dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n      dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n      dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n      currentSequence: new Uint8Array(maxLzwDictionarySize),\n      currentSequenceLength: 0\n    };\n\n    for (var i = 0; i < 256; ++i) {\n      lzwState.dictionaryValues[i] = i;\n      lzwState.dictionaryLengths[i] = 1;\n    }\n\n    this.lzwState = lzwState;\n    DecodeStream.call(this, maybeLength);\n  }\n\n  LZWStream.prototype = Object.create(DecodeStream.prototype);\n\n  LZWStream.prototype.readBits = function LZWStream_readBits(n) {\n    var bitsCached = this.bitsCached;\n    var cachedData = this.cachedData;\n\n    while (bitsCached < n) {\n      var c = this.str.getByte();\n\n      if (c === -1) {\n        this.eof = true;\n        return null;\n      }\n\n      cachedData = cachedData << 8 | c;\n      bitsCached += 8;\n    }\n\n    this.bitsCached = bitsCached -= n;\n    this.cachedData = cachedData;\n    this.lastCode = null;\n    return cachedData >>> bitsCached & (1 << n) - 1;\n  };\n\n  LZWStream.prototype.readBlock = function LZWStream_readBlock() {\n    var blockSize = 512;\n    var estimatedDecodedSize = blockSize * 2,\n        decodedSizeDelta = blockSize;\n    var i, j, q;\n    var lzwState = this.lzwState;\n\n    if (!lzwState) {\n      return;\n    }\n\n    var earlyChange = lzwState.earlyChange;\n    var nextCode = lzwState.nextCode;\n    var dictionaryValues = lzwState.dictionaryValues;\n    var dictionaryLengths = lzwState.dictionaryLengths;\n    var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n    var codeLength = lzwState.codeLength;\n    var prevCode = lzwState.prevCode;\n    var currentSequence = lzwState.currentSequence;\n    var currentSequenceLength = lzwState.currentSequenceLength;\n    var decodedLength = 0;\n    var currentBufferLength = this.bufferLength;\n    var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n\n    for (i = 0; i < blockSize; i++) {\n      var code = this.readBits(codeLength);\n      var hasPrev = currentSequenceLength > 0;\n\n      if (code < 256) {\n        currentSequence[0] = code;\n        currentSequenceLength = 1;\n      } else if (code >= 258) {\n        if (code < nextCode) {\n          currentSequenceLength = dictionaryLengths[code];\n\n          for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n            currentSequence[j] = dictionaryValues[q];\n            q = dictionaryPrevCodes[q];\n          }\n        } else {\n          currentSequence[currentSequenceLength++] = currentSequence[0];\n        }\n      } else if (code === 256) {\n        codeLength = 9;\n        nextCode = 258;\n        currentSequenceLength = 0;\n        continue;\n      } else {\n        this.eof = true;\n        delete this.lzwState;\n        break;\n      }\n\n      if (hasPrev) {\n        dictionaryPrevCodes[nextCode] = prevCode;\n        dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n        dictionaryValues[nextCode] = currentSequence[0];\n        nextCode++;\n        codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n      }\n\n      prevCode = code;\n      decodedLength += currentSequenceLength;\n\n      if (estimatedDecodedSize < decodedLength) {\n        do {\n          estimatedDecodedSize += decodedSizeDelta;\n        } while (estimatedDecodedSize < decodedLength);\n\n        buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n      }\n\n      for (j = 0; j < currentSequenceLength; j++) {\n        buffer[currentBufferLength++] = currentSequence[j];\n      }\n    }\n\n    lzwState.nextCode = nextCode;\n    lzwState.codeLength = codeLength;\n    lzwState.prevCode = prevCode;\n    lzwState.currentSequenceLength = currentSequenceLength;\n    this.bufferLength = currentBufferLength;\n  };\n\n  return LZWStream;\n}();\n\nexports.LZWStream = LZWStream;\n\nvar NullStream = function NullStreamClosure() {\n  function NullStream() {\n    Stream.call(this, new Uint8Array(0));\n  }\n\n  NullStream.prototype = Stream.prototype;\n  return NullStream;\n}();\n\nexports.NullStream = NullStream;\n\n/***/ }),\n/* 143 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.CCITTFaxStream = void 0;\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _ccitt = __w_pdfjs_require__(144);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar CCITTFaxStream = function CCITTFaxStreamClosure() {\n  function CCITTFaxStream(str, maybeLength, params) {\n    this.str = str;\n    this.dict = str.dict;\n\n    if (!(0, _primitives.isDict)(params)) {\n      params = _primitives.Dict.empty;\n    }\n\n    var source = {\n      next: function next() {\n        return str.getByte();\n      }\n    };\n    this.ccittFaxDecoder = new _ccitt.CCITTFaxDecoder(source, {\n      K: params.get(\"K\"),\n      EndOfLine: params.get(\"EndOfLine\"),\n      EncodedByteAlign: params.get(\"EncodedByteAlign\"),\n      Columns: params.get(\"Columns\"),\n      Rows: params.get(\"Rows\"),\n      EndOfBlock: params.get(\"EndOfBlock\"),\n      BlackIs1: params.get(\"BlackIs1\")\n    });\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  CCITTFaxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n\n  CCITTFaxStream.prototype.readBlock = function () {\n    while (!this.eof) {\n      var c = this.ccittFaxDecoder.readNextChar();\n\n      if (c === -1) {\n        this.eof = true;\n        return;\n      }\n\n      this.ensureBuffer(this.bufferLength + 1);\n      this.buffer[this.bufferLength++] = c;\n    }\n  };\n\n  return CCITTFaxStream;\n}();\n\nexports.CCITTFaxStream = CCITTFaxStream;\n\n/***/ }),\n/* 144 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.CCITTFaxDecoder = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar CCITTFaxDecoder = function CCITTFaxDecoder() {\n  var ccittEOL = -2;\n  var ccittEOF = -1;\n  var twoDimPass = 0;\n  var twoDimHoriz = 1;\n  var twoDimVert0 = 2;\n  var twoDimVertR1 = 3;\n  var twoDimVertL1 = 4;\n  var twoDimVertR2 = 5;\n  var twoDimVertL2 = 6;\n  var twoDimVertR3 = 7;\n  var twoDimVertL3 = 8;\n  var twoDimTable = [[-1, -1], [-1, -1], [7, twoDimVertL3], [7, twoDimVertR3], [6, twoDimVertL2], [6, twoDimVertL2], [6, twoDimVertR2], [6, twoDimVertR2], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [4, twoDimPass], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimHoriz], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertL1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [3, twoDimVertR1], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0], [1, twoDimVert0]];\n  var whiteTable1 = [[-1, -1], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [12, 1984], [12, 2048], [12, 2112], [12, 2176], [12, 2240], [12, 2304], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [12, 2368], [12, 2432], [12, 2496], [12, 2560]];\n  var whiteTable2 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [8, 29], [8, 29], [8, 30], [8, 30], [8, 45], [8, 45], [8, 46], [8, 46], [7, 22], [7, 22], [7, 22], [7, 22], [7, 23], [7, 23], [7, 23], [7, 23], [8, 47], [8, 47], [8, 48], [8, 48], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [6, 13], [7, 20], [7, 20], [7, 20], [7, 20], [8, 33], [8, 33], [8, 34], [8, 34], [8, 35], [8, 35], [8, 36], [8, 36], [8, 37], [8, 37], [8, 38], [8, 38], [7, 19], [7, 19], [7, 19], [7, 19], [8, 31], [8, 31], [8, 32], [8, 32], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 1], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [6, 12], [8, 53], [8, 53], [8, 54], [8, 54], [7, 26], [7, 26], [7, 26], [7, 26], [8, 39], [8, 39], [8, 40], [8, 40], [8, 41], [8, 41], [8, 42], [8, 42], [8, 43], [8, 43], [8, 44], [8, 44], [7, 21], [7, 21], [7, 21], [7, 21], [7, 28], [7, 28], [7, 28], [7, 28], [8, 61], [8, 61], [8, 62], [8, 62], [8, 63], [8, 63], [8, 0], [8, 0], [8, 320], [8, 320], [8, 384], [8, 384], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 10], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [5, 11], [7, 27], [7, 27], [7, 27], [7, 27], [8, 59], [8, 59], [8, 60], [8, 60], [9, 1472], [9, 1536], [9, 1600], [9, 1728], [7, 18], [7, 18], [7, 18], [7, 18], [7, 24], [7, 24], [7, 24], [7, 24], [8, 49], [8, 49], [8, 50], [8, 50], [8, 51], [8, 51], [8, 52], [8, 52], [7, 25], [7, 25], [7, 25], [7, 25], [8, 55], [8, 55], [8, 56], [8, 56], [8, 57], [8, 57], [8, 58], [8, 58], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 192], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [6, 1664], [8, 448], [8, 448], [8, 512], [8, 512], [9, 704], [9, 768], [8, 640], [8, 640], [8, 576], [8, 576], [9, 832], [9, 896], [9, 960], [9, 1024], [9, 1088], [9, 1152], [9, 1216], [9, 1280], [9, 1344], [9, 1408], [7, 256], [7, 256], [7, 256], [7, 256], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 2], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [4, 3], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 128], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 8], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [5, 9], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 16], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [6, 17], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 4], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [4, 5], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 14], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [6, 15], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [5, 64], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 6], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7], [4, 7]];\n  var blackTable1 = [[-1, -1], [-1, -1], [12, ccittEOL], [12, ccittEOL], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [-1, -1], [11, 1792], [11, 1792], [11, 1792], [11, 1792], [12, 1984], [12, 1984], [12, 2048], [12, 2048], [12, 2112], [12, 2112], [12, 2176], [12, 2176], [12, 2240], [12, 2240], [12, 2304], [12, 2304], [11, 1856], [11, 1856], [11, 1856], [11, 1856], [11, 1920], [11, 1920], [11, 1920], [11, 1920], [12, 2368], [12, 2368], [12, 2432], [12, 2432], [12, 2496], [12, 2496], [12, 2560], [12, 2560], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [10, 18], [12, 52], [12, 52], [13, 640], [13, 704], [13, 768], [13, 832], [12, 55], [12, 55], [12, 56], [12, 56], [13, 1280], [13, 1344], [13, 1408], [13, 1472], [12, 59], [12, 59], [12, 60], [12, 60], [13, 1536], [13, 1600], [11, 24], [11, 24], [11, 24], [11, 24], [11, 25], [11, 25], [11, 25], [11, 25], [13, 1664], [13, 1728], [12, 320], [12, 320], [12, 384], [12, 384], [12, 448], [12, 448], [13, 512], [13, 576], [12, 53], [12, 53], [12, 54], [12, 54], [13, 896], [13, 960], [13, 1024], [13, 1088], [13, 1152], [13, 1216], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64], [10, 64]];\n  var blackTable2 = [[8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [8, 13], [11, 23], [11, 23], [12, 50], [12, 51], [12, 44], [12, 45], [12, 46], [12, 47], [12, 57], [12, 58], [12, 61], [12, 256], [10, 16], [10, 16], [10, 16], [10, 16], [10, 17], [10, 17], [10, 17], [10, 17], [12, 48], [12, 49], [12, 62], [12, 63], [12, 30], [12, 31], [12, 32], [12, 33], [12, 40], [12, 41], [11, 22], [11, 22], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [8, 14], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 10], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [7, 11], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [9, 15], [12, 128], [12, 192], [12, 26], [12, 27], [12, 28], [12, 29], [11, 19], [11, 19], [11, 20], [11, 20], [12, 34], [12, 35], [12, 36], [12, 37], [12, 38], [12, 39], [11, 21], [11, 21], [12, 42], [12, 43], [10, 0], [10, 0], [10, 0], [10, 0], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12], [7, 12]];\n  var blackTable3 = [[-1, -1], [-1, -1], [-1, -1], [-1, -1], [6, 9], [6, 8], [5, 7], [5, 7], [4, 6], [4, 6], [4, 6], [4, 6], [4, 5], [4, 5], [4, 5], [4, 5], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 1], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [3, 4], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 3], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2], [2, 2]];\n\n  function CCITTFaxDecoder(source) {\n    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    if (!source || typeof source.next !== \"function\") {\n      throw new Error('CCITTFaxDecoder - invalid \"source\" parameter.');\n    }\n\n    this.source = source;\n    this.eof = false;\n    this.encoding = options.K || 0;\n    this.eoline = options.EndOfLine || false;\n    this.byteAlign = options.EncodedByteAlign || false;\n    this.columns = options.Columns || 1728;\n    this.rows = options.Rows || 0;\n    var eoblock = options.EndOfBlock;\n\n    if (eoblock === null || eoblock === undefined) {\n      eoblock = true;\n    }\n\n    this.eoblock = eoblock;\n    this.black = options.BlackIs1 || false;\n    this.codingLine = new Uint32Array(this.columns + 1);\n    this.refLine = new Uint32Array(this.columns + 2);\n    this.codingLine[0] = this.columns;\n    this.codingPos = 0;\n    this.row = 0;\n    this.nextLine2D = this.encoding < 0;\n    this.inputBits = 0;\n    this.inputBuf = 0;\n    this.outputBits = 0;\n    this.rowsDone = false;\n    var code1;\n\n    while ((code1 = this._lookBits(12)) === 0) {\n      this._eatBits(1);\n    }\n\n    if (code1 === 1) {\n      this._eatBits(12);\n    }\n\n    if (this.encoding > 0) {\n      this.nextLine2D = !this._lookBits(1);\n\n      this._eatBits(1);\n    }\n  }\n\n  CCITTFaxDecoder.prototype = {\n    readNextChar: function readNextChar() {\n      if (this.eof) {\n        return -1;\n      }\n\n      var refLine = this.refLine;\n      var codingLine = this.codingLine;\n      var columns = this.columns;\n      var refPos, blackPixels, bits, i;\n\n      if (this.outputBits === 0) {\n        if (this.rowsDone) {\n          this.eof = true;\n        }\n\n        if (this.eof) {\n          return -1;\n        }\n\n        this.err = false;\n        var code1, code2, code3;\n\n        if (this.nextLine2D) {\n          for (i = 0; codingLine[i] < columns; ++i) {\n            refLine[i] = codingLine[i];\n          }\n\n          refLine[i++] = columns;\n          refLine[i] = columns;\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          refPos = 0;\n          blackPixels = 0;\n\n          while (codingLine[this.codingPos] < columns) {\n            code1 = this._getTwoDimCode();\n\n            switch (code1) {\n              case twoDimPass:\n                this._addPixels(refLine[refPos + 1], blackPixels);\n\n                if (refLine[refPos + 1] < columns) {\n                  refPos += 2;\n                }\n\n                break;\n\n              case twoDimHoriz:\n                code1 = code2 = 0;\n\n                if (blackPixels) {\n                  do {\n                    code1 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n\n                  do {\n                    code2 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n                } else {\n                  do {\n                    code1 += code3 = this._getWhiteCode();\n                  } while (code3 >= 64);\n\n                  do {\n                    code2 += code3 = this._getBlackCode();\n                  } while (code3 >= 64);\n                }\n\n                this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n                if (codingLine[this.codingPos] < columns) {\n                  this._addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1);\n                }\n\n                while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                  refPos += 2;\n                }\n\n                break;\n\n              case twoDimVertR3:\n                this._addPixels(refLine[refPos] + 3, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertR2:\n                this._addPixels(refLine[refPos] + 2, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertR1:\n                this._addPixels(refLine[refPos] + 1, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVert0:\n                this._addPixels(refLine[refPos], blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  ++refPos;\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL3:\n                this._addPixelsNeg(refLine[refPos] - 3, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL2:\n                this._addPixelsNeg(refLine[refPos] - 2, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case twoDimVertL1:\n                this._addPixelsNeg(refLine[refPos] - 1, blackPixels);\n\n                blackPixels ^= 1;\n\n                if (codingLine[this.codingPos] < columns) {\n                  if (refPos > 0) {\n                    --refPos;\n                  } else {\n                    ++refPos;\n                  }\n\n                  while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) {\n                    refPos += 2;\n                  }\n                }\n\n                break;\n\n              case ccittEOF:\n                this._addPixels(columns, 0);\n\n                this.eof = true;\n                break;\n\n              default:\n                (0, _util.info)(\"bad 2d code\");\n\n                this._addPixels(columns, 0);\n\n                this.err = true;\n            }\n          }\n        } else {\n          codingLine[0] = 0;\n          this.codingPos = 0;\n          blackPixels = 0;\n\n          while (codingLine[this.codingPos] < columns) {\n            code1 = 0;\n\n            if (blackPixels) {\n              do {\n                code1 += code3 = this._getBlackCode();\n              } while (code3 >= 64);\n            } else {\n              do {\n                code1 += code3 = this._getWhiteCode();\n              } while (code3 >= 64);\n            }\n\n            this._addPixels(codingLine[this.codingPos] + code1, blackPixels);\n\n            blackPixels ^= 1;\n          }\n        }\n\n        var gotEOL = false;\n\n        if (this.byteAlign) {\n          this.inputBits &= ~7;\n        }\n\n        if (!this.eoblock && this.row === this.rows - 1) {\n          this.rowsDone = true;\n        } else {\n          code1 = this._lookBits(12);\n\n          if (this.eoline) {\n            while (code1 !== ccittEOF && code1 !== 1) {\n              this._eatBits(1);\n\n              code1 = this._lookBits(12);\n            }\n          } else {\n            while (code1 === 0) {\n              this._eatBits(1);\n\n              code1 = this._lookBits(12);\n            }\n          }\n\n          if (code1 === 1) {\n            this._eatBits(12);\n\n            gotEOL = true;\n          } else if (code1 === ccittEOF) {\n            this.eof = true;\n          }\n        }\n\n        if (!this.eof && this.encoding > 0 && !this.rowsDone) {\n          this.nextLine2D = !this._lookBits(1);\n\n          this._eatBits(1);\n        }\n\n        if (this.eoblock && gotEOL && this.byteAlign) {\n          code1 = this._lookBits(12);\n\n          if (code1 === 1) {\n            this._eatBits(12);\n\n            if (this.encoding > 0) {\n              this._lookBits(1);\n\n              this._eatBits(1);\n            }\n\n            if (this.encoding >= 0) {\n              for (i = 0; i < 4; ++i) {\n                code1 = this._lookBits(12);\n\n                if (code1 !== 1) {\n                  (0, _util.info)(\"bad rtc code: \" + code1);\n                }\n\n                this._eatBits(12);\n\n                if (this.encoding > 0) {\n                  this._lookBits(1);\n\n                  this._eatBits(1);\n                }\n              }\n            }\n\n            this.eof = true;\n          }\n        } else if (this.err && this.eoline) {\n          while (true) {\n            code1 = this._lookBits(13);\n\n            if (code1 === ccittEOF) {\n              this.eof = true;\n              return -1;\n            }\n\n            if (code1 >> 1 === 1) {\n              break;\n            }\n\n            this._eatBits(1);\n          }\n\n          this._eatBits(12);\n\n          if (this.encoding > 0) {\n            this._eatBits(1);\n\n            this.nextLine2D = !(code1 & 1);\n          }\n        }\n\n        if (codingLine[0] > 0) {\n          this.outputBits = codingLine[this.codingPos = 0];\n        } else {\n          this.outputBits = codingLine[this.codingPos = 1];\n        }\n\n        this.row++;\n      }\n\n      var c;\n\n      if (this.outputBits >= 8) {\n        c = this.codingPos & 1 ? 0 : 0xff;\n        this.outputBits -= 8;\n\n        if (this.outputBits === 0 && codingLine[this.codingPos] < columns) {\n          this.codingPos++;\n          this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n        }\n      } else {\n        bits = 8;\n        c = 0;\n\n        do {\n          if (this.outputBits > bits) {\n            c <<= bits;\n\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> 8 - bits;\n            }\n\n            this.outputBits -= bits;\n            bits = 0;\n          } else {\n            c <<= this.outputBits;\n\n            if (!(this.codingPos & 1)) {\n              c |= 0xff >> 8 - this.outputBits;\n            }\n\n            bits -= this.outputBits;\n            this.outputBits = 0;\n\n            if (codingLine[this.codingPos] < columns) {\n              this.codingPos++;\n              this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1];\n            } else if (bits > 0) {\n              c <<= bits;\n              bits = 0;\n            }\n          }\n        } while (bits);\n      }\n\n      if (this.black) {\n        c ^= 0xff;\n      }\n\n      return c;\n    },\n    _addPixels: function _addPixels(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      }\n\n      this.codingPos = codingPos;\n    },\n    _addPixelsNeg: function _addPixelsNeg(a1, blackPixels) {\n      var codingLine = this.codingLine;\n      var codingPos = this.codingPos;\n\n      if (a1 > codingLine[codingPos]) {\n        if (a1 > this.columns) {\n          (0, _util.info)(\"row is wrong length\");\n          this.err = true;\n          a1 = this.columns;\n        }\n\n        if (codingPos & 1 ^ blackPixels) {\n          ++codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      } else if (a1 < codingLine[codingPos]) {\n        if (a1 < 0) {\n          (0, _util.info)(\"invalid code\");\n          this.err = true;\n          a1 = 0;\n        }\n\n        while (codingPos > 0 && a1 < codingLine[codingPos - 1]) {\n          --codingPos;\n        }\n\n        codingLine[codingPos] = a1;\n      }\n\n      this.codingPos = codingPos;\n    },\n    _findTableCode: function _findTableCode(start, end, table, limit) {\n      var limitValue = limit || 0;\n\n      for (var i = start; i <= end; ++i) {\n        var code = this._lookBits(i);\n\n        if (code === ccittEOF) {\n          return [true, 1, false];\n        }\n\n        if (i < end) {\n          code <<= end - i;\n        }\n\n        if (!limitValue || code >= limitValue) {\n          var p = table[code - limitValue];\n\n          if (p[0] === i) {\n            this._eatBits(i);\n\n            return [true, p[1], true];\n          }\n        }\n      }\n\n      return [false, 0, false];\n    },\n    _getTwoDimCode: function _getTwoDimCode() {\n      var code = 0;\n      var p;\n\n      if (this.eoblock) {\n        code = this._lookBits(7);\n        p = twoDimTable[code];\n\n        if (p && p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 7, twoDimTable);\n\n        if (result[0] && result[2]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"Bad two dim code\");\n      return ccittEOF;\n    },\n    _getWhiteCode: function _getWhiteCode() {\n      var code = 0;\n      var p;\n\n      if (this.eoblock) {\n        code = this._lookBits(12);\n\n        if (code === ccittEOF) {\n          return 1;\n        }\n\n        if (code >> 5 === 0) {\n          p = whiteTable1[code];\n        } else {\n          p = whiteTable2[code >> 3];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(1, 9, whiteTable2);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(11, 12, whiteTable1);\n\n        if (result[0]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"bad white code\");\n\n      this._eatBits(1);\n\n      return 1;\n    },\n    _getBlackCode: function _getBlackCode() {\n      var code, p;\n\n      if (this.eoblock) {\n        code = this._lookBits(13);\n\n        if (code === ccittEOF) {\n          return 1;\n        }\n\n        if (code >> 7 === 0) {\n          p = blackTable1[code];\n        } else if (code >> 9 === 0 && code >> 7 !== 0) {\n          p = blackTable2[(code >> 1) - 64];\n        } else {\n          p = blackTable3[code >> 7];\n        }\n\n        if (p[0] > 0) {\n          this._eatBits(p[0]);\n\n          return p[1];\n        }\n      } else {\n        var result = this._findTableCode(2, 6, blackTable3);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(7, 12, blackTable2, 64);\n\n        if (result[0]) {\n          return result[1];\n        }\n\n        result = this._findTableCode(10, 13, blackTable1);\n\n        if (result[0]) {\n          return result[1];\n        }\n      }\n\n      (0, _util.info)(\"bad black code\");\n\n      this._eatBits(1);\n\n      return 1;\n    },\n    _lookBits: function _lookBits(n) {\n      var c;\n\n      while (this.inputBits < n) {\n        if ((c = this.source.next()) === -1) {\n          if (this.inputBits === 0) {\n            return ccittEOF;\n          }\n\n          return this.inputBuf << n - this.inputBits & 0xffff >> 16 - n;\n        }\n\n        this.inputBuf = this.inputBuf << 8 | c;\n        this.inputBits += 8;\n      }\n\n      return this.inputBuf >> this.inputBits - n & 0xffff >> 16 - n;\n    },\n    _eatBits: function _eatBits(n) {\n      if ((this.inputBits -= n) < 0) {\n        this.inputBits = 0;\n      }\n    }\n  };\n  return CCITTFaxDecoder;\n}();\n\nexports.CCITTFaxDecoder = CCITTFaxDecoder;\n\n/***/ }),\n/* 145 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.Jbig2Stream = void 0;\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _jbig = __w_pdfjs_require__(146);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar Jbig2Stream = function Jbig2StreamClosure() {\n  function Jbig2Stream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  Jbig2Stream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(Jbig2Stream.prototype, \"bytes\", {\n    get: function get() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  Jbig2Stream.prototype.ensureBuffer = function (requested) {};\n\n  Jbig2Stream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jbig2Image = new _jbig.Jbig2Image();\n    var chunks = [];\n\n    if ((0, _primitives.isDict)(this.params)) {\n      var globalsStream = this.params.get(\"JBIG2Globals\");\n\n      if ((0, _primitives.isStream)(globalsStream)) {\n        var globals = globalsStream.getBytes();\n        chunks.push({\n          data: globals,\n          start: 0,\n          end: globals.length\n        });\n      }\n    }\n\n    chunks.push({\n      data: this.bytes,\n      start: 0,\n      end: this.bytes.length\n    });\n    var data = jbig2Image.parseChunks(chunks);\n    var dataLength = data.length;\n\n    for (var i = 0; i < dataLength; i++) {\n      data[i] ^= 0xff;\n    }\n\n    this.buffer = data;\n    this.bufferLength = dataLength;\n    this.eof = true;\n  };\n\n  return Jbig2Stream;\n}();\n\nexports.Jbig2Stream = Jbig2Stream;\n\n/***/ }),\n/* 146 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.Jbig2Image = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(147);\n\nvar _ccitt = __w_pdfjs_require__(144);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar Jbig2Error = /*#__PURE__*/function (_BaseException) {\n  _inherits(Jbig2Error, _BaseException);\n\n  var _super = _createSuper(Jbig2Error);\n\n  function Jbig2Error(msg) {\n    _classCallCheck(this, Jbig2Error);\n\n    return _super.call(this, \"JBIG2 error: \".concat(msg));\n  }\n\n  return Jbig2Error;\n}(_util.BaseException);\n\nvar Jbig2Image = function Jbig2ImageClosure() {\n  function ContextCache() {}\n\n  ContextCache.prototype = {\n    getContexts: function getContexts(id) {\n      if (id in this) {\n        return this[id];\n      }\n\n      return this[id] = new Int8Array(1 << 16);\n    }\n  };\n\n  function DecodingContext(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n  }\n\n  DecodingContext.prototype = {\n    get decoder() {\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(this.data, this.start, this.end);\n      return (0, _util.shadow)(this, \"decoder\", decoder);\n    },\n\n    get contextCache() {\n      var cache = new ContextCache();\n      return (0, _util.shadow)(this, \"contextCache\", cache);\n    }\n\n  };\n\n  function decodeInteger(contextCache, procedure, decoder) {\n    var contexts = contextCache.getContexts(procedure);\n    var prev = 1;\n\n    function readBits(length) {\n      var v = 0;\n\n      for (var i = 0; i < length; i++) {\n        var bit = decoder.readBit(contexts, prev);\n        prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256;\n        v = v << 1 | bit;\n      }\n\n      return v >>> 0;\n    }\n\n    var sign = readBits(1);\n    var value = readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(1) ? readBits(32) + 4436 : readBits(12) + 340 : readBits(8) + 84 : readBits(6) + 20 : readBits(4) + 4 : readBits(2);\n\n    if (sign === 0) {\n      return value;\n    } else if (value > 0) {\n      return -value;\n    }\n\n    return null;\n  }\n\n  function decodeIAID(contextCache, decoder, codeLength) {\n    var contexts = contextCache.getContexts(\"IAID\");\n    var prev = 1;\n\n    for (var i = 0; i < codeLength; i++) {\n      var bit = decoder.readBit(contexts, prev);\n      prev = prev << 1 | bit;\n    }\n\n    if (codeLength < 31) {\n      return prev & (1 << codeLength) - 1;\n    }\n\n    return prev & 0x7fffffff;\n  }\n\n  var SegmentTypes = [\"SymbolDictionary\", null, null, null, \"IntermediateTextRegion\", null, \"ImmediateTextRegion\", \"ImmediateLosslessTextRegion\", null, null, null, null, null, null, null, null, \"PatternDictionary\", null, null, null, \"IntermediateHalftoneRegion\", null, \"ImmediateHalftoneRegion\", \"ImmediateLosslessHalftoneRegion\", null, null, null, null, null, null, null, null, null, null, null, null, \"IntermediateGenericRegion\", null, \"ImmediateGenericRegion\", \"ImmediateLosslessGenericRegion\", \"IntermediateGenericRefinementRegion\", null, \"ImmediateGenericRefinementRegion\", \"ImmediateLosslessGenericRefinementRegion\", null, null, null, null, \"PageInformation\", \"EndOfPage\", \"EndOfStripe\", \"EndOfFile\", \"Profiles\", \"Tables\", null, null, null, null, null, null, null, null, \"Extension\"];\n  var CodingTemplates = [[{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: 2,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: 2,\n    y: -1\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -1,\n    y: -2\n  }, {\n    x: 0,\n    y: -2\n  }, {\n    x: 1,\n    y: -2\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }], [{\n    x: -3,\n    y: -1\n  }, {\n    x: -2,\n    y: -1\n  }, {\n    x: -1,\n    y: -1\n  }, {\n    x: 0,\n    y: -1\n  }, {\n    x: 1,\n    y: -1\n  }, {\n    x: -4,\n    y: 0\n  }, {\n    x: -3,\n    y: 0\n  }, {\n    x: -2,\n    y: 0\n  }, {\n    x: -1,\n    y: 0\n  }]];\n  var RefinementTemplates = [{\n    coding: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: -1,\n      y: 1\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }, {\n    coding: [{\n      x: -1,\n      y: -1\n    }, {\n      x: 0,\n      y: -1\n    }, {\n      x: 1,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }],\n    reference: [{\n      x: 0,\n      y: -1\n    }, {\n      x: -1,\n      y: 0\n    }, {\n      x: 0,\n      y: 0\n    }, {\n      x: 1,\n      y: 0\n    }, {\n      x: 0,\n      y: 1\n    }, {\n      x: 1,\n      y: 1\n    }]\n  }];\n  var ReusedContexts = [0x9b25, 0x0795, 0x00e5, 0x0195];\n  var RefinementReusedContexts = [0x0020, 0x0008];\n\n  function decodeBitmapTemplate0(width, height, decodingContext) {\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n    var contextLabel,\n        i,\n        j,\n        pixel,\n        row,\n        row1,\n        row2,\n        bitmap = [];\n    var OLD_PIXEL_MASK = 0x7bf7;\n\n    for (i = 0; i < height; i++) {\n      row = bitmap[i] = new Uint8Array(width);\n      row1 = i < 1 ? row : bitmap[i - 1];\n      row2 = i < 2 ? row : bitmap[i - 2];\n      contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4;\n\n      for (j = 0; j < width; j++) {\n        row[j] = pixel = decoder.readBit(contexts, contextLabel);\n        contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) {\n    if (mmr) {\n      var input = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n      return decodeMMRBitmap(input, width, height, false);\n    }\n\n    if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) {\n      return decodeBitmapTemplate0(width, height, decodingContext);\n    }\n\n    var useskip = !!skip;\n    var template = CodingTemplates[templateIndex].concat(at);\n    template.sort(function (a, b) {\n      return a.y - b.y || a.x - b.x;\n    });\n    var templateLength = template.length;\n    var templateX = new Int8Array(templateLength);\n    var templateY = new Int8Array(templateLength);\n    var changingTemplateEntries = [];\n    var reuseMask = 0,\n        minX = 0,\n        maxX = 0,\n        minY = 0;\n    var c, k;\n\n    for (k = 0; k < templateLength; k++) {\n      templateX[k] = template[k].x;\n      templateY[k] = template[k].y;\n      minX = Math.min(minX, template[k].x);\n      maxX = Math.max(maxX, template[k].x);\n      minY = Math.min(minY, template[k].y);\n\n      if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) {\n        reuseMask |= 1 << templateLength - 1 - k;\n      } else {\n        changingTemplateEntries.push(k);\n      }\n    }\n\n    var changingEntriesLength = changingTemplateEntries.length;\n    var changingTemplateX = new Int8Array(changingEntriesLength);\n    var changingTemplateY = new Int8Array(changingEntriesLength);\n    var changingTemplateBit = new Uint16Array(changingEntriesLength);\n\n    for (c = 0; c < changingEntriesLength; c++) {\n      k = changingTemplateEntries[c];\n      changingTemplateX[c] = template[k].x;\n      changingTemplateY[c] = template[k].y;\n      changingTemplateBit[c] = 1 << templateLength - 1 - k;\n    }\n\n    var sbb_left = -minX;\n    var sbb_top = -minY;\n    var sbb_right = width - maxX;\n    var pseudoPixelContext = ReusedContexts[templateIndex];\n    var row = new Uint8Array(width);\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GB\");\n    var ltp = 0,\n        j,\n        i0,\n        j0,\n        contextLabel = 0,\n        bit,\n        shift;\n\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n\n        if (ltp) {\n          bitmap.push(row);\n          continue;\n        }\n      }\n\n      row = new Uint8Array(row);\n      bitmap.push(row);\n\n      for (j = 0; j < width; j++) {\n        if (useskip && skip[i][j]) {\n          row[j] = 0;\n          continue;\n        }\n\n        if (j >= sbb_left && j < sbb_right && i >= sbb_top) {\n          contextLabel = contextLabel << 1 & reuseMask;\n\n          for (k = 0; k < changingEntriesLength; k++) {\n            i0 = i + changingTemplateY[k];\n            j0 = j + changingTemplateX[k];\n            bit = bitmap[i0][j0];\n\n            if (bit) {\n              bit = changingTemplateBit[k];\n              contextLabel |= bit;\n            }\n          }\n        } else {\n          contextLabel = 0;\n          shift = templateLength - 1;\n\n          for (k = 0; k < templateLength; k++, shift--) {\n            j0 = j + templateX[k];\n\n            if (j0 >= 0 && j0 < width) {\n              i0 = i + templateY[k];\n\n              if (i0 >= 0) {\n                bit = bitmap[i0][j0];\n\n                if (bit) {\n                  contextLabel |= bit << shift;\n                }\n              }\n            }\n          }\n        }\n\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) {\n    var codingTemplate = RefinementTemplates[templateIndex].coding;\n\n    if (templateIndex === 0) {\n      codingTemplate = codingTemplate.concat([at[0]]);\n    }\n\n    var codingTemplateLength = codingTemplate.length;\n    var codingTemplateX = new Int32Array(codingTemplateLength);\n    var codingTemplateY = new Int32Array(codingTemplateLength);\n    var k;\n\n    for (k = 0; k < codingTemplateLength; k++) {\n      codingTemplateX[k] = codingTemplate[k].x;\n      codingTemplateY[k] = codingTemplate[k].y;\n    }\n\n    var referenceTemplate = RefinementTemplates[templateIndex].reference;\n\n    if (templateIndex === 0) {\n      referenceTemplate = referenceTemplate.concat([at[1]]);\n    }\n\n    var referenceTemplateLength = referenceTemplate.length;\n    var referenceTemplateX = new Int32Array(referenceTemplateLength);\n    var referenceTemplateY = new Int32Array(referenceTemplateLength);\n\n    for (k = 0; k < referenceTemplateLength; k++) {\n      referenceTemplateX[k] = referenceTemplate[k].x;\n      referenceTemplateY[k] = referenceTemplate[k].y;\n    }\n\n    var referenceWidth = referenceBitmap[0].length;\n    var referenceHeight = referenceBitmap.length;\n    var pseudoPixelContext = RefinementReusedContexts[templateIndex];\n    var bitmap = [];\n    var decoder = decodingContext.decoder;\n    var contexts = decodingContext.contextCache.getContexts(\"GR\");\n    var ltp = 0;\n\n    for (var i = 0; i < height; i++) {\n      if (prediction) {\n        var sltp = decoder.readBit(contexts, pseudoPixelContext);\n        ltp ^= sltp;\n\n        if (ltp) {\n          throw new Jbig2Error(\"prediction is not supported\");\n        }\n      }\n\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n\n      for (var j = 0; j < width; j++) {\n        var i0, j0;\n        var contextLabel = 0;\n\n        for (k = 0; k < codingTemplateLength; k++) {\n          i0 = i + codingTemplateY[k];\n          j0 = j + codingTemplateX[k];\n\n          if (i0 < 0 || j0 < 0 || j0 >= width) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | bitmap[i0][j0];\n          }\n        }\n\n        for (k = 0; k < referenceTemplateLength; k++) {\n          i0 = i + referenceTemplateY[k] - offsetY;\n          j0 = j + referenceTemplateX[k] - offsetX;\n\n          if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) {\n            contextLabel <<= 1;\n          } else {\n            contextLabel = contextLabel << 1 | referenceBitmap[i0][j0];\n          }\n        }\n\n        var pixel = decoder.readBit(contexts, contextLabel);\n        row[j] = pixel;\n      }\n    }\n\n    return bitmap;\n  }\n\n  function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext, huffmanInput) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"symbol refinement with Huffman is not supported\");\n    }\n\n    var newSymbols = [];\n    var currentHeight = 0;\n    var symbolCodeLength = (0, _core_utils.log2)(symbols.length + numberOfNewSymbols);\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    var tableB1, symbolWidths;\n\n    if (huffman) {\n      tableB1 = getStandardTable(1);\n      symbolWidths = [];\n      symbolCodeLength = Math.max(symbolCodeLength, 1);\n    }\n\n    while (newSymbols.length < numberOfNewSymbols) {\n      var deltaHeight = huffman ? huffmanTables.tableDeltaHeight.decode(huffmanInput) : decodeInteger(contextCache, \"IADH\", decoder);\n      currentHeight += deltaHeight;\n      var currentWidth = 0,\n          totalWidth = 0;\n      var firstSymbol = huffman ? symbolWidths.length : 0;\n\n      while (true) {\n        var deltaWidth = huffman ? huffmanTables.tableDeltaWidth.decode(huffmanInput) : decodeInteger(contextCache, \"IADW\", decoder);\n\n        if (deltaWidth === null) {\n          break;\n        }\n\n        currentWidth += deltaWidth;\n        totalWidth += currentWidth;\n        var bitmap;\n\n        if (refinement) {\n          var numberOfInstances = decodeInteger(contextCache, \"IAAI\", decoder);\n\n          if (numberOfInstances > 1) {\n            bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, 0, huffmanInput);\n          } else {\n            var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength);\n            var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n            var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n            var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length];\n            bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext);\n          }\n\n          newSymbols.push(bitmap);\n        } else if (huffman) {\n          symbolWidths.push(currentWidth);\n        } else {\n          bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext);\n          newSymbols.push(bitmap);\n        }\n      }\n\n      if (huffman && !refinement) {\n        var bitmapSize = huffmanTables.tableBitmapSize.decode(huffmanInput);\n        huffmanInput.byteAlign();\n        var collectiveBitmap = void 0;\n\n        if (bitmapSize === 0) {\n          collectiveBitmap = readUncompressedBitmap(huffmanInput, totalWidth, currentHeight);\n        } else {\n          var originalEnd = huffmanInput.end;\n          var bitmapEnd = huffmanInput.position + bitmapSize;\n          huffmanInput.end = bitmapEnd;\n          collectiveBitmap = decodeMMRBitmap(huffmanInput, totalWidth, currentHeight, false);\n          huffmanInput.end = originalEnd;\n          huffmanInput.position = bitmapEnd;\n        }\n\n        var numberOfSymbolsDecoded = symbolWidths.length;\n\n        if (firstSymbol === numberOfSymbolsDecoded - 1) {\n          newSymbols.push(collectiveBitmap);\n        } else {\n          var _i = void 0,\n              y = void 0,\n              xMin = 0,\n              xMax = void 0,\n              bitmapWidth = void 0,\n              symbolBitmap = void 0;\n\n          for (_i = firstSymbol; _i < numberOfSymbolsDecoded; _i++) {\n            bitmapWidth = symbolWidths[_i];\n            xMax = xMin + bitmapWidth;\n            symbolBitmap = [];\n\n            for (y = 0; y < currentHeight; y++) {\n              symbolBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n            }\n\n            newSymbols.push(symbolBitmap);\n            xMin = xMax;\n          }\n        }\n      }\n    }\n\n    var exportedSymbols = [];\n    var flags = [],\n        currentFlag = false;\n    var totalSymbolsLength = symbols.length + numberOfNewSymbols;\n\n    while (flags.length < totalSymbolsLength) {\n      var runLength = huffman ? tableB1.decode(huffmanInput) : decodeInteger(contextCache, \"IAEX\", decoder);\n\n      while (runLength--) {\n        flags.push(currentFlag);\n      }\n\n      currentFlag = !currentFlag;\n    }\n\n    for (var i = 0, ii = symbols.length; i < ii; i++) {\n      if (flags[i]) {\n        exportedSymbols.push(symbols[i]);\n      }\n    }\n\n    for (var j = 0; j < numberOfNewSymbols; i++, j++) {\n      if (flags[i]) {\n        exportedSymbols.push(newSymbols[j]);\n      }\n    }\n\n    return exportedSymbols;\n  }\n\n  function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext, logStripSize, huffmanInput) {\n    if (huffman && refinement) {\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    var bitmap = [];\n    var i, row;\n\n    for (i = 0; i < height; i++) {\n      row = new Uint8Array(width);\n\n      if (defaultPixelValue) {\n        for (var j = 0; j < width; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n\n      bitmap.push(row);\n    }\n\n    var decoder = decodingContext.decoder;\n    var contextCache = decodingContext.contextCache;\n    var stripT = huffman ? -huffmanTables.tableDeltaT.decode(huffmanInput) : -decodeInteger(contextCache, \"IADT\", decoder);\n    var firstS = 0;\n    i = 0;\n\n    while (i < numberOfSymbolInstances) {\n      var deltaT = huffman ? huffmanTables.tableDeltaT.decode(huffmanInput) : decodeInteger(contextCache, \"IADT\", decoder);\n      stripT += deltaT;\n      var deltaFirstS = huffman ? huffmanTables.tableFirstS.decode(huffmanInput) : decodeInteger(contextCache, \"IAFS\", decoder);\n      firstS += deltaFirstS;\n      var currentS = firstS;\n\n      do {\n        var currentT = 0;\n\n        if (stripSize > 1) {\n          currentT = huffman ? huffmanInput.readBits(logStripSize) : decodeInteger(contextCache, \"IAIT\", decoder);\n        }\n\n        var t = stripSize * stripT + currentT;\n        var symbolId = huffman ? huffmanTables.symbolIDTable.decode(huffmanInput) : decodeIAID(contextCache, decoder, symbolCodeLength);\n        var applyRefinement = refinement && (huffman ? huffmanInput.readBit() : decodeInteger(contextCache, \"IARI\", decoder));\n        var symbolBitmap = inputSymbols[symbolId];\n        var symbolWidth = symbolBitmap[0].length;\n        var symbolHeight = symbolBitmap.length;\n\n        if (applyRefinement) {\n          var rdw = decodeInteger(contextCache, \"IARDW\", decoder);\n          var rdh = decodeInteger(contextCache, \"IARDH\", decoder);\n          var rdx = decodeInteger(contextCache, \"IARDX\", decoder);\n          var rdy = decodeInteger(contextCache, \"IARDY\", decoder);\n          symbolWidth += rdw;\n          symbolHeight += rdh;\n          symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext);\n        }\n\n        var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight - 1);\n        var offsetS = currentS - (referenceCorner & 2 ? symbolWidth - 1 : 0);\n        var s2, t2, symbolRow;\n\n        if (transposed) {\n          for (s2 = 0; s2 < symbolHeight; s2++) {\n            row = bitmap[offsetS + s2];\n\n            if (!row) {\n              continue;\n            }\n\n            symbolRow = symbolBitmap[s2];\n            var maxWidth = Math.min(width - offsetT, symbolWidth);\n\n            switch (combinationOperator) {\n              case 0:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] |= symbolRow[t2];\n                }\n\n                break;\n\n              case 2:\n                for (t2 = 0; t2 < maxWidth; t2++) {\n                  row[offsetT + t2] ^= symbolRow[t2];\n                }\n\n                break;\n\n              default:\n                throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n            }\n          }\n\n          currentS += symbolHeight - 1;\n        } else {\n          for (t2 = 0; t2 < symbolHeight; t2++) {\n            row = bitmap[offsetT + t2];\n\n            if (!row) {\n              continue;\n            }\n\n            symbolRow = symbolBitmap[t2];\n\n            switch (combinationOperator) {\n              case 0:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] |= symbolRow[s2];\n                }\n\n                break;\n\n              case 2:\n                for (s2 = 0; s2 < symbolWidth; s2++) {\n                  row[offsetS + s2] ^= symbolRow[s2];\n                }\n\n                break;\n\n              default:\n                throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n            }\n          }\n\n          currentS += symbolWidth - 1;\n        }\n\n        i++;\n        var deltaS = huffman ? huffmanTables.tableDeltaS.decode(huffmanInput) : decodeInteger(contextCache, \"IADS\", decoder);\n\n        if (deltaS === null) {\n          break;\n        }\n\n        currentS += deltaS + dsOffset;\n      } while (true);\n    }\n\n    return bitmap;\n  }\n\n  function decodePatternDictionary(mmr, patternWidth, patternHeight, maxPatternIndex, template, decodingContext) {\n    var at = [];\n\n    if (!mmr) {\n      at.push({\n        x: -patternWidth,\n        y: 0\n      });\n\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1\n        });\n        at.push({\n          x: 2,\n          y: -2\n        });\n        at.push({\n          x: -2,\n          y: -2\n        });\n      }\n    }\n\n    var collectiveWidth = (maxPatternIndex + 1) * patternWidth;\n    var collectiveBitmap = decodeBitmap(mmr, collectiveWidth, patternHeight, template, false, null, at, decodingContext);\n    var patterns = [];\n\n    for (var i = 0; i <= maxPatternIndex; i++) {\n      var patternBitmap = [];\n      var xMin = patternWidth * i;\n      var xMax = xMin + patternWidth;\n\n      for (var y = 0; y < patternHeight; y++) {\n        patternBitmap.push(collectiveBitmap[y].subarray(xMin, xMax));\n      }\n\n      patterns.push(patternBitmap);\n    }\n\n    return patterns;\n  }\n\n  function decodeHalftoneRegion(mmr, patterns, template, regionWidth, regionHeight, defaultPixelValue, enableSkip, combinationOperator, gridWidth, gridHeight, gridOffsetX, gridOffsetY, gridVectorX, gridVectorY, decodingContext) {\n    var skip = null;\n\n    if (enableSkip) {\n      throw new Jbig2Error(\"skip is not supported\");\n    }\n\n    if (combinationOperator !== 0) {\n      throw new Jbig2Error(\"operator \" + combinationOperator + \" is not supported in halftone region\");\n    }\n\n    var regionBitmap = [];\n    var i, j, row;\n\n    for (i = 0; i < regionHeight; i++) {\n      row = new Uint8Array(regionWidth);\n\n      if (defaultPixelValue) {\n        for (j = 0; j < regionWidth; j++) {\n          row[j] = defaultPixelValue;\n        }\n      }\n\n      regionBitmap.push(row);\n    }\n\n    var numberOfPatterns = patterns.length;\n    var pattern0 = patterns[0];\n    var patternWidth = pattern0[0].length,\n        patternHeight = pattern0.length;\n    var bitsPerValue = (0, _core_utils.log2)(numberOfPatterns);\n    var at = [];\n\n    if (!mmr) {\n      at.push({\n        x: template <= 1 ? 3 : 2,\n        y: -1\n      });\n\n      if (template === 0) {\n        at.push({\n          x: -3,\n          y: -1\n        });\n        at.push({\n          x: 2,\n          y: -2\n        });\n        at.push({\n          x: -2,\n          y: -2\n        });\n      }\n    }\n\n    var grayScaleBitPlanes = [];\n    var mmrInput, bitmap;\n\n    if (mmr) {\n      mmrInput = new Reader(decodingContext.data, decodingContext.start, decodingContext.end);\n    }\n\n    for (i = bitsPerValue - 1; i >= 0; i--) {\n      if (mmr) {\n        bitmap = decodeMMRBitmap(mmrInput, gridWidth, gridHeight, true);\n      } else {\n        bitmap = decodeBitmap(false, gridWidth, gridHeight, template, false, skip, at, decodingContext);\n      }\n\n      grayScaleBitPlanes[i] = bitmap;\n    }\n\n    var mg, ng, bit, patternIndex, patternBitmap, x, y, patternRow, regionRow;\n\n    for (mg = 0; mg < gridHeight; mg++) {\n      for (ng = 0; ng < gridWidth; ng++) {\n        bit = 0;\n        patternIndex = 0;\n\n        for (j = bitsPerValue - 1; j >= 0; j--) {\n          bit = grayScaleBitPlanes[j][mg][ng] ^ bit;\n          patternIndex |= bit << j;\n        }\n\n        patternBitmap = patterns[patternIndex];\n        x = gridOffsetX + mg * gridVectorY + ng * gridVectorX >> 8;\n        y = gridOffsetY + mg * gridVectorX - ng * gridVectorY >> 8;\n\n        if (x >= 0 && x + patternWidth <= regionWidth && y >= 0 && y + patternHeight <= regionHeight) {\n          for (i = 0; i < patternHeight; i++) {\n            regionRow = regionBitmap[y + i];\n            patternRow = patternBitmap[i];\n\n            for (j = 0; j < patternWidth; j++) {\n              regionRow[x + j] |= patternRow[j];\n            }\n          }\n        } else {\n          var regionX = void 0,\n              regionY = void 0;\n\n          for (i = 0; i < patternHeight; i++) {\n            regionY = y + i;\n\n            if (regionY < 0 || regionY >= regionHeight) {\n              continue;\n            }\n\n            regionRow = regionBitmap[regionY];\n            patternRow = patternBitmap[i];\n\n            for (j = 0; j < patternWidth; j++) {\n              regionX = x + j;\n\n              if (regionX >= 0 && regionX < regionWidth) {\n                regionRow[regionX] |= patternRow[j];\n              }\n            }\n          }\n        }\n      }\n    }\n\n    return regionBitmap;\n  }\n\n  function readSegmentHeader(data, start) {\n    var segmentHeader = {};\n    segmentHeader.number = (0, _core_utils.readUint32)(data, start);\n    var flags = data[start + 4];\n    var segmentType = flags & 0x3f;\n\n    if (!SegmentTypes[segmentType]) {\n      throw new Jbig2Error(\"invalid segment type: \" + segmentType);\n    }\n\n    segmentHeader.type = segmentType;\n    segmentHeader.typeName = SegmentTypes[segmentType];\n    segmentHeader.deferredNonRetain = !!(flags & 0x80);\n    var pageAssociationFieldSize = !!(flags & 0x40);\n    var referredFlags = data[start + 5];\n    var referredToCount = referredFlags >> 5 & 7;\n    var retainBits = [referredFlags & 31];\n    var position = start + 6;\n\n    if (referredFlags === 7) {\n      referredToCount = (0, _core_utils.readUint32)(data, position - 1) & 0x1fffffff;\n      position += 3;\n      var bytes = referredToCount + 7 >> 3;\n      retainBits[0] = data[position++];\n\n      while (--bytes > 0) {\n        retainBits.push(data[position++]);\n      }\n    } else if (referredFlags === 5 || referredFlags === 6) {\n      throw new Jbig2Error(\"invalid referred-to flags\");\n    }\n\n    segmentHeader.retainBits = retainBits;\n    var referredToSegmentNumberSize = 4;\n\n    if (segmentHeader.number <= 256) {\n      referredToSegmentNumberSize = 1;\n    } else if (segmentHeader.number <= 65536) {\n      referredToSegmentNumberSize = 2;\n    }\n\n    var referredTo = [];\n    var i, ii;\n\n    for (i = 0; i < referredToCount; i++) {\n      var number = void 0;\n\n      if (referredToSegmentNumberSize === 1) {\n        number = data[position];\n      } else if (referredToSegmentNumberSize === 2) {\n        number = (0, _core_utils.readUint16)(data, position);\n      } else {\n        number = (0, _core_utils.readUint32)(data, position);\n      }\n\n      referredTo.push(number);\n      position += referredToSegmentNumberSize;\n    }\n\n    segmentHeader.referredTo = referredTo;\n\n    if (!pageAssociationFieldSize) {\n      segmentHeader.pageAssociation = data[position++];\n    } else {\n      segmentHeader.pageAssociation = (0, _core_utils.readUint32)(data, position);\n      position += 4;\n    }\n\n    segmentHeader.length = (0, _core_utils.readUint32)(data, position);\n    position += 4;\n\n    if (segmentHeader.length === 0xffffffff) {\n      if (segmentType === 38) {\n        var genericRegionInfo = readRegionSegmentInformation(data, position);\n        var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength];\n        var genericRegionMmr = !!(genericRegionSegmentFlags & 1);\n        var searchPatternLength = 6;\n        var searchPattern = new Uint8Array(searchPatternLength);\n\n        if (!genericRegionMmr) {\n          searchPattern[0] = 0xff;\n          searchPattern[1] = 0xac;\n        }\n\n        searchPattern[2] = genericRegionInfo.height >>> 24 & 0xff;\n        searchPattern[3] = genericRegionInfo.height >> 16 & 0xff;\n        searchPattern[4] = genericRegionInfo.height >> 8 & 0xff;\n        searchPattern[5] = genericRegionInfo.height & 0xff;\n\n        for (i = position, ii = data.length; i < ii; i++) {\n          var j = 0;\n\n          while (j < searchPatternLength && searchPattern[j] === data[i + j]) {\n            j++;\n          }\n\n          if (j === searchPatternLength) {\n            segmentHeader.length = i + searchPatternLength;\n            break;\n          }\n        }\n\n        if (segmentHeader.length === 0xffffffff) {\n          throw new Jbig2Error(\"segment end was not found\");\n        }\n      } else {\n        throw new Jbig2Error(\"invalid unknown segment length\");\n      }\n    }\n\n    segmentHeader.headerEnd = position;\n    return segmentHeader;\n  }\n\n  function readSegments(header, data, start, end) {\n    var segments = [];\n    var position = start;\n\n    while (position < end) {\n      var segmentHeader = readSegmentHeader(data, position);\n      position = segmentHeader.headerEnd;\n      var segment = {\n        header: segmentHeader,\n        data: data\n      };\n\n      if (!header.randomAccess) {\n        segment.start = position;\n        position += segmentHeader.length;\n        segment.end = position;\n      }\n\n      segments.push(segment);\n\n      if (segmentHeader.type === 51) {\n        break;\n      }\n    }\n\n    if (header.randomAccess) {\n      for (var i = 0, ii = segments.length; i < ii; i++) {\n        segments[i].start = position;\n        position += segments[i].header.length;\n        segments[i].end = position;\n      }\n    }\n\n    return segments;\n  }\n\n  function readRegionSegmentInformation(data, start) {\n    return {\n      width: (0, _core_utils.readUint32)(data, start),\n      height: (0, _core_utils.readUint32)(data, start + 4),\n      x: (0, _core_utils.readUint32)(data, start + 8),\n      y: (0, _core_utils.readUint32)(data, start + 12),\n      combinationOperator: data[start + 16] & 7\n    };\n  }\n\n  var RegionSegmentInformationFieldLength = 17;\n\n  function processSegment(segment, visitor) {\n    var header = segment.header;\n    var data = segment.data,\n        position = segment.start,\n        end = segment.end;\n    var args, at, i, atLength;\n\n    switch (header.type) {\n      case 0:\n        var dictionary = {};\n        var dictionaryFlags = (0, _core_utils.readUint16)(data, position);\n        dictionary.huffman = !!(dictionaryFlags & 1);\n        dictionary.refinement = !!(dictionaryFlags & 2);\n        dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3;\n        dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3;\n        dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1;\n        dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1;\n        dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256);\n        dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512);\n        dictionary.template = dictionaryFlags >> 10 & 3;\n        dictionary.refinementTemplate = dictionaryFlags >> 12 & 1;\n        position += 2;\n\n        if (!dictionary.huffman) {\n          atLength = dictionary.template === 0 ? 4 : 1;\n          at = [];\n\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          dictionary.at = at;\n        }\n\n        if (dictionary.refinement && !dictionary.refinementTemplate) {\n          at = [];\n\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          dictionary.refinementAt = at;\n        }\n\n        dictionary.numberOfExportedSymbols = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        dictionary.numberOfNewSymbols = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [dictionary, header.number, header.referredTo, data, position, end];\n        break;\n\n      case 6:\n      case 7:\n        var textRegion = {};\n        textRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var textRegionSegmentFlags = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        textRegion.huffman = !!(textRegionSegmentFlags & 1);\n        textRegion.refinement = !!(textRegionSegmentFlags & 2);\n        textRegion.logStripSize = textRegionSegmentFlags >> 2 & 3;\n        textRegion.stripSize = 1 << textRegion.logStripSize;\n        textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3;\n        textRegion.transposed = !!(textRegionSegmentFlags & 64);\n        textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3;\n        textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1;\n        textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27;\n        textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1;\n\n        if (textRegion.huffman) {\n          var textRegionHuffmanFlags = (0, _core_utils.readUint16)(data, position);\n          position += 2;\n          textRegion.huffmanFS = textRegionHuffmanFlags & 3;\n          textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3;\n          textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3;\n          textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3;\n          textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3;\n          textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3;\n          textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3;\n          textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 0x4000);\n        }\n\n        if (textRegion.refinement && !textRegion.refinementTemplate) {\n          at = [];\n\n          for (i = 0; i < 2; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          textRegion.refinementAt = at;\n        }\n\n        textRegion.numberOfSymbolInstances = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [textRegion, header.referredTo, data, position, end];\n        break;\n\n      case 16:\n        var patternDictionary = {};\n        var patternDictionaryFlags = data[position++];\n        patternDictionary.mmr = !!(patternDictionaryFlags & 1);\n        patternDictionary.template = patternDictionaryFlags >> 1 & 3;\n        patternDictionary.patternWidth = data[position++];\n        patternDictionary.patternHeight = data[position++];\n        patternDictionary.maxPatternIndex = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        args = [patternDictionary, header.number, data, position, end];\n        break;\n\n      case 22:\n      case 23:\n        var halftoneRegion = {};\n        halftoneRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var halftoneRegionFlags = data[position++];\n        halftoneRegion.mmr = !!(halftoneRegionFlags & 1);\n        halftoneRegion.template = halftoneRegionFlags >> 1 & 3;\n        halftoneRegion.enableSkip = !!(halftoneRegionFlags & 8);\n        halftoneRegion.combinationOperator = halftoneRegionFlags >> 4 & 7;\n        halftoneRegion.defaultPixelValue = halftoneRegionFlags >> 7 & 1;\n        halftoneRegion.gridWidth = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridHeight = (0, _core_utils.readUint32)(data, position);\n        position += 4;\n        halftoneRegion.gridOffsetX = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridOffsetY = (0, _core_utils.readUint32)(data, position) & 0xffffffff;\n        position += 4;\n        halftoneRegion.gridVectorX = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        halftoneRegion.gridVectorY = (0, _core_utils.readUint16)(data, position);\n        position += 2;\n        args = [halftoneRegion, header.referredTo, data, position, end];\n        break;\n\n      case 38:\n      case 39:\n        var genericRegion = {};\n        genericRegion.info = readRegionSegmentInformation(data, position);\n        position += RegionSegmentInformationFieldLength;\n        var genericRegionSegmentFlags = data[position++];\n        genericRegion.mmr = !!(genericRegionSegmentFlags & 1);\n        genericRegion.template = genericRegionSegmentFlags >> 1 & 3;\n        genericRegion.prediction = !!(genericRegionSegmentFlags & 8);\n\n        if (!genericRegion.mmr) {\n          atLength = genericRegion.template === 0 ? 4 : 1;\n          at = [];\n\n          for (i = 0; i < atLength; i++) {\n            at.push({\n              x: (0, _core_utils.readInt8)(data, position),\n              y: (0, _core_utils.readInt8)(data, position + 1)\n            });\n            position += 2;\n          }\n\n          genericRegion.at = at;\n        }\n\n        args = [genericRegion, data, position, end];\n        break;\n\n      case 48:\n        var pageInfo = {\n          width: (0, _core_utils.readUint32)(data, position),\n          height: (0, _core_utils.readUint32)(data, position + 4),\n          resolutionX: (0, _core_utils.readUint32)(data, position + 8),\n          resolutionY: (0, _core_utils.readUint32)(data, position + 12)\n        };\n\n        if (pageInfo.height === 0xffffffff) {\n          delete pageInfo.height;\n        }\n\n        var pageSegmentFlags = data[position + 16];\n        (0, _core_utils.readUint16)(data, position + 17);\n        pageInfo.lossless = !!(pageSegmentFlags & 1);\n        pageInfo.refinement = !!(pageSegmentFlags & 2);\n        pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1;\n        pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3;\n        pageInfo.requiresBuffer = !!(pageSegmentFlags & 32);\n        pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64);\n        args = [pageInfo];\n        break;\n\n      case 49:\n        break;\n\n      case 50:\n        break;\n\n      case 51:\n        break;\n\n      case 53:\n        args = [header.number, data, position, end];\n        break;\n\n      case 62:\n        break;\n\n      default:\n        throw new Jbig2Error(\"segment type \".concat(header.typeName, \"(\").concat(header.type, \")\") + \" is not implemented\");\n    }\n\n    var callbackName = \"on\" + header.typeName;\n\n    if (callbackName in visitor) {\n      visitor[callbackName].apply(visitor, args);\n    }\n  }\n\n  function processSegments(segments, visitor) {\n    for (var i = 0, ii = segments.length; i < ii; i++) {\n      processSegment(segments[i], visitor);\n    }\n  }\n\n  function parseJbig2Chunks(chunks) {\n    var visitor = new SimpleSegmentVisitor();\n\n    for (var i = 0, ii = chunks.length; i < ii; i++) {\n      var chunk = chunks[i];\n      var segments = readSegments({}, chunk.data, chunk.start, chunk.end);\n      processSegments(segments, visitor);\n    }\n\n    return visitor.buffer;\n  }\n\n  function parseJbig2(data) {\n    var end = data.length;\n    var position = 0;\n\n    if (data[position] !== 0x97 || data[position + 1] !== 0x4a || data[position + 2] !== 0x42 || data[position + 3] !== 0x32 || data[position + 4] !== 0x0d || data[position + 5] !== 0x0a || data[position + 6] !== 0x1a || data[position + 7] !== 0x0a) {\n      throw new Jbig2Error(\"parseJbig2 - invalid header.\");\n    }\n\n    var header = Object.create(null);\n    position += 8;\n    var flags = data[position++];\n    header.randomAccess = !(flags & 1);\n\n    if (!(flags & 2)) {\n      header.numberOfPages = (0, _core_utils.readUint32)(data, position);\n      position += 4;\n    }\n\n    var segments = readSegments(header, data, position, end);\n    var visitor = new SimpleSegmentVisitor();\n    processSegments(segments, visitor);\n    var _visitor$currentPageI = visitor.currentPageInfo,\n        width = _visitor$currentPageI.width,\n        height = _visitor$currentPageI.height;\n    var bitPacked = visitor.buffer;\n    var imgData = new Uint8ClampedArray(width * height);\n    var q = 0,\n        k = 0;\n\n    for (var i = 0; i < height; i++) {\n      var mask = 0,\n          buffer = void 0;\n\n      for (var j = 0; j < width; j++) {\n        if (!mask) {\n          mask = 128;\n          buffer = bitPacked[k++];\n        }\n\n        imgData[q++] = buffer & mask ? 0 : 255;\n        mask >>= 1;\n      }\n    }\n\n    return {\n      imgData: imgData,\n      width: width,\n      height: height\n    };\n  }\n\n  function SimpleSegmentVisitor() {}\n\n  SimpleSegmentVisitor.prototype = {\n    onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) {\n      this.currentPageInfo = info;\n      var rowSize = info.width + 7 >> 3;\n      var buffer = new Uint8ClampedArray(rowSize * info.height);\n\n      if (info.defaultPixelValue) {\n        for (var i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = 0xff;\n        }\n      }\n\n      this.buffer = buffer;\n    },\n    drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) {\n      var pageInfo = this.currentPageInfo;\n      var width = regionInfo.width,\n          height = regionInfo.height;\n      var rowSize = pageInfo.width + 7 >> 3;\n      var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator;\n      var buffer = this.buffer;\n      var mask0 = 128 >> (regionInfo.x & 7);\n      var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3);\n      var i, j, mask, offset;\n\n      switch (combinationOperator) {\n        case 0:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] |= mask;\n              }\n\n              mask >>= 1;\n\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n\n            offset0 += rowSize;\n          }\n\n          break;\n\n        case 2:\n          for (i = 0; i < height; i++) {\n            mask = mask0;\n            offset = offset0;\n\n            for (j = 0; j < width; j++) {\n              if (bitmap[i][j]) {\n                buffer[offset] ^= mask;\n              }\n\n              mask >>= 1;\n\n              if (!mask) {\n                mask = 128;\n                offset++;\n              }\n            }\n\n            offset0 += rowSize;\n          }\n\n          break;\n\n        default:\n          throw new Jbig2Error(\"operator \".concat(combinationOperator, \" is not supported\"));\n      }\n    },\n    onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) {\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() {\n      this.onImmediateGenericRegion.apply(this, arguments);\n    },\n    onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) {\n      var huffmanTables, huffmanInput;\n\n      if (dictionary.huffman) {\n        huffmanTables = getSymbolDictionaryHuffmanTables(dictionary, referredSegments, this.customTables);\n        huffmanInput = new Reader(data, start, end);\n      }\n\n      var symbols = this.symbols;\n\n      if (!symbols) {\n        this.symbols = symbols = {};\n      }\n\n      var inputSymbols = [];\n\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        var referredSymbols = symbols[referredSegments[i]];\n\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext, huffmanInput);\n    },\n    onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) {\n      var regionInfo = region.info;\n      var huffmanTables, huffmanInput;\n      var symbols = this.symbols;\n      var inputSymbols = [];\n\n      for (var i = 0, ii = referredSegments.length; i < ii; i++) {\n        var referredSymbols = symbols[referredSegments[i]];\n\n        if (referredSymbols) {\n          inputSymbols = inputSymbols.concat(referredSymbols);\n        }\n      }\n\n      var symbolCodeLength = (0, _core_utils.log2)(inputSymbols.length);\n\n      if (region.huffman) {\n        huffmanInput = new Reader(data, start, end);\n        huffmanTables = getTextRegionHuffmanTables(region, referredSegments, this.customTables, inputSymbols.length, huffmanInput);\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext, region.logStripSize, huffmanInput);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() {\n      this.onImmediateTextRegion.apply(this, arguments);\n    },\n    onPatternDictionary: function onPatternDictionary(dictionary, currentSegment, data, start, end) {\n      var patterns = this.patterns;\n\n      if (!patterns) {\n        this.patterns = patterns = {};\n      }\n\n      var decodingContext = new DecodingContext(data, start, end);\n      patterns[currentSegment] = decodePatternDictionary(dictionary.mmr, dictionary.patternWidth, dictionary.patternHeight, dictionary.maxPatternIndex, dictionary.template, decodingContext);\n    },\n    onImmediateHalftoneRegion: function onImmediateHalftoneRegion(region, referredSegments, data, start, end) {\n      var patterns = this.patterns[referredSegments[0]];\n      var regionInfo = region.info;\n      var decodingContext = new DecodingContext(data, start, end);\n      var bitmap = decodeHalftoneRegion(region.mmr, patterns, region.template, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.enableSkip, region.combinationOperator, region.gridWidth, region.gridHeight, region.gridOffsetX, region.gridOffsetY, region.gridVectorX, region.gridVectorY, decodingContext);\n      this.drawBitmap(regionInfo, bitmap);\n    },\n    onImmediateLosslessHalftoneRegion: function onImmediateLosslessHalftoneRegion() {\n      this.onImmediateHalftoneRegion.apply(this, arguments);\n    },\n    onTables: function onTables(currentSegment, data, start, end) {\n      var customTables = this.customTables;\n\n      if (!customTables) {\n        this.customTables = customTables = {};\n      }\n\n      customTables[currentSegment] = decodeTablesSegment(data, start, end);\n    }\n  };\n\n  function HuffmanLine(lineData) {\n    if (lineData.length === 2) {\n      this.isOOB = true;\n      this.rangeLow = 0;\n      this.prefixLength = lineData[0];\n      this.rangeLength = 0;\n      this.prefixCode = lineData[1];\n      this.isLowerRange = false;\n    } else {\n      this.isOOB = false;\n      this.rangeLow = lineData[0];\n      this.prefixLength = lineData[1];\n      this.rangeLength = lineData[2];\n      this.prefixCode = lineData[3];\n      this.isLowerRange = lineData[4] === \"lower\";\n    }\n  }\n\n  function HuffmanTreeNode(line) {\n    this.children = [];\n\n    if (line) {\n      this.isLeaf = true;\n      this.rangeLength = line.rangeLength;\n      this.rangeLow = line.rangeLow;\n      this.isLowerRange = line.isLowerRange;\n      this.isOOB = line.isOOB;\n    } else {\n      this.isLeaf = false;\n    }\n  }\n\n  HuffmanTreeNode.prototype = {\n    buildTree: function buildTree(line, shift) {\n      var bit = line.prefixCode >> shift & 1;\n\n      if (shift <= 0) {\n        this.children[bit] = new HuffmanTreeNode(line);\n      } else {\n        var node = this.children[bit];\n\n        if (!node) {\n          this.children[bit] = node = new HuffmanTreeNode(null);\n        }\n\n        node.buildTree(line, shift - 1);\n      }\n    },\n    decodeNode: function decodeNode(reader) {\n      if (this.isLeaf) {\n        if (this.isOOB) {\n          return null;\n        }\n\n        var htOffset = reader.readBits(this.rangeLength);\n        return this.rangeLow + (this.isLowerRange ? -htOffset : htOffset);\n      }\n\n      var node = this.children[reader.readBit()];\n\n      if (!node) {\n        throw new Jbig2Error(\"invalid Huffman data\");\n      }\n\n      return node.decodeNode(reader);\n    }\n  };\n\n  function HuffmanTable(lines, prefixCodesDone) {\n    if (!prefixCodesDone) {\n      this.assignPrefixCodes(lines);\n    }\n\n    this.rootNode = new HuffmanTreeNode(null);\n\n    for (var i = 0, ii = lines.length; i < ii; i++) {\n      var line = lines[i];\n\n      if (line.prefixLength > 0) {\n        this.rootNode.buildTree(line, line.prefixLength - 1);\n      }\n    }\n  }\n\n  HuffmanTable.prototype = {\n    decode: function decode(reader) {\n      return this.rootNode.decodeNode(reader);\n    },\n    assignPrefixCodes: function assignPrefixCodes(lines) {\n      var linesLength = lines.length;\n      var prefixLengthMax = 0;\n\n      for (var i = 0; i < linesLength; i++) {\n        prefixLengthMax = Math.max(prefixLengthMax, lines[i].prefixLength);\n      }\n\n      var histogram = new Uint32Array(prefixLengthMax + 1);\n\n      for (var _i2 = 0; _i2 < linesLength; _i2++) {\n        histogram[lines[_i2].prefixLength]++;\n      }\n\n      var currentLength = 1,\n          firstCode = 0,\n          currentCode,\n          currentTemp,\n          line;\n      histogram[0] = 0;\n\n      while (currentLength <= prefixLengthMax) {\n        firstCode = firstCode + histogram[currentLength - 1] << 1;\n        currentCode = firstCode;\n        currentTemp = 0;\n\n        while (currentTemp < linesLength) {\n          line = lines[currentTemp];\n\n          if (line.prefixLength === currentLength) {\n            line.prefixCode = currentCode;\n            currentCode++;\n          }\n\n          currentTemp++;\n        }\n\n        currentLength++;\n      }\n    }\n  };\n\n  function decodeTablesSegment(data, start, end) {\n    var flags = data[start];\n    var lowestValue = (0, _core_utils.readUint32)(data, start + 1) & 0xffffffff;\n    var highestValue = (0, _core_utils.readUint32)(data, start + 5) & 0xffffffff;\n    var reader = new Reader(data, start + 9, end);\n    var prefixSizeBits = (flags >> 1 & 7) + 1;\n    var rangeSizeBits = (flags >> 4 & 7) + 1;\n    var lines = [];\n    var prefixLength,\n        rangeLength,\n        currentRangeLow = lowestValue;\n\n    do {\n      prefixLength = reader.readBits(prefixSizeBits);\n      rangeLength = reader.readBits(rangeSizeBits);\n      lines.push(new HuffmanLine([currentRangeLow, prefixLength, rangeLength, 0]));\n      currentRangeLow += 1 << rangeLength;\n    } while (currentRangeLow < highestValue);\n\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(new HuffmanLine([lowestValue - 1, prefixLength, 32, 0, \"lower\"]));\n    prefixLength = reader.readBits(prefixSizeBits);\n    lines.push(new HuffmanLine([highestValue, prefixLength, 32, 0]));\n\n    if (flags & 1) {\n      prefixLength = reader.readBits(prefixSizeBits);\n      lines.push(new HuffmanLine([prefixLength, 0]));\n    }\n\n    return new HuffmanTable(lines, false);\n  }\n\n  var standardTablesCache = {};\n\n  function getStandardTable(number) {\n    var table = standardTablesCache[number];\n\n    if (table) {\n      return table;\n    }\n\n    var lines;\n\n    switch (number) {\n      case 1:\n        lines = [[0, 1, 4, 0x0], [16, 2, 8, 0x2], [272, 3, 16, 0x6], [65808, 3, 32, 0x7]];\n        break;\n\n      case 2:\n        lines = [[0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [75, 6, 32, 0x3e], [6, 0x3f]];\n        break;\n\n      case 3:\n        lines = [[-256, 8, 8, 0xfe], [0, 1, 0, 0x0], [1, 2, 0, 0x2], [2, 3, 0, 0x6], [3, 4, 3, 0xe], [11, 5, 6, 0x1e], [-257, 8, 32, 0xff, \"lower\"], [75, 7, 32, 0x7e], [6, 0x3e]];\n        break;\n\n      case 4:\n        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [76, 5, 32, 0x1f]];\n        break;\n\n      case 5:\n        lines = [[-255, 7, 8, 0x7e], [1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 0, 0x6], [4, 4, 3, 0xe], [12, 5, 6, 0x1e], [-256, 7, 32, 0x7f, \"lower\"], [76, 6, 32, 0x3e]];\n        break;\n\n      case 6:\n        lines = [[-2048, 5, 10, 0x1c], [-1024, 4, 9, 0x8], [-512, 4, 8, 0x9], [-256, 4, 7, 0xa], [-128, 5, 6, 0x1d], [-64, 5, 5, 0x1e], [-32, 4, 5, 0xb], [0, 2, 7, 0x0], [128, 3, 7, 0x2], [256, 3, 8, 0x3], [512, 4, 9, 0xc], [1024, 4, 10, 0xd], [-2049, 6, 32, 0x3e, \"lower\"], [2048, 6, 32, 0x3f]];\n        break;\n\n      case 7:\n        lines = [[-1024, 4, 9, 0x8], [-512, 3, 8, 0x0], [-256, 4, 7, 0x9], [-128, 5, 6, 0x1a], [-64, 5, 5, 0x1b], [-32, 4, 5, 0xa], [0, 4, 5, 0xb], [32, 5, 5, 0x1c], [64, 5, 6, 0x1d], [128, 4, 7, 0xc], [256, 3, 8, 0x1], [512, 3, 9, 0x2], [1024, 3, 10, 0x3], [-1025, 5, 32, 0x1e, \"lower\"], [2048, 5, 32, 0x1f]];\n        break;\n\n      case 8:\n        lines = [[-15, 8, 3, 0xfc], [-7, 9, 1, 0x1fc], [-5, 8, 1, 0xfd], [-3, 9, 0, 0x1fd], [-2, 7, 0, 0x7c], [-1, 4, 0, 0xa], [0, 2, 1, 0x0], [2, 5, 0, 0x1a], [3, 6, 0, 0x3a], [4, 3, 4, 0x4], [20, 6, 1, 0x3b], [22, 4, 4, 0xb], [38, 4, 5, 0xc], [70, 5, 6, 0x1b], [134, 5, 7, 0x1c], [262, 6, 7, 0x3c], [390, 7, 8, 0x7d], [646, 6, 10, 0x3d], [-16, 9, 32, 0x1fe, \"lower\"], [1670, 9, 32, 0x1ff], [2, 0x1]];\n        break;\n\n      case 9:\n        lines = [[-31, 8, 4, 0xfc], [-15, 9, 2, 0x1fc], [-11, 8, 2, 0xfd], [-7, 9, 1, 0x1fd], [-5, 7, 1, 0x7c], [-3, 4, 1, 0xa], [-1, 3, 1, 0x2], [1, 3, 1, 0x3], [3, 5, 1, 0x1a], [5, 6, 1, 0x3a], [7, 3, 5, 0x4], [39, 6, 2, 0x3b], [43, 4, 5, 0xb], [75, 4, 6, 0xc], [139, 5, 7, 0x1b], [267, 5, 8, 0x1c], [523, 6, 8, 0x3c], [779, 7, 9, 0x7d], [1291, 6, 11, 0x3d], [-32, 9, 32, 0x1fe, \"lower\"], [3339, 9, 32, 0x1ff], [2, 0x0]];\n        break;\n\n      case 10:\n        lines = [[-21, 7, 4, 0x7a], [-5, 8, 0, 0xfc], [-4, 7, 0, 0x7b], [-3, 5, 0, 0x18], [-2, 2, 2, 0x0], [2, 5, 0, 0x19], [3, 6, 0, 0x36], [4, 7, 0, 0x7c], [5, 8, 0, 0xfd], [6, 2, 6, 0x1], [70, 5, 5, 0x1a], [102, 6, 5, 0x37], [134, 6, 6, 0x38], [198, 6, 7, 0x39], [326, 6, 8, 0x3a], [582, 6, 9, 0x3b], [1094, 6, 10, 0x3c], [2118, 7, 11, 0x7d], [-22, 8, 32, 0xfe, \"lower\"], [4166, 8, 32, 0xff], [2, 0x2]];\n        break;\n\n      case 11:\n        lines = [[1, 1, 0, 0x0], [2, 2, 1, 0x2], [4, 4, 0, 0xc], [5, 4, 1, 0xd], [7, 5, 1, 0x1c], [9, 5, 2, 0x1d], [13, 6, 2, 0x3c], [17, 7, 2, 0x7a], [21, 7, 3, 0x7b], [29, 7, 4, 0x7c], [45, 7, 5, 0x7d], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n        break;\n\n      case 12:\n        lines = [[1, 1, 0, 0x0], [2, 2, 0, 0x2], [3, 3, 1, 0x6], [5, 5, 0, 0x1c], [6, 5, 1, 0x1d], [8, 6, 1, 0x3c], [10, 7, 0, 0x7a], [11, 7, 1, 0x7b], [13, 7, 2, 0x7c], [17, 7, 3, 0x7d], [25, 7, 4, 0x7e], [41, 8, 5, 0xfe], [73, 8, 32, 0xff]];\n        break;\n\n      case 13:\n        lines = [[1, 1, 0, 0x0], [2, 3, 0, 0x4], [3, 4, 0, 0xc], [4, 5, 0, 0x1c], [5, 4, 1, 0xd], [7, 3, 3, 0x5], [15, 6, 1, 0x3a], [17, 6, 2, 0x3b], [21, 6, 3, 0x3c], [29, 6, 4, 0x3d], [45, 6, 5, 0x3e], [77, 7, 6, 0x7e], [141, 7, 32, 0x7f]];\n        break;\n\n      case 14:\n        lines = [[-2, 3, 0, 0x4], [-1, 3, 0, 0x5], [0, 1, 0, 0x0], [1, 3, 0, 0x6], [2, 3, 0, 0x7]];\n        break;\n\n      case 15:\n        lines = [[-24, 7, 4, 0x7c], [-8, 6, 2, 0x3c], [-4, 5, 1, 0x1c], [-2, 4, 0, 0xc], [-1, 3, 0, 0x4], [0, 1, 0, 0x0], [1, 3, 0, 0x5], [2, 4, 0, 0xd], [3, 5, 1, 0x1d], [5, 6, 2, 0x3d], [9, 7, 4, 0x7d], [-25, 7, 32, 0x7e, \"lower\"], [25, 7, 32, 0x7f]];\n        break;\n\n      default:\n        throw new Jbig2Error(\"standard table B.\".concat(number, \" does not exist\"));\n    }\n\n    for (var i = 0, ii = lines.length; i < ii; i++) {\n      lines[i] = new HuffmanLine(lines[i]);\n    }\n\n    table = new HuffmanTable(lines, true);\n    standardTablesCache[number] = table;\n    return table;\n  }\n\n  function Reader(data, start, end) {\n    this.data = data;\n    this.start = start;\n    this.end = end;\n    this.position = start;\n    this.shift = -1;\n    this.currentByte = 0;\n  }\n\n  Reader.prototype = {\n    readBit: function readBit() {\n      if (this.shift < 0) {\n        if (this.position >= this.end) {\n          throw new Jbig2Error(\"end of data while reading bit\");\n        }\n\n        this.currentByte = this.data[this.position++];\n        this.shift = 7;\n      }\n\n      var bit = this.currentByte >> this.shift & 1;\n      this.shift--;\n      return bit;\n    },\n    readBits: function readBits(numBits) {\n      var result = 0,\n          i;\n\n      for (i = numBits - 1; i >= 0; i--) {\n        result |= this.readBit() << i;\n      }\n\n      return result;\n    },\n    byteAlign: function byteAlign() {\n      this.shift = -1;\n    },\n    next: function next() {\n      if (this.position >= this.end) {\n        return -1;\n      }\n\n      return this.data[this.position++];\n    }\n  };\n\n  function getCustomHuffmanTable(index, referredTo, customTables) {\n    var currentIndex = 0;\n\n    for (var i = 0, ii = referredTo.length; i < ii; i++) {\n      var table = customTables[referredTo[i]];\n\n      if (table) {\n        if (index === currentIndex) {\n          return table;\n        }\n\n        currentIndex++;\n      }\n    }\n\n    throw new Jbig2Error(\"can't find custom Huffman table\");\n  }\n\n  function getTextRegionHuffmanTables(textRegion, referredTo, customTables, numberOfSymbols, reader) {\n    var codes = [];\n\n    for (var i = 0; i <= 34; i++) {\n      var codeLength = reader.readBits(4);\n      codes.push(new HuffmanLine([i, codeLength, 0, 0]));\n    }\n\n    var runCodesTable = new HuffmanTable(codes, false);\n    codes.length = 0;\n\n    for (var _i3 = 0; _i3 < numberOfSymbols;) {\n      var _codeLength = runCodesTable.decode(reader);\n\n      if (_codeLength >= 32) {\n        var repeatedLength = void 0,\n            numberOfRepeats = void 0,\n            j = void 0;\n\n        switch (_codeLength) {\n          case 32:\n            if (_i3 === 0) {\n              throw new Jbig2Error(\"no previous value in symbol ID table\");\n            }\n\n            numberOfRepeats = reader.readBits(2) + 3;\n            repeatedLength = codes[_i3 - 1].prefixLength;\n            break;\n\n          case 33:\n            numberOfRepeats = reader.readBits(3) + 3;\n            repeatedLength = 0;\n            break;\n\n          case 34:\n            numberOfRepeats = reader.readBits(7) + 11;\n            repeatedLength = 0;\n            break;\n\n          default:\n            throw new Jbig2Error(\"invalid code length in symbol ID table\");\n        }\n\n        for (j = 0; j < numberOfRepeats; j++) {\n          codes.push(new HuffmanLine([_i3, repeatedLength, 0, 0]));\n          _i3++;\n        }\n      } else {\n        codes.push(new HuffmanLine([_i3, _codeLength, 0, 0]));\n        _i3++;\n      }\n    }\n\n    reader.byteAlign();\n    var symbolIDTable = new HuffmanTable(codes, false);\n    var customIndex = 0,\n        tableFirstS,\n        tableDeltaS,\n        tableDeltaT;\n\n    switch (textRegion.huffmanFS) {\n      case 0:\n      case 1:\n        tableFirstS = getStandardTable(textRegion.huffmanFS + 6);\n        break;\n\n      case 3:\n        tableFirstS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman FS selector\");\n    }\n\n    switch (textRegion.huffmanDS) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaS = getStandardTable(textRegion.huffmanDS + 8);\n        break;\n\n      case 3:\n        tableDeltaS = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DS selector\");\n    }\n\n    switch (textRegion.huffmanDT) {\n      case 0:\n      case 1:\n      case 2:\n        tableDeltaT = getStandardTable(textRegion.huffmanDT + 11);\n        break;\n\n      case 3:\n        tableDeltaT = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DT selector\");\n    }\n\n    if (textRegion.refinement) {\n      throw new Jbig2Error(\"refinement with Huffman is not supported\");\n    }\n\n    return {\n      symbolIDTable: symbolIDTable,\n      tableFirstS: tableFirstS,\n      tableDeltaS: tableDeltaS,\n      tableDeltaT: tableDeltaT\n    };\n  }\n\n  function getSymbolDictionaryHuffmanTables(dictionary, referredTo, customTables) {\n    var customIndex = 0,\n        tableDeltaHeight,\n        tableDeltaWidth;\n\n    switch (dictionary.huffmanDHSelector) {\n      case 0:\n      case 1:\n        tableDeltaHeight = getStandardTable(dictionary.huffmanDHSelector + 4);\n        break;\n\n      case 3:\n        tableDeltaHeight = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DH selector\");\n    }\n\n    switch (dictionary.huffmanDWSelector) {\n      case 0:\n      case 1:\n        tableDeltaWidth = getStandardTable(dictionary.huffmanDWSelector + 2);\n        break;\n\n      case 3:\n        tableDeltaWidth = getCustomHuffmanTable(customIndex, referredTo, customTables);\n        customIndex++;\n        break;\n\n      default:\n        throw new Jbig2Error(\"invalid Huffman DW selector\");\n    }\n\n    var tableBitmapSize, tableAggregateInstances;\n\n    if (dictionary.bitmapSizeSelector) {\n      tableBitmapSize = getCustomHuffmanTable(customIndex, referredTo, customTables);\n      customIndex++;\n    } else {\n      tableBitmapSize = getStandardTable(1);\n    }\n\n    if (dictionary.aggregationInstancesSelector) {\n      tableAggregateInstances = getCustomHuffmanTable(customIndex, referredTo, customTables);\n    } else {\n      tableAggregateInstances = getStandardTable(1);\n    }\n\n    return {\n      tableDeltaHeight: tableDeltaHeight,\n      tableDeltaWidth: tableDeltaWidth,\n      tableBitmapSize: tableBitmapSize,\n      tableAggregateInstances: tableAggregateInstances\n    };\n  }\n\n  function readUncompressedBitmap(reader, width, height) {\n    var bitmap = [];\n\n    for (var y = 0; y < height; y++) {\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n\n      for (var x = 0; x < width; x++) {\n        row[x] = reader.readBit();\n      }\n\n      reader.byteAlign();\n    }\n\n    return bitmap;\n  }\n\n  function decodeMMRBitmap(input, width, height, endOfBlock) {\n    var params = {\n      K: -1,\n      Columns: width,\n      Rows: height,\n      BlackIs1: true,\n      EndOfBlock: endOfBlock\n    };\n    var decoder = new _ccitt.CCITTFaxDecoder(input, params);\n    var bitmap = [];\n    var currentByte,\n        eof = false;\n\n    for (var y = 0; y < height; y++) {\n      var row = new Uint8Array(width);\n      bitmap.push(row);\n      var shift = -1;\n\n      for (var x = 0; x < width; x++) {\n        if (shift < 0) {\n          currentByte = decoder.readNextChar();\n\n          if (currentByte === -1) {\n            currentByte = 0;\n            eof = true;\n          }\n\n          shift = 7;\n        }\n\n        row[x] = currentByte >> shift & 1;\n        shift--;\n      }\n    }\n\n    if (endOfBlock && !eof) {\n      var lookForEOFLimit = 5;\n\n      for (var i = 0; i < lookForEOFLimit; i++) {\n        if (decoder.readNextChar() === -1) {\n          break;\n        }\n      }\n    }\n\n    return bitmap;\n  }\n\n  function Jbig2Image() {}\n\n  Jbig2Image.prototype = {\n    parseChunks: function parseChunks(chunks) {\n      return parseJbig2Chunks(chunks);\n    },\n    parse: function parse(data) {\n      var _parseJbig = parseJbig2(data),\n          imgData = _parseJbig.imgData,\n          width = _parseJbig.width,\n          height = _parseJbig.height;\n\n      this.width = width;\n      this.height = height;\n      return imgData;\n    }\n  };\n  return Jbig2Image;\n}();\n\nexports.Jbig2Image = Jbig2Image;\n\n/***/ }),\n/* 147 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.ArithmeticDecoder = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar QeTable = [{\n  qe: 0x5601,\n  nmps: 1,\n  nlps: 1,\n  switchFlag: 1\n}, {\n  qe: 0x3401,\n  nmps: 2,\n  nlps: 6,\n  switchFlag: 0\n}, {\n  qe: 0x1801,\n  nmps: 3,\n  nlps: 9,\n  switchFlag: 0\n}, {\n  qe: 0x0ac1,\n  nmps: 4,\n  nlps: 12,\n  switchFlag: 0\n}, {\n  qe: 0x0521,\n  nmps: 5,\n  nlps: 29,\n  switchFlag: 0\n}, {\n  qe: 0x0221,\n  nmps: 38,\n  nlps: 33,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 7,\n  nlps: 6,\n  switchFlag: 1\n}, {\n  qe: 0x5401,\n  nmps: 8,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x4801,\n  nmps: 9,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x3801,\n  nmps: 10,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x3001,\n  nmps: 11,\n  nlps: 17,\n  switchFlag: 0\n}, {\n  qe: 0x2401,\n  nmps: 12,\n  nlps: 18,\n  switchFlag: 0\n}, {\n  qe: 0x1c01,\n  nmps: 13,\n  nlps: 20,\n  switchFlag: 0\n}, {\n  qe: 0x1601,\n  nmps: 29,\n  nlps: 21,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 15,\n  nlps: 14,\n  switchFlag: 1\n}, {\n  qe: 0x5401,\n  nmps: 16,\n  nlps: 14,\n  switchFlag: 0\n}, {\n  qe: 0x5101,\n  nmps: 17,\n  nlps: 15,\n  switchFlag: 0\n}, {\n  qe: 0x4801,\n  nmps: 18,\n  nlps: 16,\n  switchFlag: 0\n}, {\n  qe: 0x3801,\n  nmps: 19,\n  nlps: 17,\n  switchFlag: 0\n}, {\n  qe: 0x3401,\n  nmps: 20,\n  nlps: 18,\n  switchFlag: 0\n}, {\n  qe: 0x3001,\n  nmps: 21,\n  nlps: 19,\n  switchFlag: 0\n}, {\n  qe: 0x2801,\n  nmps: 22,\n  nlps: 19,\n  switchFlag: 0\n}, {\n  qe: 0x2401,\n  nmps: 23,\n  nlps: 20,\n  switchFlag: 0\n}, {\n  qe: 0x2201,\n  nmps: 24,\n  nlps: 21,\n  switchFlag: 0\n}, {\n  qe: 0x1c01,\n  nmps: 25,\n  nlps: 22,\n  switchFlag: 0\n}, {\n  qe: 0x1801,\n  nmps: 26,\n  nlps: 23,\n  switchFlag: 0\n}, {\n  qe: 0x1601,\n  nmps: 27,\n  nlps: 24,\n  switchFlag: 0\n}, {\n  qe: 0x1401,\n  nmps: 28,\n  nlps: 25,\n  switchFlag: 0\n}, {\n  qe: 0x1201,\n  nmps: 29,\n  nlps: 26,\n  switchFlag: 0\n}, {\n  qe: 0x1101,\n  nmps: 30,\n  nlps: 27,\n  switchFlag: 0\n}, {\n  qe: 0x0ac1,\n  nmps: 31,\n  nlps: 28,\n  switchFlag: 0\n}, {\n  qe: 0x09c1,\n  nmps: 32,\n  nlps: 29,\n  switchFlag: 0\n}, {\n  qe: 0x08a1,\n  nmps: 33,\n  nlps: 30,\n  switchFlag: 0\n}, {\n  qe: 0x0521,\n  nmps: 34,\n  nlps: 31,\n  switchFlag: 0\n}, {\n  qe: 0x0441,\n  nmps: 35,\n  nlps: 32,\n  switchFlag: 0\n}, {\n  qe: 0x02a1,\n  nmps: 36,\n  nlps: 33,\n  switchFlag: 0\n}, {\n  qe: 0x0221,\n  nmps: 37,\n  nlps: 34,\n  switchFlag: 0\n}, {\n  qe: 0x0141,\n  nmps: 38,\n  nlps: 35,\n  switchFlag: 0\n}, {\n  qe: 0x0111,\n  nmps: 39,\n  nlps: 36,\n  switchFlag: 0\n}, {\n  qe: 0x0085,\n  nmps: 40,\n  nlps: 37,\n  switchFlag: 0\n}, {\n  qe: 0x0049,\n  nmps: 41,\n  nlps: 38,\n  switchFlag: 0\n}, {\n  qe: 0x0025,\n  nmps: 42,\n  nlps: 39,\n  switchFlag: 0\n}, {\n  qe: 0x0015,\n  nmps: 43,\n  nlps: 40,\n  switchFlag: 0\n}, {\n  qe: 0x0009,\n  nmps: 44,\n  nlps: 41,\n  switchFlag: 0\n}, {\n  qe: 0x0005,\n  nmps: 45,\n  nlps: 42,\n  switchFlag: 0\n}, {\n  qe: 0x0001,\n  nmps: 45,\n  nlps: 43,\n  switchFlag: 0\n}, {\n  qe: 0x5601,\n  nmps: 46,\n  nlps: 46,\n  switchFlag: 0\n}];\n\nvar ArithmeticDecoder = /*#__PURE__*/function () {\n  function ArithmeticDecoder(data, start, end) {\n    _classCallCheck(this, ArithmeticDecoder);\n\n    this.data = data;\n    this.bp = start;\n    this.dataEnd = end;\n    this.chigh = data[start];\n    this.clow = 0;\n    this.byteIn();\n    this.chigh = this.chigh << 7 & 0xffff | this.clow >> 9 & 0x7f;\n    this.clow = this.clow << 7 & 0xffff;\n    this.ct -= 7;\n    this.a = 0x8000;\n  }\n\n  _createClass(ArithmeticDecoder, [{\n    key: \"byteIn\",\n    value: function byteIn() {\n      var data = this.data;\n      var bp = this.bp;\n\n      if (data[bp] === 0xff) {\n        if (data[bp + 1] > 0x8f) {\n          this.clow += 0xff00;\n          this.ct = 8;\n        } else {\n          bp++;\n          this.clow += data[bp] << 9;\n          this.ct = 7;\n          this.bp = bp;\n        }\n      } else {\n        bp++;\n        this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xff00;\n        this.ct = 8;\n        this.bp = bp;\n      }\n\n      if (this.clow > 0xffff) {\n        this.chigh += this.clow >> 16;\n        this.clow &= 0xffff;\n      }\n    }\n  }, {\n    key: \"readBit\",\n    value: function readBit(contexts, pos) {\n      var cx_index = contexts[pos] >> 1,\n          cx_mps = contexts[pos] & 1;\n      var qeTableIcx = QeTable[cx_index];\n      var qeIcx = qeTableIcx.qe;\n      var d;\n      var a = this.a - qeIcx;\n\n      if (this.chigh < qeIcx) {\n        if (a < qeIcx) {\n          a = qeIcx;\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        } else {\n          a = qeIcx;\n          d = 1 ^ cx_mps;\n\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n\n          cx_index = qeTableIcx.nlps;\n        }\n      } else {\n        this.chigh -= qeIcx;\n\n        if ((a & 0x8000) !== 0) {\n          this.a = a;\n          return cx_mps;\n        }\n\n        if (a < qeIcx) {\n          d = 1 ^ cx_mps;\n\n          if (qeTableIcx.switchFlag === 1) {\n            cx_mps = d;\n          }\n\n          cx_index = qeTableIcx.nlps;\n        } else {\n          d = cx_mps;\n          cx_index = qeTableIcx.nmps;\n        }\n      }\n\n      do {\n        if (this.ct === 0) {\n          this.byteIn();\n        }\n\n        a <<= 1;\n        this.chigh = this.chigh << 1 & 0xffff | this.clow >> 15 & 1;\n        this.clow = this.clow << 1 & 0xffff;\n        this.ct--;\n      } while ((a & 0x8000) === 0);\n\n      this.a = a;\n      contexts[pos] = cx_index << 1 | cx_mps;\n      return d;\n    }\n  }]);\n\n  return ArithmeticDecoder;\n}();\n\nexports.ArithmeticDecoder = ArithmeticDecoder;\n\n/***/ }),\n/* 148 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.JpegStream = void 0;\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _jpg = __w_pdfjs_require__(149);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar JpegStream = function JpegStreamClosure() {\n  function JpegStream(stream, maybeLength, dict, params) {\n    var ch;\n\n    while ((ch = stream.getByte()) !== -1) {\n      if (ch === 0xff) {\n        stream.skip(-1);\n        break;\n      }\n    }\n\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  JpegStream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(JpegStream.prototype, \"bytes\", {\n    get: function JpegStream_bytes() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  JpegStream.prototype.ensureBuffer = function (requested) {};\n\n  JpegStream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jpegOptions = {\n      decodeTransform: undefined,\n      colorTransform: undefined\n    };\n    var decodeArr = this.dict.getArray(\"Decode\", \"D\");\n\n    if (this.forceRGB && Array.isArray(decodeArr)) {\n      var bitsPerComponent = this.dict.get(\"BitsPerComponent\") || 8;\n      var decodeArrLength = decodeArr.length;\n      var transform = new Int32Array(decodeArrLength);\n      var transformNeeded = false;\n      var maxValue = (1 << bitsPerComponent) - 1;\n\n      for (var i = 0; i < decodeArrLength; i += 2) {\n        transform[i] = (decodeArr[i + 1] - decodeArr[i]) * 256 | 0;\n        transform[i + 1] = decodeArr[i] * maxValue | 0;\n\n        if (transform[i] !== 256 || transform[i + 1] !== 0) {\n          transformNeeded = true;\n        }\n      }\n\n      if (transformNeeded) {\n        jpegOptions.decodeTransform = transform;\n      }\n    }\n\n    if ((0, _primitives.isDict)(this.params)) {\n      var colorTransform = this.params.get(\"ColorTransform\");\n\n      if (Number.isInteger(colorTransform)) {\n        jpegOptions.colorTransform = colorTransform;\n      }\n    }\n\n    var jpegImage = new _jpg.JpegImage(jpegOptions);\n    jpegImage.parse(this.bytes);\n    var data = jpegImage.getData({\n      width: this.drawWidth,\n      height: this.drawHeight,\n      forceRGB: this.forceRGB,\n      isSourcePDF: true\n    });\n    this.buffer = data;\n    this.bufferLength = data.length;\n    this.eof = true;\n  };\n\n  return JpegStream;\n}();\n\nexports.JpegStream = JpegStream;\n\n/***/ }),\n/* 149 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.JpegImage = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpegError = /*#__PURE__*/function (_BaseException) {\n  _inherits(JpegError, _BaseException);\n\n  var _super = _createSuper(JpegError);\n\n  function JpegError(msg) {\n    _classCallCheck(this, JpegError);\n\n    return _super.call(this, \"JPEG error: \".concat(msg));\n  }\n\n  return JpegError;\n}(_util.BaseException);\n\nvar DNLMarkerError = /*#__PURE__*/function (_BaseException2) {\n  _inherits(DNLMarkerError, _BaseException2);\n\n  var _super2 = _createSuper(DNLMarkerError);\n\n  function DNLMarkerError(message, scanLines) {\n    var _this;\n\n    _classCallCheck(this, DNLMarkerError);\n\n    _this = _super2.call(this, message);\n    _this.scanLines = scanLines;\n    return _this;\n  }\n\n  return DNLMarkerError;\n}(_util.BaseException);\n\nvar EOIMarkerError = /*#__PURE__*/function (_BaseException3) {\n  _inherits(EOIMarkerError, _BaseException3);\n\n  var _super3 = _createSuper(EOIMarkerError);\n\n  function EOIMarkerError() {\n    _classCallCheck(this, EOIMarkerError);\n\n    return _super3.apply(this, arguments);\n  }\n\n  return EOIMarkerError;\n}(_util.BaseException);\n\nvar JpegImage = function JpegImageClosure() {\n  var dctZigZag = new Uint8Array([0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40, 48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36, 29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63]);\n  var dctCos1 = 4017;\n  var dctSin1 = 799;\n  var dctCos3 = 3406;\n  var dctSin3 = 2276;\n  var dctCos6 = 1567;\n  var dctSin6 = 3784;\n  var dctSqrt2 = 5793;\n  var dctSqrt1d2 = 2896;\n\n  function JpegImage() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref$decodeTransform = _ref.decodeTransform,\n        decodeTransform = _ref$decodeTransform === void 0 ? null : _ref$decodeTransform,\n        _ref$colorTransform = _ref.colorTransform,\n        colorTransform = _ref$colorTransform === void 0 ? -1 : _ref$colorTransform;\n\n    this._decodeTransform = decodeTransform;\n    this._colorTransform = colorTransform;\n  }\n\n  function buildHuffmanTable(codeLengths, values) {\n    var k = 0,\n        code = [],\n        i,\n        j,\n        length = 16;\n\n    while (length > 0 && !codeLengths[length - 1]) {\n      length--;\n    }\n\n    code.push({\n      children: [],\n      index: 0\n    });\n    var p = code[0],\n        q;\n\n    for (i = 0; i < length; i++) {\n      for (j = 0; j < codeLengths[i]; j++) {\n        p = code.pop();\n        p.children[p.index] = values[k];\n\n        while (p.index > 0) {\n          p = code.pop();\n        }\n\n        p.index++;\n        code.push(p);\n\n        while (code.length <= i) {\n          code.push(q = {\n            children: [],\n            index: 0\n          });\n          p.children[p.index] = q.children;\n          p = q;\n        }\n\n        k++;\n      }\n\n      if (i + 1 < length) {\n        code.push(q = {\n          children: [],\n          index: 0\n        });\n        p.children[p.index] = q.children;\n        p = q;\n      }\n    }\n\n    return code[0].children;\n  }\n\n  function getBlockBufferOffset(component, row, col) {\n    return 64 * ((component.blocksPerLine + 1) * row + col);\n  }\n\n  function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) {\n    var parseDNLMarker = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;\n    var mcusPerLine = frame.mcusPerLine;\n    var progressive = frame.progressive;\n    var startOffset = offset;\n    var bitsData = 0,\n        bitsCount = 0;\n\n    function readBit() {\n      if (bitsCount > 0) {\n        bitsCount--;\n        return bitsData >> bitsCount & 1;\n      }\n\n      bitsData = data[offset++];\n\n      if (bitsData === 0xff) {\n        var nextByte = data[offset++];\n\n        if (nextByte) {\n          if (nextByte === 0xdc && parseDNLMarker) {\n            offset += 2;\n            var scanLines = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n\n            if (scanLines > 0 && scanLines !== frame.scanLines) {\n              throw new DNLMarkerError(\"Found DNL marker (0xFFDC) while parsing scan data\", scanLines);\n            }\n          } else if (nextByte === 0xd9) {\n            if (parseDNLMarker) {\n              var maybeScanLines = blockRow * (frame.precision === 8 ? 8 : 0);\n\n              if (maybeScanLines > 0 && Math.round(frame.scanLines / maybeScanLines) >= 10) {\n                throw new DNLMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data, \" + \"possibly caused by incorrect `scanLines` parameter\", maybeScanLines);\n              }\n            }\n\n            throw new EOIMarkerError(\"Found EOI marker (0xFFD9) while parsing scan data\");\n          }\n\n          throw new JpegError(\"unexpected marker \".concat((bitsData << 8 | nextByte).toString(16)));\n        }\n      }\n\n      bitsCount = 7;\n      return bitsData >>> 7;\n    }\n\n    function decodeHuffman(tree) {\n      var node = tree;\n\n      while (true) {\n        node = node[readBit()];\n\n        switch (_typeof(node)) {\n          case \"number\":\n            return node;\n\n          case \"object\":\n            continue;\n        }\n\n        throw new JpegError(\"invalid huffman sequence\");\n      }\n    }\n\n    function receive(length) {\n      var n = 0;\n\n      while (length > 0) {\n        n = n << 1 | readBit();\n        length--;\n      }\n\n      return n;\n    }\n\n    function receiveAndExtend(length) {\n      if (length === 1) {\n        return readBit() === 1 ? 1 : -1;\n      }\n\n      var n = receive(length);\n\n      if (n >= 1 << length - 1) {\n        return n;\n      }\n\n      return n + (-1 << length) + 1;\n    }\n\n    function decodeBaseline(component, blockOffset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t);\n      component.blockData[blockOffset] = component.pred += diff;\n      var k = 1;\n\n      while (k < 64) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n\n        if (s === 0) {\n          if (r < 15) {\n            break;\n          }\n\n          k += 16;\n          continue;\n        }\n\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[blockOffset + z] = receiveAndExtend(s);\n        k++;\n      }\n    }\n\n    function decodeDCFirst(component, blockOffset) {\n      var t = decodeHuffman(component.huffmanTableDC);\n      var diff = t === 0 ? 0 : receiveAndExtend(t) << successive;\n      component.blockData[blockOffset] = component.pred += diff;\n    }\n\n    function decodeDCSuccessive(component, blockOffset) {\n      component.blockData[blockOffset] |= readBit() << successive;\n    }\n\n    var eobrun = 0;\n\n    function decodeACFirst(component, blockOffset) {\n      if (eobrun > 0) {\n        eobrun--;\n        return;\n      }\n\n      var k = spectralStart,\n          e = spectralEnd;\n\n      while (k <= e) {\n        var rs = decodeHuffman(component.huffmanTableAC);\n        var s = rs & 15,\n            r = rs >> 4;\n\n        if (s === 0) {\n          if (r < 15) {\n            eobrun = receive(r) + (1 << r) - 1;\n            break;\n          }\n\n          k += 16;\n          continue;\n        }\n\n        k += r;\n        var z = dctZigZag[k];\n        component.blockData[blockOffset + z] = receiveAndExtend(s) * (1 << successive);\n        k++;\n      }\n    }\n\n    var successiveACState = 0,\n        successiveACNextValue;\n\n    function decodeACSuccessive(component, blockOffset) {\n      var k = spectralStart;\n      var e = spectralEnd;\n      var r = 0;\n      var s;\n      var rs;\n\n      while (k <= e) {\n        var offsetZ = blockOffset + dctZigZag[k];\n        var sign = component.blockData[offsetZ] < 0 ? -1 : 1;\n\n        switch (successiveACState) {\n          case 0:\n            rs = decodeHuffman(component.huffmanTableAC);\n            s = rs & 15;\n            r = rs >> 4;\n\n            if (s === 0) {\n              if (r < 15) {\n                eobrun = receive(r) + (1 << r);\n                successiveACState = 4;\n              } else {\n                r = 16;\n                successiveACState = 1;\n              }\n            } else {\n              if (s !== 1) {\n                throw new JpegError(\"invalid ACn encoding\");\n              }\n\n              successiveACNextValue = receiveAndExtend(s);\n              successiveACState = r ? 2 : 3;\n            }\n\n            continue;\n\n          case 1:\n          case 2:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              r--;\n\n              if (r === 0) {\n                successiveACState = successiveACState === 2 ? 3 : 0;\n              }\n            }\n\n            break;\n\n          case 3:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            } else {\n              component.blockData[offsetZ] = successiveACNextValue << successive;\n              successiveACState = 0;\n            }\n\n            break;\n\n          case 4:\n            if (component.blockData[offsetZ]) {\n              component.blockData[offsetZ] += sign * (readBit() << successive);\n            }\n\n            break;\n        }\n\n        k++;\n      }\n\n      if (successiveACState === 4) {\n        eobrun--;\n\n        if (eobrun === 0) {\n          successiveACState = 0;\n        }\n      }\n    }\n\n    var blockRow = 0;\n\n    function decodeMcu(component, decode, mcu, row, col) {\n      var mcuRow = mcu / mcusPerLine | 0;\n      var mcuCol = mcu % mcusPerLine;\n      blockRow = mcuRow * component.v + row;\n      var blockCol = mcuCol * component.h + col;\n      var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, blockOffset);\n    }\n\n    function decodeBlock(component, decode, mcu) {\n      blockRow = mcu / component.blocksPerLine | 0;\n      var blockCol = mcu % component.blocksPerLine;\n      var blockOffset = getBlockBufferOffset(component, blockRow, blockCol);\n      decode(component, blockOffset);\n    }\n\n    var componentsLength = components.length;\n    var component, i, j, k, n;\n    var decodeFn;\n\n    if (progressive) {\n      if (spectralStart === 0) {\n        decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive;\n      } else {\n        decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive;\n      }\n    } else {\n      decodeFn = decodeBaseline;\n    }\n\n    var mcu = 0,\n        fileMarker;\n    var mcuExpected;\n\n    if (componentsLength === 1) {\n      mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn;\n    } else {\n      mcuExpected = mcusPerLine * frame.mcusPerColumn;\n    }\n\n    var h, v;\n\n    while (mcu <= mcuExpected) {\n      var mcuToRead = resetInterval ? Math.min(mcuExpected - mcu, resetInterval) : mcuExpected;\n\n      if (mcuToRead > 0) {\n        for (i = 0; i < componentsLength; i++) {\n          components[i].pred = 0;\n        }\n\n        eobrun = 0;\n\n        if (componentsLength === 1) {\n          component = components[0];\n\n          for (n = 0; n < mcuToRead; n++) {\n            decodeBlock(component, decodeFn, mcu);\n            mcu++;\n          }\n        } else {\n          for (n = 0; n < mcuToRead; n++) {\n            for (i = 0; i < componentsLength; i++) {\n              component = components[i];\n              h = component.h;\n              v = component.v;\n\n              for (j = 0; j < v; j++) {\n                for (k = 0; k < h; k++) {\n                  decodeMcu(component, decodeFn, mcu, j, k);\n                }\n              }\n            }\n\n            mcu++;\n          }\n        }\n      }\n\n      bitsCount = 0;\n      fileMarker = findNextFileMarker(data, offset);\n\n      if (!fileMarker) {\n        break;\n      }\n\n      if (fileMarker.invalid) {\n        var partialMsg = mcuToRead > 0 ? \"unexpected\" : \"excessive\";\n        (0, _util.warn)(\"decodeScan - \".concat(partialMsg, \" MCU data, current marker is: \").concat(fileMarker.invalid));\n        offset = fileMarker.offset;\n      }\n\n      if (fileMarker.marker >= 0xffd0 && fileMarker.marker <= 0xffd7) {\n        offset += 2;\n      } else {\n        break;\n      }\n    }\n\n    return offset - startOffset;\n  }\n\n  function quantizeAndInverse(component, blockBufferOffset, p) {\n    var qt = component.quantizationTable,\n        blockData = component.blockData;\n    var v0, v1, v2, v3, v4, v5, v6, v7;\n    var p0, p1, p2, p3, p4, p5, p6, p7;\n    var t;\n\n    if (!qt) {\n      throw new JpegError(\"missing required Quantization Table.\");\n    }\n\n    for (var row = 0; row < 64; row += 8) {\n      p0 = blockData[blockBufferOffset + row];\n      p1 = blockData[blockBufferOffset + row + 1];\n      p2 = blockData[blockBufferOffset + row + 2];\n      p3 = blockData[blockBufferOffset + row + 3];\n      p4 = blockData[blockBufferOffset + row + 4];\n      p5 = blockData[blockBufferOffset + row + 5];\n      p6 = blockData[blockBufferOffset + row + 6];\n      p7 = blockData[blockBufferOffset + row + 7];\n      p0 *= qt[row];\n\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 512 >> 10;\n        p[row] = t;\n        p[row + 1] = t;\n        p[row + 2] = t;\n        p[row + 3] = t;\n        p[row + 4] = t;\n        p[row + 5] = t;\n        p[row + 6] = t;\n        p[row + 7] = t;\n        continue;\n      }\n\n      p1 *= qt[row + 1];\n      p2 *= qt[row + 2];\n      p3 *= qt[row + 3];\n      p4 *= qt[row + 4];\n      p5 *= qt[row + 5];\n      p6 *= qt[row + 6];\n      p7 *= qt[row + 7];\n      v0 = dctSqrt2 * p0 + 128 >> 8;\n      v1 = dctSqrt2 * p4 + 128 >> 8;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8;\n      v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8;\n      v5 = p3 << 4;\n      v6 = p5 << 4;\n      v0 = v0 + v1 + 1 >> 1;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p[row] = v0 + v7;\n      p[row + 7] = v0 - v7;\n      p[row + 1] = v1 + v6;\n      p[row + 6] = v1 - v6;\n      p[row + 2] = v2 + v5;\n      p[row + 5] = v2 - v5;\n      p[row + 3] = v3 + v4;\n      p[row + 4] = v3 - v4;\n    }\n\n    for (var col = 0; col < 8; ++col) {\n      p0 = p[col];\n      p1 = p[col + 8];\n      p2 = p[col + 16];\n      p3 = p[col + 24];\n      p4 = p[col + 32];\n      p5 = p[col + 40];\n      p6 = p[col + 48];\n      p7 = p[col + 56];\n\n      if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) {\n        t = dctSqrt2 * p0 + 8192 >> 14;\n\n        if (t < -2040) {\n          t = 0;\n        } else if (t >= 2024) {\n          t = 255;\n        } else {\n          t = t + 2056 >> 4;\n        }\n\n        blockData[blockBufferOffset + col] = t;\n        blockData[blockBufferOffset + col + 8] = t;\n        blockData[blockBufferOffset + col + 16] = t;\n        blockData[blockBufferOffset + col + 24] = t;\n        blockData[blockBufferOffset + col + 32] = t;\n        blockData[blockBufferOffset + col + 40] = t;\n        blockData[blockBufferOffset + col + 48] = t;\n        blockData[blockBufferOffset + col + 56] = t;\n        continue;\n      }\n\n      v0 = dctSqrt2 * p0 + 2048 >> 12;\n      v1 = dctSqrt2 * p4 + 2048 >> 12;\n      v2 = p2;\n      v3 = p6;\n      v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12;\n      v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12;\n      v5 = p3;\n      v6 = p5;\n      v0 = (v0 + v1 + 1 >> 1) + 4112;\n      v1 = v0 - v1;\n      t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12;\n      v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12;\n      v3 = t;\n      v4 = v4 + v6 + 1 >> 1;\n      v6 = v4 - v6;\n      v7 = v7 + v5 + 1 >> 1;\n      v5 = v7 - v5;\n      v0 = v0 + v3 + 1 >> 1;\n      v3 = v0 - v3;\n      v1 = v1 + v2 + 1 >> 1;\n      v2 = v1 - v2;\n      t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12;\n      v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12;\n      v7 = t;\n      t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12;\n      v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12;\n      v6 = t;\n      p0 = v0 + v7;\n      p7 = v0 - v7;\n      p1 = v1 + v6;\n      p6 = v1 - v6;\n      p2 = v2 + v5;\n      p5 = v2 - v5;\n      p3 = v3 + v4;\n      p4 = v3 - v4;\n\n      if (p0 < 16) {\n        p0 = 0;\n      } else if (p0 >= 4080) {\n        p0 = 255;\n      } else {\n        p0 >>= 4;\n      }\n\n      if (p1 < 16) {\n        p1 = 0;\n      } else if (p1 >= 4080) {\n        p1 = 255;\n      } else {\n        p1 >>= 4;\n      }\n\n      if (p2 < 16) {\n        p2 = 0;\n      } else if (p2 >= 4080) {\n        p2 = 255;\n      } else {\n        p2 >>= 4;\n      }\n\n      if (p3 < 16) {\n        p3 = 0;\n      } else if (p3 >= 4080) {\n        p3 = 255;\n      } else {\n        p3 >>= 4;\n      }\n\n      if (p4 < 16) {\n        p4 = 0;\n      } else if (p4 >= 4080) {\n        p4 = 255;\n      } else {\n        p4 >>= 4;\n      }\n\n      if (p5 < 16) {\n        p5 = 0;\n      } else if (p5 >= 4080) {\n        p5 = 255;\n      } else {\n        p5 >>= 4;\n      }\n\n      if (p6 < 16) {\n        p6 = 0;\n      } else if (p6 >= 4080) {\n        p6 = 255;\n      } else {\n        p6 >>= 4;\n      }\n\n      if (p7 < 16) {\n        p7 = 0;\n      } else if (p7 >= 4080) {\n        p7 = 255;\n      } else {\n        p7 >>= 4;\n      }\n\n      blockData[blockBufferOffset + col] = p0;\n      blockData[blockBufferOffset + col + 8] = p1;\n      blockData[blockBufferOffset + col + 16] = p2;\n      blockData[blockBufferOffset + col + 24] = p3;\n      blockData[blockBufferOffset + col + 32] = p4;\n      blockData[blockBufferOffset + col + 40] = p5;\n      blockData[blockBufferOffset + col + 48] = p6;\n      blockData[blockBufferOffset + col + 56] = p7;\n    }\n  }\n\n  function buildComponentData(frame, component) {\n    var blocksPerLine = component.blocksPerLine;\n    var blocksPerColumn = component.blocksPerColumn;\n    var computationBuffer = new Int16Array(64);\n\n    for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) {\n      for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) {\n        var offset = getBlockBufferOffset(component, blockRow, blockCol);\n        quantizeAndInverse(component, offset, computationBuffer);\n      }\n    }\n\n    return component.blockData;\n  }\n\n  function findNextFileMarker(data, currentPos) {\n    var startPos = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : currentPos;\n    var maxPos = data.length - 1;\n    var newPos = startPos < currentPos ? startPos : currentPos;\n\n    if (currentPos >= maxPos) {\n      return null;\n    }\n\n    var currentMarker = (0, _core_utils.readUint16)(data, currentPos);\n\n    if (currentMarker >= 0xffc0 && currentMarker <= 0xfffe) {\n      return {\n        invalid: null,\n        marker: currentMarker,\n        offset: currentPos\n      };\n    }\n\n    var newMarker = (0, _core_utils.readUint16)(data, newPos);\n\n    while (!(newMarker >= 0xffc0 && newMarker <= 0xfffe)) {\n      if (++newPos >= maxPos) {\n        return null;\n      }\n\n      newMarker = (0, _core_utils.readUint16)(data, newPos);\n    }\n\n    return {\n      invalid: currentMarker.toString(16),\n      marker: newMarker,\n      offset: newPos\n    };\n  }\n\n  JpegImage.prototype = {\n    parse: function parse(data) {\n      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n          _ref2$dnlScanLines = _ref2.dnlScanLines,\n          dnlScanLines = _ref2$dnlScanLines === void 0 ? null : _ref2$dnlScanLines;\n\n      function readDataBlock() {\n        var length = (0, _core_utils.readUint16)(data, offset);\n        offset += 2;\n        var endOffset = offset + length - 2;\n        var fileMarker = findNextFileMarker(data, endOffset, offset);\n\n        if (fileMarker && fileMarker.invalid) {\n          (0, _util.warn)(\"readDataBlock - incorrect length, current marker is: \" + fileMarker.invalid);\n          endOffset = fileMarker.offset;\n        }\n\n        var array = data.subarray(offset, endOffset);\n        offset += array.length;\n        return array;\n      }\n\n      function prepareComponents(frame) {\n        var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH);\n        var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV);\n\n        for (var i = 0; i < frame.components.length; i++) {\n          component = frame.components[i];\n          var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH);\n          var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV);\n          var blocksPerLineForMcu = mcusPerLine * component.h;\n          var blocksPerColumnForMcu = mcusPerColumn * component.v;\n          var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1);\n          component.blockData = new Int16Array(blocksBufferSize);\n          component.blocksPerLine = blocksPerLine;\n          component.blocksPerColumn = blocksPerColumn;\n        }\n\n        frame.mcusPerLine = mcusPerLine;\n        frame.mcusPerColumn = mcusPerColumn;\n      }\n\n      var offset = 0;\n      var jfif = null;\n      var adobe = null;\n      var frame, resetInterval;\n      var numSOSMarkers = 0;\n      var quantizationTables = [];\n      var huffmanTablesAC = [],\n          huffmanTablesDC = [];\n      var fileMarker = (0, _core_utils.readUint16)(data, offset);\n      offset += 2;\n\n      if (fileMarker !== 0xffd8) {\n        throw new JpegError(\"SOI not found\");\n      }\n\n      fileMarker = (0, _core_utils.readUint16)(data, offset);\n      offset += 2;\n\n      markerLoop: while (fileMarker !== 0xffd9) {\n        var i, j, l;\n\n        switch (fileMarker) {\n          case 0xffe0:\n          case 0xffe1:\n          case 0xffe2:\n          case 0xffe3:\n          case 0xffe4:\n          case 0xffe5:\n          case 0xffe6:\n          case 0xffe7:\n          case 0xffe8:\n          case 0xffe9:\n          case 0xffea:\n          case 0xffeb:\n          case 0xffec:\n          case 0xffed:\n          case 0xffee:\n          case 0xffef:\n          case 0xfffe:\n            var appData = readDataBlock();\n\n            if (fileMarker === 0xffe0) {\n              if (appData[0] === 0x4a && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) {\n                jfif = {\n                  version: {\n                    major: appData[5],\n                    minor: appData[6]\n                  },\n                  densityUnits: appData[7],\n                  xDensity: appData[8] << 8 | appData[9],\n                  yDensity: appData[10] << 8 | appData[11],\n                  thumbWidth: appData[12],\n                  thumbHeight: appData[13],\n                  thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13])\n                };\n              }\n            }\n\n            if (fileMarker === 0xffee) {\n              if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6f && appData[3] === 0x62 && appData[4] === 0x65) {\n                adobe = {\n                  version: appData[5] << 8 | appData[6],\n                  flags0: appData[7] << 8 | appData[8],\n                  flags1: appData[9] << 8 | appData[10],\n                  transformCode: appData[11]\n                };\n              }\n            }\n\n            break;\n\n          case 0xffdb:\n            var quantizationTablesLength = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            var quantizationTablesEnd = quantizationTablesLength + offset - 2;\n            var z;\n\n            while (offset < quantizationTablesEnd) {\n              var quantizationTableSpec = data[offset++];\n              var tableData = new Uint16Array(64);\n\n              if (quantizationTableSpec >> 4 === 0) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = data[offset++];\n                }\n              } else if (quantizationTableSpec >> 4 === 1) {\n                for (j = 0; j < 64; j++) {\n                  z = dctZigZag[j];\n                  tableData[z] = (0, _core_utils.readUint16)(data, offset);\n                  offset += 2;\n                }\n              } else {\n                throw new JpegError(\"DQT - invalid table spec\");\n              }\n\n              quantizationTables[quantizationTableSpec & 15] = tableData;\n            }\n\n            break;\n\n          case 0xffc0:\n          case 0xffc1:\n          case 0xffc2:\n            if (frame) {\n              throw new JpegError(\"Only single frame JPEGs supported\");\n            }\n\n            offset += 2;\n            frame = {};\n            frame.extended = fileMarker === 0xffc1;\n            frame.progressive = fileMarker === 0xffc2;\n            frame.precision = data[offset++];\n            var sofScanLines = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            frame.scanLines = dnlScanLines || sofScanLines;\n            frame.samplesPerLine = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            frame.components = [];\n            frame.componentIds = {};\n            var componentsCount = data[offset++],\n                componentId;\n            var maxH = 0,\n                maxV = 0;\n\n            for (i = 0; i < componentsCount; i++) {\n              componentId = data[offset];\n              var h = data[offset + 1] >> 4;\n              var v = data[offset + 1] & 15;\n\n              if (maxH < h) {\n                maxH = h;\n              }\n\n              if (maxV < v) {\n                maxV = v;\n              }\n\n              var qId = data[offset + 2];\n              l = frame.components.push({\n                h: h,\n                v: v,\n                quantizationId: qId,\n                quantizationTable: null\n              });\n              frame.componentIds[componentId] = l - 1;\n              offset += 3;\n            }\n\n            frame.maxH = maxH;\n            frame.maxV = maxV;\n            prepareComponents(frame);\n            break;\n\n          case 0xffc4:\n            var huffmanLength = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n\n            for (i = 2; i < huffmanLength;) {\n              var huffmanTableSpec = data[offset++];\n              var codeLengths = new Uint8Array(16);\n              var codeLengthSum = 0;\n\n              for (j = 0; j < 16; j++, offset++) {\n                codeLengthSum += codeLengths[j] = data[offset];\n              }\n\n              var huffmanValues = new Uint8Array(codeLengthSum);\n\n              for (j = 0; j < codeLengthSum; j++, offset++) {\n                huffmanValues[j] = data[offset];\n              }\n\n              i += 17 + codeLengthSum;\n              (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues);\n            }\n\n            break;\n\n          case 0xffdd:\n            offset += 2;\n            resetInterval = (0, _core_utils.readUint16)(data, offset);\n            offset += 2;\n            break;\n\n          case 0xffda:\n            var parseDNLMarker = ++numSOSMarkers === 1 && !dnlScanLines;\n            offset += 2;\n            var selectorsCount = data[offset++];\n            var components = [],\n                component;\n\n            for (i = 0; i < selectorsCount; i++) {\n              var index = data[offset++];\n              var componentIndex = frame.componentIds[index];\n              component = frame.components[componentIndex];\n              component.index = index;\n              var tableSpec = data[offset++];\n              component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4];\n              component.huffmanTableAC = huffmanTablesAC[tableSpec & 15];\n              components.push(component);\n            }\n\n            var spectralStart = data[offset++];\n            var spectralEnd = data[offset++];\n            var successiveApproximation = data[offset++];\n\n            try {\n              var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15, parseDNLMarker);\n              offset += processed;\n            } catch (ex) {\n              if (ex instanceof DNLMarkerError) {\n                (0, _util.warn)(\"\".concat(ex.message, \" -- attempting to re-parse the JPEG image.\"));\n                return this.parse(data, {\n                  dnlScanLines: ex.scanLines\n                });\n              } else if (ex instanceof EOIMarkerError) {\n                (0, _util.warn)(\"\".concat(ex.message, \" -- ignoring the rest of the image data.\"));\n                break markerLoop;\n              }\n\n              throw ex;\n            }\n\n            break;\n\n          case 0xffdc:\n            offset += 4;\n            break;\n\n          case 0xffff:\n            if (data[offset] !== 0xff) {\n              offset--;\n            }\n\n            break;\n\n          default:\n            var nextFileMarker = findNextFileMarker(data, offset - 2, offset - 3);\n\n            if (nextFileMarker && nextFileMarker.invalid) {\n              (0, _util.warn)(\"JpegImage.parse - unexpected data, current marker is: \" + nextFileMarker.invalid);\n              offset = nextFileMarker.offset;\n              break;\n            }\n\n            if (!nextFileMarker || offset >= data.length - 1) {\n              (0, _util.warn)(\"JpegImage.parse - reached the end of the image data \" + \"without finding an EOI marker (0xFFD9).\");\n              break markerLoop;\n            }\n\n            throw new JpegError(\"JpegImage.parse - unknown marker: \" + fileMarker.toString(16));\n        }\n\n        fileMarker = (0, _core_utils.readUint16)(data, offset);\n        offset += 2;\n      }\n\n      this.width = frame.samplesPerLine;\n      this.height = frame.scanLines;\n      this.jfif = jfif;\n      this.adobe = adobe;\n      this.components = [];\n\n      for (i = 0; i < frame.components.length; i++) {\n        component = frame.components[i];\n        var quantizationTable = quantizationTables[component.quantizationId];\n\n        if (quantizationTable) {\n          component.quantizationTable = quantizationTable;\n        }\n\n        this.components.push({\n          index: component.index,\n          output: buildComponentData(frame, component),\n          scaleX: component.h / frame.maxH,\n          scaleY: component.v / frame.maxV,\n          blocksPerLine: component.blocksPerLine,\n          blocksPerColumn: component.blocksPerColumn\n        });\n      }\n\n      this.numComponents = this.components.length;\n      return undefined;\n    },\n    _getLinearizedBlockData: function _getLinearizedBlockData(width, height) {\n      var isSourcePDF = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var scaleX = this.width / width,\n          scaleY = this.height / height;\n      var component, componentScaleX, componentScaleY, blocksPerScanline;\n      var x, y, i, j, k;\n      var index;\n      var offset = 0;\n      var output;\n      var numComponents = this.components.length;\n      var dataLength = width * height * numComponents;\n      var data = new Uint8ClampedArray(dataLength);\n      var xScaleBlockOffset = new Uint32Array(width);\n      var mask3LSB = 0xfffffff8;\n      var lastComponentScaleX;\n\n      for (i = 0; i < numComponents; i++) {\n        component = this.components[i];\n        componentScaleX = component.scaleX * scaleX;\n        componentScaleY = component.scaleY * scaleY;\n        offset = i;\n        output = component.output;\n        blocksPerScanline = component.blocksPerLine + 1 << 3;\n\n        if (componentScaleX !== lastComponentScaleX) {\n          for (x = 0; x < width; x++) {\n            j = 0 | x * componentScaleX;\n            xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7;\n          }\n\n          lastComponentScaleX = componentScaleX;\n        }\n\n        for (y = 0; y < height; y++) {\n          j = 0 | y * componentScaleY;\n          index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3;\n\n          for (x = 0; x < width; x++) {\n            data[offset] = output[index + xScaleBlockOffset[x]];\n            offset += numComponents;\n          }\n        }\n      }\n\n      var transform = this._decodeTransform;\n\n      if (!isSourcePDF && numComponents === 4 && !transform) {\n        transform = new Int32Array([-256, 255, -256, 255, -256, 255, -256, 255]);\n      }\n\n      if (transform) {\n        for (i = 0; i < dataLength;) {\n          for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) {\n            data[i] = (data[i] * transform[k] >> 8) + transform[k + 1];\n          }\n        }\n      }\n\n      return data;\n    },\n\n    get _isColorConversionNeeded() {\n      if (this.adobe) {\n        return !!this.adobe.transformCode;\n      }\n\n      if (this.numComponents === 3) {\n        if (this._colorTransform === 0) {\n          return false;\n        } else if (this.components[0].index === 0x52 && this.components[1].index === 0x47 && this.components[2].index === 0x42) {\n          return false;\n        }\n\n        return true;\n      }\n\n      if (this._colorTransform === 1) {\n        return true;\n      }\n\n      return false;\n    },\n\n    _convertYccToRgb: function convertYccToRgb(data) {\n      var Y, Cb, Cr;\n\n      for (var i = 0, length = data.length; i < length; i += 3) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = Y - 179.456 + 1.402 * Cr;\n        data[i + 1] = Y + 135.459 - 0.344 * Cb - 0.714 * Cr;\n        data[i + 2] = Y - 226.816 + 1.772 * Cb;\n      }\n\n      return data;\n    },\n    _convertYcckToRgb: function convertYcckToRgb(data) {\n      var Y, Cb, Cr, k;\n      var offset = 0;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        k = data[i + 3];\n        data[offset++] = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776);\n        data[offset++] = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665);\n        data[offset++] = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407);\n      }\n\n      return data.subarray(0, offset);\n    },\n    _convertYcckToCmyk: function convertYcckToCmyk(data) {\n      var Y, Cb, Cr;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        Y = data[i];\n        Cb = data[i + 1];\n        Cr = data[i + 2];\n        data[i] = 434.456 - Y - 1.402 * Cr;\n        data[i + 1] = 119.541 - Y + 0.344 * Cb + 0.714 * Cr;\n        data[i + 2] = 481.816 - Y - 1.772 * Cb;\n      }\n\n      return data;\n    },\n    _convertCmykToRgb: function convertCmykToRgb(data) {\n      var c, m, y, k;\n      var offset = 0;\n\n      for (var i = 0, length = data.length; i < length; i += 4) {\n        c = data[i];\n        m = data[i + 1];\n        y = data[i + 2];\n        k = data[i + 3];\n        data[offset++] = 255 + c * (-0.00006747147073602441 * c + 0.0008379262121013727 * m + 0.0002894718188643294 * y + 0.003264231057537806 * k - 1.1185611867203937) + m * (0.000026374107616089405 * m - 0.00008626949158638572 * y - 0.0002748769067499491 * k - 0.02155688794978967) + y * (-0.00003878099212869363 * y - 0.0003267808279485286 * k + 0.0686742238595345) - k * (0.0003361971776183937 * k + 0.7430659151342254);\n        data[offset++] = 255 + c * (0.00013596372813588848 * c + 0.000924537132573585 * m + 0.00010567359618683593 * y + 0.0004791864687436512 * k - 0.3109689587515875) + m * (-0.00023545346108370344 * m + 0.0002702845253534714 * y + 0.0020200308977307156 * k - 0.7488052167015494) + y * (0.00006834815998235662 * y + 0.00015168452363460973 * k - 0.09751927774728933) - k * (0.00031891311758832814 * k + 0.7364883807733168);\n        data[offset++] = 255 + c * (0.000013598650411385307 * c + 0.00012423956175490851 * m + 0.0004751985097583589 * y - 0.0000036729317476630422 * k - 0.05562186980264034) + m * (0.00016141380598724676 * m + 0.0009692239130725186 * y + 0.0007782692450036253 * k - 0.44015232367526463) + y * (5.068882914068769e-7 * y + 0.0017778369011375071 * k - 0.7591454649749609) - k * (0.0003435319965105553 * k + 0.7063770186160144);\n      }\n\n      return data.subarray(0, offset);\n    },\n    getData: function getData(_ref3) {\n      var width = _ref3.width,\n          height = _ref3.height,\n          _ref3$forceRGB = _ref3.forceRGB,\n          forceRGB = _ref3$forceRGB === void 0 ? false : _ref3$forceRGB,\n          _ref3$isSourcePDF = _ref3.isSourcePDF,\n          isSourcePDF = _ref3$isSourcePDF === void 0 ? false : _ref3$isSourcePDF;\n\n      if (this.numComponents > 4) {\n        throw new JpegError(\"Unsupported color mode\");\n      }\n\n      var data = this._getLinearizedBlockData(width, height, isSourcePDF);\n\n      if (this.numComponents === 1 && forceRGB) {\n        var dataLength = data.length;\n        var rgbData = new Uint8ClampedArray(dataLength * 3);\n        var offset = 0;\n\n        for (var i = 0; i < dataLength; i++) {\n          var grayColor = data[i];\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n          rgbData[offset++] = grayColor;\n        }\n\n        return rgbData;\n      } else if (this.numComponents === 3 && this._isColorConversionNeeded) {\n        return this._convertYccToRgb(data);\n      } else if (this.numComponents === 4) {\n        if (this._isColorConversionNeeded) {\n          if (forceRGB) {\n            return this._convertYcckToRgb(data);\n          }\n\n          return this._convertYcckToCmyk(data);\n        } else if (forceRGB) {\n          return this._convertCmykToRgb(data);\n        }\n      }\n\n      return data;\n    }\n  };\n  return JpegImage;\n}();\n\nexports.JpegImage = JpegImage;\n\n/***/ }),\n/* 150 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.JpxStream = void 0;\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _jpx = __w_pdfjs_require__(151);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar JpxStream = function JpxStreamClosure() {\n  function JpxStream(stream, maybeLength, dict, params) {\n    this.stream = stream;\n    this.maybeLength = maybeLength;\n    this.dict = dict;\n    this.params = params;\n\n    _stream.DecodeStream.call(this, maybeLength);\n  }\n\n  JpxStream.prototype = Object.create(_stream.DecodeStream.prototype);\n  Object.defineProperty(JpxStream.prototype, \"bytes\", {\n    get: function JpxStream_bytes() {\n      return (0, _util.shadow)(this, \"bytes\", this.stream.getBytes(this.maybeLength));\n    },\n    configurable: true\n  });\n\n  JpxStream.prototype.ensureBuffer = function (requested) {};\n\n  JpxStream.prototype.readBlock = function () {\n    if (this.eof) {\n      return;\n    }\n\n    var jpxImage = new _jpx.JpxImage();\n    jpxImage.parse(this.bytes);\n    var width = jpxImage.width;\n    var height = jpxImage.height;\n    var componentsCount = jpxImage.componentsCount;\n    var tileCount = jpxImage.tiles.length;\n\n    if (tileCount === 1) {\n      this.buffer = jpxImage.tiles[0].items;\n    } else {\n      var data = new Uint8ClampedArray(width * height * componentsCount);\n\n      for (var k = 0; k < tileCount; k++) {\n        var tileComponents = jpxImage.tiles[k];\n        var tileWidth = tileComponents.width;\n        var tileHeight = tileComponents.height;\n        var tileLeft = tileComponents.left;\n        var tileTop = tileComponents.top;\n        var src = tileComponents.items;\n        var srcPosition = 0;\n        var dataPosition = (width * tileTop + tileLeft) * componentsCount;\n        var imgRowSize = width * componentsCount;\n        var tileRowSize = tileWidth * componentsCount;\n\n        for (var j = 0; j < tileHeight; j++) {\n          var rowBytes = src.subarray(srcPosition, srcPosition + tileRowSize);\n          data.set(rowBytes, dataPosition);\n          srcPosition += tileRowSize;\n          dataPosition += imgRowSize;\n        }\n      }\n\n      this.buffer = data;\n    }\n\n    this.bufferLength = this.buffer.length;\n    this.eof = true;\n  };\n\n  return JpxStream;\n}();\n\nexports.JpxStream = JpxStream;\n\n/***/ }),\n/* 151 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.JpxImage = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _arithmetic_decoder = __w_pdfjs_require__(147);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar JpxError = /*#__PURE__*/function (_BaseException) {\n  _inherits(JpxError, _BaseException);\n\n  var _super = _createSuper(JpxError);\n\n  function JpxError(msg) {\n    _classCallCheck(this, JpxError);\n\n    return _super.call(this, \"JPX error: \".concat(msg));\n  }\n\n  return JpxError;\n}(_util.BaseException);\n\nvar JpxImage = function JpxImageClosure() {\n  var SubbandsGainLog2 = {\n    LL: 0,\n    LH: 1,\n    HL: 1,\n    HH: 2\n  };\n\n  function JpxImage() {\n    this.failOnCorruptedImage = false;\n  }\n\n  JpxImage.prototype = {\n    parse: function JpxImage_parse(data) {\n      var head = (0, _core_utils.readUint16)(data, 0);\n\n      if (head === 0xff4f) {\n        this.parseCodestream(data, 0, data.length);\n        return;\n      }\n\n      var position = 0,\n          length = data.length;\n\n      while (position < length) {\n        var headerSize = 8;\n        var lbox = (0, _core_utils.readUint32)(data, position);\n        var tbox = (0, _core_utils.readUint32)(data, position + 4);\n        position += headerSize;\n\n        if (lbox === 1) {\n          lbox = (0, _core_utils.readUint32)(data, position) * 4294967296 + (0, _core_utils.readUint32)(data, position + 4);\n          position += 8;\n          headerSize += 8;\n        }\n\n        if (lbox === 0) {\n          lbox = length - position + headerSize;\n        }\n\n        if (lbox < headerSize) {\n          throw new JpxError(\"Invalid box field size\");\n        }\n\n        var dataLength = lbox - headerSize;\n        var jumpDataLength = true;\n\n        switch (tbox) {\n          case 0x6a703268:\n            jumpDataLength = false;\n            break;\n\n          case 0x636f6c72:\n            var method = data[position];\n\n            if (method === 1) {\n              var colorspace = (0, _core_utils.readUint32)(data, position + 3);\n\n              switch (colorspace) {\n                case 16:\n                case 17:\n                case 18:\n                  break;\n\n                default:\n                  (0, _util.warn)(\"Unknown colorspace \" + colorspace);\n                  break;\n              }\n            } else if (method === 2) {\n              (0, _util.info)(\"ICC profile not supported\");\n            }\n\n            break;\n\n          case 0x6a703263:\n            this.parseCodestream(data, position, position + dataLength);\n            break;\n\n          case 0x6a502020:\n            if ((0, _core_utils.readUint32)(data, position) !== 0x0d0a870a) {\n              (0, _util.warn)(\"Invalid JP2 signature\");\n            }\n\n            break;\n\n          case 0x6a501a1a:\n          case 0x66747970:\n          case 0x72726571:\n          case 0x72657320:\n          case 0x69686472:\n            break;\n\n          default:\n            var headerType = String.fromCharCode(tbox >> 24 & 0xff, tbox >> 16 & 0xff, tbox >> 8 & 0xff, tbox & 0xff);\n            (0, _util.warn)(\"Unsupported header type \" + tbox + \" (\" + headerType + \")\");\n            break;\n        }\n\n        if (jumpDataLength) {\n          position += dataLength;\n        }\n      }\n    },\n    parseImageProperties: function JpxImage_parseImageProperties(stream) {\n      var newByte = stream.getByte();\n\n      while (newByte >= 0) {\n        var oldByte = newByte;\n        newByte = stream.getByte();\n        var code = oldByte << 8 | newByte;\n\n        if (code === 0xff51) {\n          stream.skip(4);\n          var Xsiz = stream.getInt32() >>> 0;\n          var Ysiz = stream.getInt32() >>> 0;\n          var XOsiz = stream.getInt32() >>> 0;\n          var YOsiz = stream.getInt32() >>> 0;\n          stream.skip(16);\n          var Csiz = stream.getUint16();\n          this.width = Xsiz - XOsiz;\n          this.height = Ysiz - YOsiz;\n          this.componentsCount = Csiz;\n          this.bitsPerComponent = 8;\n          return;\n        }\n      }\n\n      throw new JpxError(\"No size marker found in JPX stream\");\n    },\n    parseCodestream: function JpxImage_parseCodestream(data, start, end) {\n      var context = {};\n      var doNotRecover = false;\n\n      try {\n        var position = start;\n\n        while (position + 1 < end) {\n          var code = (0, _core_utils.readUint16)(data, position);\n          position += 2;\n          var length = 0,\n              j,\n              sqcd,\n              spqcds,\n              spqcdSize,\n              scalarExpounded,\n              tile;\n\n          switch (code) {\n            case 0xff4f:\n              context.mainHeader = true;\n              break;\n\n            case 0xffd9:\n              break;\n\n            case 0xff51:\n              length = (0, _core_utils.readUint16)(data, position);\n              var siz = {};\n              siz.Xsiz = (0, _core_utils.readUint32)(data, position + 4);\n              siz.Ysiz = (0, _core_utils.readUint32)(data, position + 8);\n              siz.XOsiz = (0, _core_utils.readUint32)(data, position + 12);\n              siz.YOsiz = (0, _core_utils.readUint32)(data, position + 16);\n              siz.XTsiz = (0, _core_utils.readUint32)(data, position + 20);\n              siz.YTsiz = (0, _core_utils.readUint32)(data, position + 24);\n              siz.XTOsiz = (0, _core_utils.readUint32)(data, position + 28);\n              siz.YTOsiz = (0, _core_utils.readUint32)(data, position + 32);\n              var componentsCount = (0, _core_utils.readUint16)(data, position + 36);\n              siz.Csiz = componentsCount;\n              var components = [];\n              j = position + 38;\n\n              for (var i = 0; i < componentsCount; i++) {\n                var component = {\n                  precision: (data[j] & 0x7f) + 1,\n                  isSigned: !!(data[j] & 0x80),\n                  XRsiz: data[j + 1],\n                  YRsiz: data[j + 2]\n                };\n                j += 3;\n                calculateComponentDimensions(component, siz);\n                components.push(component);\n              }\n\n              context.SIZ = siz;\n              context.components = components;\n              calculateTileGrids(context, components);\n              context.QCC = [];\n              context.COC = [];\n              break;\n\n            case 0xff5c:\n              length = (0, _core_utils.readUint16)(data, position);\n              var qcd = {};\n              j = position + 2;\n              sqcd = data[j++];\n\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n\n              qcd.noQuantization = spqcdSize === 8;\n              qcd.scalarExpounded = scalarExpounded;\n              qcd.guardBits = sqcd >> 5;\n              spqcds = [];\n\n              while (j < length + position) {\n                var spqcd = {};\n\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n\n                spqcds.push(spqcd);\n              }\n\n              qcd.SPqcds = spqcds;\n\n              if (context.mainHeader) {\n                context.QCD = qcd;\n              } else {\n                context.currentTile.QCD = qcd;\n                context.currentTile.QCC = [];\n              }\n\n              break;\n\n            case 0xff5d:\n              length = (0, _core_utils.readUint16)(data, position);\n              var qcc = {};\n              j = position + 2;\n              var cqcc;\n\n              if (context.SIZ.Csiz < 257) {\n                cqcc = data[j++];\n              } else {\n                cqcc = (0, _core_utils.readUint16)(data, j);\n                j += 2;\n              }\n\n              sqcd = data[j++];\n\n              switch (sqcd & 0x1f) {\n                case 0:\n                  spqcdSize = 8;\n                  scalarExpounded = true;\n                  break;\n\n                case 1:\n                  spqcdSize = 16;\n                  scalarExpounded = false;\n                  break;\n\n                case 2:\n                  spqcdSize = 16;\n                  scalarExpounded = true;\n                  break;\n\n                default:\n                  throw new Error(\"Invalid SQcd value \" + sqcd);\n              }\n\n              qcc.noQuantization = spqcdSize === 8;\n              qcc.scalarExpounded = scalarExpounded;\n              qcc.guardBits = sqcd >> 5;\n              spqcds = [];\n\n              while (j < length + position) {\n                spqcd = {};\n\n                if (spqcdSize === 8) {\n                  spqcd.epsilon = data[j++] >> 3;\n                  spqcd.mu = 0;\n                } else {\n                  spqcd.epsilon = data[j] >> 3;\n                  spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1];\n                  j += 2;\n                }\n\n                spqcds.push(spqcd);\n              }\n\n              qcc.SPqcds = spqcds;\n\n              if (context.mainHeader) {\n                context.QCC[cqcc] = qcc;\n              } else {\n                context.currentTile.QCC[cqcc] = qcc;\n              }\n\n              break;\n\n            case 0xff52:\n              length = (0, _core_utils.readUint16)(data, position);\n              var cod = {};\n              j = position + 2;\n              var scod = data[j++];\n              cod.entropyCoderWithCustomPrecincts = !!(scod & 1);\n              cod.sopMarkerUsed = !!(scod & 2);\n              cod.ephMarkerUsed = !!(scod & 4);\n              cod.progressionOrder = data[j++];\n              cod.layersCount = (0, _core_utils.readUint16)(data, j);\n              j += 2;\n              cod.multipleComponentTransform = data[j++];\n              cod.decompositionLevelsCount = data[j++];\n              cod.xcb = (data[j++] & 0xf) + 2;\n              cod.ycb = (data[j++] & 0xf) + 2;\n              var blockStyle = data[j++];\n              cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1);\n              cod.resetContextProbabilities = !!(blockStyle & 2);\n              cod.terminationOnEachCodingPass = !!(blockStyle & 4);\n              cod.verticallyStripe = !!(blockStyle & 8);\n              cod.predictableTermination = !!(blockStyle & 16);\n              cod.segmentationSymbolUsed = !!(blockStyle & 32);\n              cod.reversibleTransformation = data[j++];\n\n              if (cod.entropyCoderWithCustomPrecincts) {\n                var precinctsSizes = [];\n\n                while (j < length + position) {\n                  var precinctsSize = data[j++];\n                  precinctsSizes.push({\n                    PPx: precinctsSize & 0xf,\n                    PPy: precinctsSize >> 4\n                  });\n                }\n\n                cod.precinctsSizes = precinctsSizes;\n              }\n\n              var unsupported = [];\n\n              if (cod.selectiveArithmeticCodingBypass) {\n                unsupported.push(\"selectiveArithmeticCodingBypass\");\n              }\n\n              if (cod.resetContextProbabilities) {\n                unsupported.push(\"resetContextProbabilities\");\n              }\n\n              if (cod.terminationOnEachCodingPass) {\n                unsupported.push(\"terminationOnEachCodingPass\");\n              }\n\n              if (cod.verticallyStripe) {\n                unsupported.push(\"verticallyStripe\");\n              }\n\n              if (cod.predictableTermination) {\n                unsupported.push(\"predictableTermination\");\n              }\n\n              if (unsupported.length > 0) {\n                doNotRecover = true;\n                (0, _util.warn)(\"JPX: Unsupported COD options (\".concat(unsupported.join(\", \"), \").\"));\n              }\n\n              if (context.mainHeader) {\n                context.COD = cod;\n              } else {\n                context.currentTile.COD = cod;\n                context.currentTile.COC = [];\n              }\n\n              break;\n\n            case 0xff90:\n              length = (0, _core_utils.readUint16)(data, position);\n              tile = {};\n              tile.index = (0, _core_utils.readUint16)(data, position + 2);\n              tile.length = (0, _core_utils.readUint32)(data, position + 4);\n              tile.dataEnd = tile.length + position - 2;\n              tile.partIndex = data[position + 8];\n              tile.partsCount = data[position + 9];\n              context.mainHeader = false;\n\n              if (tile.partIndex === 0) {\n                tile.COD = context.COD;\n                tile.COC = context.COC.slice(0);\n                tile.QCD = context.QCD;\n                tile.QCC = context.QCC.slice(0);\n              }\n\n              context.currentTile = tile;\n              break;\n\n            case 0xff93:\n              tile = context.currentTile;\n\n              if (tile.partIndex === 0) {\n                initializeTile(context, tile.index);\n                buildPackets(context);\n              }\n\n              length = tile.dataEnd - position;\n              parseTilePackets(context, data, position, length);\n              break;\n\n            case 0xff53:\n              (0, _util.warn)(\"JPX: Codestream code 0xFF53 (COC) is not implemented.\");\n\n            case 0xff55:\n            case 0xff57:\n            case 0xff58:\n            case 0xff64:\n              length = (0, _core_utils.readUint16)(data, position);\n              break;\n\n            default:\n              throw new Error(\"Unknown codestream code: \" + code.toString(16));\n          }\n\n          position += length;\n        }\n      } catch (e) {\n        if (doNotRecover || this.failOnCorruptedImage) {\n          throw new JpxError(e.message);\n        } else {\n          (0, _util.warn)(\"JPX: Trying to recover from: \\\"\".concat(e.message, \"\\\".\"));\n        }\n      }\n\n      this.tiles = transformComponents(context);\n      this.width = context.SIZ.Xsiz - context.SIZ.XOsiz;\n      this.height = context.SIZ.Ysiz - context.SIZ.YOsiz;\n      this.componentsCount = context.SIZ.Csiz;\n    }\n  };\n\n  function calculateComponentDimensions(component, siz) {\n    component.x0 = Math.ceil(siz.XOsiz / component.XRsiz);\n    component.x1 = Math.ceil(siz.Xsiz / component.XRsiz);\n    component.y0 = Math.ceil(siz.YOsiz / component.YRsiz);\n    component.y1 = Math.ceil(siz.Ysiz / component.YRsiz);\n    component.width = component.x1 - component.x0;\n    component.height = component.y1 - component.y0;\n  }\n\n  function calculateTileGrids(context, components) {\n    var siz = context.SIZ;\n    var tile,\n        tiles = [];\n    var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz);\n    var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz);\n\n    for (var q = 0; q < numYtiles; q++) {\n      for (var p = 0; p < numXtiles; p++) {\n        tile = {};\n        tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz);\n        tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz);\n        tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz);\n        tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz);\n        tile.width = tile.tx1 - tile.tx0;\n        tile.height = tile.ty1 - tile.ty0;\n        tile.components = [];\n        tiles.push(tile);\n      }\n    }\n\n    context.tiles = tiles;\n    var componentsCount = siz.Csiz;\n\n    for (var i = 0, ii = componentsCount; i < ii; i++) {\n      var component = components[i];\n\n      for (var j = 0, jj = tiles.length; j < jj; j++) {\n        var tileComponent = {};\n        tile = tiles[j];\n        tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz);\n        tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz);\n        tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz);\n        tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz);\n        tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0;\n        tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0;\n        tile.components[i] = tileComponent;\n      }\n    }\n  }\n\n  function getBlocksDimensions(context, component, r) {\n    var codOrCoc = component.codingStyleParameters;\n    var result = {};\n\n    if (!codOrCoc.entropyCoderWithCustomPrecincts) {\n      result.PPx = 15;\n      result.PPy = 15;\n    } else {\n      result.PPx = codOrCoc.precinctsSizes[r].PPx;\n      result.PPy = codOrCoc.precinctsSizes[r].PPy;\n    }\n\n    result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx);\n    result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy);\n    return result;\n  }\n\n  function buildPrecincts(context, resolution, dimensions) {\n    var precinctWidth = 1 << dimensions.PPx;\n    var precinctHeight = 1 << dimensions.PPy;\n    var isZeroRes = resolution.resLevel === 0;\n    var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1);\n    var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1);\n    var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0;\n    var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0;\n    var numprecincts = numprecinctswide * numprecinctshigh;\n    resolution.precinctParameters = {\n      precinctWidth: precinctWidth,\n      precinctHeight: precinctHeight,\n      numprecinctswide: numprecinctswide,\n      numprecinctshigh: numprecinctshigh,\n      numprecincts: numprecincts,\n      precinctWidthInSubband: precinctWidthInSubband,\n      precinctHeightInSubband: precinctHeightInSubband\n    };\n  }\n\n  function buildCodeblocks(context, subband, dimensions) {\n    var xcb_ = dimensions.xcb_;\n    var ycb_ = dimensions.ycb_;\n    var codeblockWidth = 1 << xcb_;\n    var codeblockHeight = 1 << ycb_;\n    var cbx0 = subband.tbx0 >> xcb_;\n    var cby0 = subband.tby0 >> ycb_;\n    var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_;\n    var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_;\n    var precinctParameters = subband.resolution.precinctParameters;\n    var codeblocks = [];\n    var precincts = [];\n    var i, j, codeblock, precinctNumber;\n\n    for (j = cby0; j < cby1; j++) {\n      for (i = cbx0; i < cbx1; i++) {\n        codeblock = {\n          cbx: i,\n          cby: j,\n          tbx0: codeblockWidth * i,\n          tby0: codeblockHeight * j,\n          tbx1: codeblockWidth * (i + 1),\n          tby1: codeblockHeight * (j + 1)\n        };\n        codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0);\n        codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0);\n        codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1);\n        codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1);\n        var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband);\n        var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband);\n        precinctNumber = pi + pj * precinctParameters.numprecinctswide;\n        codeblock.precinctNumber = precinctNumber;\n        codeblock.subbandType = subband.type;\n        codeblock.Lblock = 3;\n\n        if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) {\n          continue;\n        }\n\n        codeblocks.push(codeblock);\n        var precinct = precincts[precinctNumber];\n\n        if (precinct !== undefined) {\n          if (i < precinct.cbxMin) {\n            precinct.cbxMin = i;\n          } else if (i > precinct.cbxMax) {\n            precinct.cbxMax = i;\n          }\n\n          if (j < precinct.cbyMin) {\n            precinct.cbxMin = j;\n          } else if (j > precinct.cbyMax) {\n            precinct.cbyMax = j;\n          }\n        } else {\n          precincts[precinctNumber] = precinct = {\n            cbxMin: i,\n            cbyMin: j,\n            cbxMax: i,\n            cbyMax: j\n          };\n        }\n\n        codeblock.precinct = precinct;\n      }\n    }\n\n    subband.codeblockParameters = {\n      codeblockWidth: xcb_,\n      codeblockHeight: ycb_,\n      numcodeblockwide: cbx1 - cbx0 + 1,\n      numcodeblockhigh: cby1 - cby0 + 1\n    };\n    subband.codeblocks = codeblocks;\n    subband.precincts = precincts;\n  }\n\n  function createPacket(resolution, precinctNumber, layerNumber) {\n    var precinctCodeblocks = [];\n    var subbands = resolution.subbands;\n\n    for (var i = 0, ii = subbands.length; i < ii; i++) {\n      var subband = subbands[i];\n      var codeblocks = subband.codeblocks;\n\n      for (var j = 0, jj = codeblocks.length; j < jj; j++) {\n        var codeblock = codeblocks[j];\n\n        if (codeblock.precinctNumber !== precinctNumber) {\n          continue;\n        }\n\n        precinctCodeblocks.push(codeblock);\n      }\n    }\n\n    return {\n      layerNumber: layerNumber,\n      codeblocks: precinctCodeblocks\n    };\n  }\n\n  function LayerResolutionComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var l = 0,\n        r = 0,\n        i = 0,\n        k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; l < layersCount; l++) {\n        for (; r <= maxDecompositionLevelsCount; r++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n\n            k = 0;\n          }\n\n          i = 0;\n        }\n\n        r = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ResolutionLayerComponentPositionIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var maxDecompositionLevelsCount = 0;\n\n    for (var q = 0; q < componentsCount; q++) {\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var r = 0,\n        l = 0,\n        i = 0,\n        k = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; l < layersCount; l++) {\n          for (; i < componentsCount; i++) {\n            var component = tile.components[i];\n\n            if (r > component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            for (; k < numprecincts;) {\n              var packet = createPacket(resolution, k, l);\n              k++;\n              return packet;\n            }\n\n            k = 0;\n          }\n\n          i = 0;\n        }\n\n        l = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ResolutionPositionComponentLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var l, r, c, p;\n    var maxDecompositionLevelsCount = 0;\n\n    for (c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount);\n    }\n\n    var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1);\n\n    for (r = 0; r <= maxDecompositionLevelsCount; ++r) {\n      var maxNumPrecincts = 0;\n\n      for (c = 0; c < componentsCount; ++c) {\n        var resolutions = tile.components[c].resolutions;\n\n        if (r < resolutions.length) {\n          maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts);\n        }\n      }\n\n      maxNumPrecinctsInLevel[r] = maxNumPrecincts;\n    }\n\n    l = 0;\n    r = 0;\n    c = 0;\n    p = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; r <= maxDecompositionLevelsCount; r++) {\n        for (; p < maxNumPrecinctsInLevel[r]; p++) {\n          for (; c < componentsCount; c++) {\n            var _component = tile.components[c];\n\n            if (r > _component.codingStyleParameters.decompositionLevelsCount) {\n              continue;\n            }\n\n            var resolution = _component.resolutions[r];\n            var numprecincts = resolution.precinctParameters.numprecincts;\n\n            if (p >= numprecincts) {\n              continue;\n            }\n\n            for (; l < layersCount;) {\n              var packet = createPacket(resolution, p, l);\n              l++;\n              return packet;\n            }\n\n            l = 0;\n          }\n\n          c = 0;\n        }\n\n        p = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function PositionComponentResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var precinctsIterationSizes = precinctsSizes;\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n        for (; px < precinctsIterationSizes.maxNumWide; px++) {\n          for (; c < componentsCount; c++) {\n            var component = tile.components[c];\n            var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsSizes.components[c].resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n              if (k === null) {\n                continue;\n              }\n\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n\n              l = 0;\n            }\n\n            r = 0;\n          }\n\n          c = 0;\n        }\n\n        px = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function ComponentPositionResolutionLayerIterator(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var layersCount = tile.codingStyleDefaultParameters.layersCount;\n    var componentsCount = siz.Csiz;\n    var precinctsSizes = getPrecinctSizesInImageScale(tile);\n    var l = 0,\n        r = 0,\n        c = 0,\n        px = 0,\n        py = 0;\n\n    this.nextPacket = function JpxImage_nextPacket() {\n      for (; c < componentsCount; ++c) {\n        var component = tile.components[c];\n        var precinctsIterationSizes = precinctsSizes.components[c];\n        var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n\n        for (; py < precinctsIterationSizes.maxNumHigh; py++) {\n          for (; px < precinctsIterationSizes.maxNumWide; px++) {\n            for (; r <= decompositionLevelsCount; r++) {\n              var resolution = component.resolutions[r];\n              var sizeInImageScale = precinctsIterationSizes.resolutions[r];\n              var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution);\n\n              if (k === null) {\n                continue;\n              }\n\n              for (; l < layersCount;) {\n                var packet = createPacket(resolution, k, l);\n                l++;\n                return packet;\n              }\n\n              l = 0;\n            }\n\n            r = 0;\n          }\n\n          px = 0;\n        }\n\n        py = 0;\n      }\n\n      throw new JpxError(\"Out of packets\");\n    };\n  }\n\n  function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) {\n    var posX = pxIndex * precinctIterationSizes.minWidth;\n    var posY = pyIndex * precinctIterationSizes.minHeight;\n\n    if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) {\n      return null;\n    }\n\n    var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide;\n    return posX / sizeInImageScale.height + startPrecinctRowIndex;\n  }\n\n  function getPrecinctSizesInImageScale(tile) {\n    var componentsCount = tile.components.length;\n    var minWidth = Number.MAX_VALUE;\n    var minHeight = Number.MAX_VALUE;\n    var maxNumWide = 0;\n    var maxNumHigh = 0;\n    var sizePerComponent = new Array(componentsCount);\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var sizePerResolution = new Array(decompositionLevelsCount + 1);\n      var minWidthCurrentComponent = Number.MAX_VALUE;\n      var minHeightCurrentComponent = Number.MAX_VALUE;\n      var maxNumWideCurrentComponent = 0;\n      var maxNumHighCurrentComponent = 0;\n      var scale = 1;\n\n      for (var r = decompositionLevelsCount; r >= 0; --r) {\n        var resolution = component.resolutions[r];\n        var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth;\n        var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight;\n        minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution);\n        minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution);\n        maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide);\n        maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh);\n        sizePerResolution[r] = {\n          width: widthCurrentResolution,\n          height: heightCurrentResolution\n        };\n        scale <<= 1;\n      }\n\n      minWidth = Math.min(minWidth, minWidthCurrentComponent);\n      minHeight = Math.min(minHeight, minHeightCurrentComponent);\n      maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent);\n      maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent);\n      sizePerComponent[c] = {\n        resolutions: sizePerResolution,\n        minWidth: minWidthCurrentComponent,\n        minHeight: minHeightCurrentComponent,\n        maxNumWide: maxNumWideCurrentComponent,\n        maxNumHigh: maxNumHighCurrentComponent\n      };\n    }\n\n    return {\n      components: sizePerComponent,\n      minWidth: minWidth,\n      minHeight: minHeight,\n      maxNumWide: maxNumWide,\n      maxNumHigh: maxNumHigh\n    };\n  }\n\n  function buildPackets(context) {\n    var siz = context.SIZ;\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var componentsCount = siz.Csiz;\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount;\n      var resolutions = [];\n      var subbands = [];\n\n      for (var r = 0; r <= decompositionLevelsCount; r++) {\n        var blocksDimensions = getBlocksDimensions(context, component, r);\n        var resolution = {};\n        var scale = 1 << decompositionLevelsCount - r;\n        resolution.trx0 = Math.ceil(component.tcx0 / scale);\n        resolution.try0 = Math.ceil(component.tcy0 / scale);\n        resolution.trx1 = Math.ceil(component.tcx1 / scale);\n        resolution.try1 = Math.ceil(component.tcy1 / scale);\n        resolution.resLevel = r;\n        buildPrecincts(context, resolution, blocksDimensions);\n        resolutions.push(resolution);\n        var subband;\n\n        if (r === 0) {\n          subband = {};\n          subband.type = \"LL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / scale);\n          subband.tby0 = Math.ceil(component.tcy0 / scale);\n          subband.tbx1 = Math.ceil(component.tcx1 / scale);\n          subband.tby1 = Math.ceil(component.tcy1 / scale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolution.subbands = [subband];\n        } else {\n          var bscale = 1 << decompositionLevelsCount - r + 1;\n          var resolutionSubbands = [];\n          subband = {};\n          subband.type = \"HL\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = \"LH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          subband = {};\n          subband.type = \"HH\";\n          subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5);\n          subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5);\n          subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5);\n          subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5);\n          subband.resolution = resolution;\n          buildCodeblocks(context, subband, blocksDimensions);\n          subbands.push(subband);\n          resolutionSubbands.push(subband);\n          resolution.subbands = resolutionSubbands;\n        }\n      }\n\n      component.resolutions = resolutions;\n      component.subbands = subbands;\n    }\n\n    var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder;\n\n    switch (progressionOrder) {\n      case 0:\n        tile.packetsIterator = new LayerResolutionComponentPositionIterator(context);\n        break;\n\n      case 1:\n        tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context);\n        break;\n\n      case 2:\n        tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context);\n        break;\n\n      case 3:\n        tile.packetsIterator = new PositionComponentResolutionLayerIterator(context);\n        break;\n\n      case 4:\n        tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context);\n        break;\n\n      default:\n        throw new JpxError(\"Unsupported progression order \".concat(progressionOrder));\n    }\n  }\n\n  function parseTilePackets(context, data, offset, dataLength) {\n    var position = 0;\n    var buffer,\n        bufferSize = 0,\n        skipNextBit = false;\n\n    function readBits(count) {\n      while (bufferSize < count) {\n        var b = data[offset + position];\n        position++;\n\n        if (skipNextBit) {\n          buffer = buffer << 7 | b;\n          bufferSize += 7;\n          skipNextBit = false;\n        } else {\n          buffer = buffer << 8 | b;\n          bufferSize += 8;\n        }\n\n        if (b === 0xff) {\n          skipNextBit = true;\n        }\n      }\n\n      bufferSize -= count;\n      return buffer >>> bufferSize & (1 << count) - 1;\n    }\n\n    function skipMarkerIfEqual(value) {\n      if (data[offset + position - 1] === 0xff && data[offset + position] === value) {\n        skipBytes(1);\n        return true;\n      } else if (data[offset + position] === 0xff && data[offset + position + 1] === value) {\n        skipBytes(2);\n        return true;\n      }\n\n      return false;\n    }\n\n    function skipBytes(count) {\n      position += count;\n    }\n\n    function alignToByte() {\n      bufferSize = 0;\n\n      if (skipNextBit) {\n        position++;\n        skipNextBit = false;\n      }\n    }\n\n    function readCodingpasses() {\n      if (readBits(1) === 0) {\n        return 1;\n      }\n\n      if (readBits(1) === 0) {\n        return 2;\n      }\n\n      var value = readBits(2);\n\n      if (value < 3) {\n        return value + 3;\n      }\n\n      value = readBits(5);\n\n      if (value < 31) {\n        return value + 6;\n      }\n\n      value = readBits(7);\n      return value + 37;\n    }\n\n    var tileIndex = context.currentTile.index;\n    var tile = context.tiles[tileIndex];\n    var sopMarkerUsed = context.COD.sopMarkerUsed;\n    var ephMarkerUsed = context.COD.ephMarkerUsed;\n    var packetsIterator = tile.packetsIterator;\n\n    while (position < dataLength) {\n      alignToByte();\n\n      if (sopMarkerUsed && skipMarkerIfEqual(0x91)) {\n        skipBytes(4);\n      }\n\n      var packet = packetsIterator.nextPacket();\n\n      if (!readBits(1)) {\n        continue;\n      }\n\n      var layerNumber = packet.layerNumber;\n      var queue = [],\n          codeblock;\n\n      for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) {\n        codeblock = packet.codeblocks[i];\n        var precinct = codeblock.precinct;\n        var codeblockColumn = codeblock.cbx - precinct.cbxMin;\n        var codeblockRow = codeblock.cby - precinct.cbyMin;\n        var codeblockIncluded = false;\n        var firstTimeInclusion = false;\n        var valueReady;\n\n        if (codeblock.included !== undefined) {\n          codeblockIncluded = !!readBits(1);\n        } else {\n          precinct = codeblock.precinct;\n          var inclusionTree, zeroBitPlanesTree;\n\n          if (precinct.inclusionTree !== undefined) {\n            inclusionTree = precinct.inclusionTree;\n          } else {\n            var width = precinct.cbxMax - precinct.cbxMin + 1;\n            var height = precinct.cbyMax - precinct.cbyMin + 1;\n            inclusionTree = new InclusionTree(width, height, layerNumber);\n            zeroBitPlanesTree = new TagTree(width, height);\n            precinct.inclusionTree = inclusionTree;\n            precinct.zeroBitPlanesTree = zeroBitPlanesTree;\n          }\n\n          if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) {\n            while (true) {\n              if (readBits(1)) {\n                valueReady = !inclusionTree.nextLevel();\n\n                if (valueReady) {\n                  codeblock.included = true;\n                  codeblockIncluded = firstTimeInclusion = true;\n                  break;\n                }\n              } else {\n                inclusionTree.incrementValue(layerNumber);\n                break;\n              }\n            }\n          }\n        }\n\n        if (!codeblockIncluded) {\n          continue;\n        }\n\n        if (firstTimeInclusion) {\n          zeroBitPlanesTree = precinct.zeroBitPlanesTree;\n          zeroBitPlanesTree.reset(codeblockColumn, codeblockRow);\n\n          while (true) {\n            if (readBits(1)) {\n              valueReady = !zeroBitPlanesTree.nextLevel();\n\n              if (valueReady) {\n                break;\n              }\n            } else {\n              zeroBitPlanesTree.incrementValue();\n            }\n          }\n\n          codeblock.zeroBitPlanes = zeroBitPlanesTree.value;\n        }\n\n        var codingpasses = readCodingpasses();\n\n        while (readBits(1)) {\n          codeblock.Lblock++;\n        }\n\n        var codingpassesLog2 = (0, _core_utils.log2)(codingpasses);\n        var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock;\n        var codedDataLength = readBits(bits);\n        queue.push({\n          codeblock: codeblock,\n          codingpasses: codingpasses,\n          dataLength: codedDataLength\n        });\n      }\n\n      alignToByte();\n\n      if (ephMarkerUsed) {\n        skipMarkerIfEqual(0x92);\n      }\n\n      while (queue.length > 0) {\n        var packetItem = queue.shift();\n        codeblock = packetItem.codeblock;\n\n        if (codeblock.data === undefined) {\n          codeblock.data = [];\n        }\n\n        codeblock.data.push({\n          data: data,\n          start: offset + position,\n          end: offset + position + packetItem.dataLength,\n          codingpasses: packetItem.codingpasses\n        });\n        position += packetItem.dataLength;\n      }\n    }\n\n    return position;\n  }\n\n  function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) {\n    var x0 = subband.tbx0;\n    var y0 = subband.tby0;\n    var width = subband.tbx1 - subband.tbx0;\n    var codeblocks = subband.codeblocks;\n    var right = subband.type.charAt(0) === \"H\" ? 1 : 0;\n    var bottom = subband.type.charAt(1) === \"H\" ? levelWidth : 0;\n\n    for (var i = 0, ii = codeblocks.length; i < ii; ++i) {\n      var codeblock = codeblocks[i];\n      var blockWidth = codeblock.tbx1_ - codeblock.tbx0_;\n      var blockHeight = codeblock.tby1_ - codeblock.tby0_;\n\n      if (blockWidth === 0 || blockHeight === 0) {\n        continue;\n      }\n\n      if (codeblock.data === undefined) {\n        continue;\n      }\n\n      var bitModel, currentCodingpassType;\n      bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb);\n      currentCodingpassType = 2;\n      var data = codeblock.data,\n          totalLength = 0,\n          codingpasses = 0;\n      var j, jj, dataItem;\n\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        totalLength += dataItem.end - dataItem.start;\n        codingpasses += dataItem.codingpasses;\n      }\n\n      var encodedData = new Uint8Array(totalLength);\n      var position = 0;\n\n      for (j = 0, jj = data.length; j < jj; j++) {\n        dataItem = data[j];\n        var chunk = dataItem.data.subarray(dataItem.start, dataItem.end);\n        encodedData.set(chunk, position);\n        position += chunk.length;\n      }\n\n      var decoder = new _arithmetic_decoder.ArithmeticDecoder(encodedData, 0, totalLength);\n      bitModel.setDecoder(decoder);\n\n      for (j = 0; j < codingpasses; j++) {\n        switch (currentCodingpassType) {\n          case 0:\n            bitModel.runSignificancePropagationPass();\n            break;\n\n          case 1:\n            bitModel.runMagnitudeRefinementPass();\n            break;\n\n          case 2:\n            bitModel.runCleanupPass();\n\n            if (segmentationSymbolUsed) {\n              bitModel.checkSegmentationSymbol();\n            }\n\n            break;\n        }\n\n        currentCodingpassType = (currentCodingpassType + 1) % 3;\n      }\n\n      var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width;\n      var sign = bitModel.coefficentsSign;\n      var magnitude = bitModel.coefficentsMagnitude;\n      var bitsDecoded = bitModel.bitsDecoded;\n      var magnitudeCorrection = reversible ? 0 : 0.5;\n      var k, n, nb;\n      position = 0;\n      var interleave = subband.type !== \"LL\";\n\n      for (j = 0; j < blockHeight; j++) {\n        var row = offset / width | 0;\n        var levelOffset = 2 * row * (levelWidth - width) + right + bottom;\n\n        for (k = 0; k < blockWidth; k++) {\n          n = magnitude[position];\n\n          if (n !== 0) {\n            n = (n + magnitudeCorrection) * delta;\n\n            if (sign[position] !== 0) {\n              n = -n;\n            }\n\n            nb = bitsDecoded[position];\n            var pos = interleave ? levelOffset + (offset << 1) : offset;\n\n            if (reversible && nb >= mb) {\n              coefficients[pos] = n;\n            } else {\n              coefficients[pos] = n * (1 << mb - nb);\n            }\n          }\n\n          offset++;\n          position++;\n        }\n\n        offset += width - blockWidth;\n      }\n    }\n  }\n\n  function transformTile(context, tile, c) {\n    var component = tile.components[c];\n    var codingStyleParameters = component.codingStyleParameters;\n    var quantizationParameters = component.quantizationParameters;\n    var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount;\n    var spqcds = quantizationParameters.SPqcds;\n    var scalarExpounded = quantizationParameters.scalarExpounded;\n    var guardBits = quantizationParameters.guardBits;\n    var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed;\n    var precision = context.components[c].precision;\n    var reversible = codingStyleParameters.reversibleTransformation;\n    var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform();\n    var subbandCoefficients = [];\n    var b = 0;\n\n    for (var i = 0; i <= decompositionLevelsCount; i++) {\n      var resolution = component.resolutions[i];\n      var width = resolution.trx1 - resolution.trx0;\n      var height = resolution.try1 - resolution.try0;\n      var coefficients = new Float32Array(width * height);\n\n      for (var j = 0, jj = resolution.subbands.length; j < jj; j++) {\n        var mu, epsilon;\n\n        if (!scalarExpounded) {\n          mu = spqcds[0].mu;\n          epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0);\n        } else {\n          mu = spqcds[b].mu;\n          epsilon = spqcds[b].epsilon;\n          b++;\n        }\n\n        var subband = resolution.subbands[j];\n        var gainLog2 = SubbandsGainLog2[subband.type];\n        var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048);\n        var mb = guardBits + epsilon - 1;\n        copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed);\n      }\n\n      subbandCoefficients.push({\n        width: width,\n        height: height,\n        items: coefficients\n      });\n    }\n\n    var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0);\n    return {\n      left: component.tcx0,\n      top: component.tcy0,\n      width: result.width,\n      height: result.height,\n      items: result.items\n    };\n  }\n\n  function transformComponents(context) {\n    var siz = context.SIZ;\n    var components = context.components;\n    var componentsCount = siz.Csiz;\n    var resultImages = [];\n\n    for (var i = 0, ii = context.tiles.length; i < ii; i++) {\n      var tile = context.tiles[i];\n      var transformedTiles = [];\n      var c;\n\n      for (c = 0; c < componentsCount; c++) {\n        transformedTiles[c] = transformTile(context, tile, c);\n      }\n\n      var tile0 = transformedTiles[0];\n      var out = new Uint8ClampedArray(tile0.items.length * componentsCount);\n      var result = {\n        left: tile0.left,\n        top: tile0.top,\n        width: tile0.width,\n        height: tile0.height,\n        items: out\n      };\n      var shift, offset;\n      var pos = 0,\n          j,\n          jj,\n          y0,\n          y1,\n          y2;\n\n      if (tile.codingStyleDefaultParameters.multipleComponentTransform) {\n        var fourComponents = componentsCount === 4;\n        var y0items = transformedTiles[0].items;\n        var y1items = transformedTiles[1].items;\n        var y2items = transformedTiles[2].items;\n        var y3items = fourComponents ? transformedTiles[3].items : null;\n        shift = components[0].precision - 8;\n        offset = (128 << shift) + 0.5;\n        var component0 = tile.components[0];\n        var alpha01 = componentsCount - 3;\n        jj = y0items.length;\n\n        if (!component0.codingStyleParameters.reversibleTransformation) {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            out[pos++] = y0 + 1.402 * y2 >> shift;\n            out[pos++] = y0 - 0.34413 * y1 - 0.71414 * y2 >> shift;\n            out[pos++] = y0 + 1.772 * y1 >> shift;\n          }\n        } else {\n          for (j = 0; j < jj; j++, pos += alpha01) {\n            y0 = y0items[j] + offset;\n            y1 = y1items[j];\n            y2 = y2items[j];\n            var g = y0 - (y2 + y1 >> 2);\n            out[pos++] = g + y2 >> shift;\n            out[pos++] = g >> shift;\n            out[pos++] = g + y1 >> shift;\n          }\n        }\n\n        if (fourComponents) {\n          for (j = 0, pos = 3; j < jj; j++, pos += 4) {\n            out[pos] = y3items[j] + offset >> shift;\n          }\n        }\n      } else {\n        for (c = 0; c < componentsCount; c++) {\n          var items = transformedTiles[c].items;\n          shift = components[c].precision - 8;\n          offset = (128 << shift) + 0.5;\n\n          for (pos = c, j = 0, jj = items.length; j < jj; j++) {\n            out[pos] = items[j] + offset >> shift;\n            pos += componentsCount;\n          }\n        }\n      }\n\n      resultImages.push(result);\n    }\n\n    return resultImages;\n  }\n\n  function initializeTile(context, tileIndex) {\n    var siz = context.SIZ;\n    var componentsCount = siz.Csiz;\n    var tile = context.tiles[tileIndex];\n\n    for (var c = 0; c < componentsCount; c++) {\n      var component = tile.components[c];\n      var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD;\n      component.quantizationParameters = qcdOrQcc;\n      var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD;\n      component.codingStyleParameters = codOrCoc;\n    }\n\n    tile.codingStyleDefaultParameters = context.currentTile.COD;\n  }\n\n  var TagTree = function TagTreeClosure() {\n    function TagTree(width, height) {\n      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n\n      for (var i = 0; i < levelsLength; i++) {\n        var level = {\n          width: width,\n          height: height,\n          items: []\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n\n    TagTree.prototype = {\n      reset: function TagTree_reset(i, j) {\n        var currentLevel = 0,\n            value = 0,\n            level;\n\n        while (currentLevel < this.levels.length) {\n          level = this.levels[currentLevel];\n          var index = i + j * level.width;\n\n          if (level.items[index] !== undefined) {\n            value = level.items[index];\n            break;\n          }\n\n          level.index = index;\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n\n        currentLevel--;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        this.currentLevel = currentLevel;\n        delete this.value;\n      },\n      incrementValue: function TagTree_incrementValue() {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index]++;\n      },\n      nextLevel: function TagTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        currentLevel--;\n\n        if (currentLevel < 0) {\n          this.value = value;\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return TagTree;\n  }();\n\n  var InclusionTree = function InclusionTreeClosure() {\n    function InclusionTree(width, height, defaultValue) {\n      var levelsLength = (0, _core_utils.log2)(Math.max(width, height)) + 1;\n      this.levels = [];\n\n      for (var i = 0; i < levelsLength; i++) {\n        var items = new Uint8Array(width * height);\n\n        for (var j = 0, jj = items.length; j < jj; j++) {\n          items[j] = defaultValue;\n        }\n\n        var level = {\n          width: width,\n          height: height,\n          items: items\n        };\n        this.levels.push(level);\n        width = Math.ceil(width / 2);\n        height = Math.ceil(height / 2);\n      }\n    }\n\n    InclusionTree.prototype = {\n      reset: function InclusionTree_reset(i, j, stopValue) {\n        var currentLevel = 0;\n\n        while (currentLevel < this.levels.length) {\n          var level = this.levels[currentLevel];\n          var index = i + j * level.width;\n          level.index = index;\n          var value = level.items[index];\n\n          if (value === 0xff) {\n            break;\n          }\n\n          if (value > stopValue) {\n            this.currentLevel = currentLevel;\n            this.propagateValues();\n            return false;\n          }\n\n          i >>= 1;\n          j >>= 1;\n          currentLevel++;\n        }\n\n        this.currentLevel = currentLevel - 1;\n        return true;\n      },\n      incrementValue: function InclusionTree_incrementValue(stopValue) {\n        var level = this.levels[this.currentLevel];\n        level.items[level.index] = stopValue + 1;\n        this.propagateValues();\n      },\n      propagateValues: function InclusionTree_propagateValues() {\n        var levelIndex = this.currentLevel;\n        var level = this.levels[levelIndex];\n        var currentValue = level.items[level.index];\n\n        while (--levelIndex >= 0) {\n          level = this.levels[levelIndex];\n          level.items[level.index] = currentValue;\n        }\n      },\n      nextLevel: function InclusionTree_nextLevel() {\n        var currentLevel = this.currentLevel;\n        var level = this.levels[currentLevel];\n        var value = level.items[level.index];\n        level.items[level.index] = 0xff;\n        currentLevel--;\n\n        if (currentLevel < 0) {\n          return false;\n        }\n\n        this.currentLevel = currentLevel;\n        level = this.levels[currentLevel];\n        level.items[level.index] = value;\n        return true;\n      }\n    };\n    return InclusionTree;\n  }();\n\n  var BitModel = function BitModelClosure() {\n    var UNIFORM_CONTEXT = 17;\n    var RUNLENGTH_CONTEXT = 18;\n    var LLAndLHContextsLabel = new Uint8Array([0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8]);\n    var HLContextLabel = new Uint8Array([0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8]);\n    var HHContextLabel = new Uint8Array([0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8]);\n\n    function BitModel(width, height, subband, zeroBitPlanes, mb) {\n      this.width = width;\n      this.height = height;\n      var contextLabelTable;\n\n      if (subband === \"HH\") {\n        contextLabelTable = HHContextLabel;\n      } else if (subband === \"HL\") {\n        contextLabelTable = HLContextLabel;\n      } else {\n        contextLabelTable = LLAndLHContextsLabel;\n      }\n\n      this.contextLabelTable = contextLabelTable;\n      var coefficientCount = width * height;\n      this.neighborsSignificance = new Uint8Array(coefficientCount);\n      this.coefficentsSign = new Uint8Array(coefficientCount);\n      var coefficentsMagnitude;\n\n      if (mb > 14) {\n        coefficentsMagnitude = new Uint32Array(coefficientCount);\n      } else if (mb > 6) {\n        coefficentsMagnitude = new Uint16Array(coefficientCount);\n      } else {\n        coefficentsMagnitude = new Uint8Array(coefficientCount);\n      }\n\n      this.coefficentsMagnitude = coefficentsMagnitude;\n      this.processingFlags = new Uint8Array(coefficientCount);\n      var bitsDecoded = new Uint8Array(coefficientCount);\n\n      if (zeroBitPlanes !== 0) {\n        for (var i = 0; i < coefficientCount; i++) {\n          bitsDecoded[i] = zeroBitPlanes;\n        }\n      }\n\n      this.bitsDecoded = bitsDecoded;\n      this.reset();\n    }\n\n    BitModel.prototype = {\n      setDecoder: function BitModel_setDecoder(decoder) {\n        this.decoder = decoder;\n      },\n      reset: function BitModel_reset() {\n        this.contexts = new Int8Array(19);\n        this.contexts[0] = 4 << 1 | 0;\n        this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0;\n        this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0;\n      },\n      setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) {\n        var neighborsSignificance = this.neighborsSignificance;\n        var width = this.width,\n            height = this.height;\n        var left = column > 0;\n        var right = column + 1 < width;\n        var i;\n\n        if (row > 0) {\n          i = index - width;\n\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (row + 1 < height) {\n          i = index + width;\n\n          if (left) {\n            neighborsSignificance[i - 1] += 0x10;\n          }\n\n          if (right) {\n            neighborsSignificance[i + 1] += 0x10;\n          }\n\n          neighborsSignificance[i] += 0x04;\n        }\n\n        if (left) {\n          neighborsSignificance[index - 1] += 0x01;\n        }\n\n        if (right) {\n          neighborsSignificance[index + 1] += 0x01;\n        }\n\n        neighborsSignificance[index] |= 0x80;\n      },\n      runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var neighborsSignificance = this.neighborsSignificance;\n        var processingFlags = this.processingFlags;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processedInverseMask = ~1;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n\n        for (var i0 = 0; i0 < height; i0 += 4) {\n          for (var j = 0; j < width; j++) {\n            var index = i0 * width + j;\n\n            for (var i1 = 0; i1 < 4; i1++, index += width) {\n              var i = i0 + i1;\n\n              if (i >= height) {\n                break;\n              }\n\n              processingFlags[index] &= processedInverseMask;\n\n              if (coefficentsMagnitude[index] || !neighborsSignificance[index]) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n\n              if (decision) {\n                var sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      decodeSignBit: function BitModel_decodeSignBit(row, column, index) {\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contribution, sign0, sign1, significance1;\n        var contextLabel, decoded;\n        significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0;\n\n        if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) {\n          sign1 = coefficentsSign[index + 1];\n\n          if (significance1) {\n            sign0 = coefficentsSign[index - 1];\n            contribution = 1 - sign1 - sign0;\n          } else {\n            contribution = 1 - sign1 - sign1;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - 1];\n          contribution = 1 - sign0 - sign0;\n        } else {\n          contribution = 0;\n        }\n\n        var horizontalContribution = 3 * contribution;\n        significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0;\n\n        if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) {\n          sign1 = coefficentsSign[index + width];\n\n          if (significance1) {\n            sign0 = coefficentsSign[index - width];\n            contribution = 1 - sign1 - sign0 + horizontalContribution;\n          } else {\n            contribution = 1 - sign1 - sign1 + horizontalContribution;\n          }\n        } else if (significance1) {\n          sign0 = coefficentsSign[index - width];\n          contribution = 1 - sign0 - sign0 + horizontalContribution;\n        } else {\n          contribution = horizontalContribution;\n        }\n\n        if (contribution >= 0) {\n          contextLabel = 9 + contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel);\n        } else {\n          contextLabel = 9 - contribution;\n          decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1;\n        }\n\n        return decoded;\n      },\n      runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var neighborsSignificance = this.neighborsSignificance;\n        var contexts = this.contexts;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var length = width * height;\n        var width4 = width * 4;\n\n        for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) {\n          indexNext = Math.min(length, index0 + width4);\n\n          for (var j = 0; j < width; j++) {\n            for (var index = index0 + j; index < indexNext; index += width) {\n              if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n\n              var contextLabel = 16;\n\n              if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) {\n                processingFlags[index] ^= firstMagnitudeBitMask;\n                var significance = neighborsSignificance[index] & 127;\n                contextLabel = significance === 0 ? 15 : 14;\n              }\n\n              var bit = decoder.readBit(contexts, contextLabel);\n              coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit;\n              bitsDecoded[index]++;\n              processingFlags[index] |= processedMask;\n            }\n          }\n        }\n      },\n      runCleanupPass: function BitModel_runCleanupPass() {\n        var decoder = this.decoder;\n        var width = this.width,\n            height = this.height;\n        var neighborsSignificance = this.neighborsSignificance;\n        var coefficentsMagnitude = this.coefficentsMagnitude;\n        var coefficentsSign = this.coefficentsSign;\n        var contexts = this.contexts;\n        var labels = this.contextLabelTable;\n        var bitsDecoded = this.bitsDecoded;\n        var processingFlags = this.processingFlags;\n        var processedMask = 1;\n        var firstMagnitudeBitMask = 2;\n        var oneRowDown = width;\n        var twoRowsDown = width * 2;\n        var threeRowsDown = width * 3;\n        var iNext;\n\n        for (var i0 = 0; i0 < height; i0 = iNext) {\n          iNext = Math.min(i0 + 4, height);\n          var indexBase = i0 * width;\n          var checkAllEmpty = i0 + 3 < height;\n\n          for (var j = 0; j < width; j++) {\n            var index0 = indexBase + j;\n            var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0;\n            var i1 = 0,\n                index = index0;\n            var i = i0,\n                sign;\n\n            if (allEmpty) {\n              var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT);\n\n              if (!hasSignificantCoefficent) {\n                bitsDecoded[index0]++;\n                bitsDecoded[index0 + oneRowDown]++;\n                bitsDecoded[index0 + twoRowsDown]++;\n                bitsDecoded[index0 + threeRowsDown]++;\n                continue;\n              }\n\n              i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n              if (i1 !== 0) {\n                i = i0 + i1;\n                index += i1 * width;\n              }\n\n              sign = this.decodeSignBit(i, j, index);\n              coefficentsSign[index] = sign;\n              coefficentsMagnitude[index] = 1;\n              this.setNeighborsSignificance(i, j, index);\n              processingFlags[index] |= firstMagnitudeBitMask;\n              index = index0;\n\n              for (var i2 = i0; i2 <= i; i2++, index += width) {\n                bitsDecoded[index]++;\n              }\n\n              i1++;\n            }\n\n            for (i = i0 + i1; i < iNext; i++, index += width) {\n              if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) {\n                continue;\n              }\n\n              var contextLabel = labels[neighborsSignificance[index]];\n              var decision = decoder.readBit(contexts, contextLabel);\n\n              if (decision === 1) {\n                sign = this.decodeSignBit(i, j, index);\n                coefficentsSign[index] = sign;\n                coefficentsMagnitude[index] = 1;\n                this.setNeighborsSignificance(i, j, index);\n                processingFlags[index] |= firstMagnitudeBitMask;\n              }\n\n              bitsDecoded[index]++;\n            }\n          }\n        }\n      },\n      checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() {\n        var decoder = this.decoder;\n        var contexts = this.contexts;\n        var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT);\n\n        if (symbol !== 0xa) {\n          throw new JpxError(\"Invalid segmentation symbol\");\n        }\n      }\n    };\n    return BitModel;\n  }();\n\n  var Transform = function TransformClosure() {\n    function Transform() {}\n\n    Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) {\n      var ll = subbands[0];\n\n      for (var i = 1, ii = subbands.length; i < ii; i++) {\n        ll = this.iterate(ll, subbands[i], u0, v0);\n      }\n\n      return ll;\n    };\n\n    Transform.prototype.extend = function extend(buffer, offset, size) {\n      var i1 = offset - 1,\n          j1 = offset + 1;\n      var i2 = offset + size - 2,\n          j2 = offset + size;\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1--] = buffer[j1++];\n      buffer[j2++] = buffer[i2--];\n      buffer[i1] = buffer[j1];\n      buffer[j2] = buffer[i2];\n    };\n\n    Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) {\n      var llWidth = ll.width,\n          llHeight = ll.height,\n          llItems = ll.items;\n      var width = hl_lh_hh.width;\n      var height = hl_lh_hh.height;\n      var items = hl_lh_hh.items;\n      var i, j, k, l, u, v;\n\n      for (k = 0, i = 0; i < llHeight; i++) {\n        l = i * 2 * width;\n\n        for (j = 0; j < llWidth; j++, k++, l += 2) {\n          items[l] = llItems[k];\n        }\n      }\n\n      llItems = ll.items = null;\n      var bufferPadding = 4;\n      var rowBuffer = new Float32Array(width + 2 * bufferPadding);\n\n      if (width === 1) {\n        if ((u0 & 1) !== 0) {\n          for (v = 0, k = 0; v < height; v++, k += width) {\n            items[k] *= 0.5;\n          }\n        }\n      } else {\n        for (v = 0, k = 0; v < height; v++, k += width) {\n          rowBuffer.set(items.subarray(k, k + width), bufferPadding);\n          this.extend(rowBuffer, bufferPadding, width);\n          this.filter(rowBuffer, bufferPadding, width);\n          items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k);\n        }\n      }\n\n      var numBuffers = 16;\n      var colBuffers = [];\n\n      for (i = 0; i < numBuffers; i++) {\n        colBuffers.push(new Float32Array(height + 2 * bufferPadding));\n      }\n\n      var b,\n          currentBuffer = 0;\n      ll = bufferPadding + height;\n\n      if (height === 1) {\n        if ((v0 & 1) !== 0) {\n          for (u = 0; u < width; u++) {\n            items[u] *= 0.5;\n          }\n        }\n      } else {\n        for (u = 0; u < width; u++) {\n          if (currentBuffer === 0) {\n            numBuffers = Math.min(width - u, numBuffers);\n\n            for (k = u, l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                colBuffers[b][l] = items[k + b];\n              }\n            }\n\n            currentBuffer = numBuffers;\n          }\n\n          currentBuffer--;\n          var buffer = colBuffers[currentBuffer];\n          this.extend(buffer, bufferPadding, height);\n          this.filter(buffer, bufferPadding, height);\n\n          if (currentBuffer === 0) {\n            k = u - numBuffers + 1;\n\n            for (l = bufferPadding; l < ll; k += width, l++) {\n              for (b = 0; b < numBuffers; b++) {\n                items[k + b] = colBuffers[b][l];\n              }\n            }\n          }\n        }\n      }\n\n      return {\n        width: width,\n        height: height,\n        items: items\n      };\n    };\n\n    return Transform;\n  }();\n\n  var IrreversibleTransform = function IrreversibleTransformClosure() {\n    function IrreversibleTransform() {\n      Transform.call(this);\n    }\n\n    IrreversibleTransform.prototype = Object.create(Transform.prototype);\n\n    IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n, current, next;\n      var alpha = -1.586134342059924;\n      var beta = -0.052980118572961;\n      var gamma = 0.882911075530934;\n      var delta = 0.443506852043971;\n      var K = 1.230174104914001;\n      var K_ = 1 / K;\n      j = offset - 3;\n\n      for (n = len + 4; n--; j += 2) {\n        x[j] *= K_;\n      }\n\n      j = offset - 2;\n      current = delta * x[j - 1];\n\n      for (n = len + 3; n--; j += 2) {\n        next = delta * x[j + 1];\n        x[j] = K * x[j] - current - next;\n\n        if (n--) {\n          j += 2;\n          current = delta * x[j + 1];\n          x[j] = K * x[j] - current - next;\n        } else {\n          break;\n        }\n      }\n\n      j = offset - 1;\n      current = gamma * x[j - 1];\n\n      for (n = len + 2; n--; j += 2) {\n        next = gamma * x[j + 1];\n        x[j] -= current + next;\n\n        if (n--) {\n          j += 2;\n          current = gamma * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      j = offset;\n      current = beta * x[j - 1];\n\n      for (n = len + 1; n--; j += 2) {\n        next = beta * x[j + 1];\n        x[j] -= current + next;\n\n        if (n--) {\n          j += 2;\n          current = beta * x[j + 1];\n          x[j] -= current + next;\n        } else {\n          break;\n        }\n      }\n\n      if (len !== 0) {\n        j = offset + 1;\n        current = alpha * x[j - 1];\n\n        for (n = len; n--; j += 2) {\n          next = alpha * x[j + 1];\n          x[j] -= current + next;\n\n          if (n--) {\n            j += 2;\n            current = alpha * x[j + 1];\n            x[j] -= current + next;\n          } else {\n            break;\n          }\n        }\n      }\n    };\n\n    return IrreversibleTransform;\n  }();\n\n  var ReversibleTransform = function ReversibleTransformClosure() {\n    function ReversibleTransform() {\n      Transform.call(this);\n    }\n\n    ReversibleTransform.prototype = Object.create(Transform.prototype);\n\n    ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) {\n      var len = length >> 1;\n      offset = offset | 0;\n      var j, n;\n\n      for (j = offset, n = len + 1; n--; j += 2) {\n        x[j] -= x[j - 1] + x[j + 1] + 2 >> 2;\n      }\n\n      for (j = offset + 1, n = len; n--; j += 2) {\n        x[j] += x[j - 1] + x[j + 1] >> 1;\n      }\n    };\n\n    return ReversibleTransform;\n  }();\n\n  return JpxImage;\n}();\n\nexports.JpxImage = JpxImage;\n\n/***/ }),\n/* 152 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PDF20 = exports.PDF17 = exports.CipherTransformFactory = exports.calculateSHA512 = exports.calculateSHA384 = exports.calculateSHA256 = exports.calculateMD5 = exports.ARCFourCipher = exports.AES256Cipher = exports.AES128Cipher = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _stream = __w_pdfjs_require__(142);\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar ARCFourCipher = function ARCFourCipherClosure() {\n  function ARCFourCipher(key) {\n    this.a = 0;\n    this.b = 0;\n    var s = new Uint8Array(256);\n    var i,\n        j = 0,\n        tmp,\n        keyLength = key.length;\n\n    for (i = 0; i < 256; ++i) {\n      s[i] = i;\n    }\n\n    for (i = 0; i < 256; ++i) {\n      tmp = s[i];\n      j = j + tmp + key[i % keyLength] & 0xff;\n      s[i] = s[j];\n      s[j] = tmp;\n    }\n\n    this.s = s;\n  }\n\n  ARCFourCipher.prototype = {\n    encryptBlock: function ARCFourCipher_encryptBlock(data) {\n      var i,\n          n = data.length,\n          tmp,\n          tmp2;\n      var a = this.a,\n          b = this.b,\n          s = this.s;\n      var output = new Uint8Array(n);\n\n      for (i = 0; i < n; ++i) {\n        a = a + 1 & 0xff;\n        tmp = s[a];\n        b = b + tmp & 0xff;\n        tmp2 = s[b];\n        s[a] = tmp2;\n        s[b] = tmp;\n        output[i] = data[i] ^ s[tmp + tmp2 & 0xff];\n      }\n\n      this.a = a;\n      this.b = b;\n      return output;\n    }\n  };\n  ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock;\n  ARCFourCipher.prototype.encrypt = ARCFourCipher.prototype.encryptBlock;\n  return ARCFourCipher;\n}();\n\nexports.ARCFourCipher = ARCFourCipher;\n\nvar calculateMD5 = function calculateMD5Closure() {\n  var r = new Uint8Array([7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 7, 12, 17, 22, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 5, 9, 14, 20, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 4, 11, 16, 23, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21, 6, 10, 15, 21]);\n  var k = new Int32Array([-680876936, -389564586, 606105819, -1044525330, -176418897, 1200080426, -1473231341, -45705983, 1770035416, -1958414417, -42063, -1990404162, 1804603682, -40341101, -1502002290, 1236535329, -165796510, -1069501632, 643717713, -373897302, -701558691, 38016083, -660478335, -405537848, 568446438, -1019803690, -187363961, 1163531501, -1444681467, -51403784, 1735328473, -1926607734, -378558, -2022574463, 1839030562, -35309556, -1530992060, 1272893353, -155497632, -1094730640, 681279174, -358537222, -722521979, 76029189, -640364487, -421815835, 530742520, -995338651, -198630844, 1126891415, -1416354905, -57434055, 1700485571, -1894986606, -1051523, -2054922799, 1873313359, -30611744, -1560198380, 1309151649, -145523070, -1120210379, 718787259, -343485551]);\n\n  function hash(data, offset, length) {\n    var h0 = 1732584193,\n        h1 = -271733879,\n        h2 = -1732584194,\n        h3 = 271733878;\n    var paddedLength = length + 72 & ~63;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = length << 3 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    var w = new Int32Array(16);\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j, i += 4) {\n        w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24;\n      }\n\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          f,\n          g;\n\n      for (j = 0; j < 64; ++j) {\n        if (j < 16) {\n          f = b & c | ~b & d;\n          g = j;\n        } else if (j < 32) {\n          f = d & b | ~d & c;\n          g = 5 * j + 1 & 15;\n        } else if (j < 48) {\n          f = b ^ c ^ d;\n          g = 3 * j + 5 & 15;\n        } else {\n          f = c ^ (b | ~d);\n          g = 7 * j & 15;\n        }\n\n        var tmp = d,\n            rotateArg = a + f + k[j] + w[g] | 0,\n            rotate = r[j];\n        d = c;\n        c = b;\n        b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0;\n        a = tmp;\n      }\n\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n    }\n\n    return new Uint8Array([h0 & 0xFF, h0 >> 8 & 0xFF, h0 >> 16 & 0xFF, h0 >>> 24 & 0xFF, h1 & 0xFF, h1 >> 8 & 0xFF, h1 >> 16 & 0xFF, h1 >>> 24 & 0xFF, h2 & 0xFF, h2 >> 8 & 0xFF, h2 >> 16 & 0xFF, h2 >>> 24 & 0xFF, h3 & 0xFF, h3 >> 8 & 0xFF, h3 >> 16 & 0xFF, h3 >>> 24 & 0xFF]);\n  }\n\n  return hash;\n}();\n\nexports.calculateMD5 = calculateMD5;\n\nvar Word64 = function Word64Closure() {\n  function Word64(highInteger, lowInteger) {\n    this.high = highInteger | 0;\n    this.low = lowInteger | 0;\n  }\n\n  Word64.prototype = {\n    and: function Word64_and(word) {\n      this.high &= word.high;\n      this.low &= word.low;\n    },\n    xor: function Word64_xor(word) {\n      this.high ^= word.high;\n      this.low ^= word.low;\n    },\n    or: function Word64_or(word) {\n      this.high |= word.high;\n      this.low |= word.low;\n    },\n    shiftRight: function Word64_shiftRight(places) {\n      if (places >= 32) {\n        this.low = this.high >>> places - 32 | 0;\n        this.high = 0;\n      } else {\n        this.low = this.low >>> places | this.high << 32 - places;\n        this.high = this.high >>> places | 0;\n      }\n    },\n    shiftLeft: function Word64_shiftLeft(places) {\n      if (places >= 32) {\n        this.high = this.low << places - 32;\n        this.low = 0;\n      } else {\n        this.high = this.high << places | this.low >>> 32 - places;\n        this.low = this.low << places;\n      }\n    },\n    rotateRight: function Word64_rotateRight(places) {\n      var low, high;\n\n      if (places & 32) {\n        high = this.low;\n        low = this.high;\n      } else {\n        low = this.low;\n        high = this.high;\n      }\n\n      places &= 31;\n      this.low = low >>> places | high << 32 - places;\n      this.high = high >>> places | low << 32 - places;\n    },\n    not: function Word64_not() {\n      this.high = ~this.high;\n      this.low = ~this.low;\n    },\n    add: function Word64_add(word) {\n      var lowAdd = (this.low >>> 0) + (word.low >>> 0);\n      var highAdd = (this.high >>> 0) + (word.high >>> 0);\n\n      if (lowAdd > 0xffffffff) {\n        highAdd += 1;\n      }\n\n      this.low = lowAdd | 0;\n      this.high = highAdd | 0;\n    },\n    copyTo: function Word64_copyTo(bytes, offset) {\n      bytes[offset] = this.high >>> 24 & 0xff;\n      bytes[offset + 1] = this.high >> 16 & 0xff;\n      bytes[offset + 2] = this.high >> 8 & 0xff;\n      bytes[offset + 3] = this.high & 0xff;\n      bytes[offset + 4] = this.low >>> 24 & 0xff;\n      bytes[offset + 5] = this.low >> 16 & 0xff;\n      bytes[offset + 6] = this.low >> 8 & 0xff;\n      bytes[offset + 7] = this.low & 0xff;\n    },\n    assign: function Word64_assign(word) {\n      this.high = word.high;\n      this.low = word.low;\n    }\n  };\n  return Word64;\n}();\n\nvar calculateSHA256 = function calculateSHA256Closure() {\n  function rotr(x, n) {\n    return x >>> n | x << 32 - n;\n  }\n\n  function ch(x, y, z) {\n    return x & y ^ ~x & z;\n  }\n\n  function maj(x, y, z) {\n    return x & y ^ x & z ^ y & z;\n  }\n\n  function sigma(x) {\n    return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22);\n  }\n\n  function sigmaPrime(x) {\n    return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25);\n  }\n\n  function littleSigma(x) {\n    return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3;\n  }\n\n  function littleSigmaPrime(x) {\n    return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10;\n  }\n\n  var k = [0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2];\n\n  function hash(data, offset, length) {\n    var h0 = 0x6a09e667,\n        h1 = 0xbb67ae85,\n        h2 = 0x3c6ef372,\n        h3 = 0xa54ff53a,\n        h4 = 0x510e527f,\n        h5 = 0x9b05688c,\n        h6 = 0x1f83d9ab,\n        h7 = 0x5be0cd19;\n    var paddedLength = Math.ceil((length + 9) / 64) * 64;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 8;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length << 3 & 0xff;\n    var w = new Uint32Array(64);\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        i += 4;\n      }\n\n      for (j = 16; j < 64; ++j) {\n        w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0;\n      }\n\n      var a = h0,\n          b = h1,\n          c = h2,\n          d = h3,\n          e = h4,\n          f = h5,\n          g = h6,\n          h = h7,\n          t1,\n          t2;\n\n      for (j = 0; j < 64; ++j) {\n        t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j];\n        t2 = sigma(a) + maj(a, b, c);\n        h = g;\n        g = f;\n        f = e;\n        e = d + t1 | 0;\n        d = c;\n        c = b;\n        b = a;\n        a = t1 + t2 | 0;\n      }\n\n      h0 = h0 + a | 0;\n      h1 = h1 + b | 0;\n      h2 = h2 + c | 0;\n      h3 = h3 + d | 0;\n      h4 = h4 + e | 0;\n      h5 = h5 + f | 0;\n      h6 = h6 + g | 0;\n      h7 = h7 + h | 0;\n    }\n\n    return new Uint8Array([h0 >> 24 & 0xFF, h0 >> 16 & 0xFF, h0 >> 8 & 0xFF, h0 & 0xFF, h1 >> 24 & 0xFF, h1 >> 16 & 0xFF, h1 >> 8 & 0xFF, h1 & 0xFF, h2 >> 24 & 0xFF, h2 >> 16 & 0xFF, h2 >> 8 & 0xFF, h2 & 0xFF, h3 >> 24 & 0xFF, h3 >> 16 & 0xFF, h3 >> 8 & 0xFF, h3 & 0xFF, h4 >> 24 & 0xFF, h4 >> 16 & 0xFF, h4 >> 8 & 0xFF, h4 & 0xFF, h5 >> 24 & 0xFF, h5 >> 16 & 0xFF, h5 >> 8 & 0xFF, h5 & 0xFF, h6 >> 24 & 0xFF, h6 >> 16 & 0xFF, h6 >> 8 & 0xFF, h6 & 0xFF, h7 >> 24 & 0xFF, h7 >> 16 & 0xFF, h7 >> 8 & 0xFF, h7 & 0xFF]);\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA256 = calculateSHA256;\n\nvar calculateSHA512 = function calculateSHA512Closure() {\n  function ch(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.not();\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function maj(result, x, y, z, tmp) {\n    result.assign(x);\n    result.and(y);\n    tmp.assign(x);\n    tmp.and(z);\n    result.xor(tmp);\n    tmp.assign(y);\n    tmp.and(z);\n    result.xor(tmp);\n  }\n\n  function sigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(28);\n    tmp.assign(x);\n    tmp.rotateRight(34);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(39);\n    result.xor(tmp);\n  }\n\n  function sigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(14);\n    tmp.assign(x);\n    tmp.rotateRight(18);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.rotateRight(41);\n    result.xor(tmp);\n  }\n\n  function littleSigma(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(1);\n    tmp.assign(x);\n    tmp.rotateRight(8);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(7);\n    result.xor(tmp);\n  }\n\n  function littleSigmaPrime(result, x, tmp) {\n    result.assign(x);\n    result.rotateRight(19);\n    tmp.assign(x);\n    tmp.rotateRight(61);\n    result.xor(tmp);\n    tmp.assign(x);\n    tmp.shiftRight(6);\n    result.xor(tmp);\n  }\n\n  var k = [new Word64(0x428a2f98, 0xd728ae22), new Word64(0x71374491, 0x23ef65cd), new Word64(0xb5c0fbcf, 0xec4d3b2f), new Word64(0xe9b5dba5, 0x8189dbbc), new Word64(0x3956c25b, 0xf348b538), new Word64(0x59f111f1, 0xb605d019), new Word64(0x923f82a4, 0xaf194f9b), new Word64(0xab1c5ed5, 0xda6d8118), new Word64(0xd807aa98, 0xa3030242), new Word64(0x12835b01, 0x45706fbe), new Word64(0x243185be, 0x4ee4b28c), new Word64(0x550c7dc3, 0xd5ffb4e2), new Word64(0x72be5d74, 0xf27b896f), new Word64(0x80deb1fe, 0x3b1696b1), new Word64(0x9bdc06a7, 0x25c71235), new Word64(0xc19bf174, 0xcf692694), new Word64(0xe49b69c1, 0x9ef14ad2), new Word64(0xefbe4786, 0x384f25e3), new Word64(0x0fc19dc6, 0x8b8cd5b5), new Word64(0x240ca1cc, 0x77ac9c65), new Word64(0x2de92c6f, 0x592b0275), new Word64(0x4a7484aa, 0x6ea6e483), new Word64(0x5cb0a9dc, 0xbd41fbd4), new Word64(0x76f988da, 0x831153b5), new Word64(0x983e5152, 0xee66dfab), new Word64(0xa831c66d, 0x2db43210), new Word64(0xb00327c8, 0x98fb213f), new Word64(0xbf597fc7, 0xbeef0ee4), new Word64(0xc6e00bf3, 0x3da88fc2), new Word64(0xd5a79147, 0x930aa725), new Word64(0x06ca6351, 0xe003826f), new Word64(0x14292967, 0x0a0e6e70), new Word64(0x27b70a85, 0x46d22ffc), new Word64(0x2e1b2138, 0x5c26c926), new Word64(0x4d2c6dfc, 0x5ac42aed), new Word64(0x53380d13, 0x9d95b3df), new Word64(0x650a7354, 0x8baf63de), new Word64(0x766a0abb, 0x3c77b2a8), new Word64(0x81c2c92e, 0x47edaee6), new Word64(0x92722c85, 0x1482353b), new Word64(0xa2bfe8a1, 0x4cf10364), new Word64(0xa81a664b, 0xbc423001), new Word64(0xc24b8b70, 0xd0f89791), new Word64(0xc76c51a3, 0x0654be30), new Word64(0xd192e819, 0xd6ef5218), new Word64(0xd6990624, 0x5565a910), new Word64(0xf40e3585, 0x5771202a), new Word64(0x106aa070, 0x32bbd1b8), new Word64(0x19a4c116, 0xb8d2d0c8), new Word64(0x1e376c08, 0x5141ab53), new Word64(0x2748774c, 0xdf8eeb99), new Word64(0x34b0bcb5, 0xe19b48a8), new Word64(0x391c0cb3, 0xc5c95a63), new Word64(0x4ed8aa4a, 0xe3418acb), new Word64(0x5b9cca4f, 0x7763e373), new Word64(0x682e6ff3, 0xd6b2b8a3), new Word64(0x748f82ee, 0x5defb2fc), new Word64(0x78a5636f, 0x43172f60), new Word64(0x84c87814, 0xa1f0ab72), new Word64(0x8cc70208, 0x1a6439ec), new Word64(0x90befffa, 0x23631e28), new Word64(0xa4506ceb, 0xde82bde9), new Word64(0xbef9a3f7, 0xb2c67915), new Word64(0xc67178f2, 0xe372532b), new Word64(0xca273ece, 0xea26619c), new Word64(0xd186b8c7, 0x21c0c207), new Word64(0xeada7dd6, 0xcde0eb1e), new Word64(0xf57d4f7f, 0xee6ed178), new Word64(0x06f067aa, 0x72176fba), new Word64(0x0a637dc5, 0xa2c898a6), new Word64(0x113f9804, 0xbef90dae), new Word64(0x1b710b35, 0x131c471b), new Word64(0x28db77f5, 0x23047d84), new Word64(0x32caab7b, 0x40c72493), new Word64(0x3c9ebe0a, 0x15c9bebc), new Word64(0x431d67c4, 0x9c100d4c), new Word64(0x4cc5d4be, 0xcb3e42b6), new Word64(0x597f299c, 0xfc657e2a), new Word64(0x5fcb6fab, 0x3ad6faec), new Word64(0x6c44198c, 0x4a475817)];\n\n  function hash(data, offset, length, mode384) {\n    mode384 = !!mode384;\n    var h0, h1, h2, h3, h4, h5, h6, h7;\n\n    if (!mode384) {\n      h0 = new Word64(0x6a09e667, 0xf3bcc908);\n      h1 = new Word64(0xbb67ae85, 0x84caa73b);\n      h2 = new Word64(0x3c6ef372, 0xfe94f82b);\n      h3 = new Word64(0xa54ff53a, 0x5f1d36f1);\n      h4 = new Word64(0x510e527f, 0xade682d1);\n      h5 = new Word64(0x9b05688c, 0x2b3e6c1f);\n      h6 = new Word64(0x1f83d9ab, 0xfb41bd6b);\n      h7 = new Word64(0x5be0cd19, 0x137e2179);\n    } else {\n      h0 = new Word64(0xcbbb9d5d, 0xc1059ed8);\n      h1 = new Word64(0x629a292a, 0x367cd507);\n      h2 = new Word64(0x9159015a, 0x3070dd17);\n      h3 = new Word64(0x152fecd8, 0xf70e5939);\n      h4 = new Word64(0x67332667, 0xffc00b31);\n      h5 = new Word64(0x8eb44a87, 0x68581511);\n      h6 = new Word64(0xdb0c2e0d, 0x64f98fa7);\n      h7 = new Word64(0x47b5481d, 0xbefa4fa4);\n    }\n\n    var paddedLength = Math.ceil((length + 17) / 128) * 128;\n    var padded = new Uint8Array(paddedLength);\n    var i, j, n;\n\n    for (i = 0; i < length; ++i) {\n      padded[i] = data[offset++];\n    }\n\n    padded[i++] = 0x80;\n    n = paddedLength - 16;\n\n    while (i < n) {\n      padded[i++] = 0;\n    }\n\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = 0;\n    padded[i++] = length >>> 29 & 0xff;\n    padded[i++] = length >> 21 & 0xff;\n    padded[i++] = length >> 13 & 0xff;\n    padded[i++] = length >> 5 & 0xff;\n    padded[i++] = length << 3 & 0xff;\n    var w = new Array(80);\n\n    for (i = 0; i < 80; i++) {\n      w[i] = new Word64(0, 0);\n    }\n\n    var a = new Word64(0, 0),\n        b = new Word64(0, 0),\n        c = new Word64(0, 0);\n    var d = new Word64(0, 0),\n        e = new Word64(0, 0),\n        f = new Word64(0, 0);\n    var g = new Word64(0, 0),\n        h = new Word64(0, 0);\n    var t1 = new Word64(0, 0),\n        t2 = new Word64(0, 0);\n    var tmp1 = new Word64(0, 0),\n        tmp2 = new Word64(0, 0),\n        tmp3;\n\n    for (i = 0; i < paddedLength;) {\n      for (j = 0; j < 16; ++j) {\n        w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3];\n        w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7];\n        i += 8;\n      }\n\n      for (j = 16; j < 80; ++j) {\n        tmp3 = w[j];\n        littleSigmaPrime(tmp3, w[j - 2], tmp2);\n        tmp3.add(w[j - 7]);\n        littleSigma(tmp1, w[j - 15], tmp2);\n        tmp3.add(tmp1);\n        tmp3.add(w[j - 16]);\n      }\n\n      a.assign(h0);\n      b.assign(h1);\n      c.assign(h2);\n      d.assign(h3);\n      e.assign(h4);\n      f.assign(h5);\n      g.assign(h6);\n      h.assign(h7);\n\n      for (j = 0; j < 80; ++j) {\n        t1.assign(h);\n        sigmaPrime(tmp1, e, tmp2);\n        t1.add(tmp1);\n        ch(tmp1, e, f, g, tmp2);\n        t1.add(tmp1);\n        t1.add(k[j]);\n        t1.add(w[j]);\n        sigma(t2, a, tmp2);\n        maj(tmp1, a, b, c, tmp2);\n        t2.add(tmp1);\n        tmp3 = h;\n        h = g;\n        g = f;\n        f = e;\n        d.add(t1);\n        e = d;\n        d = c;\n        c = b;\n        b = a;\n        tmp3.assign(t1);\n        tmp3.add(t2);\n        a = tmp3;\n      }\n\n      h0.add(a);\n      h1.add(b);\n      h2.add(c);\n      h3.add(d);\n      h4.add(e);\n      h5.add(f);\n      h6.add(g);\n      h7.add(h);\n    }\n\n    var result;\n\n    if (!mode384) {\n      result = new Uint8Array(64);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n      h6.copyTo(result, 48);\n      h7.copyTo(result, 56);\n    } else {\n      result = new Uint8Array(48);\n      h0.copyTo(result, 0);\n      h1.copyTo(result, 8);\n      h2.copyTo(result, 16);\n      h3.copyTo(result, 24);\n      h4.copyTo(result, 32);\n      h5.copyTo(result, 40);\n    }\n\n    return result;\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA512 = calculateSHA512;\n\nvar calculateSHA384 = function calculateSHA384Closure() {\n  function hash(data, offset, length) {\n    return calculateSHA512(data, offset, length, true);\n  }\n\n  return hash;\n}();\n\nexports.calculateSHA384 = calculateSHA384;\n\nvar NullCipher = function NullCipherClosure() {\n  function NullCipher() {}\n\n  NullCipher.prototype = {\n    decryptBlock: function NullCipher_decryptBlock(data) {\n      return data;\n    },\n    encrypt: function NullCipher_encrypt(data) {\n      return data;\n    }\n  };\n  return NullCipher;\n}();\n\nvar AESBaseCipher = /*#__PURE__*/function () {\n  function AESBaseCipher() {\n    _classCallCheck(this, AESBaseCipher);\n\n    if (this.constructor === AESBaseCipher) {\n      (0, _util.unreachable)(\"Cannot initialize AESBaseCipher.\");\n    }\n\n    this._s = new Uint8Array([0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16]);\n    this._inv_s = new Uint8Array([0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d]);\n    this._mix = new Uint32Array([0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3]);\n    this._mixCol = new Uint8Array(256);\n\n    for (var i = 0; i < 256; i++) {\n      if (i < 128) {\n        this._mixCol[i] = i << 1;\n      } else {\n        this._mixCol[i] = i << 1 ^ 0x1b;\n      }\n    }\n\n    this.buffer = new Uint8Array(16);\n    this.bufferPosition = 0;\n  }\n\n  _createClass(AESBaseCipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      (0, _util.unreachable)(\"Cannot call `_expandKey` on the base class\");\n    }\n  }, {\n    key: \"_decrypt\",\n    value: function _decrypt(input, key) {\n      var t, u, v;\n      var state = new Uint8Array(16);\n      state.set(input);\n\n      for (var j = 0, k = this._keySize; j < 16; ++j, ++k) {\n        state[j] ^= key[k];\n      }\n\n      for (var i = this._cyclesOfRepetition - 1; i >= 1; --i) {\n        t = state[13];\n        state[13] = state[9];\n        state[9] = state[5];\n        state[5] = state[1];\n        state[1] = t;\n        t = state[14];\n        u = state[10];\n        state[14] = state[6];\n        state[10] = state[2];\n        state[6] = t;\n        state[2] = u;\n        t = state[15];\n        u = state[11];\n        v = state[7];\n        state[15] = state[3];\n        state[11] = t;\n        state[7] = u;\n        state[3] = v;\n\n        for (var _j = 0; _j < 16; ++_j) {\n          state[_j] = this._inv_s[state[_j]];\n        }\n\n        for (var _j2 = 0, _k = i * 16; _j2 < 16; ++_j2, ++_k) {\n          state[_j2] ^= key[_k];\n        }\n\n        for (var _j3 = 0; _j3 < 16; _j3 += 4) {\n          var s0 = this._mix[state[_j3]];\n          var s1 = this._mix[state[_j3 + 1]];\n          var s2 = this._mix[state[_j3 + 2]];\n          var s3 = this._mix[state[_j3 + 3]];\n          t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8;\n          state[_j3] = t >>> 24 & 0xff;\n          state[_j3 + 1] = t >> 16 & 0xff;\n          state[_j3 + 2] = t >> 8 & 0xff;\n          state[_j3 + 3] = t & 0xff;\n        }\n      }\n\n      t = state[13];\n      state[13] = state[9];\n      state[9] = state[5];\n      state[5] = state[1];\n      state[1] = t;\n      t = state[14];\n      u = state[10];\n      state[14] = state[6];\n      state[10] = state[2];\n      state[6] = t;\n      state[2] = u;\n      t = state[15];\n      u = state[11];\n      v = state[7];\n      state[15] = state[3];\n      state[11] = t;\n      state[7] = u;\n      state[3] = v;\n\n      for (var _j4 = 0; _j4 < 16; ++_j4) {\n        state[_j4] = this._inv_s[state[_j4]];\n        state[_j4] ^= key[_j4];\n      }\n\n      return state;\n    }\n  }, {\n    key: \"_encrypt\",\n    value: function _encrypt(input, key) {\n      var s = this._s;\n      var t, u, v;\n      var state = new Uint8Array(16);\n      state.set(input);\n\n      for (var j = 0; j < 16; ++j) {\n        state[j] ^= key[j];\n      }\n\n      for (var i = 1; i < this._cyclesOfRepetition; i++) {\n        for (var _j5 = 0; _j5 < 16; ++_j5) {\n          state[_j5] = s[state[_j5]];\n        }\n\n        v = state[1];\n        state[1] = state[5];\n        state[5] = state[9];\n        state[9] = state[13];\n        state[13] = v;\n        v = state[2];\n        u = state[6];\n        state[2] = state[10];\n        state[6] = state[14];\n        state[10] = v;\n        state[14] = u;\n        v = state[3];\n        u = state[7];\n        t = state[11];\n        state[3] = state[15];\n        state[7] = v;\n        state[11] = u;\n        state[15] = t;\n\n        for (var _j6 = 0; _j6 < 16; _j6 += 4) {\n          var s0 = state[_j6 + 0];\n          var s1 = state[_j6 + 1];\n          var s2 = state[_j6 + 2];\n          var s3 = state[_j6 + 3];\n          t = s0 ^ s1 ^ s2 ^ s3;\n          state[_j6 + 0] ^= t ^ this._mixCol[s0 ^ s1];\n          state[_j6 + 1] ^= t ^ this._mixCol[s1 ^ s2];\n          state[_j6 + 2] ^= t ^ this._mixCol[s2 ^ s3];\n          state[_j6 + 3] ^= t ^ this._mixCol[s3 ^ s0];\n        }\n\n        for (var _j7 = 0, k = i * 16; _j7 < 16; ++_j7, ++k) {\n          state[_j7] ^= key[k];\n        }\n      }\n\n      for (var _j8 = 0; _j8 < 16; ++_j8) {\n        state[_j8] = s[state[_j8]];\n      }\n\n      v = state[1];\n      state[1] = state[5];\n      state[5] = state[9];\n      state[9] = state[13];\n      state[13] = v;\n      v = state[2];\n      u = state[6];\n      state[2] = state[10];\n      state[6] = state[14];\n      state[10] = v;\n      state[14] = u;\n      v = state[3];\n      u = state[7];\n      t = state[11];\n      state[3] = state[15];\n      state[7] = v;\n      state[11] = u;\n      state[15] = t;\n\n      for (var _j9 = 0, _k2 = this._keySize; _j9 < 16; ++_j9, ++_k2) {\n        state[_j9] ^= key[_k2];\n      }\n\n      return state;\n    }\n  }, {\n    key: \"_decryptBlock2\",\n    value: function _decryptBlock2(data, finalize) {\n      var sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      var result = [];\n      var iv = this.iv;\n\n      for (var i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n\n        if (bufferLength < 16) {\n          continue;\n        }\n\n        var plain = this._decrypt(buffer, this._key);\n\n        for (var j = 0; j < 16; ++j) {\n          plain[j] ^= iv[j];\n        }\n\n        iv = buffer;\n        result.push(plain);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n\n      if (result.length === 0) {\n        return new Uint8Array(0);\n      }\n\n      var outputLength = 16 * result.length;\n\n      if (finalize) {\n        var lastBlock = result[result.length - 1];\n        var psLen = lastBlock[15];\n\n        if (psLen <= 16) {\n          for (var _i = 15, ii = 16 - psLen; _i >= ii; --_i) {\n            if (lastBlock[_i] !== psLen) {\n              psLen = 0;\n              break;\n            }\n          }\n\n          outputLength -= psLen;\n          result[result.length - 1] = lastBlock.subarray(0, 16 - psLen);\n        }\n      }\n\n      var output = new Uint8Array(outputLength);\n\n      for (var _i2 = 0, _j10 = 0, _ii = result.length; _i2 < _ii; ++_i2, _j10 += 16) {\n        output.set(result[_i2], _j10);\n      }\n\n      return output;\n    }\n  }, {\n    key: \"decryptBlock\",\n    value: function decryptBlock(data, finalize) {\n      var iv = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var sourceLength = data.length;\n      var buffer = this.buffer;\n      var bufferLength = this.bufferPosition;\n\n      if (iv) {\n        this.iv = iv;\n      } else {\n        for (var i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) {\n          buffer[bufferLength] = data[i];\n        }\n\n        if (bufferLength < 16) {\n          this.bufferLength = bufferLength;\n          return new Uint8Array(0);\n        }\n\n        this.iv = buffer;\n        data = data.subarray(16);\n      }\n\n      this.buffer = new Uint8Array(16);\n      this.bufferLength = 0;\n      this.decryptBlock = this._decryptBlock2;\n      return this.decryptBlock(data, finalize);\n    }\n  }, {\n    key: \"encrypt\",\n    value: function encrypt(data, iv) {\n      var sourceLength = data.length;\n      var buffer = this.buffer,\n          bufferLength = this.bufferPosition;\n      var result = [];\n\n      if (!iv) {\n        iv = new Uint8Array(16);\n      }\n\n      for (var i = 0; i < sourceLength; ++i) {\n        buffer[bufferLength] = data[i];\n        ++bufferLength;\n\n        if (bufferLength < 16) {\n          continue;\n        }\n\n        for (var j = 0; j < 16; ++j) {\n          buffer[j] ^= iv[j];\n        }\n\n        var cipher = this._encrypt(buffer, this._key);\n\n        iv = cipher;\n        result.push(cipher);\n        buffer = new Uint8Array(16);\n        bufferLength = 0;\n      }\n\n      this.buffer = buffer;\n      this.bufferLength = bufferLength;\n      this.iv = iv;\n\n      if (result.length === 0) {\n        return new Uint8Array(0);\n      }\n\n      var outputLength = 16 * result.length;\n      var output = new Uint8Array(outputLength);\n\n      for (var _i3 = 0, _j11 = 0, ii = result.length; _i3 < ii; ++_i3, _j11 += 16) {\n        output.set(result[_i3], _j11);\n      }\n\n      return output;\n    }\n  }]);\n\n  return AESBaseCipher;\n}();\n\nvar AES128Cipher = /*#__PURE__*/function (_AESBaseCipher) {\n  _inherits(AES128Cipher, _AESBaseCipher);\n\n  var _super = _createSuper(AES128Cipher);\n\n  function AES128Cipher(key) {\n    var _this;\n\n    _classCallCheck(this, AES128Cipher);\n\n    _this = _super.call(this);\n    _this._cyclesOfRepetition = 10;\n    _this._keySize = 160;\n    _this._rcon = new Uint8Array([0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91, 0x39, 0x72, 0xe4, 0xd3, 0xbd, 0x61, 0xc2, 0x9f, 0x25, 0x4a, 0x94, 0x33, 0x66, 0xcc, 0x83, 0x1d, 0x3a, 0x74, 0xe8, 0xcb, 0x8d]);\n    _this._key = _this._expandKey(key);\n    return _this;\n  }\n\n  _createClass(AES128Cipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      var b = 176;\n      var s = this._s;\n      var rcon = this._rcon;\n      var result = new Uint8Array(b);\n      result.set(cipherKey);\n\n      for (var j = 16, i = 1; j < b; ++i) {\n        var t1 = result[j - 3];\n        var t2 = result[j - 2];\n        var t3 = result[j - 1];\n        var t4 = result[j - 4];\n        t1 = s[t1];\n        t2 = s[t2];\n        t3 = s[t3];\n        t4 = s[t4];\n        t1 = t1 ^ rcon[i];\n\n        for (var n = 0; n < 4; ++n) {\n          result[j] = t1 ^= result[j - 16];\n          j++;\n          result[j] = t2 ^= result[j - 16];\n          j++;\n          result[j] = t3 ^= result[j - 16];\n          j++;\n          result[j] = t4 ^= result[j - 16];\n          j++;\n        }\n      }\n\n      return result;\n    }\n  }]);\n\n  return AES128Cipher;\n}(AESBaseCipher);\n\nexports.AES128Cipher = AES128Cipher;\n\nvar AES256Cipher = /*#__PURE__*/function (_AESBaseCipher2) {\n  _inherits(AES256Cipher, _AESBaseCipher2);\n\n  var _super2 = _createSuper(AES256Cipher);\n\n  function AES256Cipher(key) {\n    var _this2;\n\n    _classCallCheck(this, AES256Cipher);\n\n    _this2 = _super2.call(this);\n    _this2._cyclesOfRepetition = 14;\n    _this2._keySize = 224;\n    _this2._key = _this2._expandKey(key);\n    return _this2;\n  }\n\n  _createClass(AES256Cipher, [{\n    key: \"_expandKey\",\n    value: function _expandKey(cipherKey) {\n      var b = 240;\n      var s = this._s;\n      var result = new Uint8Array(b);\n      result.set(cipherKey);\n      var r = 1;\n      var t1, t2, t3, t4;\n\n      for (var j = 32, i = 1; j < b; ++i) {\n        if (j % 32 === 16) {\n          t1 = s[t1];\n          t2 = s[t2];\n          t3 = s[t3];\n          t4 = s[t4];\n        } else if (j % 32 === 0) {\n          t1 = result[j - 3];\n          t2 = result[j - 2];\n          t3 = result[j - 1];\n          t4 = result[j - 4];\n          t1 = s[t1];\n          t2 = s[t2];\n          t3 = s[t3];\n          t4 = s[t4];\n          t1 = t1 ^ r;\n\n          if ((r <<= 1) >= 256) {\n            r = (r ^ 0x1b) & 0xff;\n          }\n        }\n\n        for (var n = 0; n < 4; ++n) {\n          result[j] = t1 ^= result[j - 32];\n          j++;\n          result[j] = t2 ^= result[j - 32];\n          j++;\n          result[j] = t3 ^= result[j - 32];\n          j++;\n          result[j] = t4 ^= result[j - 32];\n          j++;\n        }\n      }\n\n      return result;\n    }\n  }]);\n\n  return AES256Cipher;\n}(AESBaseCipher);\n\nexports.AES256Cipher = AES256Cipher;\n\nvar PDF17 = function PDF17Closure() {\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  function PDF17() {}\n\n  PDF17.prototype = {\n    checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculateSHA256(hashData, 0, hashData.length);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculateSHA256(hashData, 0, hashData.length);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF17;\n}();\n\nexports.PDF17 = PDF17;\n\nvar PDF20 = function PDF20Closure() {\n  function concatArrays(array1, array2) {\n    var t = new Uint8Array(array1.length + array2.length);\n    t.set(array1, 0);\n    t.set(array2, array1.length);\n    return t;\n  }\n\n  function calculatePDF20Hash(password, input, userBytes) {\n    var k = calculateSHA256(input, 0, input.length).subarray(0, 32);\n    var e = [0];\n    var i = 0;\n\n    while (i < 64 || e[e.length - 1] > i - 32) {\n      var arrayLength = password.length + k.length + userBytes.length;\n      var k1 = new Uint8Array(arrayLength * 64);\n      var array = concatArrays(password, k);\n      array = concatArrays(array, userBytes);\n\n      for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) {\n        k1.set(array, pos);\n      }\n\n      var cipher = new AES128Cipher(k.subarray(0, 16));\n      e = cipher.encrypt(k1, k.subarray(16, 32));\n      var remainder = 0;\n\n      for (var z = 0; z < 16; z++) {\n        remainder *= 256 % 3;\n        remainder %= 3;\n        remainder += (e[z] >>> 0) % 3;\n        remainder %= 3;\n      }\n\n      if (remainder === 0) {\n        k = calculateSHA256(e, 0, e.length);\n      } else if (remainder === 1) {\n        k = calculateSHA384(e, 0, e.length);\n      } else if (remainder === 2) {\n        k = calculateSHA512(e, 0, e.length);\n      }\n\n      i++;\n    }\n\n    return k.subarray(0, 32);\n  }\n\n  function PDF20() {}\n\n  function compareByteArrays(array1, array2) {\n    if (array1.length !== array2.length) {\n      return false;\n    }\n\n    for (var i = 0; i < array1.length; i++) {\n      if (array1[i] !== array2[i]) {\n        return false;\n      }\n    }\n\n    return true;\n  }\n\n  PDF20.prototype = {\n    hash: function PDF20_hash(password, concatBytes, userBytes) {\n      return calculatePDF20Hash(password, concatBytes, userBytes);\n    },\n    checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerValidationSalt, password.length);\n      hashData.set(userBytes, password.length + ownerValidationSalt.length);\n      var result = calculatePDF20Hash(password, hashData, userBytes);\n      return compareByteArrays(result, ownerPassword);\n    },\n    checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userValidationSalt, password.length);\n      var result = calculatePDF20Hash(password, hashData, []);\n      return compareByteArrays(result, userPassword);\n    },\n    getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) {\n      var hashData = new Uint8Array(password.length + 56);\n      hashData.set(password, 0);\n      hashData.set(ownerKeySalt, password.length);\n      hashData.set(userBytes, password.length + ownerKeySalt.length);\n      var key = calculatePDF20Hash(password, hashData, userBytes);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16));\n    },\n    getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) {\n      var hashData = new Uint8Array(password.length + 8);\n      hashData.set(password, 0);\n      hashData.set(userKeySalt, password.length);\n      var key = calculatePDF20Hash(password, hashData, []);\n      var cipher = new AES256Cipher(key);\n      return cipher.decryptBlock(userEncryption, false, new Uint8Array(16));\n    }\n  };\n  return PDF20;\n}();\n\nexports.PDF20 = PDF20;\n\nvar CipherTransform = function CipherTransformClosure() {\n  function CipherTransform(stringCipherConstructor, streamCipherConstructor) {\n    this.StringCipherConstructor = stringCipherConstructor;\n    this.StreamCipherConstructor = streamCipherConstructor;\n  }\n\n  CipherTransform.prototype = {\n    createStream: function CipherTransform_createStream(stream, length) {\n      var cipher = new this.StreamCipherConstructor();\n      return new _stream.DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) {\n        return cipher.decryptBlock(data, finalize);\n      });\n    },\n    decryptString: function CipherTransform_decryptString(s) {\n      var cipher = new this.StringCipherConstructor();\n      var data = (0, _util.stringToBytes)(s);\n      data = cipher.decryptBlock(data, true);\n      return (0, _util.bytesToString)(data);\n    },\n    encryptString: function CipherTransform_encryptString(s) {\n      var cipher = new this.StringCipherConstructor();\n\n      if (cipher instanceof AESBaseCipher) {\n        var strLen = s.length;\n        var pad = 16 - strLen % 16;\n\n        if (pad !== 16) {\n          s = s.padEnd(16 * Math.ceil(strLen / 16), String.fromCharCode(pad));\n        }\n\n        var iv = new Uint8Array(16);\n\n        if (typeof crypto !== \"undefined\") {\n          crypto.getRandomValues(iv);\n        } else {\n          for (var i = 0; i < 16; i++) {\n            iv[i] = Math.floor(256 * Math.random());\n          }\n        }\n\n        var _data = (0, _util.stringToBytes)(s);\n\n        _data = cipher.encrypt(_data, iv);\n        var buf = new Uint8Array(16 + _data.length);\n        buf.set(iv);\n        buf.set(_data, 16);\n        return (0, _util.bytesToString)(buf);\n      }\n\n      var data = (0, _util.stringToBytes)(s);\n      data = cipher.encrypt(data);\n      return (0, _util.bytesToString)(data);\n    }\n  };\n  return CipherTransform;\n}();\n\nvar CipherTransformFactory = function CipherTransformFactoryClosure() {\n  var defaultPasswordBytes = new Uint8Array([0x28, 0xBF, 0x4E, 0x5E, 0x4E, 0x75, 0x8A, 0x41, 0x64, 0x00, 0x4E, 0x56, 0xFF, 0xFA, 0x01, 0x08, 0x2E, 0x2E, 0x00, 0xB6, 0xD0, 0x68, 0x3E, 0x80, 0x2F, 0x0C, 0xA9, 0xFE, 0x64, 0x53, 0x69, 0x7A]);\n\n  function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) {\n    if (password) {\n      var passwordLength = Math.min(127, password.length);\n      password = password.subarray(0, passwordLength);\n    } else {\n      password = [];\n    }\n\n    var pdfAlgorithm;\n\n    if (revision === 6) {\n      pdfAlgorithm = new PDF20();\n    } else {\n      pdfAlgorithm = new PDF17();\n    }\n\n    if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) {\n      return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption);\n    } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) {\n      return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption);\n    }\n\n    return null;\n  }\n\n  function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) {\n    var hashDataSize = 40 + ownerPassword.length + fileId.length;\n    var hashData = new Uint8Array(hashDataSize),\n        i = 0,\n        j,\n        n;\n\n    if (password) {\n      n = Math.min(32, password.length);\n\n      for (; i < n; ++i) {\n        hashData[i] = password[i];\n      }\n    }\n\n    j = 0;\n\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n\n    for (j = 0, n = ownerPassword.length; j < n; ++j) {\n      hashData[i++] = ownerPassword[j];\n    }\n\n    hashData[i++] = flags & 0xff;\n    hashData[i++] = flags >> 8 & 0xff;\n    hashData[i++] = flags >> 16 & 0xff;\n    hashData[i++] = flags >>> 24 & 0xff;\n\n    for (j = 0, n = fileId.length; j < n; ++j) {\n      hashData[i++] = fileId[j];\n    }\n\n    if (revision >= 4 && !encryptMetadata) {\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n      hashData[i++] = 0xff;\n    }\n\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, keyLengthInBytes);\n      }\n    }\n\n    var encryptionKey = hash.subarray(0, keyLengthInBytes);\n    var cipher, checkData;\n\n    if (revision >= 3) {\n      for (i = 0; i < 32; ++i) {\n        hashData[i] = defaultPasswordBytes[i];\n      }\n\n      for (j = 0, n = fileId.length; j < n; ++j) {\n        hashData[i++] = fileId[j];\n      }\n\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i));\n      n = encryptionKey.length;\n      var derivedKey = new Uint8Array(n),\n          k;\n\n      for (j = 1; j <= 19; ++j) {\n        for (k = 0; k < n; ++k) {\n          derivedKey[k] = encryptionKey[k] ^ j;\n        }\n\n        cipher = new ARCFourCipher(derivedKey);\n        checkData = cipher.encryptBlock(checkData);\n      }\n\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    } else {\n      cipher = new ARCFourCipher(encryptionKey);\n      checkData = cipher.encryptBlock(defaultPasswordBytes);\n\n      for (j = 0, n = checkData.length; j < n; ++j) {\n        if (userPassword[j] !== checkData[j]) {\n          return null;\n        }\n      }\n    }\n\n    return encryptionKey;\n  }\n\n  function decodeUserPassword(password, ownerPassword, revision, keyLength) {\n    var hashData = new Uint8Array(32),\n        i = 0,\n        j,\n        n;\n    n = Math.min(32, password.length);\n\n    for (; i < n; ++i) {\n      hashData[i] = password[i];\n    }\n\n    j = 0;\n\n    while (i < 32) {\n      hashData[i++] = defaultPasswordBytes[j++];\n    }\n\n    var hash = calculateMD5(hashData, 0, i);\n    var keyLengthInBytes = keyLength >> 3;\n\n    if (revision >= 3) {\n      for (j = 0; j < 50; ++j) {\n        hash = calculateMD5(hash, 0, hash.length);\n      }\n    }\n\n    var cipher, userPassword;\n\n    if (revision >= 3) {\n      userPassword = ownerPassword;\n      var derivedKey = new Uint8Array(keyLengthInBytes),\n          k;\n\n      for (j = 19; j >= 0; j--) {\n        for (k = 0; k < keyLengthInBytes; ++k) {\n          derivedKey[k] = hash[k] ^ j;\n        }\n\n        cipher = new ARCFourCipher(derivedKey);\n        userPassword = cipher.encryptBlock(userPassword);\n      }\n    } else {\n      cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes));\n      userPassword = cipher.encryptBlock(ownerPassword);\n    }\n\n    return userPassword;\n  }\n\n  var identityName = _primitives.Name.get(\"Identity\");\n\n  function CipherTransformFactory(dict, fileId, password) {\n    var filter = dict.get(\"Filter\");\n\n    if (!(0, _primitives.isName)(filter, \"Standard\")) {\n      throw new _util.FormatError(\"unknown encryption method\");\n    }\n\n    this.dict = dict;\n    var algorithm = dict.get(\"V\");\n\n    if (!Number.isInteger(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) {\n      throw new _util.FormatError(\"unsupported encryption algorithm\");\n    }\n\n    this.algorithm = algorithm;\n    var keyLength = dict.get(\"Length\");\n\n    if (!keyLength) {\n      if (algorithm <= 3) {\n        keyLength = 40;\n      } else {\n        var cfDict = dict.get(\"CF\");\n        var streamCryptoName = dict.get(\"StmF\");\n\n        if ((0, _primitives.isDict)(cfDict) && (0, _primitives.isName)(streamCryptoName)) {\n          cfDict.suppressEncryption = true;\n          var handlerDict = cfDict.get(streamCryptoName.name);\n          keyLength = handlerDict && handlerDict.get(\"Length\") || 128;\n\n          if (keyLength < 40) {\n            keyLength <<= 3;\n          }\n        }\n      }\n    }\n\n    if (!Number.isInteger(keyLength) || keyLength < 40 || keyLength % 8 !== 0) {\n      throw new _util.FormatError(\"invalid key length\");\n    }\n\n    var ownerPassword = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(0, 32);\n    var userPassword = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 32);\n    var flags = dict.get(\"P\");\n    var revision = dict.get(\"R\");\n    var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get(\"EncryptMetadata\") !== false;\n    this.encryptMetadata = encryptMetadata;\n    var fileIdBytes = (0, _util.stringToBytes)(fileId);\n    var passwordBytes;\n\n    if (password) {\n      if (revision === 6) {\n        try {\n          password = (0, _util.utf8StringToString)(password);\n        } catch (ex) {\n          (0, _util.warn)(\"CipherTransformFactory: \" + \"Unable to convert UTF8 encoded password.\");\n        }\n      }\n\n      passwordBytes = (0, _util.stringToBytes)(password);\n    }\n\n    var encryptionKey;\n\n    if (algorithm !== 5) {\n      encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    } else {\n      var ownerValidationSalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(32, 40);\n      var ownerKeySalt = (0, _util.stringToBytes)(dict.get(\"O\")).subarray(40, 48);\n      var uBytes = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(0, 48);\n      var userValidationSalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(32, 40);\n      var userKeySalt = (0, _util.stringToBytes)(dict.get(\"U\")).subarray(40, 48);\n      var ownerEncryption = (0, _util.stringToBytes)(dict.get(\"OE\"));\n      var userEncryption = (0, _util.stringToBytes)(dict.get(\"UE\"));\n      var perms = (0, _util.stringToBytes)(dict.get(\"Perms\"));\n      encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms);\n    }\n\n    if (!encryptionKey && !password) {\n      throw new _util.PasswordException(\"No password given\", _util.PasswordResponses.NEED_PASSWORD);\n    } else if (!encryptionKey && password) {\n      var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength);\n      encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata);\n    }\n\n    if (!encryptionKey) {\n      throw new _util.PasswordException(\"Incorrect Password\", _util.PasswordResponses.INCORRECT_PASSWORD);\n    }\n\n    this.encryptionKey = encryptionKey;\n\n    if (algorithm >= 4) {\n      var cf = dict.get(\"CF\");\n\n      if ((0, _primitives.isDict)(cf)) {\n        cf.suppressEncryption = true;\n      }\n\n      this.cf = cf;\n      this.stmf = dict.get(\"StmF\") || identityName;\n      this.strf = dict.get(\"StrF\") || identityName;\n      this.eff = dict.get(\"EFF\") || this.stmf;\n    }\n  }\n\n  function buildObjectKey(num, gen, encryptionKey, isAes) {\n    var key = new Uint8Array(encryptionKey.length + 9),\n        i,\n        n;\n\n    for (i = 0, n = encryptionKey.length; i < n; ++i) {\n      key[i] = encryptionKey[i];\n    }\n\n    key[i++] = num & 0xff;\n    key[i++] = num >> 8 & 0xff;\n    key[i++] = num >> 16 & 0xff;\n    key[i++] = gen & 0xff;\n    key[i++] = gen >> 8 & 0xff;\n\n    if (isAes) {\n      key[i++] = 0x73;\n      key[i++] = 0x41;\n      key[i++] = 0x6c;\n      key[i++] = 0x54;\n    }\n\n    var hash = calculateMD5(key, 0, i);\n    return hash.subarray(0, Math.min(encryptionKey.length + 5, 16));\n  }\n\n  function buildCipherConstructor(cf, name, num, gen, key) {\n    if (!(0, _primitives.isName)(name)) {\n      throw new _util.FormatError(\"Invalid crypt filter name.\");\n    }\n\n    var cryptFilter = cf.get(name.name);\n    var cfm;\n\n    if (cryptFilter !== null && cryptFilter !== undefined) {\n      cfm = cryptFilter.get(\"CFM\");\n    }\n\n    if (!cfm || cfm.name === \"None\") {\n      return function cipherTransformFactoryBuildCipherConstructorNone() {\n        return new NullCipher();\n      };\n    }\n\n    if (cfm.name === \"V2\") {\n      return function cipherTransformFactoryBuildCipherConstructorV2() {\n        return new ARCFourCipher(buildObjectKey(num, gen, key, false));\n      };\n    }\n\n    if (cfm.name === \"AESV2\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV2() {\n        return new AES128Cipher(buildObjectKey(num, gen, key, true));\n      };\n    }\n\n    if (cfm.name === \"AESV3\") {\n      return function cipherTransformFactoryBuildCipherConstructorAESV3() {\n        return new AES256Cipher(key);\n      };\n    }\n\n    throw new _util.FormatError(\"Unknown crypto method\");\n  }\n\n  CipherTransformFactory.prototype = {\n    createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) {\n      if (this.algorithm === 4 || this.algorithm === 5) {\n        return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey));\n      }\n\n      var key = buildObjectKey(num, gen, this.encryptionKey, false);\n\n      var cipherConstructor = function buildCipherCipherConstructor() {\n        return new ARCFourCipher(key);\n      };\n\n      return new CipherTransform(cipherConstructor, cipherConstructor);\n    }\n  };\n  return CipherTransformFactory;\n}();\n\nexports.CipherTransformFactory = CipherTransformFactory;\n\n/***/ }),\n/* 153 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.ColorSpace = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction resizeRgbImage(src, dest, w1, h1, w2, h2, alpha01) {\n  var COMPONENTS = 3;\n  alpha01 = alpha01 !== 1 ? 0 : alpha01;\n  var xRatio = w1 / w2;\n  var yRatio = h1 / h2;\n  var newIndex = 0,\n      oldIndex;\n  var xScaled = new Uint16Array(w2);\n  var w1Scanline = w1 * COMPONENTS;\n\n  for (var i = 0; i < w2; i++) {\n    xScaled[i] = Math.floor(i * xRatio) * COMPONENTS;\n  }\n\n  for (var _i = 0; _i < h2; _i++) {\n    var py = Math.floor(_i * yRatio) * w1Scanline;\n\n    for (var j = 0; j < w2; j++) {\n      oldIndex = py + xScaled[j];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      dest[newIndex++] = src[oldIndex++];\n      newIndex += alpha01;\n    }\n  }\n}\n\nvar ColorSpace = /*#__PURE__*/function () {\n  function ColorSpace(name, numComps) {\n    _classCallCheck(this, ColorSpace);\n\n    if (this.constructor === ColorSpace) {\n      (0, _util.unreachable)(\"Cannot initialize ColorSpace.\");\n    }\n\n    this.name = name;\n    this.numComps = numComps;\n  }\n\n  _createClass(ColorSpace, [{\n    key: \"getRgb\",\n    value: function getRgb(src, srcOffset) {\n      var rgb = new Uint8ClampedArray(3);\n      this.getRgbItem(src, srcOffset, rgb, 0);\n      return rgb;\n    }\n  }, {\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getRgbItem\");\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getRgbBuffer\");\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      (0, _util.unreachable)(\"Should not call ColorSpace.getOutputLength\");\n    }\n  }, {\n    key: \"isPassthrough\",\n    value: function isPassthrough(bits) {\n      return false;\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      return ColorSpace.isDefaultDecode(decodeMap, this.numComps);\n    }\n  }, {\n    key: \"fillRgb\",\n    value: function fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) {\n      var count = originalWidth * originalHeight;\n      var rgbBuf = null;\n      var numComponentColors = 1 << bpc;\n      var needsResizing = originalHeight !== height || originalWidth !== width;\n\n      if (this.isPassthrough(bpc)) {\n        rgbBuf = comps;\n      } else if (this.numComps === 1 && count > numComponentColors && this.name !== \"DeviceGray\" && this.name !== \"DeviceRGB\") {\n        var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors);\n\n        for (var i = 0; i < numComponentColors; i++) {\n          allColors[i] = i;\n        }\n\n        var colorMap = new Uint8ClampedArray(numComponentColors * 3);\n        this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0);\n\n        if (!needsResizing) {\n          var destPos = 0;\n\n          for (var _i2 = 0; _i2 < count; ++_i2) {\n            var key = comps[_i2] * 3;\n            dest[destPos++] = colorMap[key];\n            dest[destPos++] = colorMap[key + 1];\n            dest[destPos++] = colorMap[key + 2];\n            destPos += alpha01;\n          }\n        } else {\n          rgbBuf = new Uint8Array(count * 3);\n          var rgbPos = 0;\n\n          for (var _i3 = 0; _i3 < count; ++_i3) {\n            var _key = comps[_i3] * 3;\n\n            rgbBuf[rgbPos++] = colorMap[_key];\n            rgbBuf[rgbPos++] = colorMap[_key + 1];\n            rgbBuf[rgbPos++] = colorMap[_key + 2];\n          }\n        }\n      } else {\n        if (!needsResizing) {\n          this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01);\n        } else {\n          rgbBuf = new Uint8ClampedArray(count * 3);\n          this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0);\n        }\n      }\n\n      if (rgbBuf) {\n        if (needsResizing) {\n          resizeRgbImage(rgbBuf, dest, originalWidth, originalHeight, width, height, alpha01);\n        } else {\n          var _destPos = 0,\n              _rgbPos = 0;\n\n          for (var _i4 = 0, ii = width * actualHeight; _i4 < ii; _i4++) {\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            dest[_destPos++] = rgbBuf[_rgbPos++];\n            _destPos += alpha01;\n          }\n        }\n      }\n    }\n  }, {\n    key: \"usesZeroToOneRange\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"usesZeroToOneRange\", true);\n    }\n  }], [{\n    key: \"_cache\",\n    value: function _cache(cacheKey, xref, localColorSpaceCache, parsedColorSpace) {\n      if (!localColorSpaceCache) {\n        throw new Error('ColorSpace._cache - expected \"localColorSpaceCache\" argument.');\n      }\n\n      if (!parsedColorSpace) {\n        throw new Error('ColorSpace._cache - expected \"parsedColorSpace\" argument.');\n      }\n\n      var csName, csRef;\n\n      if (cacheKey instanceof _primitives.Ref) {\n        csRef = cacheKey;\n        cacheKey = xref.fetch(cacheKey);\n      }\n\n      if (cacheKey instanceof _primitives.Name) {\n        csName = cacheKey.name;\n      }\n\n      if (csName || csRef) {\n        localColorSpaceCache.set(csName, csRef, parsedColorSpace);\n      }\n    }\n  }, {\n    key: \"getCached\",\n    value: function getCached(cacheKey, xref, localColorSpaceCache) {\n      if (!localColorSpaceCache) {\n        throw new Error('ColorSpace.getCached - expected \"localColorSpaceCache\" argument.');\n      }\n\n      if (cacheKey instanceof _primitives.Ref) {\n        var localColorSpace = localColorSpaceCache.getByRef(cacheKey);\n\n        if (localColorSpace) {\n          return localColorSpace;\n        }\n\n        try {\n          cacheKey = xref.fetch(cacheKey);\n        } catch (ex) {\n          if (ex instanceof _core_utils.MissingDataException) {\n            throw ex;\n          }\n        }\n      }\n\n      if (cacheKey instanceof _primitives.Name) {\n        var _localColorSpace = localColorSpaceCache.getByName(cacheKey.name);\n\n        if (_localColorSpace) {\n          return _localColorSpace;\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"parseAsync\",\n    value: function () {\n      var _parseAsync = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref) {\n        var cs, xref, _ref$resources, resources, pdfFunctionFactory, localColorSpaceCache, parsedColorSpace;\n\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                cs = _ref.cs, xref = _ref.xref, _ref$resources = _ref.resources, resources = _ref$resources === void 0 ? null : _ref$resources, pdfFunctionFactory = _ref.pdfFunctionFactory, localColorSpaceCache = _ref.localColorSpaceCache;\n                parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n                this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n                return _context.abrupt(\"return\", parsedColorSpace);\n\n              case 4:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function parseAsync(_x) {\n        return _parseAsync.apply(this, arguments);\n      }\n\n      return parseAsync;\n    }()\n  }, {\n    key: \"parse\",\n    value: function parse(_ref2) {\n      var cs = _ref2.cs,\n          xref = _ref2.xref,\n          _ref2$resources = _ref2.resources,\n          resources = _ref2$resources === void 0 ? null : _ref2$resources,\n          pdfFunctionFactory = _ref2.pdfFunctionFactory,\n          localColorSpaceCache = _ref2.localColorSpaceCache;\n      var cachedColorSpace = this.getCached(cs, xref, localColorSpaceCache);\n\n      if (cachedColorSpace) {\n        return cachedColorSpace;\n      }\n\n      var parsedColorSpace = this._parse(cs, xref, resources, pdfFunctionFactory);\n\n      this._cache(cs, xref, localColorSpaceCache, parsedColorSpace);\n\n      return parsedColorSpace;\n    }\n  }, {\n    key: \"_parse\",\n    value: function _parse(cs, xref) {\n      var resources = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n      var pdfFunctionFactory = arguments.length > 3 ? arguments[3] : undefined;\n      cs = xref.fetchIfRef(cs);\n\n      if ((0, _primitives.isName)(cs)) {\n        switch (cs.name) {\n          case \"DeviceGray\":\n          case \"G\":\n            return this.singletons.gray;\n\n          case \"DeviceRGB\":\n          case \"RGB\":\n            return this.singletons.rgb;\n\n          case \"DeviceCMYK\":\n          case \"CMYK\":\n            return this.singletons.cmyk;\n\n          case \"Pattern\":\n            return new PatternCS(null);\n\n          default:\n            if ((0, _primitives.isDict)(resources)) {\n              var colorSpaces = resources.get(\"ColorSpace\");\n\n              if ((0, _primitives.isDict)(colorSpaces)) {\n                var resourcesCS = colorSpaces.get(cs.name);\n\n                if (resourcesCS) {\n                  if ((0, _primitives.isName)(resourcesCS)) {\n                    return this._parse(resourcesCS, xref, resources, pdfFunctionFactory);\n                  }\n\n                  cs = resourcesCS;\n                  break;\n                }\n              }\n            }\n\n            throw new _util.FormatError(\"Unrecognized ColorSpace: \".concat(cs.name));\n        }\n      }\n\n      if (Array.isArray(cs)) {\n        var mode = xref.fetchIfRef(cs[0]).name;\n        var params, numComps, baseCS, whitePoint, blackPoint, gamma;\n\n        switch (mode) {\n          case \"DeviceGray\":\n          case \"G\":\n            return this.singletons.gray;\n\n          case \"DeviceRGB\":\n          case \"RGB\":\n            return this.singletons.rgb;\n\n          case \"DeviceCMYK\":\n          case \"CMYK\":\n            return this.singletons.cmyk;\n\n          case \"CalGray\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            gamma = params.get(\"Gamma\");\n            return new CalGrayCS(whitePoint, blackPoint, gamma);\n\n          case \"CalRGB\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            gamma = params.getArray(\"Gamma\");\n            var matrix = params.getArray(\"Matrix\");\n            return new CalRGBCS(whitePoint, blackPoint, gamma, matrix);\n\n          case \"ICCBased\":\n            var stream = xref.fetchIfRef(cs[1]);\n            var dict = stream.dict;\n            numComps = dict.get(\"N\");\n            var alt = dict.get(\"Alternate\");\n\n            if (alt) {\n              var altCS = this._parse(alt, xref, resources, pdfFunctionFactory);\n\n              if (altCS.numComps === numComps) {\n                return altCS;\n              }\n\n              (0, _util.warn)(\"ICCBased color space: Ignoring incorrect /Alternate entry.\");\n            }\n\n            if (numComps === 1) {\n              return this.singletons.gray;\n            } else if (numComps === 3) {\n              return this.singletons.rgb;\n            } else if (numComps === 4) {\n              return this.singletons.cmyk;\n            }\n\n            break;\n\n          case \"Pattern\":\n            baseCS = cs[1] || null;\n\n            if (baseCS) {\n              baseCS = this._parse(baseCS, xref, resources, pdfFunctionFactory);\n            }\n\n            return new PatternCS(baseCS);\n\n          case \"Indexed\":\n          case \"I\":\n            baseCS = this._parse(cs[1], xref, resources, pdfFunctionFactory);\n            var hiVal = xref.fetchIfRef(cs[2]) + 1;\n            var lookup = xref.fetchIfRef(cs[3]);\n            return new IndexedCS(baseCS, hiVal, lookup);\n\n          case \"Separation\":\n          case \"DeviceN\":\n            var name = xref.fetchIfRef(cs[1]);\n            numComps = Array.isArray(name) ? name.length : 1;\n            baseCS = this._parse(cs[2], xref, resources, pdfFunctionFactory);\n            var tintFn = pdfFunctionFactory.create(cs[3]);\n            return new AlternateCS(numComps, baseCS, tintFn);\n\n          case \"Lab\":\n            params = xref.fetchIfRef(cs[1]);\n            whitePoint = params.getArray(\"WhitePoint\");\n            blackPoint = params.getArray(\"BlackPoint\");\n            var range = params.getArray(\"Range\");\n            return new LabCS(whitePoint, blackPoint, range);\n\n          default:\n            throw new _util.FormatError(\"Unimplemented ColorSpace object: \".concat(mode));\n        }\n      }\n\n      throw new _util.FormatError(\"Unrecognized ColorSpace object: \".concat(cs));\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decode, numComps) {\n      if (!Array.isArray(decode)) {\n        return true;\n      }\n\n      if (numComps * 2 !== decode.length) {\n        (0, _util.warn)(\"The decode map is not the correct length\");\n        return true;\n      }\n\n      for (var i = 0, ii = decode.length; i < ii; i += 2) {\n        if (decode[i] !== 0 || decode[i + 1] !== 1) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: \"singletons\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"singletons\", {\n        get gray() {\n          return (0, _util.shadow)(this, \"gray\", new DeviceGrayCS());\n        },\n\n        get rgb() {\n          return (0, _util.shadow)(this, \"rgb\", new DeviceRgbCS());\n        },\n\n        get cmyk() {\n          return (0, _util.shadow)(this, \"cmyk\", new DeviceCmykCS());\n        }\n\n      });\n    }\n  }]);\n\n  return ColorSpace;\n}();\n\nexports.ColorSpace = ColorSpace;\n\nvar AlternateCS = /*#__PURE__*/function (_ColorSpace) {\n  _inherits(AlternateCS, _ColorSpace);\n\n  var _super = _createSuper(AlternateCS);\n\n  function AlternateCS(numComps, base, tintFn) {\n    var _this;\n\n    _classCallCheck(this, AlternateCS);\n\n    _this = _super.call(this, \"Alternate\", numComps);\n    _this.base = base;\n    _this.tintFn = tintFn;\n    _this.tmpBuf = new Float32Array(base.numComps);\n    return _this;\n  }\n\n  _createClass(AlternateCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var tmpBuf = this.tmpBuf;\n      this.tintFn(src, srcOffset, tmpBuf, 0);\n      this.base.getRgbItem(tmpBuf, 0, dest, destOffset);\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var tintFn = this.tintFn;\n      var base = this.base;\n      var scale = 1 / ((1 << bits) - 1);\n      var baseNumComps = base.numComps;\n      var usesZeroToOneRange = base.usesZeroToOneRange;\n      var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0;\n      var pos = isPassthrough ? destOffset : 0;\n      var baseBuf = isPassthrough ? dest : new Uint8ClampedArray(baseNumComps * count);\n      var numComps = this.numComps;\n      var scaled = new Float32Array(numComps);\n      var tinted = new Float32Array(baseNumComps);\n      var i, j;\n\n      for (i = 0; i < count; i++) {\n        for (j = 0; j < numComps; j++) {\n          scaled[j] = src[srcOffset++] * scale;\n        }\n\n        tintFn(scaled, 0, tinted, 0);\n\n        if (usesZeroToOneRange) {\n          for (j = 0; j < baseNumComps; j++) {\n            baseBuf[pos++] = tinted[j] * 255;\n          }\n        } else {\n          base.getRgbItem(tinted, 0, baseBuf, pos);\n          pos += baseNumComps;\n        }\n      }\n\n      if (!isPassthrough) {\n        base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01);\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01);\n    }\n  }]);\n\n  return AlternateCS;\n}(ColorSpace);\n\nvar PatternCS = /*#__PURE__*/function (_ColorSpace2) {\n  _inherits(PatternCS, _ColorSpace2);\n\n  var _super2 = _createSuper(PatternCS);\n\n  function PatternCS(baseCS) {\n    var _this2;\n\n    _classCallCheck(this, PatternCS);\n\n    _this2 = _super2.call(this, \"Pattern\", null);\n    _this2.base = baseCS;\n    return _this2;\n  }\n\n  _createClass(PatternCS, [{\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      (0, _util.unreachable)(\"Should not call PatternCS.isDefaultDecode\");\n    }\n  }]);\n\n  return PatternCS;\n}(ColorSpace);\n\nvar IndexedCS = /*#__PURE__*/function (_ColorSpace3) {\n  _inherits(IndexedCS, _ColorSpace3);\n\n  var _super3 = _createSuper(IndexedCS);\n\n  function IndexedCS(base, highVal, lookup) {\n    var _this3;\n\n    _classCallCheck(this, IndexedCS);\n\n    _this3 = _super3.call(this, \"Indexed\", 1);\n    _this3.base = base;\n    _this3.highVal = highVal;\n    var length = base.numComps * highVal;\n    _this3.lookup = new Uint8Array(length);\n\n    if ((0, _primitives.isStream)(lookup)) {\n      var bytes = lookup.getBytes(length);\n\n      _this3.lookup.set(bytes);\n    } else if (typeof lookup === \"string\") {\n      for (var i = 0; i < length; ++i) {\n        _this3.lookup[i] = lookup.charCodeAt(i) & 0xff;\n      }\n    } else {\n      throw new _util.FormatError(\"IndexedCS - unrecognized lookup table: \".concat(lookup));\n    }\n\n    return _this3;\n  }\n\n  _createClass(IndexedCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var numComps = this.base.numComps;\n      var start = src[srcOffset] * numComps;\n      this.base.getRgbBuffer(this.lookup, start, 1, dest, destOffset, 8, 0);\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var base = this.base;\n      var numComps = base.numComps;\n      var outputDelta = base.getOutputLength(numComps, alpha01);\n      var lookup = this.lookup;\n\n      for (var i = 0; i < count; ++i) {\n        var lookupPos = src[srcOffset++] * numComps;\n        base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01);\n        destOffset += outputDelta;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return this.base.getOutputLength(inputLength * this.base.numComps, alpha01);\n    }\n  }, {\n    key: \"isDefaultDecode\",\n    value: function isDefaultDecode(decodeMap, bpc) {\n      if (!Array.isArray(decodeMap)) {\n        return true;\n      }\n\n      if (decodeMap.length !== 2) {\n        (0, _util.warn)(\"Decode map length is not correct\");\n        return true;\n      }\n\n      if (!Number.isInteger(bpc) || bpc < 1) {\n        (0, _util.warn)(\"Bits per component is not correct\");\n        return true;\n      }\n\n      return decodeMap[0] === 0 && decodeMap[1] === (1 << bpc) - 1;\n    }\n  }]);\n\n  return IndexedCS;\n}(ColorSpace);\n\nvar DeviceGrayCS = /*#__PURE__*/function (_ColorSpace4) {\n  _inherits(DeviceGrayCS, _ColorSpace4);\n\n  var _super4 = _createSuper(DeviceGrayCS);\n\n  function DeviceGrayCS() {\n    _classCallCheck(this, DeviceGrayCS);\n\n    return _super4.call(this, \"DeviceGray\", 1);\n  }\n\n  _createClass(DeviceGrayCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      var c = src[srcOffset] * 255;\n      dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c;\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n\n      for (var i = 0; i < count; ++i) {\n        var c = scale * src[j++];\n        dest[q++] = c;\n        dest[q++] = c;\n        dest[q++] = c;\n        q += alpha01;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01);\n    }\n  }]);\n\n  return DeviceGrayCS;\n}(ColorSpace);\n\nvar DeviceRgbCS = /*#__PURE__*/function (_ColorSpace5) {\n  _inherits(DeviceRgbCS, _ColorSpace5);\n\n  var _super5 = _createSuper(DeviceRgbCS);\n\n  function DeviceRgbCS() {\n    _classCallCheck(this, DeviceRgbCS);\n\n    return _super5.call(this, \"DeviceRGB\", 3);\n  }\n\n  _createClass(DeviceRgbCS, [{\n    key: \"getRgbItem\",\n    value: function getRgbItem(src, srcOffset, dest, destOffset) {\n      dest[destOffset] = src[srcOffset] * 255;\n      dest[destOffset + 1] = src[srcOffset + 1] * 255;\n      dest[destOffset + 2] = src[srcOffset + 2] * 255;\n    }\n  }, {\n    key: \"getRgbBuffer\",\n    value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n      if (bits === 8 && alpha01 === 0) {\n        dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset);\n        return;\n      }\n\n      var scale = 255 / ((1 << bits) - 1);\n      var j = srcOffset,\n          q = destOffset;\n\n      for (var i = 0; i < count; ++i) {\n        dest[q++] = scale * src[j++];\n        dest[q++] = scale * src[j++];\n        dest[q++] = scale * src[j++];\n        q += alpha01;\n      }\n    }\n  }, {\n    key: \"getOutputLength\",\n    value: function getOutputLength(inputLength, alpha01) {\n      return inputLength * (3 + alpha01) / 3 | 0;\n    }\n  }, {\n    key: \"isPassthrough\",\n    value: function isPassthrough(bits) {\n      return bits === 8;\n    }\n  }]);\n\n  return DeviceRgbCS;\n}(ColorSpace);\n\nvar DeviceCmykCS = function DeviceCmykCSClosure() {\n  function convertToRgb(src, srcOffset, srcScale, dest, destOffset) {\n    var c = src[srcOffset] * srcScale;\n    var m = src[srcOffset + 1] * srcScale;\n    var y = src[srcOffset + 2] * srcScale;\n    var k = src[srcOffset + 3] * srcScale;\n    dest[destOffset] = 255 + c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747);\n    dest[destOffset + 1] = 255 + c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578);\n    dest[destOffset + 2] = 255 + c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367);\n  }\n\n  var DeviceCmykCS = /*#__PURE__*/function (_ColorSpace6) {\n    _inherits(DeviceCmykCS, _ColorSpace6);\n\n    var _super6 = _createSuper(DeviceCmykCS);\n\n    function DeviceCmykCS() {\n      _classCallCheck(this, DeviceCmykCS);\n\n      return _super6.call(this, \"DeviceCMYK\", 4);\n    }\n\n    _createClass(DeviceCmykCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(src, srcOffset, 1, dest, destOffset);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; i++) {\n          convertToRgb(src, srcOffset, scale, dest, destOffset);\n          srcOffset += 4;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength / 4 * (3 + alpha01) | 0;\n      }\n    }]);\n\n    return DeviceCmykCS;\n  }(ColorSpace);\n\n  return DeviceCmykCS;\n}();\n\nvar CalGrayCS = function CalGrayCSClosure() {\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = src[srcOffset] * scale;\n    var AG = Math.pow(A, cs.G);\n    var L = cs.YW * AG;\n    var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0);\n    dest[destOffset] = val;\n    dest[destOffset + 1] = val;\n    dest[destOffset + 2] = val;\n  }\n\n  var CalGrayCS = /*#__PURE__*/function (_ColorSpace7) {\n    _inherits(CalGrayCS, _ColorSpace7);\n\n    var _super7 = _createSuper(CalGrayCS);\n\n    function CalGrayCS(whitePoint, blackPoint, gamma) {\n      var _this4;\n\n      _classCallCheck(this, CalGrayCS);\n\n      _this4 = _super7.call(this, \"CalGray\", 1);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space CalGray\");\n      }\n\n      blackPoint = blackPoint || [0, 0, 0];\n      gamma = gamma || 1;\n      _this4.XW = whitePoint[0];\n      _this4.YW = whitePoint[1];\n      _this4.ZW = whitePoint[2];\n      _this4.XB = blackPoint[0];\n      _this4.YB = blackPoint[1];\n      _this4.ZB = blackPoint[2];\n      _this4.G = gamma;\n\n      if (_this4.XW < 0 || _this4.ZW < 0 || _this4.YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this4.name) + \", no fallback available\");\n      }\n\n      if (_this4.XB < 0 || _this4.YB < 0 || _this4.ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint for \".concat(_this4.name, \", falling back to default.\"));\n        _this4.XB = _this4.YB = _this4.ZB = 0;\n      }\n\n      if (_this4.XB !== 0 || _this4.YB !== 0 || _this4.ZB !== 0) {\n        (0, _util.warn)(\"\".concat(_this4.name, \", BlackPoint: XB: \").concat(_this4.XB, \", YB: \").concat(_this4.YB, \", \") + \"ZB: \".concat(_this4.ZB, \", only default values are supported.\"));\n      }\n\n      if (_this4.G < 1) {\n        (0, _util.info)(\"Invalid Gamma: \".concat(_this4.G, \" for \").concat(_this4.name, \", \") + \"falling back to default.\");\n        _this4.G = 1;\n      }\n\n      return _this4;\n    }\n\n    _createClass(CalGrayCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; ++i) {\n          convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n          srcOffset += 1;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01);\n      }\n    }]);\n\n    return CalGrayCS;\n  }(ColorSpace);\n\n  return CalGrayCS;\n}();\n\nvar CalRGBCS = function CalRGBCSClosure() {\n  var BRADFORD_SCALE_MATRIX = new Float32Array([0.8951, 0.2664, -0.1614, -0.7502, 1.7135, 0.0367, 0.0389, -0.0685, 1.0296]);\n  var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([0.9869929, -0.1470543, 0.1599627, 0.4323053, 0.5183603, 0.0492912, -0.0085287, 0.0400428, 0.9684867]);\n  var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([3.2404542, -1.5371385, -0.4985314, -0.9692660, 1.8760108, 0.0415560, 0.0556434, -0.2040259, 1.0572252]);\n  var FLAT_WHITEPOINT_MATRIX = new Float32Array([1, 1, 1]);\n  var tempNormalizeMatrix = new Float32Array(3);\n  var tempConvertMatrix1 = new Float32Array(3);\n  var tempConvertMatrix2 = new Float32Array(3);\n  var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0;\n\n  function matrixProduct(a, b, result) {\n    result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2];\n    result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2];\n    result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2];\n  }\n\n  function convertToFlat(sourceWhitePoint, LMS, result) {\n    result[0] = LMS[0] * 1 / sourceWhitePoint[0];\n    result[1] = LMS[1] * 1 / sourceWhitePoint[1];\n    result[2] = LMS[2] * 1 / sourceWhitePoint[2];\n  }\n\n  function convertToD65(sourceWhitePoint, LMS, result) {\n    var D65X = 0.95047;\n    var D65Y = 1;\n    var D65Z = 1.08883;\n    result[0] = LMS[0] * D65X / sourceWhitePoint[0];\n    result[1] = LMS[1] * D65Y / sourceWhitePoint[1];\n    result[2] = LMS[2] * D65Z / sourceWhitePoint[2];\n  }\n\n  function sRGBTransferFunction(color) {\n    if (color <= 0.0031308) {\n      return adjustToRange(0, 1, 12.92 * color);\n    }\n\n    if (color >= 0.99554525) {\n      return 1;\n    }\n\n    return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055);\n  }\n\n  function adjustToRange(min, max, value) {\n    return Math.max(min, Math.min(max, value));\n  }\n\n  function decodeL(L) {\n    if (L < 0) {\n      return -decodeL(-L);\n    }\n\n    if (L > 8.0) {\n      return Math.pow((L + 16) / 116, 3);\n    }\n\n    return L * DECODE_L_CONSTANT;\n  }\n\n  function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) {\n    if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) {\n      result[0] = XYZ_Flat[0];\n      result[1] = XYZ_Flat[1];\n      result[2] = XYZ_Flat[2];\n      return;\n    }\n\n    var zeroDecodeL = decodeL(0);\n    var X_DST = zeroDecodeL;\n    var X_SRC = decodeL(sourceBlackPoint[0]);\n    var Y_DST = zeroDecodeL;\n    var Y_SRC = decodeL(sourceBlackPoint[1]);\n    var Z_DST = zeroDecodeL;\n    var Z_SRC = decodeL(sourceBlackPoint[2]);\n    var X_Scale = (1 - X_DST) / (1 - X_SRC);\n    var X_Offset = 1 - X_Scale;\n    var Y_Scale = (1 - Y_DST) / (1 - Y_SRC);\n    var Y_Offset = 1 - Y_Scale;\n    var Z_Scale = (1 - Z_DST) / (1 - Z_SRC);\n    var Z_Offset = 1 - Z_Scale;\n    result[0] = XYZ_Flat[0] * X_Scale + X_Offset;\n    result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset;\n    result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset;\n  }\n\n  function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) {\n    if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) {\n      result[0] = XYZ_In[0];\n      result[1] = XYZ_In[1];\n      result[2] = XYZ_In[2];\n      return;\n    }\n\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_Flat = tempNormalizeMatrix;\n    convertToFlat(sourceWhitePoint, LMS, LMS_Flat);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result);\n  }\n\n  function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) {\n    var LMS = result;\n    matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS);\n    var LMS_D65 = tempNormalizeMatrix;\n    convertToD65(sourceWhitePoint, LMS, LMS_D65);\n    matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result);\n  }\n\n  function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) {\n    var A = adjustToRange(0, 1, src[srcOffset] * scale);\n    var B = adjustToRange(0, 1, src[srcOffset + 1] * scale);\n    var C = adjustToRange(0, 1, src[srcOffset + 2] * scale);\n    var AGR = A === 1 ? 1 : Math.pow(A, cs.GR);\n    var BGG = B === 1 ? 1 : Math.pow(B, cs.GG);\n    var CGB = C === 1 ? 1 : Math.pow(C, cs.GB);\n    var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB;\n    var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB;\n    var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB;\n    var XYZ = tempConvertMatrix1;\n    XYZ[0] = X;\n    XYZ[1] = Y;\n    XYZ[2] = Z;\n    var XYZ_Flat = tempConvertMatrix2;\n    normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat);\n    var XYZ_Black = tempConvertMatrix1;\n    compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black);\n    var XYZ_D65 = tempConvertMatrix2;\n    normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65);\n    var SRGB = tempConvertMatrix1;\n    matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB);\n    dest[destOffset] = sRGBTransferFunction(SRGB[0]) * 255;\n    dest[destOffset + 1] = sRGBTransferFunction(SRGB[1]) * 255;\n    dest[destOffset + 2] = sRGBTransferFunction(SRGB[2]) * 255;\n  }\n\n  var CalRGBCS = /*#__PURE__*/function (_ColorSpace8) {\n    _inherits(CalRGBCS, _ColorSpace8);\n\n    var _super8 = _createSuper(CalRGBCS);\n\n    function CalRGBCS(whitePoint, blackPoint, gamma, matrix) {\n      var _this5;\n\n      _classCallCheck(this, CalRGBCS);\n\n      _this5 = _super8.call(this, \"CalRGB\", 3);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space CalRGB\");\n      }\n\n      blackPoint = blackPoint || new Float32Array(3);\n      gamma = gamma || new Float32Array([1, 1, 1]);\n      matrix = matrix || new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);\n      var XW = whitePoint[0];\n      var YW = whitePoint[1];\n      var ZW = whitePoint[2];\n      _this5.whitePoint = whitePoint;\n      var XB = blackPoint[0];\n      var YB = blackPoint[1];\n      var ZB = blackPoint[2];\n      _this5.blackPoint = blackPoint;\n      _this5.GR = gamma[0];\n      _this5.GG = gamma[1];\n      _this5.GB = gamma[2];\n      _this5.MXA = matrix[0];\n      _this5.MYA = matrix[1];\n      _this5.MZA = matrix[2];\n      _this5.MXB = matrix[3];\n      _this5.MYB = matrix[4];\n      _this5.MZB = matrix[5];\n      _this5.MXC = matrix[6];\n      _this5.MYC = matrix[7];\n      _this5.MZC = matrix[8];\n\n      if (XW < 0 || ZW < 0 || YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components for \".concat(_this5.name) + \", no fallback available\");\n      }\n\n      if (XB < 0 || YB < 0 || ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint for \".concat(_this5.name, \" [\").concat(XB, \", \").concat(YB, \", \").concat(ZB, \"], \") + \"falling back to default.\");\n        _this5.blackPoint = new Float32Array(3);\n      }\n\n      if (_this5.GR < 0 || _this5.GG < 0 || _this5.GB < 0) {\n        (0, _util.info)(\"Invalid Gamma [\".concat(_this5.GR, \", \").concat(_this5.GG, \", \").concat(_this5.GB, \"] for \") + \"\".concat(_this5.name, \", falling back to default.\"));\n        _this5.GR = _this5.GG = _this5.GB = 1;\n      }\n\n      return _this5;\n    }\n\n    _createClass(CalRGBCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, dest, destOffset, 1);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var scale = 1 / ((1 << bits) - 1);\n\n        for (var i = 0; i < count; ++i) {\n          convertToRgb(this, src, srcOffset, dest, destOffset, scale);\n          srcOffset += 3;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01) / 3 | 0;\n      }\n    }]);\n\n    return CalRGBCS;\n  }(ColorSpace);\n\n  return CalRGBCS;\n}();\n\nvar LabCS = function LabCSClosure() {\n  function fn_g(x) {\n    var result;\n\n    if (x >= 6 / 29) {\n      result = x * x * x;\n    } else {\n      result = 108 / 841 * (x - 4 / 29);\n    }\n\n    return result;\n  }\n\n  function decode(value, high1, low2, high2) {\n    return low2 + value * (high2 - low2) / high1;\n  }\n\n  function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) {\n    var Ls = src[srcOffset];\n    var as = src[srcOffset + 1];\n    var bs = src[srcOffset + 2];\n\n    if (maxVal !== false) {\n      Ls = decode(Ls, maxVal, 0, 100);\n      as = decode(as, maxVal, cs.amin, cs.amax);\n      bs = decode(bs, maxVal, cs.bmin, cs.bmax);\n    }\n\n    if (as > cs.amax) {\n      as = cs.amax;\n    } else if (as < cs.amin) {\n      as = cs.amin;\n    }\n\n    if (bs > cs.bmax) {\n      bs = cs.bmax;\n    } else if (bs < cs.bmin) {\n      bs = cs.bmin;\n    }\n\n    var M = (Ls + 16) / 116;\n    var L = M + as / 500;\n    var N = M - bs / 200;\n    var X = cs.XW * fn_g(L);\n    var Y = cs.YW * fn_g(M);\n    var Z = cs.ZW * fn_g(N);\n    var r, g, b;\n\n    if (cs.ZW < 1) {\n      r = X * 3.1339 + Y * -1.617 + Z * -0.4906;\n      g = X * -0.9785 + Y * 1.916 + Z * 0.0333;\n      b = X * 0.072 + Y * -0.229 + Z * 1.4057;\n    } else {\n      r = X * 3.2406 + Y * -1.5372 + Z * -0.4986;\n      g = X * -0.9689 + Y * 1.8758 + Z * 0.0415;\n      b = X * 0.0557 + Y * -0.204 + Z * 1.057;\n    }\n\n    dest[destOffset] = Math.sqrt(r) * 255;\n    dest[destOffset + 1] = Math.sqrt(g) * 255;\n    dest[destOffset + 2] = Math.sqrt(b) * 255;\n  }\n\n  var LabCS = /*#__PURE__*/function (_ColorSpace9) {\n    _inherits(LabCS, _ColorSpace9);\n\n    var _super9 = _createSuper(LabCS);\n\n    function LabCS(whitePoint, blackPoint, range) {\n      var _this6;\n\n      _classCallCheck(this, LabCS);\n\n      _this6 = _super9.call(this, \"Lab\", 3);\n\n      if (!whitePoint) {\n        throw new _util.FormatError(\"WhitePoint missing - required for color space Lab\");\n      }\n\n      blackPoint = blackPoint || [0, 0, 0];\n      range = range || [-100, 100, -100, 100];\n      _this6.XW = whitePoint[0];\n      _this6.YW = whitePoint[1];\n      _this6.ZW = whitePoint[2];\n      _this6.amin = range[0];\n      _this6.amax = range[1];\n      _this6.bmin = range[2];\n      _this6.bmax = range[3];\n      _this6.XB = blackPoint[0];\n      _this6.YB = blackPoint[1];\n      _this6.ZB = blackPoint[2];\n\n      if (_this6.XW < 0 || _this6.ZW < 0 || _this6.YW !== 1) {\n        throw new _util.FormatError(\"Invalid WhitePoint components, no fallback available\");\n      }\n\n      if (_this6.XB < 0 || _this6.YB < 0 || _this6.ZB < 0) {\n        (0, _util.info)(\"Invalid BlackPoint, falling back to default\");\n        _this6.XB = _this6.YB = _this6.ZB = 0;\n      }\n\n      if (_this6.amin > _this6.amax || _this6.bmin > _this6.bmax) {\n        (0, _util.info)(\"Invalid Range, falling back to defaults\");\n        _this6.amin = -100;\n        _this6.amax = 100;\n        _this6.bmin = -100;\n        _this6.bmax = 100;\n      }\n\n      return _this6;\n    }\n\n    _createClass(LabCS, [{\n      key: \"getRgbItem\",\n      value: function getRgbItem(src, srcOffset, dest, destOffset) {\n        convertToRgb(this, src, srcOffset, false, dest, destOffset);\n      }\n    }, {\n      key: \"getRgbBuffer\",\n      value: function getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) {\n        var maxVal = (1 << bits) - 1;\n\n        for (var i = 0; i < count; i++) {\n          convertToRgb(this, src, srcOffset, maxVal, dest, destOffset);\n          srcOffset += 3;\n          destOffset += 3 + alpha01;\n        }\n      }\n    }, {\n      key: \"getOutputLength\",\n      value: function getOutputLength(inputLength, alpha01) {\n        return inputLength * (3 + alpha01) / 3 | 0;\n      }\n    }, {\n      key: \"isDefaultDecode\",\n      value: function isDefaultDecode(decodeMap, bpc) {\n        return true;\n      }\n    }, {\n      key: \"usesZeroToOneRange\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"usesZeroToOneRange\", false);\n      }\n    }]);\n\n    return LabCS;\n  }(ColorSpace);\n\n  return LabCS;\n}();\n\n/***/ }),\n/* 154 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.LocalTilingPatternCache = exports.LocalImageCache = exports.LocalGStateCache = exports.LocalFunctionCache = exports.LocalColorSpaceCache = exports.GlobalImageCache = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BaseLocalCache = /*#__PURE__*/function () {\n  function BaseLocalCache(options) {\n    _classCallCheck(this, BaseLocalCache);\n\n    if (this.constructor === BaseLocalCache) {\n      (0, _util.unreachable)(\"Cannot initialize BaseLocalCache.\");\n    }\n\n    if (!options || !options.onlyRefs) {\n      this._nameRefMap = new Map();\n      this._imageMap = new Map();\n    }\n\n    this._imageCache = new _primitives.RefSetCache();\n  }\n\n  _createClass(BaseLocalCache, [{\n    key: \"getByName\",\n    value: function getByName(name) {\n      var ref = this._nameRefMap.get(name);\n\n      if (ref) {\n        return this.getByRef(ref);\n      }\n\n      return this._imageMap.get(name) || null;\n    }\n  }, {\n    key: \"getByRef\",\n    value: function getByRef(ref) {\n      return this._imageCache.get(ref) || null;\n    }\n  }, {\n    key: \"set\",\n    value: function set(name, ref, data) {\n      (0, _util.unreachable)(\"Abstract method `set` called.\");\n    }\n  }]);\n\n  return BaseLocalCache;\n}();\n\nvar LocalImageCache = /*#__PURE__*/function (_BaseLocalCache) {\n  _inherits(LocalImageCache, _BaseLocalCache);\n\n  var _super = _createSuper(LocalImageCache);\n\n  function LocalImageCache() {\n    _classCallCheck(this, LocalImageCache);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(LocalImageCache, [{\n    key: \"set\",\n    value: function set(name) {\n      var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!name) {\n        throw new Error('LocalImageCache.set - expected \"name\" argument.');\n      }\n\n      if (ref) {\n        if (this._imageCache.has(ref)) {\n          return;\n        }\n\n        this._nameRefMap.set(name, ref);\n\n        this._imageCache.put(ref, data);\n\n        return;\n      }\n\n      if (this._imageMap.has(name)) {\n        return;\n      }\n\n      this._imageMap.set(name, data);\n    }\n  }]);\n\n  return LocalImageCache;\n}(BaseLocalCache);\n\nexports.LocalImageCache = LocalImageCache;\n\nvar LocalColorSpaceCache = /*#__PURE__*/function (_BaseLocalCache2) {\n  _inherits(LocalColorSpaceCache, _BaseLocalCache2);\n\n  var _super2 = _createSuper(LocalColorSpaceCache);\n\n  function LocalColorSpaceCache() {\n    _classCallCheck(this, LocalColorSpaceCache);\n\n    return _super2.apply(this, arguments);\n  }\n\n  _createClass(LocalColorSpaceCache, [{\n    key: \"set\",\n    value: function set() {\n      var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!name && !ref) {\n        throw new Error('LocalColorSpaceCache.set - expected \"name\" and/or \"ref\" argument.');\n      }\n\n      if (ref) {\n        if (this._imageCache.has(ref)) {\n          return;\n        }\n\n        if (name) {\n          this._nameRefMap.set(name, ref);\n        }\n\n        this._imageCache.put(ref, data);\n\n        return;\n      }\n\n      if (this._imageMap.has(name)) {\n        return;\n      }\n\n      this._imageMap.set(name, data);\n    }\n  }]);\n\n  return LocalColorSpaceCache;\n}(BaseLocalCache);\n\nexports.LocalColorSpaceCache = LocalColorSpaceCache;\n\nvar LocalFunctionCache = /*#__PURE__*/function (_BaseLocalCache3) {\n  _inherits(LocalFunctionCache, _BaseLocalCache3);\n\n  var _super3 = _createSuper(LocalFunctionCache);\n\n  function LocalFunctionCache(options) {\n    _classCallCheck(this, LocalFunctionCache);\n\n    return _super3.call(this, {\n      onlyRefs: true\n    });\n  }\n\n  _createClass(LocalFunctionCache, [{\n    key: \"getByName\",\n    value: function getByName(name) {\n      (0, _util.unreachable)(\"Should not call `getByName` method.\");\n    }\n  }, {\n    key: \"set\",\n    value: function set() {\n      var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      var ref = arguments.length > 1 ? arguments[1] : undefined;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!ref) {\n        throw new Error('LocalFunctionCache.set - expected \"ref\" argument.');\n      }\n\n      if (this._imageCache.has(ref)) {\n        return;\n      }\n\n      this._imageCache.put(ref, data);\n    }\n  }]);\n\n  return LocalFunctionCache;\n}(BaseLocalCache);\n\nexports.LocalFunctionCache = LocalFunctionCache;\n\nvar LocalGStateCache = /*#__PURE__*/function (_BaseLocalCache4) {\n  _inherits(LocalGStateCache, _BaseLocalCache4);\n\n  var _super4 = _createSuper(LocalGStateCache);\n\n  function LocalGStateCache() {\n    _classCallCheck(this, LocalGStateCache);\n\n    return _super4.apply(this, arguments);\n  }\n\n  _createClass(LocalGStateCache, [{\n    key: \"set\",\n    value: function set(name) {\n      var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!name) {\n        throw new Error('LocalGStateCache.set - expected \"name\" argument.');\n      }\n\n      if (ref) {\n        if (this._imageCache.has(ref)) {\n          return;\n        }\n\n        this._nameRefMap.set(name, ref);\n\n        this._imageCache.put(ref, data);\n\n        return;\n      }\n\n      if (this._imageMap.has(name)) {\n        return;\n      }\n\n      this._imageMap.set(name, data);\n    }\n  }]);\n\n  return LocalGStateCache;\n}(BaseLocalCache);\n\nexports.LocalGStateCache = LocalGStateCache;\n\nvar LocalTilingPatternCache = /*#__PURE__*/function (_BaseLocalCache5) {\n  _inherits(LocalTilingPatternCache, _BaseLocalCache5);\n\n  var _super5 = _createSuper(LocalTilingPatternCache);\n\n  function LocalTilingPatternCache() {\n    _classCallCheck(this, LocalTilingPatternCache);\n\n    return _super5.apply(this, arguments);\n  }\n\n  _createClass(LocalTilingPatternCache, [{\n    key: \"set\",\n    value: function set(name) {\n      var ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n      var data = arguments.length > 2 ? arguments[2] : undefined;\n\n      if (!name) {\n        throw new Error('LocalTilingPatternCache.set - expected \"name\" argument.');\n      }\n\n      if (ref) {\n        if (this._imageCache.has(ref)) {\n          return;\n        }\n\n        this._nameRefMap.set(name, ref);\n\n        this._imageCache.put(ref, data);\n\n        return;\n      }\n\n      if (this._imageMap.has(name)) {\n        return;\n      }\n\n      this._imageMap.set(name, data);\n    }\n  }]);\n\n  return LocalTilingPatternCache;\n}(BaseLocalCache);\n\nexports.LocalTilingPatternCache = LocalTilingPatternCache;\n\nvar GlobalImageCache = /*#__PURE__*/function () {\n  _createClass(GlobalImageCache, null, [{\n    key: \"NUM_PAGES_THRESHOLD\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"NUM_PAGES_THRESHOLD\", 2);\n    }\n  }, {\n    key: \"MAX_IMAGES_TO_CACHE\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"MAX_IMAGES_TO_CACHE\", 10);\n    }\n  }]);\n\n  function GlobalImageCache() {\n    _classCallCheck(this, GlobalImageCache);\n\n    this._refCache = new _primitives.RefSetCache();\n    this._imageCache = new _primitives.RefSetCache();\n  }\n\n  _createClass(GlobalImageCache, [{\n    key: \"shouldCache\",\n    value: function shouldCache(ref, pageIndex) {\n      var pageIndexSet = this._refCache.get(ref);\n\n      var numPages = pageIndexSet ? pageIndexSet.size + (pageIndexSet.has(pageIndex) ? 0 : 1) : 1;\n\n      if (numPages < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n        return false;\n      }\n\n      if (!this._imageCache.has(ref) && this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n        return false;\n      }\n\n      return true;\n    }\n  }, {\n    key: \"addPageIndex\",\n    value: function addPageIndex(ref, pageIndex) {\n      var pageIndexSet = this._refCache.get(ref);\n\n      if (!pageIndexSet) {\n        pageIndexSet = new Set();\n\n        this._refCache.put(ref, pageIndexSet);\n      }\n\n      pageIndexSet.add(pageIndex);\n    }\n  }, {\n    key: \"getData\",\n    value: function getData(ref, pageIndex) {\n      var pageIndexSet = this._refCache.get(ref);\n\n      if (!pageIndexSet) {\n        return null;\n      }\n\n      if (pageIndexSet.size < GlobalImageCache.NUM_PAGES_THRESHOLD) {\n        return null;\n      }\n\n      if (!this._imageCache.has(ref)) {\n        return null;\n      }\n\n      pageIndexSet.add(pageIndex);\n      return this._imageCache.get(ref);\n    }\n  }, {\n    key: \"setData\",\n    value: function setData(ref, data) {\n      if (!this._refCache.has(ref)) {\n        throw new Error('GlobalImageCache.setData - expected \"addPageIndex\" to have been called.');\n      }\n\n      if (this._imageCache.has(ref)) {\n        return;\n      }\n\n      if (this._imageCache.size >= GlobalImageCache.MAX_IMAGES_TO_CACHE) {\n        (0, _util.info)(\"GlobalImageCache.setData - ignoring image above MAX_IMAGES_TO_CACHE.\");\n        return;\n      }\n\n      this._imageCache.put(ref, data);\n    }\n  }, {\n    key: \"clear\",\n    value: function clear() {\n      var onlyData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n      if (!onlyData) {\n        this._refCache.clear();\n      }\n\n      this._imageCache.clear();\n    }\n  }]);\n\n  return GlobalImageCache;\n}();\n\nexports.GlobalImageCache = GlobalImageCache;\n\n/***/ }),\n/* 155 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getQuadPoints = getQuadPoints;\nexports.MarkupAnnotation = exports.AnnotationFactory = exports.AnnotationBorderStyle = exports.Annotation = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _obj = __w_pdfjs_require__(140);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _default_appearance = __w_pdfjs_require__(156);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _operator_list = __w_pdfjs_require__(174);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _writer = __w_pdfjs_require__(176);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar AnnotationFactory = /*#__PURE__*/function () {\n  function AnnotationFactory() {\n    _classCallCheck(this, AnnotationFactory);\n  }\n\n  _createClass(AnnotationFactory, null, [{\n    key: \"create\",\n    value: function create(xref, ref, pdfManager, idFactory) {\n      var _this = this;\n\n      return pdfManager.ensureCatalog(\"acroForm\").then(function (acroForm) {\n        return pdfManager.ensure(_this, \"_create\", [xref, ref, pdfManager, idFactory, acroForm]);\n      });\n    }\n  }, {\n    key: \"_create\",\n    value: function _create(xref, ref, pdfManager, idFactory, acroForm) {\n      var dict = xref.fetchIfRef(ref);\n\n      if (!(0, _primitives.isDict)(dict)) {\n        return undefined;\n      }\n\n      var id = (0, _primitives.isRef)(ref) ? ref.toString() : \"annot_\".concat(idFactory.createObjId());\n      var subtype = dict.get(\"Subtype\");\n      subtype = (0, _primitives.isName)(subtype) ? subtype.name : null;\n      var parameters = {\n        xref: xref,\n        ref: ref,\n        dict: dict,\n        subtype: subtype,\n        id: id,\n        pdfManager: pdfManager,\n        acroForm: acroForm instanceof _primitives.Dict ? acroForm : _primitives.Dict.empty\n      };\n\n      switch (subtype) {\n        case \"Link\":\n          return new LinkAnnotation(parameters);\n\n        case \"Text\":\n          return new TextAnnotation(parameters);\n\n        case \"Widget\":\n          var fieldType = (0, _core_utils.getInheritableProperty)({\n            dict: dict,\n            key: \"FT\"\n          });\n          fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n\n          switch (fieldType) {\n            case \"Tx\":\n              return new TextWidgetAnnotation(parameters);\n\n            case \"Btn\":\n              return new ButtonWidgetAnnotation(parameters);\n\n            case \"Ch\":\n              return new ChoiceWidgetAnnotation(parameters);\n          }\n\n          (0, _util.warn)('Unimplemented widget field type \"' + fieldType + '\", ' + \"falling back to base field type.\");\n          return new WidgetAnnotation(parameters);\n\n        case \"Popup\":\n          return new PopupAnnotation(parameters);\n\n        case \"FreeText\":\n          return new FreeTextAnnotation(parameters);\n\n        case \"Line\":\n          return new LineAnnotation(parameters);\n\n        case \"Square\":\n          return new SquareAnnotation(parameters);\n\n        case \"Circle\":\n          return new CircleAnnotation(parameters);\n\n        case \"PolyLine\":\n          return new PolylineAnnotation(parameters);\n\n        case \"Polygon\":\n          return new PolygonAnnotation(parameters);\n\n        case \"Caret\":\n          return new CaretAnnotation(parameters);\n\n        case \"Ink\":\n          return new InkAnnotation(parameters);\n\n        case \"Highlight\":\n          return new HighlightAnnotation(parameters);\n\n        case \"Underline\":\n          return new UnderlineAnnotation(parameters);\n\n        case \"Squiggly\":\n          return new SquigglyAnnotation(parameters);\n\n        case \"StrikeOut\":\n          return new StrikeOutAnnotation(parameters);\n\n        case \"Stamp\":\n          return new StampAnnotation(parameters);\n\n        case \"FileAttachment\":\n          return new FileAttachmentAnnotation(parameters);\n\n        default:\n          if (!subtype) {\n            (0, _util.warn)(\"Annotation is missing the required /Subtype.\");\n          } else {\n            (0, _util.warn)('Unimplemented annotation type \"' + subtype + '\", ' + \"falling back to base annotation.\");\n          }\n\n          return new Annotation(parameters);\n      }\n    }\n  }]);\n\n  return AnnotationFactory;\n}();\n\nexports.AnnotationFactory = AnnotationFactory;\n\nfunction getQuadPoints(dict, rect) {\n  if (!dict.has(\"QuadPoints\")) {\n    return null;\n  }\n\n  var quadPoints = dict.getArray(\"QuadPoints\");\n\n  if (!Array.isArray(quadPoints) || quadPoints.length === 0 || quadPoints.length % 8 > 0) {\n    return null;\n  }\n\n  var quadPointsLists = [];\n\n  for (var i = 0, ii = quadPoints.length / 8; i < ii; i++) {\n    quadPointsLists.push([]);\n\n    for (var j = i * 8, jj = i * 8 + 8; j < jj; j += 2) {\n      var x = quadPoints[j];\n      var y = quadPoints[j + 1];\n\n      if (rect !== null && (x < rect[0] || x > rect[2] || y < rect[1] || y > rect[3])) {\n        return null;\n      }\n\n      quadPointsLists[i].push({\n        x: x,\n        y: y\n      });\n    }\n  }\n\n  return quadPointsLists.map(function (quadPointsList) {\n    var _quadPointsList$reduc = quadPointsList.reduce(function (_ref, quadPoint) {\n      var _ref2 = _slicedToArray(_ref, 4),\n          mX = _ref2[0],\n          MX = _ref2[1],\n          mY = _ref2[2],\n          MY = _ref2[3];\n\n      return [Math.min(mX, quadPoint.x), Math.max(MX, quadPoint.x), Math.min(mY, quadPoint.y), Math.max(MY, quadPoint.y)];\n    }, [Number.MAX_VALUE, Number.MIN_VALUE, Number.MAX_VALUE, Number.MIN_VALUE]),\n        _quadPointsList$reduc2 = _slicedToArray(_quadPointsList$reduc, 4),\n        minX = _quadPointsList$reduc2[0],\n        maxX = _quadPointsList$reduc2[1],\n        minY = _quadPointsList$reduc2[2],\n        maxY = _quadPointsList$reduc2[3];\n\n    return [{\n      x: minX,\n      y: maxY\n    }, {\n      x: maxX,\n      y: maxY\n    }, {\n      x: minX,\n      y: minY\n    }, {\n      x: maxX,\n      y: minY\n    }];\n  });\n}\n\nfunction getTransformMatrix(rect, bbox, matrix) {\n  var _Util$getAxialAligned = _util.Util.getAxialAlignedBoundingBox(bbox, matrix),\n      _Util$getAxialAligned2 = _slicedToArray(_Util$getAxialAligned, 4),\n      minX = _Util$getAxialAligned2[0],\n      minY = _Util$getAxialAligned2[1],\n      maxX = _Util$getAxialAligned2[2],\n      maxY = _Util$getAxialAligned2[3];\n\n  if (minX === maxX || minY === maxY) {\n    return [1, 0, 0, 1, rect[0], rect[1]];\n  }\n\n  var xRatio = (rect[2] - rect[0]) / (maxX - minX);\n  var yRatio = (rect[3] - rect[1]) / (maxY - minY);\n  return [xRatio, 0, 0, yRatio, rect[0] - minX * xRatio, rect[1] - minY * yRatio];\n}\n\nvar Annotation = /*#__PURE__*/function () {\n  function Annotation(params) {\n    _classCallCheck(this, Annotation);\n\n    var dict = params.dict;\n    this.setContents(dict.get(\"Contents\"));\n    this.setModificationDate(dict.get(\"M\"));\n    this.setFlags(dict.get(\"F\"));\n    this.setRectangle(dict.getArray(\"Rect\"));\n    this.setColor(dict.getArray(\"C\"));\n    this.setBorderStyle(dict);\n    this.setAppearance(dict);\n    this._streams = [];\n\n    if (this.appearance) {\n      this._streams.push(this.appearance);\n    }\n\n    this.data = {\n      annotationFlags: this.flags,\n      borderStyle: this.borderStyle,\n      color: this.color,\n      contents: this.contents,\n      hasAppearance: !!this.appearance,\n      id: params.id,\n      modificationDate: this.modificationDate,\n      rect: this.rectangle,\n      subtype: params.subtype\n    };\n    this._fallbackFontDict = null;\n  }\n\n  _createClass(Annotation, [{\n    key: \"_hasFlag\",\n    value: function _hasFlag(flags, flag) {\n      return !!(flags & flag);\n    }\n  }, {\n    key: \"_isViewable\",\n    value: function _isViewable(flags) {\n      return !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, _util.AnnotationFlag.NOVIEW);\n    }\n  }, {\n    key: \"_isPrintable\",\n    value: function _isPrintable(flags) {\n      return this._hasFlag(flags, _util.AnnotationFlag.PRINT) && !this._hasFlag(flags, _util.AnnotationFlag.INVISIBLE);\n    }\n  }, {\n    key: \"isHidden\",\n    value: function isHidden(annotationStorage) {\n      var data = annotationStorage && annotationStorage[this.data.id];\n\n      if (data && \"hidden\" in data) {\n        return data.hidden;\n      }\n\n      return this._hasFlag(this.flags, _util.AnnotationFlag.HIDDEN);\n    }\n  }, {\n    key: \"setContents\",\n    value: function setContents(contents) {\n      this.contents = (0, _util.stringToPDFString)(contents || \"\");\n    }\n  }, {\n    key: \"setModificationDate\",\n    value: function setModificationDate(modificationDate) {\n      this.modificationDate = (0, _util.isString)(modificationDate) ? modificationDate : null;\n    }\n  }, {\n    key: \"setFlags\",\n    value: function setFlags(flags) {\n      this.flags = Number.isInteger(flags) && flags > 0 ? flags : 0;\n    }\n  }, {\n    key: \"hasFlag\",\n    value: function hasFlag(flag) {\n      return this._hasFlag(this.flags, flag);\n    }\n  }, {\n    key: \"setRectangle\",\n    value: function setRectangle(rectangle) {\n      if (Array.isArray(rectangle) && rectangle.length === 4) {\n        this.rectangle = _util.Util.normalizeRect(rectangle);\n      } else {\n        this.rectangle = [0, 0, 0, 0];\n      }\n    }\n  }, {\n    key: \"setColor\",\n    value: function setColor(color) {\n      var rgbColor = new Uint8ClampedArray(3);\n\n      if (!Array.isArray(color)) {\n        this.color = rgbColor;\n        return;\n      }\n\n      switch (color.length) {\n        case 0:\n          this.color = null;\n          break;\n\n        case 1:\n          _colorspace.ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        case 3:\n          _colorspace.ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        case 4:\n          _colorspace.ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0);\n\n          this.color = rgbColor;\n          break;\n\n        default:\n          this.color = rgbColor;\n          break;\n      }\n    }\n  }, {\n    key: \"setBorderStyle\",\n    value: function setBorderStyle(borderStyle) {\n      this.borderStyle = new AnnotationBorderStyle();\n\n      if (!(0, _primitives.isDict)(borderStyle)) {\n        return;\n      }\n\n      if (borderStyle.has(\"BS\")) {\n        var dict = borderStyle.get(\"BS\");\n        var dictType = dict.get(\"Type\");\n\n        if (!dictType || (0, _primitives.isName)(dictType, \"Border\")) {\n          this.borderStyle.setWidth(dict.get(\"W\"), this.rectangle);\n          this.borderStyle.setStyle(dict.get(\"S\"));\n          this.borderStyle.setDashArray(dict.getArray(\"D\"));\n        }\n      } else if (borderStyle.has(\"Border\")) {\n        var array = borderStyle.getArray(\"Border\");\n\n        if (Array.isArray(array) && array.length >= 3) {\n          this.borderStyle.setHorizontalCornerRadius(array[0]);\n          this.borderStyle.setVerticalCornerRadius(array[1]);\n          this.borderStyle.setWidth(array[2], this.rectangle);\n\n          if (array.length === 4) {\n            this.borderStyle.setDashArray(array[3]);\n          }\n        }\n      } else {\n        this.borderStyle.setWidth(0);\n      }\n    }\n  }, {\n    key: \"setAppearance\",\n    value: function setAppearance(dict) {\n      this.appearance = null;\n      var appearanceStates = dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return;\n      }\n\n      var normalAppearanceState = appearanceStates.get(\"N\");\n\n      if ((0, _primitives.isStream)(normalAppearanceState)) {\n        this.appearance = normalAppearanceState;\n        return;\n      }\n\n      if (!(0, _primitives.isDict)(normalAppearanceState)) {\n        return;\n      }\n\n      var as = dict.get(\"AS\");\n\n      if (!(0, _primitives.isName)(as) || !normalAppearanceState.has(as.name)) {\n        return;\n      }\n\n      this.appearance = normalAppearanceState.get(as.name);\n    }\n  }, {\n    key: \"loadResources\",\n    value: function loadResources(keys) {\n      return this.appearance.dict.getAsync(\"Resources\").then(function (resources) {\n        if (!resources) {\n          return undefined;\n        }\n\n        var objectLoader = new _obj.ObjectLoader(resources, keys, resources.xref);\n        return objectLoader.load().then(function () {\n          return resources;\n        });\n      });\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n      var _this2 = this;\n\n      if (!this.appearance) {\n        return Promise.resolve(new _operator_list.OperatorList());\n      }\n\n      var appearance = this.appearance;\n      var data = this.data;\n      var appearanceDict = appearance.dict;\n      var resourcesPromise = this.loadResources([\"ExtGState\", \"ColorSpace\", \"Pattern\", \"Shading\", \"XObject\", \"Font\"]);\n      var bbox = appearanceDict.getArray(\"BBox\") || [0, 0, 1, 1];\n      var matrix = appearanceDict.getArray(\"Matrix\") || [1, 0, 0, 1, 0, 0];\n      var transform = getTransformMatrix(data.rect, bbox, matrix);\n      return resourcesPromise.then(function (resources) {\n        var opList = new _operator_list.OperatorList();\n        opList.addOp(_util.OPS.beginAnnotation, [data.rect, transform, matrix]);\n        return evaluator.getOperatorList({\n          stream: appearance,\n          task: task,\n          resources: resources,\n          operatorList: opList,\n          fallbackFontDict: _this2._fallbackFontDict\n        }).then(function () {\n          opList.addOp(_util.OPS.endAnnotation, []);\n\n          _this2.reset();\n\n          return opList;\n        });\n      });\n    }\n  }, {\n    key: \"save\",\n    value: function () {\n      var _save = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(evaluator, task, annotationStorage) {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                return _context.abrupt(\"return\", null);\n\n              case 1:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function save(_x, _x2, _x3) {\n        return _save.apply(this, arguments);\n      }\n\n      return save;\n    }()\n  }, {\n    key: \"getFieldObject\",\n    value: function getFieldObject() {\n      return null;\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      var _iterator = _createForOfIteratorHelper(this._streams),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var stream = _step.value;\n          stream.reset();\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    }\n  }, {\n    key: \"viewable\",\n    get: function get() {\n      if (this.data.quadPoints === null) {\n        return false;\n      }\n\n      if (this.flags === 0) {\n        return true;\n      }\n\n      return this._isViewable(this.flags);\n    }\n  }, {\n    key: \"printable\",\n    get: function get() {\n      if (this.data.quadPoints === null) {\n        return false;\n      }\n\n      if (this.flags === 0) {\n        return false;\n      }\n\n      return this._isPrintable(this.flags);\n    }\n  }]);\n\n  return Annotation;\n}();\n\nexports.Annotation = Annotation;\n\nvar AnnotationBorderStyle = /*#__PURE__*/function () {\n  function AnnotationBorderStyle() {\n    _classCallCheck(this, AnnotationBorderStyle);\n\n    this.width = 1;\n    this.style = _util.AnnotationBorderStyleType.SOLID;\n    this.dashArray = [3];\n    this.horizontalCornerRadius = 0;\n    this.verticalCornerRadius = 0;\n  }\n\n  _createClass(AnnotationBorderStyle, [{\n    key: \"setWidth\",\n    value: function setWidth(width) {\n      var rect = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [0, 0, 0, 0];\n\n      if ((0, _primitives.isName)(width)) {\n        this.width = 0;\n        return;\n      }\n\n      if (Number.isInteger(width)) {\n        if (width > 0) {\n          var maxWidth = (rect[2] - rect[0]) / 2;\n          var maxHeight = (rect[3] - rect[1]) / 2;\n\n          if (maxWidth > 0 && maxHeight > 0 && (width > maxWidth || width > maxHeight)) {\n            (0, _util.warn)(\"AnnotationBorderStyle.setWidth - ignoring width: \".concat(width));\n            width = 1;\n          }\n        }\n\n        this.width = width;\n      }\n    }\n  }, {\n    key: \"setStyle\",\n    value: function setStyle(style) {\n      if (!(0, _primitives.isName)(style)) {\n        return;\n      }\n\n      switch (style.name) {\n        case \"S\":\n          this.style = _util.AnnotationBorderStyleType.SOLID;\n          break;\n\n        case \"D\":\n          this.style = _util.AnnotationBorderStyleType.DASHED;\n          break;\n\n        case \"B\":\n          this.style = _util.AnnotationBorderStyleType.BEVELED;\n          break;\n\n        case \"I\":\n          this.style = _util.AnnotationBorderStyleType.INSET;\n          break;\n\n        case \"U\":\n          this.style = _util.AnnotationBorderStyleType.UNDERLINE;\n          break;\n\n        default:\n          break;\n      }\n    }\n  }, {\n    key: \"setDashArray\",\n    value: function setDashArray(dashArray) {\n      if (Array.isArray(dashArray) && dashArray.length > 0) {\n        var isValid = true;\n        var allZeros = true;\n\n        var _iterator2 = _createForOfIteratorHelper(dashArray),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var element = _step2.value;\n            var validNumber = +element >= 0;\n\n            if (!validNumber) {\n              isValid = false;\n              break;\n            } else if (element > 0) {\n              allZeros = false;\n            }\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n\n        if (isValid && !allZeros) {\n          this.dashArray = dashArray;\n        } else {\n          this.width = 0;\n        }\n      } else if (dashArray) {\n        this.width = 0;\n      }\n    }\n  }, {\n    key: \"setHorizontalCornerRadius\",\n    value: function setHorizontalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.horizontalCornerRadius = radius;\n      }\n    }\n  }, {\n    key: \"setVerticalCornerRadius\",\n    value: function setVerticalCornerRadius(radius) {\n      if (Number.isInteger(radius)) {\n        this.verticalCornerRadius = radius;\n      }\n    }\n  }]);\n\n  return AnnotationBorderStyle;\n}();\n\nexports.AnnotationBorderStyle = AnnotationBorderStyle;\n\nvar MarkupAnnotation = /*#__PURE__*/function (_Annotation) {\n  _inherits(MarkupAnnotation, _Annotation);\n\n  var _super = _createSuper(MarkupAnnotation);\n\n  function MarkupAnnotation(parameters) {\n    var _this3;\n\n    _classCallCheck(this, MarkupAnnotation);\n\n    _this3 = _super.call(this, parameters);\n    var dict = parameters.dict;\n\n    if (dict.has(\"IRT\")) {\n      var rawIRT = dict.getRaw(\"IRT\");\n      _this3.data.inReplyTo = (0, _primitives.isRef)(rawIRT) ? rawIRT.toString() : null;\n      var rt = dict.get(\"RT\");\n      _this3.data.replyType = (0, _primitives.isName)(rt) ? rt.name : _util.AnnotationReplyType.REPLY;\n    }\n\n    if (_this3.data.replyType === _util.AnnotationReplyType.GROUP) {\n      var parent = dict.get(\"IRT\");\n      _this3.data.title = (0, _util.stringToPDFString)(parent.get(\"T\") || \"\");\n\n      _this3.setContents(parent.get(\"Contents\"));\n\n      _this3.data.contents = _this3.contents;\n\n      if (!parent.has(\"CreationDate\")) {\n        _this3.data.creationDate = null;\n      } else {\n        _this3.setCreationDate(parent.get(\"CreationDate\"));\n\n        _this3.data.creationDate = _this3.creationDate;\n      }\n\n      if (!parent.has(\"M\")) {\n        _this3.data.modificationDate = null;\n      } else {\n        _this3.setModificationDate(parent.get(\"M\"));\n\n        _this3.data.modificationDate = _this3.modificationDate;\n      }\n\n      _this3.data.hasPopup = parent.has(\"Popup\");\n\n      if (!parent.has(\"C\")) {\n        _this3.data.color = null;\n      } else {\n        _this3.setColor(parent.getArray(\"C\"));\n\n        _this3.data.color = _this3.color;\n      }\n    } else {\n      _this3.data.title = (0, _util.stringToPDFString)(dict.get(\"T\") || \"\");\n\n      _this3.setCreationDate(dict.get(\"CreationDate\"));\n\n      _this3.data.creationDate = _this3.creationDate;\n      _this3.data.hasPopup = dict.has(\"Popup\");\n\n      if (!dict.has(\"C\")) {\n        _this3.data.color = null;\n      }\n    }\n\n    return _this3;\n  }\n\n  _createClass(MarkupAnnotation, [{\n    key: \"setCreationDate\",\n    value: function setCreationDate(creationDate) {\n      this.creationDate = (0, _util.isString)(creationDate) ? creationDate : null;\n    }\n  }, {\n    key: \"_setDefaultAppearance\",\n    value: function _setDefaultAppearance(_ref3) {\n      var xref = _ref3.xref,\n          extra = _ref3.extra,\n          strokeColor = _ref3.strokeColor,\n          fillColor = _ref3.fillColor,\n          blendMode = _ref3.blendMode,\n          pointsCallback = _ref3.pointsCallback;\n      var minX = Number.MAX_VALUE;\n      var minY = Number.MAX_VALUE;\n      var maxX = Number.MIN_VALUE;\n      var maxY = Number.MIN_VALUE;\n      var buffer = [\"q\"];\n\n      if (extra) {\n        buffer.push(extra);\n      }\n\n      if (strokeColor) {\n        buffer.push(\"\".concat(strokeColor[0], \" \").concat(strokeColor[1], \" \").concat(strokeColor[2], \" RG\"));\n      }\n\n      if (fillColor) {\n        buffer.push(\"\".concat(fillColor[0], \" \").concat(fillColor[1], \" \").concat(fillColor[2], \" rg\"));\n      }\n\n      var _iterator3 = _createForOfIteratorHelper(this.data.quadPoints),\n          _step3;\n\n      try {\n        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n          var points = _step3.value;\n\n          var _pointsCallback = pointsCallback(buffer, points),\n              _pointsCallback2 = _slicedToArray(_pointsCallback, 4),\n              mX = _pointsCallback2[0],\n              MX = _pointsCallback2[1],\n              mY = _pointsCallback2[2],\n              MY = _pointsCallback2[3];\n\n          minX = Math.min(minX, mX);\n          maxX = Math.max(maxX, MX);\n          minY = Math.min(minY, mY);\n          maxY = Math.max(maxY, MY);\n        }\n      } catch (err) {\n        _iterator3.e(err);\n      } finally {\n        _iterator3.f();\n      }\n\n      buffer.push(\"Q\");\n      var formDict = new _primitives.Dict(xref);\n      var appearanceStreamDict = new _primitives.Dict(xref);\n      appearanceStreamDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n      var appearanceStream = new _stream.StringStream(buffer.join(\" \"));\n      appearanceStream.dict = appearanceStreamDict;\n      formDict.set(\"Fm0\", appearanceStream);\n      var gsDict = new _primitives.Dict(xref);\n\n      if (blendMode) {\n        gsDict.set(\"BM\", _primitives.Name.get(blendMode));\n      }\n\n      var stateDict = new _primitives.Dict(xref);\n      stateDict.set(\"GS0\", gsDict);\n      var resources = new _primitives.Dict(xref);\n      resources.set(\"ExtGState\", stateDict);\n      resources.set(\"XObject\", formDict);\n      var appearanceDict = new _primitives.Dict(xref);\n      appearanceDict.set(\"Resources\", resources);\n      var bbox = this.data.rect = [minX, minY, maxX, maxY];\n      appearanceDict.set(\"BBox\", bbox);\n      this.appearance = new _stream.StringStream(\"/GS0 gs /Fm0 Do\");\n      this.appearance.dict = appearanceDict;\n\n      this._streams.push(this.appearance, appearanceStream);\n    }\n  }]);\n\n  return MarkupAnnotation;\n}(Annotation);\n\nexports.MarkupAnnotation = MarkupAnnotation;\n\nvar WidgetAnnotation = /*#__PURE__*/function (_Annotation2) {\n  _inherits(WidgetAnnotation, _Annotation2);\n\n  var _super2 = _createSuper(WidgetAnnotation);\n\n  function WidgetAnnotation(params) {\n    var _this4;\n\n    _classCallCheck(this, WidgetAnnotation);\n\n    _this4 = _super2.call(this, params);\n    var dict = params.dict;\n    var data = _this4.data;\n    _this4.ref = params.ref;\n    data.annotationType = _util.AnnotationType.WIDGET;\n    data.fieldName = _this4._constructFieldName(dict);\n    data.actions = (0, _core_utils.collectActions)(params.xref, dict, _util.AnnotationActionEventType);\n    var fieldValue = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"V\",\n      getArray: true\n    });\n    data.fieldValue = _this4._decodeFormValue(fieldValue);\n    var defaultFieldValue = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"DV\",\n      getArray: true\n    });\n    data.defaultFieldValue = _this4._decodeFormValue(defaultFieldValue);\n    data.alternativeText = (0, _util.stringToPDFString)(dict.get(\"TU\") || \"\");\n    var defaultAppearance = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"DA\"\n    }) || params.acroForm.get(\"DA\") || \"\";\n    data.defaultAppearance = (0, _util.isString)(defaultAppearance) ? defaultAppearance : \"\";\n    data.defaultAppearanceData = (0, _default_appearance.parseDefaultAppearance)(data.defaultAppearance);\n    var fieldType = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"FT\"\n    });\n    data.fieldType = (0, _primitives.isName)(fieldType) ? fieldType.name : null;\n    var localResources = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"DR\"\n    });\n    var acroFormResources = params.acroForm.get(\"DR\");\n\n    var appearanceResources = _this4.appearance && _this4.appearance.dict.get(\"Resources\");\n\n    _this4._fieldResources = {\n      localResources: localResources,\n      acroFormResources: acroFormResources,\n      appearanceResources: appearanceResources,\n      mergedResources: _primitives.Dict.merge({\n        xref: params.xref,\n        dictArray: [localResources, appearanceResources, acroFormResources],\n        mergeSubDicts: true\n      })\n    };\n    data.fieldFlags = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"Ff\"\n    });\n\n    if (!Number.isInteger(data.fieldFlags) || data.fieldFlags < 0) {\n      data.fieldFlags = 0;\n    }\n\n    data.readOnly = _this4.hasFieldFlag(_util.AnnotationFieldFlag.READONLY);\n    data.hidden = _this4._hasFlag(data.annotationFlags, _util.AnnotationFlag.HIDDEN);\n\n    if (data.fieldType === \"Sig\") {\n      data.fieldValue = null;\n\n      _this4.setFlags(_util.AnnotationFlag.HIDDEN);\n\n      data.hidden = true;\n    }\n\n    return _this4;\n  }\n\n  _createClass(WidgetAnnotation, [{\n    key: \"_constructFieldName\",\n    value: function _constructFieldName(dict) {\n      if (!dict.has(\"T\") && !dict.has(\"Parent\")) {\n        (0, _util.warn)(\"Unknown field name, falling back to empty field name.\");\n        return \"\";\n      }\n\n      if (!dict.has(\"Parent\")) {\n        return (0, _util.stringToPDFString)(dict.get(\"T\"));\n      }\n\n      var fieldName = [];\n\n      if (dict.has(\"T\")) {\n        fieldName.unshift((0, _util.stringToPDFString)(dict.get(\"T\")));\n      }\n\n      var loopDict = dict;\n\n      while (loopDict.has(\"Parent\")) {\n        loopDict = loopDict.get(\"Parent\");\n\n        if (!(0, _primitives.isDict)(loopDict)) {\n          break;\n        }\n\n        if (loopDict.has(\"T\")) {\n          fieldName.unshift((0, _util.stringToPDFString)(loopDict.get(\"T\")));\n        }\n      }\n\n      return fieldName.join(\".\");\n    }\n  }, {\n    key: \"_decodeFormValue\",\n    value: function _decodeFormValue(formValue) {\n      if (Array.isArray(formValue)) {\n        return formValue.filter(function (item) {\n          return (0, _util.isString)(item);\n        }).map(function (item) {\n          return (0, _util.stringToPDFString)(item);\n        });\n      } else if ((0, _primitives.isName)(formValue)) {\n        return (0, _util.stringToPDFString)(formValue.name);\n      } else if ((0, _util.isString)(formValue)) {\n        return (0, _util.stringToPDFString)(formValue);\n      }\n\n      return null;\n    }\n  }, {\n    key: \"hasFieldFlag\",\n    value: function hasFieldFlag(flag) {\n      return !!(this.data.fieldFlags & flag);\n    }\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n      var _this5 = this;\n\n      if (renderForms) {\n        return Promise.resolve(new _operator_list.OperatorList());\n      }\n\n      if (!this._hasText) {\n        return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n      }\n\n      return this._getAppearance(evaluator, task, annotationStorage).then(function (content) {\n        if (_this5.appearance && content === null) {\n          return _get(_getPrototypeOf(WidgetAnnotation.prototype), \"getOperatorList\", _this5).call(_this5, evaluator, task, renderForms, annotationStorage);\n        }\n\n        var operatorList = new _operator_list.OperatorList();\n\n        if (!_this5.data.defaultAppearance || content === null) {\n          return operatorList;\n        }\n\n        var matrix = [1, 0, 0, 1, 0, 0];\n        var bbox = [0, 0, _this5.data.rect[2] - _this5.data.rect[0], _this5.data.rect[3] - _this5.data.rect[1]];\n        var transform = getTransformMatrix(_this5.data.rect, bbox, matrix);\n        operatorList.addOp(_util.OPS.beginAnnotation, [_this5.data.rect, transform, matrix]);\n        var stream = new _stream.StringStream(content);\n        return evaluator.getOperatorList({\n          stream: stream,\n          task: task,\n          resources: _this5._fieldResources.mergedResources,\n          operatorList: operatorList\n        }).then(function () {\n          operatorList.addOp(_util.OPS.endAnnotation, []);\n          return operatorList;\n        });\n      });\n    }\n  }, {\n    key: \"save\",\n    value: function () {\n      var _save2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(evaluator, task, annotationStorage) {\n        var value, appearance, xref, dict, bbox, xfa, newRef, AP, encrypt, originalTransform, newTransform, appearanceDict, bufferOriginal, bufferNew;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                value = annotationStorage[this.data.id] && annotationStorage[this.data.id].value;\n\n                if (!(value === this.data.fieldValue || value === undefined)) {\n                  _context2.next = 3;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", null);\n\n              case 3:\n                _context2.next = 5;\n                return this._getAppearance(evaluator, task, annotationStorage);\n\n              case 5:\n                appearance = _context2.sent;\n\n                if (!(appearance === null)) {\n                  _context2.next = 8;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", null);\n\n              case 8:\n                xref = evaluator.xref;\n                dict = xref.fetchIfRef(this.ref);\n\n                if ((0, _primitives.isDict)(dict)) {\n                  _context2.next = 12;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", null);\n\n              case 12:\n                bbox = [0, 0, this.data.rect[2] - this.data.rect[0], this.data.rect[3] - this.data.rect[1]];\n                xfa = {\n                  path: (0, _util.stringToPDFString)(dict.get(\"T\") || \"\"),\n                  value: value\n                };\n                newRef = xref.getNewRef();\n                AP = new _primitives.Dict(xref);\n                AP.set(\"N\", newRef);\n                encrypt = xref.encrypt;\n                originalTransform = null;\n                newTransform = null;\n\n                if (encrypt) {\n                  originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n                  newTransform = encrypt.createCipherTransform(newRef.num, newRef.gen);\n                  appearance = newTransform.encryptString(appearance);\n                }\n\n                dict.set(\"V\", (0, _util.isAscii)(value) ? value : (0, _util.stringToUTF16BEString)(value));\n                dict.set(\"AP\", AP);\n                dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n                appearanceDict = new _primitives.Dict(xref);\n                appearanceDict.set(\"Length\", appearance.length);\n                appearanceDict.set(\"Subtype\", _primitives.Name.get(\"Form\"));\n                appearanceDict.set(\"Resources\", this._getSaveFieldResources(xref));\n                appearanceDict.set(\"BBox\", bbox);\n                bufferOriginal = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n                (0, _writer.writeDict)(dict, bufferOriginal, originalTransform);\n                bufferOriginal.push(\"\\nendobj\\n\");\n                bufferNew = [\"\".concat(newRef.num, \" \").concat(newRef.gen, \" obj\\n\")];\n                (0, _writer.writeDict)(appearanceDict, bufferNew, newTransform);\n                bufferNew.push(\" stream\\n\");\n                bufferNew.push(appearance);\n                bufferNew.push(\"\\nendstream\\nendobj\\n\");\n                return _context2.abrupt(\"return\", [{\n                  ref: this.ref,\n                  data: bufferOriginal.join(\"\"),\n                  xfa: xfa\n                }, {\n                  ref: newRef,\n                  data: bufferNew.join(\"\"),\n                  xfa: null\n                }]);\n\n              case 38:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function save(_x4, _x5, _x6) {\n        return _save2.apply(this, arguments);\n      }\n\n      return save;\n    }()\n  }, {\n    key: \"_getAppearance\",\n    value: function () {\n      var _getAppearance2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(evaluator, task, annotationStorage) {\n        var isPassword, value, defaultPadding, hPadding, totalHeight, totalWidth, font, fontSize, descent, vPadding, defaultAppearance, alignment, encodedString, renderedText;\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                isPassword = this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD);\n\n                if (!(!annotationStorage || isPassword)) {\n                  _context3.next = 3;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", null);\n\n              case 3:\n                value = annotationStorage[this.data.id] && annotationStorage[this.data.id].value;\n\n                if (!(value === undefined)) {\n                  _context3.next = 6;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", null);\n\n              case 6:\n                if (!(value === \"\")) {\n                  _context3.next = 8;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", \"\");\n\n              case 8:\n                defaultPadding = 2;\n                hPadding = defaultPadding;\n                totalHeight = this.data.rect[3] - this.data.rect[1];\n                totalWidth = this.data.rect[2] - this.data.rect[0];\n\n                if (!this.data.defaultAppearance) {\n                  this.data.defaultAppearance = \"/Helvetica 0 Tf 0 g\";\n                  this.data.defaultAppearanceData = (0, _default_appearance.parseDefaultAppearance)(this.data.defaultAppearance);\n                }\n\n                _context3.next = 15;\n                return this._getFontData(evaluator, task);\n\n              case 15:\n                font = _context3.sent;\n                fontSize = this._computeFontSize(font, totalHeight);\n                descent = font.descent;\n\n                if (isNaN(descent)) {\n                  descent = 0;\n                }\n\n                vPadding = defaultPadding + Math.abs(descent) * fontSize;\n                defaultAppearance = this.data.defaultAppearance;\n                alignment = this.data.textAlignment;\n\n                if (!this.data.multiLine) {\n                  _context3.next = 24;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", this._getMultilineAppearance(defaultAppearance, value, font, fontSize, totalWidth, totalHeight, alignment, hPadding, vPadding));\n\n              case 24:\n                encodedString = font.encodeString(value).join(\"\");\n\n                if (!this.data.comb) {\n                  _context3.next = 27;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", this._getCombAppearance(defaultAppearance, font, encodedString, totalWidth, hPadding, vPadding));\n\n              case 27:\n                if (!(alignment === 0 || alignment > 2)) {\n                  _context3.next = 29;\n                  break;\n                }\n\n                return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm (\").concat((0, _util.escapeString)(encodedString), \") Tj\") + \" ET Q EMC\");\n\n              case 29:\n                renderedText = this._renderText(encodedString, font, fontSize, totalWidth, alignment, hPadding, vPadding);\n                return _context3.abrupt(\"return\", \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 0 Tm \".concat(renderedText) + \" ET Q EMC\");\n\n              case 31:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function _getAppearance(_x7, _x8, _x9) {\n        return _getAppearance2.apply(this, arguments);\n      }\n\n      return _getAppearance;\n    }()\n  }, {\n    key: \"_getFontData\",\n    value: function () {\n      var _getFontData2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(evaluator, task) {\n        var operatorList, initialState, _this$data$defaultApp, fontName, fontSize;\n\n        return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                operatorList = new _operator_list.OperatorList();\n                initialState = {\n                  font: null,\n                  clone: function clone() {\n                    return this;\n                  }\n                };\n                _this$data$defaultApp = this.data.defaultAppearanceData, fontName = _this$data$defaultApp.fontName, fontSize = _this$data$defaultApp.fontSize;\n                _context4.next = 5;\n                return evaluator.handleSetFont(this._fieldResources.mergedResources, [fontName, fontSize], null, operatorList, task, initialState, null);\n\n              case 5:\n                return _context4.abrupt(\"return\", initialState.font);\n\n              case 6:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4, this);\n      }));\n\n      function _getFontData(_x10, _x11) {\n        return _getFontData2.apply(this, arguments);\n      }\n\n      return _getFontData;\n    }()\n  }, {\n    key: \"_computeFontSize\",\n    value: function _computeFontSize(font, height) {\n      var fontSize = this.data.defaultAppearanceData.fontSize;\n\n      if (!fontSize) {\n        var _this$data$defaultApp2 = this.data.defaultAppearanceData,\n            fontColor = _this$data$defaultApp2.fontColor,\n            fontName = _this$data$defaultApp2.fontName;\n        var capHeight;\n\n        if (font.capHeight) {\n          capHeight = font.capHeight;\n        } else {\n          var glyphs = font.charsToGlyphs(font.encodeString(\"M\").join(\"\"));\n\n          if (glyphs.length === 1 && glyphs[0].width) {\n            var em = glyphs[0].width / 1000;\n            capHeight = 0.7 * em;\n          } else {\n            capHeight = 0.7;\n          }\n        }\n\n        fontSize = Math.max(1, Math.floor(height / (1.5 * capHeight)));\n        this.data.defaultAppearance = (0, _default_appearance.createDefaultAppearance)({\n          fontSize: fontSize,\n          fontName: fontName,\n          fontColor: fontColor\n        });\n      }\n\n      return fontSize;\n    }\n  }, {\n    key: \"_renderText\",\n    value: function _renderText(text, font, fontSize, totalWidth, alignment, hPadding, vPadding) {\n      var glyphs = font.charsToGlyphs(text);\n      var scale = fontSize / 1000;\n      var width = 0;\n\n      var _iterator4 = _createForOfIteratorHelper(glyphs),\n          _step4;\n\n      try {\n        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n          var glyph = _step4.value;\n          width += glyph.width * scale;\n        }\n      } catch (err) {\n        _iterator4.e(err);\n      } finally {\n        _iterator4.f();\n      }\n\n      var shift;\n\n      if (alignment === 1) {\n        shift = (totalWidth - width) / 2;\n      } else if (alignment === 2) {\n        shift = totalWidth - width - hPadding;\n      } else {\n        shift = hPadding;\n      }\n\n      shift = shift.toFixed(2);\n      vPadding = vPadding.toFixed(2);\n      return \"\".concat(shift, \" \").concat(vPadding, \" Td (\").concat((0, _util.escapeString)(text), \") Tj\");\n    }\n  }, {\n    key: \"_getSaveFieldResources\",\n    value: function _getSaveFieldResources(xref) {\n      var _this$_fieldResources = this._fieldResources,\n          localResources = _this$_fieldResources.localResources,\n          appearanceResources = _this$_fieldResources.appearanceResources,\n          acroFormResources = _this$_fieldResources.acroFormResources;\n      var fontNameStr = this.data.defaultAppearanceData && this.data.defaultAppearanceData.fontName.name;\n\n      if (!fontNameStr) {\n        return localResources || _primitives.Dict.empty;\n      }\n\n      for (var _i2 = 0, _arr2 = [localResources, appearanceResources]; _i2 < _arr2.length; _i2++) {\n        var resources = _arr2[_i2];\n\n        if (resources instanceof _primitives.Dict) {\n          var localFont = resources.get(\"Font\");\n\n          if (localFont instanceof _primitives.Dict && localFont.has(fontNameStr)) {\n            return resources;\n          }\n        }\n      }\n\n      if (acroFormResources instanceof _primitives.Dict) {\n        var acroFormFont = acroFormResources.get(\"Font\");\n\n        if (acroFormFont instanceof _primitives.Dict && acroFormFont.has(fontNameStr)) {\n          var subFontDict = new _primitives.Dict(xref);\n          subFontDict.set(fontNameStr, acroFormFont.getRaw(fontNameStr));\n          var subResourcesDict = new _primitives.Dict(xref);\n          subResourcesDict.set(\"Font\", subFontDict);\n          return _primitives.Dict.merge({\n            xref: xref,\n            dictArray: [subResourcesDict, localResources],\n            mergeSubDicts: true\n          });\n        }\n      }\n\n      return localResources || _primitives.Dict.empty;\n    }\n  }, {\n    key: \"getFieldObject\",\n    value: function getFieldObject() {\n      if (this.data.fieldType === \"Sig\") {\n        return {\n          id: this.data.id,\n          value: null,\n          type: \"signature\"\n        };\n      }\n\n      return null;\n    }\n  }]);\n\n  return WidgetAnnotation;\n}(Annotation);\n\nvar TextWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation) {\n  _inherits(TextWidgetAnnotation, _WidgetAnnotation);\n\n  var _super3 = _createSuper(TextWidgetAnnotation);\n\n  function TextWidgetAnnotation(params) {\n    var _this6;\n\n    _classCallCheck(this, TextWidgetAnnotation);\n\n    _this6 = _super3.call(this, params);\n    _this6._hasText = true;\n    var dict = params.dict;\n\n    if (!(0, _util.isString)(_this6.data.fieldValue)) {\n      _this6.data.fieldValue = \"\";\n    }\n\n    var alignment = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"Q\"\n    });\n\n    if (!Number.isInteger(alignment) || alignment < 0 || alignment > 2) {\n      alignment = null;\n    }\n\n    _this6.data.textAlignment = alignment;\n    var maximumLength = (0, _core_utils.getInheritableProperty)({\n      dict: dict,\n      key: \"MaxLen\"\n    });\n\n    if (!Number.isInteger(maximumLength) || maximumLength < 0) {\n      maximumLength = null;\n    }\n\n    _this6.data.maxLen = maximumLength;\n    _this6.data.multiLine = _this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE);\n    _this6.data.comb = _this6.hasFieldFlag(_util.AnnotationFieldFlag.COMB) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.MULTILINE) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD) && !_this6.hasFieldFlag(_util.AnnotationFieldFlag.FILESELECT) && _this6.data.maxLen !== null;\n    return _this6;\n  }\n\n  _createClass(TextWidgetAnnotation, [{\n    key: \"_getCombAppearance\",\n    value: function _getCombAppearance(defaultAppearance, font, text, width, hPadding, vPadding) {\n      var combWidth = (width / this.data.maxLen).toFixed(2);\n      var buf = [];\n      var positions = font.getCharPositions(text);\n\n      var _iterator5 = _createForOfIteratorHelper(positions),\n          _step5;\n\n      try {\n        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n          var _step5$value = _slicedToArray(_step5.value, 2),\n              start = _step5$value[0],\n              end = _step5$value[1];\n\n          buf.push(\"(\".concat((0, _util.escapeString)(text.substring(start, end)), \") Tj\"));\n        }\n      } catch (err) {\n        _iterator5.e(err);\n      } finally {\n        _iterator5.f();\n      }\n\n      var renderedComb = buf.join(\" \".concat(combWidth, \" 0 Td \"));\n      return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 \".concat(hPadding, \" \").concat(vPadding, \" Tm \").concat(renderedComb) + \" ET Q EMC\";\n    }\n  }, {\n    key: \"_getMultilineAppearance\",\n    value: function _getMultilineAppearance(defaultAppearance, text, font, fontSize, width, height, alignment, hPadding, vPadding) {\n      var lines = text.split(/\\r\\n|\\r|\\n/);\n      var buf = [];\n      var totalWidth = width - 2 * hPadding;\n\n      var _iterator6 = _createForOfIteratorHelper(lines),\n          _step6;\n\n      try {\n        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n          var line = _step6.value;\n\n          var chunks = this._splitLine(line, font, fontSize, totalWidth);\n\n          var _iterator7 = _createForOfIteratorHelper(chunks),\n              _step7;\n\n          try {\n            for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n              var chunk = _step7.value;\n              var padding = buf.length === 0 ? hPadding : 0;\n              buf.push(this._renderText(chunk, font, fontSize, width, alignment, padding, -fontSize));\n            }\n          } catch (err) {\n            _iterator7.e(err);\n          } finally {\n            _iterator7.f();\n          }\n        }\n      } catch (err) {\n        _iterator6.e(err);\n      } finally {\n        _iterator6.f();\n      }\n\n      var renderedText = buf.join(\"\\n\");\n      return \"/Tx BMC q BT \" + defaultAppearance + \" 1 0 0 1 0 \".concat(height, \" Tm \").concat(renderedText) + \" ET Q EMC\";\n    }\n  }, {\n    key: \"_splitLine\",\n    value: function _splitLine(line, font, fontSize, width) {\n      line = font.encodeString(line).join(\"\");\n      var glyphs = font.charsToGlyphs(line);\n\n      if (glyphs.length <= 1) {\n        return [line];\n      }\n\n      var positions = font.getCharPositions(line);\n      var scale = fontSize / 1000;\n      var chunks = [];\n      var lastSpacePosInStringStart = -1,\n          lastSpacePosInStringEnd = -1,\n          lastSpacePos = -1,\n          startChunk = 0,\n          currentWidth = 0;\n\n      for (var i = 0, ii = glyphs.length; i < ii; i++) {\n        var _positions$i = _slicedToArray(positions[i], 2),\n            start = _positions$i[0],\n            end = _positions$i[1];\n\n        var glyph = glyphs[i];\n        var glyphWidth = glyph.width * scale;\n\n        if (glyph.unicode === \" \") {\n          if (currentWidth + glyphWidth > width) {\n            chunks.push(line.substring(startChunk, start));\n            startChunk = start;\n            currentWidth = glyphWidth;\n            lastSpacePosInStringStart = -1;\n            lastSpacePos = -1;\n          } else {\n            currentWidth += glyphWidth;\n            lastSpacePosInStringStart = start;\n            lastSpacePosInStringEnd = end;\n            lastSpacePos = i;\n          }\n        } else {\n          if (currentWidth + glyphWidth > width) {\n            if (lastSpacePosInStringStart !== -1) {\n              chunks.push(line.substring(startChunk, lastSpacePosInStringEnd));\n              startChunk = lastSpacePosInStringEnd;\n              i = lastSpacePos + 1;\n              lastSpacePosInStringStart = -1;\n              currentWidth = 0;\n            } else {\n              chunks.push(line.substring(startChunk, start));\n              startChunk = start;\n              currentWidth = glyphWidth;\n            }\n          } else {\n            currentWidth += glyphWidth;\n          }\n        }\n      }\n\n      if (startChunk < line.length) {\n        chunks.push(line.substring(startChunk, line.length));\n      }\n\n      return chunks;\n    }\n  }, {\n    key: \"getFieldObject\",\n    value: function getFieldObject() {\n      return {\n        id: this.data.id,\n        value: this.data.fieldValue,\n        defaultValue: this.data.defaultFieldValue,\n        multiline: this.data.multiLine,\n        password: this.hasFieldFlag(_util.AnnotationFieldFlag.PASSWORD),\n        charLimit: this.data.maxLen,\n        comb: this.data.comb,\n        editable: !this.data.readOnly,\n        hidden: this.data.hidden,\n        name: this.data.fieldName,\n        rect: this.data.rect,\n        actions: this.data.actions,\n        type: \"text\"\n      };\n    }\n  }]);\n\n  return TextWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ButtonWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation2) {\n  _inherits(ButtonWidgetAnnotation, _WidgetAnnotation2);\n\n  var _super4 = _createSuper(ButtonWidgetAnnotation);\n\n  function ButtonWidgetAnnotation(params) {\n    var _this7;\n\n    _classCallCheck(this, ButtonWidgetAnnotation);\n\n    _this7 = _super4.call(this, params);\n    _this7.checkedAppearance = null;\n    _this7.uncheckedAppearance = null;\n    _this7.data.checkBox = !_this7.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this7.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    _this7.data.radioButton = _this7.hasFieldFlag(_util.AnnotationFieldFlag.RADIO) && !_this7.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    _this7.data.pushButton = _this7.hasFieldFlag(_util.AnnotationFieldFlag.PUSHBUTTON);\n    _this7.data.isTooltipOnly = false;\n\n    if (_this7.data.checkBox) {\n      _this7._processCheckBox(params);\n    } else if (_this7.data.radioButton) {\n      _this7._processRadioButton(params);\n    } else if (_this7.data.pushButton) {\n      _this7._processPushButton(params);\n    } else {\n      (0, _util.warn)(\"Invalid field flags for button widget annotation\");\n    }\n\n    return _this7;\n  }\n\n  _createClass(ButtonWidgetAnnotation, [{\n    key: \"getOperatorList\",\n    value: function getOperatorList(evaluator, task, renderForms, annotationStorage) {\n      if (this.data.pushButton) {\n        return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, false, annotationStorage);\n      }\n\n      if (annotationStorage) {\n        var value = annotationStorage[this.data.id] && annotationStorage[this.data.id].value;\n\n        if (value === undefined) {\n          return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n        }\n\n        var appearance;\n\n        if (value) {\n          appearance = this.checkedAppearance;\n        } else {\n          appearance = this.uncheckedAppearance;\n        }\n\n        if (appearance) {\n          var savedAppearance = this.appearance;\n          this.appearance = appearance;\n\n          var operatorList = _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n\n          this.appearance = savedAppearance;\n          return operatorList;\n        }\n\n        return Promise.resolve(new _operator_list.OperatorList());\n      }\n\n      return _get(_getPrototypeOf(ButtonWidgetAnnotation.prototype), \"getOperatorList\", this).call(this, evaluator, task, renderForms, annotationStorage);\n    }\n  }, {\n    key: \"save\",\n    value: function () {\n      var _save3 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(evaluator, task, annotationStorage) {\n        return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n          while (1) {\n            switch (_context5.prev = _context5.next) {\n              case 0:\n                if (!this.data.checkBox) {\n                  _context5.next = 2;\n                  break;\n                }\n\n                return _context5.abrupt(\"return\", this._saveCheckbox(evaluator, task, annotationStorage));\n\n              case 2:\n                if (!this.data.radioButton) {\n                  _context5.next = 4;\n                  break;\n                }\n\n                return _context5.abrupt(\"return\", this._saveRadioButton(evaluator, task, annotationStorage));\n\n              case 4:\n                return _context5.abrupt(\"return\", null);\n\n              case 5:\n              case \"end\":\n                return _context5.stop();\n            }\n          }\n        }, _callee5, this);\n      }));\n\n      function save(_x12, _x13, _x14) {\n        return _save3.apply(this, arguments);\n      }\n\n      return save;\n    }()\n  }, {\n    key: \"_saveCheckbox\",\n    value: function () {\n      var _saveCheckbox2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(evaluator, task, annotationStorage) {\n        var value, defaultValue, dict, xfa, name, encrypt, originalTransform, buffer;\n        return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n          while (1) {\n            switch (_context6.prev = _context6.next) {\n              case 0:\n                value = annotationStorage[this.data.id] && annotationStorage[this.data.id].value;\n\n                if (!(value === undefined)) {\n                  _context6.next = 3;\n                  break;\n                }\n\n                return _context6.abrupt(\"return\", null);\n\n              case 3:\n                defaultValue = this.data.fieldValue && this.data.fieldValue !== \"Off\";\n\n                if (!(defaultValue === value)) {\n                  _context6.next = 6;\n                  break;\n                }\n\n                return _context6.abrupt(\"return\", null);\n\n              case 6:\n                dict = evaluator.xref.fetchIfRef(this.ref);\n\n                if ((0, _primitives.isDict)(dict)) {\n                  _context6.next = 9;\n                  break;\n                }\n\n                return _context6.abrupt(\"return\", null);\n\n              case 9:\n                xfa = {\n                  path: (0, _util.stringToPDFString)(dict.get(\"T\") || \"\"),\n                  value: value ? this.data.exportValue : \"\"\n                };\n                name = _primitives.Name.get(value ? this.data.exportValue : \"Off\");\n                dict.set(\"V\", name);\n                dict.set(\"AS\", name);\n                dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n                encrypt = evaluator.xref.encrypt;\n                originalTransform = null;\n\n                if (encrypt) {\n                  originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n                }\n\n                buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n                (0, _writer.writeDict)(dict, buffer, originalTransform);\n                buffer.push(\"\\nendobj\\n\");\n                return _context6.abrupt(\"return\", [{\n                  ref: this.ref,\n                  data: buffer.join(\"\"),\n                  xfa: xfa\n                }]);\n\n              case 21:\n              case \"end\":\n                return _context6.stop();\n            }\n          }\n        }, _callee6, this);\n      }));\n\n      function _saveCheckbox(_x15, _x16, _x17) {\n        return _saveCheckbox2.apply(this, arguments);\n      }\n\n      return _saveCheckbox;\n    }()\n  }, {\n    key: \"_saveRadioButton\",\n    value: function () {\n      var _saveRadioButton2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7(evaluator, task, annotationStorage) {\n        var value, defaultValue, dict, xfa, name, parentBuffer, encrypt, parent, parentTransform, originalTransform, buffer, newRefs;\n        return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n          while (1) {\n            switch (_context7.prev = _context7.next) {\n              case 0:\n                value = annotationStorage[this.data.id] && annotationStorage[this.data.id].value;\n\n                if (!(value === undefined)) {\n                  _context7.next = 3;\n                  break;\n                }\n\n                return _context7.abrupt(\"return\", null);\n\n              case 3:\n                defaultValue = this.data.fieldValue === this.data.buttonValue;\n\n                if (!(defaultValue === value)) {\n                  _context7.next = 6;\n                  break;\n                }\n\n                return _context7.abrupt(\"return\", null);\n\n              case 6:\n                dict = evaluator.xref.fetchIfRef(this.ref);\n\n                if ((0, _primitives.isDict)(dict)) {\n                  _context7.next = 9;\n                  break;\n                }\n\n                return _context7.abrupt(\"return\", null);\n\n              case 9:\n                xfa = {\n                  path: (0, _util.stringToPDFString)(dict.get(\"T\") || \"\"),\n                  value: value ? this.data.buttonValue : \"\"\n                };\n                name = _primitives.Name.get(value ? this.data.buttonValue : \"Off\");\n                parentBuffer = null;\n                encrypt = evaluator.xref.encrypt;\n\n                if (value) {\n                  if ((0, _primitives.isRef)(this.parent)) {\n                    parent = evaluator.xref.fetch(this.parent);\n                    parentTransform = null;\n\n                    if (encrypt) {\n                      parentTransform = encrypt.createCipherTransform(this.parent.num, this.parent.gen);\n                    }\n\n                    parent.set(\"V\", name);\n                    parentBuffer = [\"\".concat(this.parent.num, \" \").concat(this.parent.gen, \" obj\\n\")];\n                    (0, _writer.writeDict)(parent, parentBuffer, parentTransform);\n                    parentBuffer.push(\"\\nendobj\\n\");\n                  } else if ((0, _primitives.isDict)(this.parent)) {\n                    this.parent.set(\"V\", name);\n                  }\n                }\n\n                dict.set(\"AS\", name);\n                dict.set(\"M\", \"D:\".concat((0, _util.getModificationDate)()));\n                originalTransform = null;\n\n                if (encrypt) {\n                  originalTransform = encrypt.createCipherTransform(this.ref.num, this.ref.gen);\n                }\n\n                buffer = [\"\".concat(this.ref.num, \" \").concat(this.ref.gen, \" obj\\n\")];\n                (0, _writer.writeDict)(dict, buffer, originalTransform);\n                buffer.push(\"\\nendobj\\n\");\n                newRefs = [{\n                  ref: this.ref,\n                  data: buffer.join(\"\"),\n                  xfa: xfa\n                }];\n\n                if (parentBuffer !== null) {\n                  newRefs.push({\n                    ref: this.parent,\n                    data: parentBuffer.join(\"\"),\n                    xfa: null\n                  });\n                }\n\n                return _context7.abrupt(\"return\", newRefs);\n\n              case 24:\n              case \"end\":\n                return _context7.stop();\n            }\n          }\n        }, _callee7, this);\n      }));\n\n      function _saveRadioButton(_x18, _x19, _x20) {\n        return _saveRadioButton2.apply(this, arguments);\n      }\n\n      return _saveRadioButton;\n    }()\n  }, {\n    key: \"_processCheckBox\",\n    value: function _processCheckBox(params) {\n      var customAppearance = params.dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(customAppearance)) {\n        return;\n      }\n\n      var normalAppearance = customAppearance.get(\"N\");\n\n      if (!(0, _primitives.isDict)(normalAppearance)) {\n        return;\n      }\n\n      var exportValues = normalAppearance.getKeys();\n\n      if (!exportValues.includes(\"Off\")) {\n        exportValues.push(\"Off\");\n      }\n\n      if (exportValues.length !== 2) {\n        return;\n      }\n\n      this.data.exportValue = exportValues[0] === \"Off\" ? exportValues[1] : exportValues[0];\n      this.checkedAppearance = normalAppearance.get(this.data.exportValue);\n      this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\n\n      this._streams.push(this.checkedAppearance);\n\n      if (this.uncheckedAppearance) {\n        this._streams.push(this.uncheckedAppearance);\n      }\n\n      this._fallbackFontDict = this.fallbackFontDict;\n    }\n  }, {\n    key: \"_processRadioButton\",\n    value: function _processRadioButton(params) {\n      this.data.fieldValue = this.data.buttonValue = null;\n      var fieldParent = params.dict.get(\"Parent\");\n\n      if ((0, _primitives.isDict)(fieldParent)) {\n        this.parent = params.dict.getRaw(\"Parent\");\n        var fieldParentValue = fieldParent.get(\"V\");\n\n        if ((0, _primitives.isName)(fieldParentValue)) {\n          this.data.fieldValue = this._decodeFormValue(fieldParentValue);\n        }\n      }\n\n      var appearanceStates = params.dict.get(\"AP\");\n\n      if (!(0, _primitives.isDict)(appearanceStates)) {\n        return;\n      }\n\n      var normalAppearance = appearanceStates.get(\"N\");\n\n      if (!(0, _primitives.isDict)(normalAppearance)) {\n        return;\n      }\n\n      var _iterator8 = _createForOfIteratorHelper(normalAppearance.getKeys()),\n          _step8;\n\n      try {\n        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n          var key = _step8.value;\n\n          if (key !== \"Off\") {\n            this.data.buttonValue = this._decodeFormValue(key);\n            break;\n          }\n        }\n      } catch (err) {\n        _iterator8.e(err);\n      } finally {\n        _iterator8.f();\n      }\n\n      this.checkedAppearance = normalAppearance.get(this.data.buttonValue);\n      this.uncheckedAppearance = normalAppearance.get(\"Off\") || null;\n\n      this._streams.push(this.checkedAppearance);\n\n      if (this.uncheckedAppearance) {\n        this._streams.push(this.uncheckedAppearance);\n      }\n\n      this._fallbackFontDict = this.fallbackFontDict;\n    }\n  }, {\n    key: \"_processPushButton\",\n    value: function _processPushButton(params) {\n      if (!params.dict.has(\"A\") && !params.dict.has(\"AA\") && !this.data.alternativeText) {\n        (0, _util.warn)(\"Push buttons without action dictionaries are not supported\");\n        return;\n      }\n\n      this.data.isTooltipOnly = !params.dict.has(\"A\") && !params.dict.has(\"AA\");\n\n      _obj.Catalog.parseDestDictionary({\n        destDict: params.dict,\n        resultObj: this.data,\n        docBaseUrl: params.pdfManager.docBaseUrl\n      });\n    }\n  }, {\n    key: \"getFieldObject\",\n    value: function getFieldObject() {\n      var type = \"button\";\n      var exportValues;\n\n      if (this.data.checkBox) {\n        type = \"checkbox\";\n        exportValues = this.data.exportValue;\n      } else if (this.data.radioButton) {\n        type = \"radiobutton\";\n        exportValues = this.data.buttonValue;\n      }\n\n      return {\n        id: this.data.id,\n        value: this.data.fieldValue || \"Off\",\n        defaultValue: this.data.defaultFieldValue,\n        exportValues: exportValues,\n        editable: !this.data.readOnly,\n        name: this.data.fieldName,\n        rect: this.data.rect,\n        hidden: this.data.hidden,\n        actions: this.data.actions,\n        type: type\n      };\n    }\n  }, {\n    key: \"fallbackFontDict\",\n    get: function get() {\n      var dict = new _primitives.Dict();\n      dict.set(\"BaseFont\", _primitives.Name.get(\"ZapfDingbats\"));\n      dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n      dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n      dict.set(\"Encoding\", _primitives.Name.get(\"ZapfDingbatsEncoding\"));\n      return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n    }\n  }]);\n\n  return ButtonWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar ChoiceWidgetAnnotation = /*#__PURE__*/function (_WidgetAnnotation3) {\n  _inherits(ChoiceWidgetAnnotation, _WidgetAnnotation3);\n\n  var _super5 = _createSuper(ChoiceWidgetAnnotation);\n\n  function ChoiceWidgetAnnotation(params) {\n    var _this8;\n\n    _classCallCheck(this, ChoiceWidgetAnnotation);\n\n    _this8 = _super5.call(this, params);\n    _this8.data.options = [];\n    var options = (0, _core_utils.getInheritableProperty)({\n      dict: params.dict,\n      key: \"Opt\"\n    });\n\n    if (Array.isArray(options)) {\n      var xref = params.xref;\n\n      for (var i = 0, ii = options.length; i < ii; i++) {\n        var option = xref.fetchIfRef(options[i]);\n        var isOptionArray = Array.isArray(option);\n        _this8.data.options[i] = {\n          exportValue: _this8._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[0]) : option),\n          displayValue: _this8._decodeFormValue(isOptionArray ? xref.fetchIfRef(option[1]) : option)\n        };\n      }\n    }\n\n    if ((0, _util.isString)(_this8.data.fieldValue)) {\n      _this8.data.fieldValue = [_this8.data.fieldValue];\n    } else if (!_this8.data.fieldValue) {\n      _this8.data.fieldValue = [];\n    }\n\n    _this8.data.combo = _this8.hasFieldFlag(_util.AnnotationFieldFlag.COMBO);\n    _this8.data.multiSelect = _this8.hasFieldFlag(_util.AnnotationFieldFlag.MULTISELECT);\n    _this8._hasText = true;\n    return _this8;\n  }\n\n  _createClass(ChoiceWidgetAnnotation, [{\n    key: \"getFieldObject\",\n    value: function getFieldObject() {\n      var type = this.data.combo ? \"combobox\" : \"listbox\";\n      var value = this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null;\n      return {\n        id: this.data.id,\n        value: value,\n        defaultValue: this.data.defaultFieldValue,\n        editable: !this.data.readOnly,\n        name: this.data.fieldName,\n        rect: this.data.rect,\n        numItems: this.data.fieldValue.length,\n        multipleSelection: this.data.multiSelect,\n        hidden: this.data.hidden,\n        actions: this.data.actions,\n        type: type\n      };\n    }\n  }]);\n\n  return ChoiceWidgetAnnotation;\n}(WidgetAnnotation);\n\nvar TextAnnotation = /*#__PURE__*/function (_MarkupAnnotation) {\n  _inherits(TextAnnotation, _MarkupAnnotation);\n\n  var _super6 = _createSuper(TextAnnotation);\n\n  function TextAnnotation(parameters) {\n    var _this9;\n\n    _classCallCheck(this, TextAnnotation);\n\n    var DEFAULT_ICON_SIZE = 22;\n    _this9 = _super6.call(this, parameters);\n    var dict = parameters.dict;\n    _this9.data.annotationType = _util.AnnotationType.TEXT;\n\n    if (_this9.data.hasAppearance) {\n      _this9.data.name = \"NoIcon\";\n    } else {\n      _this9.data.rect[1] = _this9.data.rect[3] - DEFAULT_ICON_SIZE;\n      _this9.data.rect[2] = _this9.data.rect[0] + DEFAULT_ICON_SIZE;\n      _this9.data.name = dict.has(\"Name\") ? dict.get(\"Name\").name : \"Note\";\n    }\n\n    if (dict.has(\"State\")) {\n      _this9.data.state = dict.get(\"State\") || null;\n      _this9.data.stateModel = dict.get(\"StateModel\") || null;\n    } else {\n      _this9.data.state = null;\n      _this9.data.stateModel = null;\n    }\n\n    return _this9;\n  }\n\n  return TextAnnotation;\n}(MarkupAnnotation);\n\nvar LinkAnnotation = /*#__PURE__*/function (_Annotation3) {\n  _inherits(LinkAnnotation, _Annotation3);\n\n  var _super7 = _createSuper(LinkAnnotation);\n\n  function LinkAnnotation(params) {\n    var _this10;\n\n    _classCallCheck(this, LinkAnnotation);\n\n    _this10 = _super7.call(this, params);\n    _this10.data.annotationType = _util.AnnotationType.LINK;\n    var quadPoints = getQuadPoints(params.dict, _this10.rectangle);\n\n    if (quadPoints) {\n      _this10.data.quadPoints = quadPoints;\n    }\n\n    _obj.Catalog.parseDestDictionary({\n      destDict: params.dict,\n      resultObj: _this10.data,\n      docBaseUrl: params.pdfManager.docBaseUrl\n    });\n\n    return _this10;\n  }\n\n  return LinkAnnotation;\n}(Annotation);\n\nvar PopupAnnotation = /*#__PURE__*/function (_Annotation4) {\n  _inherits(PopupAnnotation, _Annotation4);\n\n  var _super8 = _createSuper(PopupAnnotation);\n\n  function PopupAnnotation(parameters) {\n    var _this11;\n\n    _classCallCheck(this, PopupAnnotation);\n\n    _this11 = _super8.call(this, parameters);\n    _this11.data.annotationType = _util.AnnotationType.POPUP;\n    var parentItem = parameters.dict.get(\"Parent\");\n\n    if (!parentItem) {\n      (0, _util.warn)(\"Popup annotation has a missing or invalid parent annotation.\");\n      return _possibleConstructorReturn(_this11);\n    }\n\n    var parentSubtype = parentItem.get(\"Subtype\");\n    _this11.data.parentType = (0, _primitives.isName)(parentSubtype) ? parentSubtype.name : null;\n    var rawParent = parameters.dict.getRaw(\"Parent\");\n    _this11.data.parentId = (0, _primitives.isRef)(rawParent) ? rawParent.toString() : null;\n    var parentRect = parentItem.getArray(\"Rect\");\n\n    if (Array.isArray(parentRect) && parentRect.length === 4) {\n      _this11.data.parentRect = _util.Util.normalizeRect(parentRect);\n    } else {\n      _this11.data.parentRect = [0, 0, 0, 0];\n    }\n\n    var rt = parentItem.get(\"RT\");\n\n    if ((0, _primitives.isName)(rt, _util.AnnotationReplyType.GROUP)) {\n      parentItem = parentItem.get(\"IRT\");\n    }\n\n    if (!parentItem.has(\"M\")) {\n      _this11.data.modificationDate = null;\n    } else {\n      _this11.setModificationDate(parentItem.get(\"M\"));\n\n      _this11.data.modificationDate = _this11.modificationDate;\n    }\n\n    if (!parentItem.has(\"C\")) {\n      _this11.data.color = null;\n    } else {\n      _this11.setColor(parentItem.getArray(\"C\"));\n\n      _this11.data.color = _this11.color;\n    }\n\n    if (!_this11.viewable) {\n      var parentFlags = parentItem.get(\"F\");\n\n      if (_this11._isViewable(parentFlags)) {\n        _this11.setFlags(parentFlags);\n      }\n    }\n\n    _this11.data.title = (0, _util.stringToPDFString)(parentItem.get(\"T\") || \"\");\n    _this11.data.contents = (0, _util.stringToPDFString)(parentItem.get(\"Contents\") || \"\");\n    return _this11;\n  }\n\n  return PopupAnnotation;\n}(Annotation);\n\nvar FreeTextAnnotation = /*#__PURE__*/function (_MarkupAnnotation2) {\n  _inherits(FreeTextAnnotation, _MarkupAnnotation2);\n\n  var _super9 = _createSuper(FreeTextAnnotation);\n\n  function FreeTextAnnotation(parameters) {\n    var _this12;\n\n    _classCallCheck(this, FreeTextAnnotation);\n\n    _this12 = _super9.call(this, parameters);\n    _this12.data.annotationType = _util.AnnotationType.FREETEXT;\n    return _this12;\n  }\n\n  return FreeTextAnnotation;\n}(MarkupAnnotation);\n\nvar LineAnnotation = /*#__PURE__*/function (_MarkupAnnotation3) {\n  _inherits(LineAnnotation, _MarkupAnnotation3);\n\n  var _super10 = _createSuper(LineAnnotation);\n\n  function LineAnnotation(parameters) {\n    var _this13;\n\n    _classCallCheck(this, LineAnnotation);\n\n    _this13 = _super10.call(this, parameters);\n    _this13.data.annotationType = _util.AnnotationType.LINE;\n    _this13.data.lineCoordinates = _util.Util.normalizeRect(parameters.dict.getArray(\"L\"));\n    return _this13;\n  }\n\n  return LineAnnotation;\n}(MarkupAnnotation);\n\nvar SquareAnnotation = /*#__PURE__*/function (_MarkupAnnotation4) {\n  _inherits(SquareAnnotation, _MarkupAnnotation4);\n\n  var _super11 = _createSuper(SquareAnnotation);\n\n  function SquareAnnotation(parameters) {\n    var _this14;\n\n    _classCallCheck(this, SquareAnnotation);\n\n    _this14 = _super11.call(this, parameters);\n    _this14.data.annotationType = _util.AnnotationType.SQUARE;\n    return _this14;\n  }\n\n  return SquareAnnotation;\n}(MarkupAnnotation);\n\nvar CircleAnnotation = /*#__PURE__*/function (_MarkupAnnotation5) {\n  _inherits(CircleAnnotation, _MarkupAnnotation5);\n\n  var _super12 = _createSuper(CircleAnnotation);\n\n  function CircleAnnotation(parameters) {\n    var _this15;\n\n    _classCallCheck(this, CircleAnnotation);\n\n    _this15 = _super12.call(this, parameters);\n    _this15.data.annotationType = _util.AnnotationType.CIRCLE;\n    return _this15;\n  }\n\n  return CircleAnnotation;\n}(MarkupAnnotation);\n\nvar PolylineAnnotation = /*#__PURE__*/function (_MarkupAnnotation6) {\n  _inherits(PolylineAnnotation, _MarkupAnnotation6);\n\n  var _super13 = _createSuper(PolylineAnnotation);\n\n  function PolylineAnnotation(parameters) {\n    var _this16;\n\n    _classCallCheck(this, PolylineAnnotation);\n\n    _this16 = _super13.call(this, parameters);\n    _this16.data.annotationType = _util.AnnotationType.POLYLINE;\n    _this16.data.vertices = [];\n    var rawVertices = parameters.dict.getArray(\"Vertices\");\n\n    if (!Array.isArray(rawVertices)) {\n      return _possibleConstructorReturn(_this16);\n    }\n\n    for (var i = 0, ii = rawVertices.length; i < ii; i += 2) {\n      _this16.data.vertices.push({\n        x: rawVertices[i],\n        y: rawVertices[i + 1]\n      });\n    }\n\n    return _this16;\n  }\n\n  return PolylineAnnotation;\n}(MarkupAnnotation);\n\nvar PolygonAnnotation = /*#__PURE__*/function (_PolylineAnnotation) {\n  _inherits(PolygonAnnotation, _PolylineAnnotation);\n\n  var _super14 = _createSuper(PolygonAnnotation);\n\n  function PolygonAnnotation(parameters) {\n    var _this17;\n\n    _classCallCheck(this, PolygonAnnotation);\n\n    _this17 = _super14.call(this, parameters);\n    _this17.data.annotationType = _util.AnnotationType.POLYGON;\n    return _this17;\n  }\n\n  return PolygonAnnotation;\n}(PolylineAnnotation);\n\nvar CaretAnnotation = /*#__PURE__*/function (_MarkupAnnotation7) {\n  _inherits(CaretAnnotation, _MarkupAnnotation7);\n\n  var _super15 = _createSuper(CaretAnnotation);\n\n  function CaretAnnotation(parameters) {\n    var _this18;\n\n    _classCallCheck(this, CaretAnnotation);\n\n    _this18 = _super15.call(this, parameters);\n    _this18.data.annotationType = _util.AnnotationType.CARET;\n    return _this18;\n  }\n\n  return CaretAnnotation;\n}(MarkupAnnotation);\n\nvar InkAnnotation = /*#__PURE__*/function (_MarkupAnnotation8) {\n  _inherits(InkAnnotation, _MarkupAnnotation8);\n\n  var _super16 = _createSuper(InkAnnotation);\n\n  function InkAnnotation(parameters) {\n    var _this19;\n\n    _classCallCheck(this, InkAnnotation);\n\n    _this19 = _super16.call(this, parameters);\n    _this19.data.annotationType = _util.AnnotationType.INK;\n    _this19.data.inkLists = [];\n    var rawInkLists = parameters.dict.getArray(\"InkList\");\n\n    if (!Array.isArray(rawInkLists)) {\n      return _possibleConstructorReturn(_this19);\n    }\n\n    var xref = parameters.xref;\n\n    for (var i = 0, ii = rawInkLists.length; i < ii; ++i) {\n      _this19.data.inkLists.push([]);\n\n      for (var j = 0, jj = rawInkLists[i].length; j < jj; j += 2) {\n        _this19.data.inkLists[i].push({\n          x: xref.fetchIfRef(rawInkLists[i][j]),\n          y: xref.fetchIfRef(rawInkLists[i][j + 1])\n        });\n      }\n    }\n\n    return _this19;\n  }\n\n  return InkAnnotation;\n}(MarkupAnnotation);\n\nvar HighlightAnnotation = /*#__PURE__*/function (_MarkupAnnotation9) {\n  _inherits(HighlightAnnotation, _MarkupAnnotation9);\n\n  var _super17 = _createSuper(HighlightAnnotation);\n\n  function HighlightAnnotation(parameters) {\n    var _this20;\n\n    _classCallCheck(this, HighlightAnnotation);\n\n    _this20 = _super17.call(this, parameters);\n    _this20.data.annotationType = _util.AnnotationType.HIGHLIGHT;\n    var quadPoints = _this20.data.quadPoints = getQuadPoints(parameters.dict, null);\n\n    if (quadPoints) {\n      if (!_this20.appearance) {\n        var fillColor = _this20.color ? Array.from(_this20.color).map(function (c) {\n          return c / 255;\n        }) : [1, 1, 0];\n\n        _this20._setDefaultAppearance({\n          xref: parameters.xref,\n          fillColor: fillColor,\n          blendMode: \"Multiply\",\n          pointsCallback: function pointsCallback(buffer, points) {\n            buffer.push(\"\".concat(points[0].x, \" \").concat(points[0].y, \" m\"));\n            buffer.push(\"\".concat(points[1].x, \" \").concat(points[1].y, \" l\"));\n            buffer.push(\"\".concat(points[3].x, \" \").concat(points[3].y, \" l\"));\n            buffer.push(\"\".concat(points[2].x, \" \").concat(points[2].y, \" l\"));\n            buffer.push(\"f\");\n            return [points[0].x, points[1].x, points[3].y, points[1].y];\n          }\n        });\n      }\n    } else {\n      _this20.data.hasPopup = false;\n    }\n\n    return _this20;\n  }\n\n  return HighlightAnnotation;\n}(MarkupAnnotation);\n\nvar UnderlineAnnotation = /*#__PURE__*/function (_MarkupAnnotation10) {\n  _inherits(UnderlineAnnotation, _MarkupAnnotation10);\n\n  var _super18 = _createSuper(UnderlineAnnotation);\n\n  function UnderlineAnnotation(parameters) {\n    var _this21;\n\n    _classCallCheck(this, UnderlineAnnotation);\n\n    _this21 = _super18.call(this, parameters);\n    _this21.data.annotationType = _util.AnnotationType.UNDERLINE;\n    var quadPoints = _this21.data.quadPoints = getQuadPoints(parameters.dict, null);\n\n    if (quadPoints) {\n      if (!_this21.appearance) {\n        var strokeColor = _this21.color ? Array.from(_this21.color).map(function (c) {\n          return c / 255;\n        }) : [0, 0, 0];\n\n        _this21._setDefaultAppearance({\n          xref: parameters.xref,\n          extra: \"[] 0 d 1 w\",\n          strokeColor: strokeColor,\n          pointsCallback: function pointsCallback(buffer, points) {\n            buffer.push(\"\".concat(points[2].x, \" \").concat(points[2].y, \" m\"));\n            buffer.push(\"\".concat(points[3].x, \" \").concat(points[3].y, \" l\"));\n            buffer.push(\"S\");\n            return [points[0].x, points[1].x, points[3].y, points[1].y];\n          }\n        });\n      }\n    } else {\n      _this21.data.hasPopup = false;\n    }\n\n    return _this21;\n  }\n\n  return UnderlineAnnotation;\n}(MarkupAnnotation);\n\nvar SquigglyAnnotation = /*#__PURE__*/function (_MarkupAnnotation11) {\n  _inherits(SquigglyAnnotation, _MarkupAnnotation11);\n\n  var _super19 = _createSuper(SquigglyAnnotation);\n\n  function SquigglyAnnotation(parameters) {\n    var _this22;\n\n    _classCallCheck(this, SquigglyAnnotation);\n\n    _this22 = _super19.call(this, parameters);\n    _this22.data.annotationType = _util.AnnotationType.SQUIGGLY;\n    var quadPoints = _this22.data.quadPoints = getQuadPoints(parameters.dict, null);\n\n    if (quadPoints) {\n      if (!_this22.appearance) {\n        var strokeColor = _this22.color ? Array.from(_this22.color).map(function (c) {\n          return c / 255;\n        }) : [0, 0, 0];\n\n        _this22._setDefaultAppearance({\n          xref: parameters.xref,\n          extra: \"[] 0 d 1 w\",\n          strokeColor: strokeColor,\n          pointsCallback: function pointsCallback(buffer, points) {\n            var dy = (points[0].y - points[2].y) / 6;\n            var shift = dy;\n            var x = points[2].x;\n            var y = points[2].y;\n            var xEnd = points[3].x;\n            buffer.push(\"\".concat(x, \" \").concat(y + shift, \" m\"));\n\n            do {\n              x += 2;\n              shift = shift === 0 ? dy : 0;\n              buffer.push(\"\".concat(x, \" \").concat(y + shift, \" l\"));\n            } while (x < xEnd);\n\n            buffer.push(\"S\");\n            return [points[2].x, xEnd, y - 2 * dy, y + 2 * dy];\n          }\n        });\n      }\n    } else {\n      _this22.data.hasPopup = false;\n    }\n\n    return _this22;\n  }\n\n  return SquigglyAnnotation;\n}(MarkupAnnotation);\n\nvar StrikeOutAnnotation = /*#__PURE__*/function (_MarkupAnnotation12) {\n  _inherits(StrikeOutAnnotation, _MarkupAnnotation12);\n\n  var _super20 = _createSuper(StrikeOutAnnotation);\n\n  function StrikeOutAnnotation(parameters) {\n    var _this23;\n\n    _classCallCheck(this, StrikeOutAnnotation);\n\n    _this23 = _super20.call(this, parameters);\n    _this23.data.annotationType = _util.AnnotationType.STRIKEOUT;\n    var quadPoints = _this23.data.quadPoints = getQuadPoints(parameters.dict, null);\n\n    if (quadPoints) {\n      if (!_this23.appearance) {\n        var strokeColor = _this23.color ? Array.from(_this23.color).map(function (c) {\n          return c / 255;\n        }) : [0, 0, 0];\n\n        _this23._setDefaultAppearance({\n          xref: parameters.xref,\n          extra: \"[] 0 d 1 w\",\n          strokeColor: strokeColor,\n          pointsCallback: function pointsCallback(buffer, points) {\n            buffer.push(\"\".concat((points[0].x + points[2].x) / 2) + \" \".concat((points[0].y + points[2].y) / 2, \" m\"));\n            buffer.push(\"\".concat((points[1].x + points[3].x) / 2) + \" \".concat((points[1].y + points[3].y) / 2, \" l\"));\n            buffer.push(\"S\");\n            return [points[0].x, points[1].x, points[3].y, points[1].y];\n          }\n        });\n      }\n    } else {\n      _this23.data.hasPopup = false;\n    }\n\n    return _this23;\n  }\n\n  return StrikeOutAnnotation;\n}(MarkupAnnotation);\n\nvar StampAnnotation = /*#__PURE__*/function (_MarkupAnnotation13) {\n  _inherits(StampAnnotation, _MarkupAnnotation13);\n\n  var _super21 = _createSuper(StampAnnotation);\n\n  function StampAnnotation(parameters) {\n    var _this24;\n\n    _classCallCheck(this, StampAnnotation);\n\n    _this24 = _super21.call(this, parameters);\n    _this24.data.annotationType = _util.AnnotationType.STAMP;\n    return _this24;\n  }\n\n  return StampAnnotation;\n}(MarkupAnnotation);\n\nvar FileAttachmentAnnotation = /*#__PURE__*/function (_MarkupAnnotation14) {\n  _inherits(FileAttachmentAnnotation, _MarkupAnnotation14);\n\n  var _super22 = _createSuper(FileAttachmentAnnotation);\n\n  function FileAttachmentAnnotation(parameters) {\n    var _this25;\n\n    _classCallCheck(this, FileAttachmentAnnotation);\n\n    _this25 = _super22.call(this, parameters);\n    var file = new _obj.FileSpec(parameters.dict.get(\"FS\"), parameters.xref);\n    _this25.data.annotationType = _util.AnnotationType.FILEATTACHMENT;\n    _this25.data.file = file.serializable;\n    return _this25;\n  }\n\n  return FileAttachmentAnnotation;\n}(MarkupAnnotation);\n\n/***/ }),\n/* 156 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.createDefaultAppearance = createDefaultAppearance;\nexports.parseDefaultAppearance = parseDefaultAppearance;\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _evaluator = __w_pdfjs_require__(157);\n\nvar _stream = __w_pdfjs_require__(142);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nvar DefaultAppearanceEvaluator = /*#__PURE__*/function (_EvaluatorPreprocesso) {\n  _inherits(DefaultAppearanceEvaluator, _EvaluatorPreprocesso);\n\n  var _super = _createSuper(DefaultAppearanceEvaluator);\n\n  function DefaultAppearanceEvaluator(str) {\n    _classCallCheck(this, DefaultAppearanceEvaluator);\n\n    return _super.call(this, new _stream.StringStream(str));\n  }\n\n  _createClass(DefaultAppearanceEvaluator, [{\n    key: \"parse\",\n    value: function parse() {\n      var operation = {\n        fn: 0,\n        args: []\n      };\n      var result = {\n        fontSize: 0,\n        fontName: _primitives.Name.get(\"\"),\n        fontColor: new Uint8ClampedArray([0, 0, 0])\n      };\n\n      try {\n        while (true) {\n          operation.args.length = 0;\n\n          if (!this.read(operation)) {\n            break;\n          }\n\n          if (this.savedStatesDepth !== 0) {\n            continue;\n          }\n\n          var fn = operation.fn,\n              args = operation.args;\n\n          switch (fn | 0) {\n            case _util.OPS.setFont:\n              var _args = _slicedToArray(args, 2),\n                  fontName = _args[0],\n                  fontSize = _args[1];\n\n              if ((0, _primitives.isName)(fontName)) {\n                result.fontName = fontName;\n              }\n\n              if (typeof fontSize === \"number\" && fontSize > 0) {\n                result.fontSize = fontSize;\n              }\n\n              break;\n\n            case _util.OPS.setFillRGBColor:\n              _colorspace.ColorSpace.singletons.rgb.getRgbItem(args, 0, result.fontColor, 0);\n\n              break;\n\n            case _util.OPS.setFillGray:\n              _colorspace.ColorSpace.singletons.gray.getRgbItem(args, 0, result.fontColor, 0);\n\n              break;\n\n            case _util.OPS.setFillColorSpace:\n              _colorspace.ColorSpace.singletons.cmyk.getRgbItem(args, 0, result.fontColor, 0);\n\n              break;\n          }\n        }\n      } catch (reason) {\n        (0, _util.warn)(\"parseDefaultAppearance - ignoring errors: \\\"\".concat(reason, \"\\\".\"));\n      }\n\n      return result;\n    }\n  }]);\n\n  return DefaultAppearanceEvaluator;\n}(_evaluator.EvaluatorPreprocessor);\n\nfunction parseDefaultAppearance(str) {\n  return new DefaultAppearanceEvaluator(str).parse();\n}\n\nfunction createDefaultAppearance(_ref) {\n  var fontSize = _ref.fontSize,\n      fontName = _ref.fontName,\n      fontColor = _ref.fontColor;\n  var colorCmd;\n\n  if (fontColor.every(function (c) {\n    return c === 0;\n  })) {\n    colorCmd = \"0 g\";\n  } else {\n    colorCmd = Array.from(fontColor).map(function (c) {\n      return (c / 255).toFixed(2);\n    }).join(\" \") + \" rg\";\n  }\n\n  return \"/\".concat((0, _core_utils.escapePDFName)(fontName.name), \" \").concat(fontSize, \" Tf \").concat(colorCmd);\n}\n\n/***/ }),\n/* 157 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PartialEvaluator = exports.EvaluatorPreprocessor = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _cmap = __w_pdfjs_require__(158);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _fonts = __w_pdfjs_require__(159);\n\nvar _encodings = __w_pdfjs_require__(162);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _unicode = __w_pdfjs_require__(165);\n\nvar _standard_fonts = __w_pdfjs_require__(164);\n\nvar _pattern = __w_pdfjs_require__(168);\n\nvar _function = __w_pdfjs_require__(169);\n\nvar _parser = __w_pdfjs_require__(141);\n\nvar _image_utils = __w_pdfjs_require__(154);\n\nvar _bidi = __w_pdfjs_require__(171);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _glyphlist = __w_pdfjs_require__(163);\n\nvar _metrics = __w_pdfjs_require__(172);\n\nvar _murmurhash = __w_pdfjs_require__(173);\n\nvar _operator_list = __w_pdfjs_require__(174);\n\nvar _image = __w_pdfjs_require__(175);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar DefaultPartialEvaluatorOptions = Object.freeze({\n  maxImageSize: -1,\n  disableFontFace: false,\n  ignoreErrors: false,\n  isEvalSupported: true,\n  fontExtraProperties: false\n});\nvar PatternType = {\n  TILING: 1,\n  SHADING: 2\n};\nvar deferred = Promise.resolve();\n\nfunction normalizeBlendMode(value) {\n  var parsingArray = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n  if (Array.isArray(value)) {\n    for (var i = 0, ii = value.length; i < ii; i++) {\n      var maybeBM = normalizeBlendMode(value[i], true);\n\n      if (maybeBM) {\n        return maybeBM;\n      }\n    }\n\n    (0, _util.warn)(\"Unsupported blend mode Array: \".concat(value));\n    return \"source-over\";\n  }\n\n  if (!(0, _primitives.isName)(value)) {\n    if (parsingArray) {\n      return null;\n    }\n\n    return \"source-over\";\n  }\n\n  switch (value.name) {\n    case \"Normal\":\n    case \"Compatible\":\n      return \"source-over\";\n\n    case \"Multiply\":\n      return \"multiply\";\n\n    case \"Screen\":\n      return \"screen\";\n\n    case \"Overlay\":\n      return \"overlay\";\n\n    case \"Darken\":\n      return \"darken\";\n\n    case \"Lighten\":\n      return \"lighten\";\n\n    case \"ColorDodge\":\n      return \"color-dodge\";\n\n    case \"ColorBurn\":\n      return \"color-burn\";\n\n    case \"HardLight\":\n      return \"hard-light\";\n\n    case \"SoftLight\":\n      return \"soft-light\";\n\n    case \"Difference\":\n      return \"difference\";\n\n    case \"Exclusion\":\n      return \"exclusion\";\n\n    case \"Hue\":\n      return \"hue\";\n\n    case \"Saturation\":\n      return \"saturation\";\n\n    case \"Color\":\n      return \"color\";\n\n    case \"Luminosity\":\n      return \"luminosity\";\n  }\n\n  if (parsingArray) {\n    return null;\n  }\n\n  (0, _util.warn)(\"Unsupported blend mode: \".concat(value.name));\n  return \"source-over\";\n}\n\nvar TimeSlotManager = /*#__PURE__*/function () {\n  _createClass(TimeSlotManager, null, [{\n    key: \"TIME_SLOT_DURATION_MS\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"TIME_SLOT_DURATION_MS\", 20);\n    }\n  }, {\n    key: \"CHECK_TIME_EVERY\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"CHECK_TIME_EVERY\", 100);\n    }\n  }]);\n\n  function TimeSlotManager() {\n    _classCallCheck(this, TimeSlotManager);\n\n    this.reset();\n  }\n\n  _createClass(TimeSlotManager, [{\n    key: \"check\",\n    value: function check() {\n      if (++this.checked < TimeSlotManager.CHECK_TIME_EVERY) {\n        return false;\n      }\n\n      this.checked = 0;\n      return this.endTime <= Date.now();\n    }\n  }, {\n    key: \"reset\",\n    value: function reset() {\n      this.endTime = Date.now() + TimeSlotManager.TIME_SLOT_DURATION_MS;\n      this.checked = 0;\n    }\n  }]);\n\n  return TimeSlotManager;\n}();\n\nvar PartialEvaluator = /*#__PURE__*/function () {\n  function PartialEvaluator(_ref) {\n    var xref = _ref.xref,\n        handler = _ref.handler,\n        pageIndex = _ref.pageIndex,\n        idFactory = _ref.idFactory,\n        fontCache = _ref.fontCache,\n        builtInCMapCache = _ref.builtInCMapCache,\n        globalImageCache = _ref.globalImageCache,\n        _ref$options = _ref.options,\n        options = _ref$options === void 0 ? null : _ref$options;\n\n    _classCallCheck(this, PartialEvaluator);\n\n    this.xref = xref;\n    this.handler = handler;\n    this.pageIndex = pageIndex;\n    this.idFactory = idFactory;\n    this.fontCache = fontCache;\n    this.builtInCMapCache = builtInCMapCache;\n    this.globalImageCache = globalImageCache;\n    this.options = options || DefaultPartialEvaluatorOptions;\n    this.parsingType3Font = false;\n    this._fetchBuiltInCMapBound = this.fetchBuiltInCMap.bind(this);\n  }\n\n  _createClass(PartialEvaluator, [{\n    key: \"clone\",\n    value: function clone() {\n      var newOptions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : DefaultPartialEvaluatorOptions;\n      var newEvaluator = Object.create(this);\n      newEvaluator.options = newOptions;\n      return newEvaluator;\n    }\n  }, {\n    key: \"hasBlendModes\",\n    value: function hasBlendModes(resources, nonBlendModesSet) {\n      if (!(resources instanceof _primitives.Dict)) {\n        return false;\n      }\n\n      if (resources.objId && nonBlendModesSet.has(resources.objId)) {\n        return false;\n      }\n\n      var processed = new _primitives.RefSet(nonBlendModesSet);\n\n      if (resources.objId) {\n        processed.put(resources.objId);\n      }\n\n      var nodes = [resources],\n          xref = this.xref;\n\n      while (nodes.length) {\n        var node = nodes.shift();\n        var graphicStates = node.get(\"ExtGState\");\n\n        if (graphicStates instanceof _primitives.Dict) {\n          var _iterator = _createForOfIteratorHelper(graphicStates.getRawValues()),\n              _step;\n\n          try {\n            for (_iterator.s(); !(_step = _iterator.n()).done;) {\n              var graphicState = _step.value;\n\n              if (graphicState instanceof _primitives.Ref) {\n                if (processed.has(graphicState)) {\n                  continue;\n                }\n\n                try {\n                  graphicState = xref.fetch(graphicState);\n                } catch (ex) {\n                  if (ex instanceof _core_utils.MissingDataException) {\n                    throw ex;\n                  }\n\n                  processed.put(graphicState);\n                  (0, _util.info)(\"hasBlendModes - ignoring ExtGState: \\\"\".concat(ex, \"\\\".\"));\n                  continue;\n                }\n              }\n\n              if (!(graphicState instanceof _primitives.Dict)) {\n                continue;\n              }\n\n              if (graphicState.objId) {\n                processed.put(graphicState.objId);\n              }\n\n              var bm = graphicState.get(\"BM\");\n\n              if (bm instanceof _primitives.Name) {\n                if (bm.name !== \"Normal\") {\n                  return true;\n                }\n\n                continue;\n              }\n\n              if (bm !== undefined && Array.isArray(bm)) {\n                var _iterator2 = _createForOfIteratorHelper(bm),\n                    _step2;\n\n                try {\n                  for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n                    var element = _step2.value;\n\n                    if (element instanceof _primitives.Name && element.name !== \"Normal\") {\n                      return true;\n                    }\n                  }\n                } catch (err) {\n                  _iterator2.e(err);\n                } finally {\n                  _iterator2.f();\n                }\n              }\n            }\n          } catch (err) {\n            _iterator.e(err);\n          } finally {\n            _iterator.f();\n          }\n        }\n\n        var xObjects = node.get(\"XObject\");\n\n        if (!(xObjects instanceof _primitives.Dict)) {\n          continue;\n        }\n\n        var _iterator3 = _createForOfIteratorHelper(xObjects.getRawValues()),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var xObject = _step3.value;\n\n            if (xObject instanceof _primitives.Ref) {\n              if (processed.has(xObject)) {\n                continue;\n              }\n\n              try {\n                xObject = xref.fetch(xObject);\n              } catch (ex) {\n                if (ex instanceof _core_utils.MissingDataException) {\n                  throw ex;\n                }\n\n                processed.put(xObject);\n                (0, _util.info)(\"hasBlendModes - ignoring XObject: \\\"\".concat(ex, \"\\\".\"));\n                continue;\n              }\n            }\n\n            if (!(0, _primitives.isStream)(xObject)) {\n              continue;\n            }\n\n            if (xObject.dict.objId) {\n              processed.put(xObject.dict.objId);\n            }\n\n            var xResources = xObject.dict.get(\"Resources\");\n\n            if (!(xResources instanceof _primitives.Dict)) {\n              continue;\n            }\n\n            if (xResources.objId && processed.has(xResources.objId)) {\n              continue;\n            }\n\n            nodes.push(xResources);\n\n            if (xResources.objId) {\n              processed.put(xResources.objId);\n            }\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n      }\n\n      processed.forEach(function (ref) {\n        nonBlendModesSet.put(ref);\n      });\n      return false;\n    }\n  }, {\n    key: \"fetchBuiltInCMap\",\n    value: function () {\n      var _fetchBuiltInCMap = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(name) {\n        var cachedData, readableStream, reader, data;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                cachedData = this.builtInCMapCache.get(name);\n\n                if (!cachedData) {\n                  _context.next = 3;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", cachedData);\n\n              case 3:\n                readableStream = this.handler.sendWithStream(\"FetchBuiltInCMap\", {\n                  name: name\n                });\n                reader = readableStream.getReader();\n                _context.next = 7;\n                return new Promise(function (resolve, reject) {\n                  function pump() {\n                    reader.read().then(function (_ref2) {\n                      var value = _ref2.value,\n                          done = _ref2.done;\n\n                      if (done) {\n                        return;\n                      }\n\n                      resolve(value);\n                      pump();\n                    }, reject);\n                  }\n\n                  pump();\n                });\n\n              case 7:\n                data = _context.sent;\n\n                if (data.compressionType !== _util.CMapCompressionType.NONE) {\n                  this.builtInCMapCache.set(name, data);\n                }\n\n                return _context.abrupt(\"return\", data);\n\n              case 10:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function fetchBuiltInCMap(_x) {\n        return _fetchBuiltInCMap.apply(this, arguments);\n      }\n\n      return fetchBuiltInCMap;\n    }()\n  }, {\n    key: \"buildFormXObject\",\n    value: function () {\n      var _buildFormXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(resources, xobj, smask, operatorList, task, initialState, localColorSpaceCache) {\n        var dict, matrix, bbox, optionalContent, group, groupOptions, groupSubtype, colorSpace, cs, cachedColorSpace;\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                dict = xobj.dict;\n                matrix = dict.getArray(\"Matrix\");\n                bbox = dict.getArray(\"BBox\");\n\n                if (Array.isArray(bbox) && bbox.length === 4) {\n                  bbox = _util.Util.normalizeRect(bbox);\n                } else {\n                  bbox = null;\n                }\n\n                optionalContent = null;\n\n                if (!dict.has(\"OC\")) {\n                  _context2.next = 10;\n                  break;\n                }\n\n                _context2.next = 8;\n                return this.parseMarkedContentProps(dict.get(\"OC\"), resources);\n\n              case 8:\n                optionalContent = _context2.sent;\n                operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", optionalContent]);\n\n              case 10:\n                group = dict.get(\"Group\");\n\n                if (!group) {\n                  _context2.next = 30;\n                  break;\n                }\n\n                groupOptions = {\n                  matrix: matrix,\n                  bbox: bbox,\n                  smask: smask,\n                  isolated: false,\n                  knockout: false\n                };\n                groupSubtype = group.get(\"S\");\n                colorSpace = null;\n\n                if (!(0, _primitives.isName)(groupSubtype, \"Transparency\")) {\n                  _context2.next = 28;\n                  break;\n                }\n\n                groupOptions.isolated = group.get(\"I\") || false;\n                groupOptions.knockout = group.get(\"K\") || false;\n\n                if (!group.has(\"CS\")) {\n                  _context2.next = 28;\n                  break;\n                }\n\n                cs = group.getRaw(\"CS\");\n                cachedColorSpace = _colorspace.ColorSpace.getCached(cs, this.xref, localColorSpaceCache);\n\n                if (!cachedColorSpace) {\n                  _context2.next = 25;\n                  break;\n                }\n\n                colorSpace = cachedColorSpace;\n                _context2.next = 28;\n                break;\n\n              case 25:\n                _context2.next = 27;\n                return this.parseColorSpace({\n                  cs: cs,\n                  resources: resources,\n                  localColorSpaceCache: localColorSpaceCache\n                });\n\n              case 27:\n                colorSpace = _context2.sent;\n\n              case 28:\n                if (smask && smask.backdrop) {\n                  colorSpace = colorSpace || _colorspace.ColorSpace.singletons.rgb;\n                  smask.backdrop = colorSpace.getRgb(smask.backdrop, 0);\n                }\n\n                operatorList.addOp(_util.OPS.beginGroup, [groupOptions]);\n\n              case 30:\n                operatorList.addOp(_util.OPS.paintFormXObjectBegin, [matrix, bbox]);\n                return _context2.abrupt(\"return\", this.getOperatorList({\n                  stream: xobj,\n                  task: task,\n                  resources: dict.get(\"Resources\") || resources,\n                  operatorList: operatorList,\n                  initialState: initialState\n                }).then(function () {\n                  operatorList.addOp(_util.OPS.paintFormXObjectEnd, []);\n\n                  if (group) {\n                    operatorList.addOp(_util.OPS.endGroup, [groupOptions]);\n                  }\n\n                  if (optionalContent) {\n                    operatorList.addOp(_util.OPS.endMarkedContent, []);\n                  }\n                }));\n\n              case 32:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function buildFormXObject(_x2, _x3, _x4, _x5, _x6, _x7, _x8) {\n        return _buildFormXObject.apply(this, arguments);\n      }\n\n      return buildFormXObject;\n    }()\n  }, {\n    key: \"_sendImgData\",\n    value: function _sendImgData(objId, imgData) {\n      var cacheGlobally = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n      var transfers = imgData ? [imgData.data.buffer] : null;\n\n      if (this.parsingType3Font || cacheGlobally) {\n        return this.handler.send(\"commonobj\", [objId, \"Image\", imgData], transfers);\n      }\n\n      return this.handler.send(\"obj\", [objId, this.pageIndex, \"Image\", imgData], transfers);\n    }\n  }, {\n    key: \"buildPaintImageXObject\",\n    value: function () {\n      var _buildPaintImageXObject = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3(_ref3) {\n        var _this = this;\n\n        var resources, image, _ref3$isInline, isInline, operatorList, cacheKey, localImageCache, localColorSpaceCache, dict, imageRef, w, h, maxImageSize, imageMask, imgData, args, width, height, bitStrideLength, imgArray, decode, softMask, mask, SMALL_IMAGE_DIMENSIONS, imageObj, objId, cacheGlobally;\n\n        return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n          while (1) {\n            switch (_context3.prev = _context3.next) {\n              case 0:\n                resources = _ref3.resources, image = _ref3.image, _ref3$isInline = _ref3.isInline, isInline = _ref3$isInline === void 0 ? false : _ref3$isInline, operatorList = _ref3.operatorList, cacheKey = _ref3.cacheKey, localImageCache = _ref3.localImageCache, localColorSpaceCache = _ref3.localColorSpaceCache;\n                dict = image.dict;\n                imageRef = dict.objId;\n                w = dict.get(\"Width\", \"W\");\n                h = dict.get(\"Height\", \"H\");\n\n                if (!(!(w && (0, _util.isNum)(w)) || !(h && (0, _util.isNum)(h)))) {\n                  _context3.next = 8;\n                  break;\n                }\n\n                (0, _util.warn)(\"Image dimensions are missing, or not numbers.\");\n                return _context3.abrupt(\"return\", undefined);\n\n              case 8:\n                maxImageSize = this.options.maxImageSize;\n\n                if (!(maxImageSize !== -1 && w * h > maxImageSize)) {\n                  _context3.next = 12;\n                  break;\n                }\n\n                (0, _util.warn)(\"Image exceeded maximum allowed size and was removed.\");\n                return _context3.abrupt(\"return\", undefined);\n\n              case 12:\n                imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n\n                if (!imageMask) {\n                  _context3.next = 25;\n                  break;\n                }\n\n                width = dict.get(\"Width\", \"W\");\n                height = dict.get(\"Height\", \"H\");\n                bitStrideLength = width + 7 >> 3;\n                imgArray = image.getBytes(bitStrideLength * height, true);\n                decode = dict.getArray(\"Decode\", \"D\");\n                imgData = _image.PDFImage.createMask({\n                  imgArray: imgArray,\n                  width: width,\n                  height: height,\n                  imageIsFromDecodeStream: image instanceof _stream.DecodeStream,\n                  inverseDecode: !!decode && decode[0] > 0\n                });\n                imgData.cached = !!cacheKey;\n                args = [imgData];\n                operatorList.addOp(_util.OPS.paintImageMaskXObject, args);\n\n                if (cacheKey) {\n                  localImageCache.set(cacheKey, imageRef, {\n                    fn: _util.OPS.paintImageMaskXObject,\n                    args: args\n                  });\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 25:\n                softMask = dict.get(\"SMask\", \"SM\") || false;\n                mask = dict.get(\"Mask\") || false;\n                SMALL_IMAGE_DIMENSIONS = 200;\n\n                if (!(isInline && !softMask && !mask && w + h < SMALL_IMAGE_DIMENSIONS)) {\n                  _context3.next = 33;\n                  break;\n                }\n\n                imageObj = new _image.PDFImage({\n                  xref: this.xref,\n                  res: resources,\n                  image: image,\n                  isInline: isInline,\n                  pdfFunctionFactory: this._pdfFunctionFactory,\n                  localColorSpaceCache: localColorSpaceCache\n                });\n                imgData = imageObj.createImageData(true);\n                operatorList.addOp(_util.OPS.paintInlineImageXObject, [imgData]);\n                return _context3.abrupt(\"return\", undefined);\n\n              case 33:\n                objId = \"img_\".concat(this.idFactory.createObjId()), cacheGlobally = false;\n\n                if (this.parsingType3Font) {\n                  objId = \"\".concat(this.idFactory.getDocId(), \"_type3_\").concat(objId);\n                } else if (imageRef) {\n                  cacheGlobally = this.globalImageCache.shouldCache(imageRef, this.pageIndex);\n\n                  if (cacheGlobally) {\n                    objId = \"\".concat(this.idFactory.getDocId(), \"_\").concat(objId);\n                  }\n                }\n\n                operatorList.addDependency(objId);\n                args = [objId, w, h];\n\n                _image.PDFImage.buildImage({\n                  xref: this.xref,\n                  res: resources,\n                  image: image,\n                  isInline: isInline,\n                  pdfFunctionFactory: this._pdfFunctionFactory,\n                  localColorSpaceCache: localColorSpaceCache\n                }).then(function (imageObj) {\n                  imgData = imageObj.createImageData(false);\n                  return _this._sendImgData(objId, imgData, cacheGlobally);\n                })[\"catch\"](function (reason) {\n                  (0, _util.warn)(\"Unable to decode image \\\"\".concat(objId, \"\\\": \\\"\").concat(reason, \"\\\".\"));\n                  return _this._sendImgData(objId, null, cacheGlobally);\n                });\n\n                operatorList.addOp(_util.OPS.paintImageXObject, args);\n\n                if (cacheKey) {\n                  localImageCache.set(cacheKey, imageRef, {\n                    fn: _util.OPS.paintImageXObject,\n                    args: args\n                  });\n\n                  if (imageRef) {\n                    (0, _util.assert)(!isInline, \"Cannot cache an inline image globally.\");\n                    this.globalImageCache.addPageIndex(imageRef, this.pageIndex);\n\n                    if (cacheGlobally) {\n                      this.globalImageCache.setData(imageRef, {\n                        objId: objId,\n                        fn: _util.OPS.paintImageXObject,\n                        args: args\n                      });\n                    }\n                  }\n                }\n\n                return _context3.abrupt(\"return\", undefined);\n\n              case 41:\n              case \"end\":\n                return _context3.stop();\n            }\n          }\n        }, _callee3, this);\n      }));\n\n      function buildPaintImageXObject(_x9) {\n        return _buildPaintImageXObject.apply(this, arguments);\n      }\n\n      return buildPaintImageXObject;\n    }()\n  }, {\n    key: \"handleSMask\",\n    value: function handleSMask(smask, resources, operatorList, task, stateManager, localColorSpaceCache) {\n      var smaskContent = smask.get(\"G\");\n      var smaskOptions = {\n        subtype: smask.get(\"S\").name,\n        backdrop: smask.get(\"BC\")\n      };\n      var transferObj = smask.get(\"TR\");\n\n      if ((0, _function.isPDFFunction)(transferObj)) {\n        var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n        var transferMap = new Uint8Array(256);\n        var tmp = new Float32Array(1);\n\n        for (var i = 0; i < 256; i++) {\n          tmp[0] = i / 255;\n          transferFn(tmp, 0, tmp, 0);\n          transferMap[i] = tmp[0] * 255 | 0;\n        }\n\n        smaskOptions.transferMap = transferMap;\n      }\n\n      return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone(), localColorSpaceCache);\n    }\n  }, {\n    key: \"handleTransferFunction\",\n    value: function handleTransferFunction(tr) {\n      var transferArray;\n\n      if (Array.isArray(tr)) {\n        transferArray = tr;\n      } else if ((0, _function.isPDFFunction)(tr)) {\n        transferArray = [tr];\n      } else {\n        return null;\n      }\n\n      var transferMaps = [];\n      var numFns = 0,\n          numEffectfulFns = 0;\n\n      var _iterator4 = _createForOfIteratorHelper(transferArray),\n          _step4;\n\n      try {\n        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n          var entry = _step4.value;\n          var transferObj = this.xref.fetchIfRef(entry);\n          numFns++;\n\n          if ((0, _primitives.isName)(transferObj, \"Identity\")) {\n            transferMaps.push(null);\n            continue;\n          } else if (!(0, _function.isPDFFunction)(transferObj)) {\n            return null;\n          }\n\n          var transferFn = this._pdfFunctionFactory.create(transferObj);\n\n          var transferMap = new Uint8Array(256),\n              tmp = new Float32Array(1);\n\n          for (var j = 0; j < 256; j++) {\n            tmp[0] = j / 255;\n            transferFn(tmp, 0, tmp, 0);\n            transferMap[j] = tmp[0] * 255 | 0;\n          }\n\n          transferMaps.push(transferMap);\n          numEffectfulFns++;\n        }\n      } catch (err) {\n        _iterator4.e(err);\n      } finally {\n        _iterator4.f();\n      }\n\n      if (!(numFns === 1 || numFns === 4)) {\n        return null;\n      }\n\n      if (numEffectfulFns === 0) {\n        return null;\n      }\n\n      return transferMaps;\n    }\n  }, {\n    key: \"handleTilingType\",\n    value: function handleTilingType(fn, color, resources, pattern, patternDict, operatorList, task, cacheKey, localTilingPatternCache) {\n      var _this2 = this;\n\n      var tilingOpList = new _operator_list.OperatorList();\n\n      var patternResources = _primitives.Dict.merge({\n        xref: this.xref,\n        dictArray: [patternDict.get(\"Resources\"), resources]\n      });\n\n      return this.getOperatorList({\n        stream: pattern,\n        task: task,\n        resources: patternResources,\n        operatorList: tilingOpList\n      }).then(function () {\n        var operatorListIR = tilingOpList.getIR();\n        var tilingPatternIR = (0, _pattern.getTilingPatternIR)(operatorListIR, patternDict, color);\n        operatorList.addDependencies(tilingOpList.dependencies);\n        operatorList.addOp(fn, tilingPatternIR);\n\n        if (cacheKey) {\n          localTilingPatternCache.set(cacheKey, patternDict.objId, {\n            operatorListIR: operatorListIR,\n            dict: patternDict\n          });\n        }\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this2.options.ignoreErrors) {\n          _this2.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorTilingPattern\n          });\n\n          (0, _util.warn)(\"handleTilingType - ignoring pattern: \\\"\".concat(reason, \"\\\".\"));\n          return;\n        }\n\n        throw reason;\n      });\n    }\n  }, {\n    key: \"handleSetFont\",\n    value: function handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) {\n      var _this3 = this;\n\n      var fallbackFontDict = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;\n      var fontName;\n\n      if (fontArgs) {\n        fontArgs = fontArgs.slice();\n        fontName = fontArgs[0].name;\n      }\n\n      return this.loadFont(fontName, fontRef, resources, fallbackFontDict).then(function (translated) {\n        if (!translated.font.isType3Font) {\n          return translated;\n        }\n\n        return translated.loadType3Data(_this3, resources, task).then(function () {\n          operatorList.addDependencies(translated.type3Dependencies);\n          return translated;\n        })[\"catch\"](function (reason) {\n          _this3.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadType3\n          });\n\n          return new TranslatedFont({\n            loadedName: \"g_font_error\",\n            font: new _fonts.ErrorFont(\"Type3 font load error: \".concat(reason)),\n            dict: translated.font,\n            extraProperties: _this3.options.fontExtraProperties\n          });\n        });\n      }).then(function (translated) {\n        state.font = translated.font;\n        translated.send(_this3.handler);\n        return translated.loadedName;\n      });\n    }\n  }, {\n    key: \"handleText\",\n    value: function handleText(chars, state) {\n      var font = state.font;\n      var glyphs = font.charsToGlyphs(chars);\n\n      if (font.data) {\n        var isAddToPathSet = !!(state.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n\n        if (isAddToPathSet || state.fillColorSpace.name === \"Pattern\" || font.disableFontFace || this.options.disableFontFace) {\n          PartialEvaluator.buildFontPaths(font, glyphs, this.handler);\n        }\n      }\n\n      return glyphs;\n    }\n  }, {\n    key: \"ensureStateFont\",\n    value: function ensureStateFont(state) {\n      if (state.font) {\n        return;\n      }\n\n      var reason = new _util.FormatError(\"Missing setFont (Tf) operator before text rendering operator.\");\n\n      if (this.options.ignoreErrors) {\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontState\n        });\n        (0, _util.warn)(\"ensureStateFont: \\\"\".concat(reason, \"\\\".\"));\n        return;\n      }\n\n      throw reason;\n    }\n  }, {\n    key: \"setGState\",\n    value: function () {\n      var _setGState = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(_ref4) {\n        var _this4 = this;\n\n        var resources, gState, operatorList, cacheKey, task, stateManager, localGStateCache, localColorSpaceCache, gStateRef, isSimpleGState, gStateObj, gStateKeys, promise, _loop, i, ii;\n\n        return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n          while (1) {\n            switch (_context4.prev = _context4.next) {\n              case 0:\n                resources = _ref4.resources, gState = _ref4.gState, operatorList = _ref4.operatorList, cacheKey = _ref4.cacheKey, task = _ref4.task, stateManager = _ref4.stateManager, localGStateCache = _ref4.localGStateCache, localColorSpaceCache = _ref4.localColorSpaceCache;\n                gStateRef = gState.objId;\n                isSimpleGState = true;\n                gStateObj = [];\n                gStateKeys = gState.getKeys();\n                promise = Promise.resolve();\n\n                _loop = function _loop() {\n                  var key = gStateKeys[i];\n                  var value = gState.get(key);\n\n                  switch (key) {\n                    case \"Type\":\n                      break;\n\n                    case \"LW\":\n                    case \"LC\":\n                    case \"LJ\":\n                    case \"ML\":\n                    case \"D\":\n                    case \"RI\":\n                    case \"FL\":\n                    case \"CA\":\n                    case \"ca\":\n                      gStateObj.push([key, value]);\n                      break;\n\n                    case \"Font\":\n                      isSimpleGState = false;\n                      promise = promise.then(function () {\n                        return _this4.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) {\n                          operatorList.addDependency(loadedName);\n                          gStateObj.push([key, [loadedName, value[1]]]);\n                        });\n                      });\n                      break;\n\n                    case \"BM\":\n                      gStateObj.push([key, normalizeBlendMode(value)]);\n                      break;\n\n                    case \"SMask\":\n                      if ((0, _primitives.isName)(value, \"None\")) {\n                        gStateObj.push([key, false]);\n                        break;\n                      }\n\n                      if ((0, _primitives.isDict)(value)) {\n                        isSimpleGState = false;\n                        promise = promise.then(function () {\n                          return _this4.handleSMask(value, resources, operatorList, task, stateManager, localColorSpaceCache);\n                        });\n                        gStateObj.push([key, true]);\n                      } else {\n                        (0, _util.warn)(\"Unsupported SMask type\");\n                      }\n\n                      break;\n\n                    case \"TR\":\n                      var transferMaps = _this4.handleTransferFunction(value);\n\n                      gStateObj.push([key, transferMaps]);\n                      break;\n\n                    case \"OP\":\n                    case \"op\":\n                    case \"OPM\":\n                    case \"BG\":\n                    case \"BG2\":\n                    case \"UCR\":\n                    case \"UCR2\":\n                    case \"TR2\":\n                    case \"HT\":\n                    case \"SM\":\n                    case \"SA\":\n                    case \"AIS\":\n                    case \"TK\":\n                      (0, _util.info)(\"graphic state operator \" + key);\n                      break;\n\n                    default:\n                      (0, _util.info)(\"Unknown graphic state operator \" + key);\n                      break;\n                  }\n                };\n\n                for (i = 0, ii = gStateKeys.length; i < ii; i++) {\n                  _loop();\n                }\n\n                return _context4.abrupt(\"return\", promise.then(function () {\n                  if (gStateObj.length > 0) {\n                    operatorList.addOp(_util.OPS.setGState, [gStateObj]);\n                  }\n\n                  if (isSimpleGState) {\n                    localGStateCache.set(cacheKey, gStateRef, gStateObj);\n                  }\n                }));\n\n              case 9:\n              case \"end\":\n                return _context4.stop();\n            }\n          }\n        }, _callee4);\n      }));\n\n      function setGState(_x10) {\n        return _setGState.apply(this, arguments);\n      }\n\n      return setGState;\n    }()\n  }, {\n    key: \"loadFont\",\n    value: function loadFont(fontName, font, resources) {\n      var _this5 = this;\n\n      var fallbackFontDict = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n\n      var errorFont = /*#__PURE__*/function () {\n        var _ref5 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5() {\n          return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n            while (1) {\n              switch (_context5.prev = _context5.next) {\n                case 0:\n                  return _context5.abrupt(\"return\", new TranslatedFont({\n                    loadedName: \"g_font_error\",\n                    font: new _fonts.ErrorFont(\"Font \\\"\".concat(fontName, \"\\\" is not available.\")),\n                    dict: font,\n                    extraProperties: _this5.options.fontExtraProperties\n                  }));\n\n                case 1:\n                case \"end\":\n                  return _context5.stop();\n              }\n            }\n          }, _callee5);\n        }));\n\n        return function errorFont() {\n          return _ref5.apply(this, arguments);\n        };\n      }();\n\n      var fontRef,\n          xref = this.xref;\n\n      if (font) {\n        if (!(0, _primitives.isRef)(font)) {\n          throw new _util.FormatError('The \"font\" object should be a reference.');\n        }\n\n        fontRef = font;\n      } else {\n        var fontRes = resources.get(\"Font\");\n\n        if (fontRes) {\n          fontRef = fontRes.getRaw(fontName);\n        }\n      }\n\n      if (!fontRef) {\n        var partialMsg = \"Font \\\"\".concat(fontName || font && font.toString(), \"\\\" is not available\");\n\n        if (!this.options.ignoreErrors && !this.parsingType3Font) {\n          (0, _util.warn)(\"\".concat(partialMsg, \".\"));\n          return errorFont();\n        }\n\n        this.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontMissing\n        });\n        (0, _util.warn)(\"\".concat(partialMsg, \" -- attempting to fallback to a default font.\"));\n\n        if (fallbackFontDict) {\n          fontRef = fallbackFontDict;\n        } else {\n          fontRef = PartialEvaluator.fallbackFontDict;\n        }\n      }\n\n      if (this.fontCache.has(fontRef)) {\n        return this.fontCache.get(fontRef);\n      }\n\n      font = xref.fetchIfRef(fontRef);\n\n      if (!(0, _primitives.isDict)(font)) {\n        return errorFont();\n      }\n\n      if (font.cacheKey && this.fontCache.has(font.cacheKey)) {\n        return this.fontCache.get(font.cacheKey);\n      }\n\n      var fontCapability = (0, _util.createPromiseCapability)();\n      var preEvaluatedFont;\n\n      try {\n        preEvaluatedFont = this.preEvaluateFont(font);\n      } catch (reason) {\n        (0, _util.warn)(\"loadFont - ignoring preEvaluateFont errors: \\\"\".concat(reason, \"\\\".\"));\n        return errorFont();\n      }\n\n      var _preEvaluatedFont = preEvaluatedFont,\n          descriptor = _preEvaluatedFont.descriptor,\n          hash = _preEvaluatedFont.hash;\n      var fontRefIsRef = (0, _primitives.isRef)(fontRef),\n          fontID;\n\n      if (fontRefIsRef) {\n        fontID = \"f\".concat(fontRef.toString());\n      }\n\n      if (hash && (0, _primitives.isDict)(descriptor)) {\n        if (!descriptor.fontAliases) {\n          descriptor.fontAliases = Object.create(null);\n        }\n\n        var fontAliases = descriptor.fontAliases;\n\n        if (fontAliases[hash]) {\n          var aliasFontRef = fontAliases[hash].aliasRef;\n\n          if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) {\n            this.fontCache.putAlias(fontRef, aliasFontRef);\n            return this.fontCache.get(fontRef);\n          }\n        } else {\n          fontAliases[hash] = {\n            fontID: this.idFactory.createFontId()\n          };\n        }\n\n        if (fontRefIsRef) {\n          fontAliases[hash].aliasRef = fontRef;\n        }\n\n        fontID = fontAliases[hash].fontID;\n      }\n\n      if (fontRefIsRef) {\n        this.fontCache.put(fontRef, fontCapability.promise);\n      } else {\n        if (!fontID) {\n          fontID = this.idFactory.createFontId();\n        }\n\n        font.cacheKey = \"cacheKey_\".concat(fontID);\n        this.fontCache.put(font.cacheKey, fontCapability.promise);\n      }\n\n      (0, _util.assert)(fontID && fontID.startsWith(\"f\"), 'The \"fontID\" must be (correctly) defined.');\n      font.loadedName = \"\".concat(this.idFactory.getDocId(), \"_\").concat(fontID);\n      this.translateFont(preEvaluatedFont).then(function (translatedFont) {\n        if (translatedFont.fontType !== undefined) {\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[translatedFont.fontType] = true;\n        }\n\n        fontCapability.resolve(new TranslatedFont({\n          loadedName: font.loadedName,\n          font: translatedFont,\n          dict: font,\n          extraProperties: _this5.options.fontExtraProperties\n        }));\n      })[\"catch\"](function (reason) {\n        _this5.handler.send(\"UnsupportedFeature\", {\n          featureId: _util.UNSUPPORTED_FEATURES.errorFontTranslate\n        });\n\n        try {\n          var fontFile3 = descriptor && descriptor.get(\"FontFile3\");\n          var subtype = fontFile3 && fontFile3.get(\"Subtype\");\n          var fontType = (0, _fonts.getFontType)(preEvaluatedFont.type, subtype && subtype.name);\n          var xrefFontStats = xref.stats.fontTypes;\n          xrefFontStats[fontType] = true;\n        } catch (ex) {}\n\n        fontCapability.resolve(new TranslatedFont({\n          loadedName: font.loadedName,\n          font: new _fonts.ErrorFont(reason instanceof Error ? reason.message : reason),\n          dict: font,\n          extraProperties: _this5.options.fontExtraProperties\n        }));\n      });\n      return fontCapability.promise;\n    }\n  }, {\n    key: \"buildPath\",\n    value: function buildPath(operatorList, fn, args) {\n      var parsingText = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      var lastIndex = operatorList.length - 1;\n\n      if (!args) {\n        args = [];\n      }\n\n      if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== _util.OPS.constructPath) {\n        if (parsingText) {\n          (0, _util.warn)(\"Encountered path operator \\\"\".concat(fn, \"\\\" inside of a text object.\"));\n          operatorList.addOp(_util.OPS.save, null);\n        }\n\n        operatorList.addOp(_util.OPS.constructPath, [[fn], args]);\n\n        if (parsingText) {\n          operatorList.addOp(_util.OPS.restore, null);\n        }\n      } else {\n        var opArgs = operatorList.argsArray[lastIndex];\n        opArgs[0].push(fn);\n        Array.prototype.push.apply(opArgs[1], args);\n      }\n    }\n  }, {\n    key: \"parseColorSpace\",\n    value: function parseColorSpace(_ref6) {\n      var _this6 = this;\n\n      var cs = _ref6.cs,\n          resources = _ref6.resources,\n          localColorSpaceCache = _ref6.localColorSpaceCache;\n      return _colorspace.ColorSpace.parseAsync({\n        cs: cs,\n        xref: this.xref,\n        resources: resources,\n        pdfFunctionFactory: this._pdfFunctionFactory,\n        localColorSpaceCache: localColorSpaceCache\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return null;\n        }\n\n        if (_this6.options.ignoreErrors) {\n          _this6.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorColorSpace\n          });\n\n          (0, _util.warn)(\"parseColorSpace - ignoring ColorSpace: \\\"\".concat(reason, \"\\\".\"));\n          return null;\n        }\n\n        throw reason;\n      });\n    }\n  }, {\n    key: \"handleColorN\",\n    value: function handleColorN(operatorList, fn, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache) {\n      var patternName = args.pop();\n\n      if (patternName instanceof _primitives.Name) {\n        var name = patternName.name;\n        var localTilingPattern = localTilingPatternCache.getByName(name);\n\n        if (localTilingPattern) {\n          try {\n            var color = cs.base ? cs.base.getRgb(args, 0) : null;\n            var tilingPatternIR = (0, _pattern.getTilingPatternIR)(localTilingPattern.operatorListIR, localTilingPattern.dict, color);\n            operatorList.addOp(fn, tilingPatternIR);\n            return undefined;\n          } catch (ex) {\n            if (ex instanceof _core_utils.MissingDataException) {\n              throw ex;\n            }\n          }\n        }\n\n        var pattern = patterns.get(name);\n\n        if (pattern) {\n          var dict = (0, _primitives.isStream)(pattern) ? pattern.dict : pattern;\n          var typeNum = dict.get(\"PatternType\");\n\n          if (typeNum === PatternType.TILING) {\n            var _color = cs.base ? cs.base.getRgb(args, 0) : null;\n\n            return this.handleTilingType(fn, _color, resources, pattern, dict, operatorList, task, name, localTilingPatternCache);\n          } else if (typeNum === PatternType.SHADING) {\n            var shading = dict.get(\"Shading\");\n            var matrix = dict.getArray(\"Matrix\");\n            pattern = _pattern.Pattern.parseShading(shading, matrix, this.xref, resources, this.handler, this._pdfFunctionFactory, localColorSpaceCache);\n            operatorList.addOp(fn, pattern.getIR());\n            return undefined;\n          }\n\n          throw new _util.FormatError(\"Unknown PatternType: \".concat(typeNum));\n        }\n      }\n\n      throw new _util.FormatError(\"Unknown PatternName: \".concat(patternName));\n    }\n  }, {\n    key: \"parseMarkedContentProps\",\n    value: function () {\n      var _parseMarkedContentProps = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6(contentProperties, resources) {\n        var optionalContent, properties, optionalContentType, optionalContentGroups, groupIds, expression;\n        return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n          while (1) {\n            switch (_context6.prev = _context6.next) {\n              case 0:\n                if (!(0, _primitives.isName)(contentProperties)) {\n                  _context6.next = 5;\n                  break;\n                }\n\n                properties = resources.get(\"Properties\");\n                optionalContent = properties.get(contentProperties.name);\n                _context6.next = 10;\n                break;\n\n              case 5:\n                if (!(0, _primitives.isDict)(contentProperties)) {\n                  _context6.next = 9;\n                  break;\n                }\n\n                optionalContent = contentProperties;\n                _context6.next = 10;\n                break;\n\n              case 9:\n                throw new _util.FormatError(\"Optional content properties malformed.\");\n\n              case 10:\n                optionalContentType = optionalContent.get(\"Type\").name;\n\n                if (!(optionalContentType === \"OCG\")) {\n                  _context6.next = 15;\n                  break;\n                }\n\n                return _context6.abrupt(\"return\", {\n                  type: optionalContentType,\n                  id: optionalContent.objId\n                });\n\n              case 15:\n                if (!(optionalContentType === \"OCMD\")) {\n                  _context6.next = 27;\n                  break;\n                }\n\n                optionalContentGroups = optionalContent.get(\"OCGs\");\n\n                if (!(Array.isArray(optionalContentGroups) || (0, _primitives.isDict)(optionalContentGroups))) {\n                  _context6.next = 25;\n                  break;\n                }\n\n                groupIds = [];\n\n                if (Array.isArray(optionalContentGroups)) {\n                  optionalContent.get(\"OCGs\").forEach(function (ocg) {\n                    groupIds.push(ocg.toString());\n                  });\n                } else {\n                  groupIds.push(optionalContentGroups.objId);\n                }\n\n                expression = null;\n\n                if (optionalContent.get(\"VE\")) {\n                  expression = true;\n                }\n\n                return _context6.abrupt(\"return\", {\n                  type: optionalContentType,\n                  ids: groupIds,\n                  policy: (0, _primitives.isName)(optionalContent.get(\"P\")) ? optionalContent.get(\"P\").name : null,\n                  expression: expression\n                });\n\n              case 25:\n                if (!(0, _primitives.isRef)(optionalContentGroups)) {\n                  _context6.next = 27;\n                  break;\n                }\n\n                return _context6.abrupt(\"return\", {\n                  type: optionalContentType,\n                  id: optionalContentGroups.toString()\n                });\n\n              case 27:\n                return _context6.abrupt(\"return\", null);\n\n              case 28:\n              case \"end\":\n                return _context6.stop();\n            }\n          }\n        }, _callee6);\n      }));\n\n      function parseMarkedContentProps(_x11, _x12) {\n        return _parseMarkedContentProps.apply(this, arguments);\n      }\n\n      return parseMarkedContentProps;\n    }()\n  }, {\n    key: \"getOperatorList\",\n    value: function getOperatorList(_ref7) {\n      var _this7 = this;\n\n      var stream = _ref7.stream,\n          task = _ref7.task,\n          resources = _ref7.resources,\n          operatorList = _ref7.operatorList,\n          _ref7$initialState = _ref7.initialState,\n          initialState = _ref7$initialState === void 0 ? null : _ref7$initialState,\n          _ref7$fallbackFontDic = _ref7.fallbackFontDict,\n          fallbackFontDict = _ref7$fallbackFontDic === void 0 ? null : _ref7$fallbackFontDic;\n      resources = resources || _primitives.Dict.empty;\n      initialState = initialState || new EvalState();\n\n      if (!operatorList) {\n        throw new Error('getOperatorList: missing \"operatorList\" parameter');\n      }\n\n      var self = this;\n      var xref = this.xref;\n      var parsingText = false;\n      var localImageCache = new _image_utils.LocalImageCache();\n      var localColorSpaceCache = new _image_utils.LocalColorSpaceCache();\n      var localGStateCache = new _image_utils.LocalGStateCache();\n      var localTilingPatternCache = new _image_utils.LocalTilingPatternCache();\n\n      var xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n\n      var patterns = resources.get(\"Pattern\") || _primitives.Dict.empty;\n\n      var stateManager = new StateManager(initialState);\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var timeSlotManager = new TimeSlotManager();\n\n      function closePendingRestoreOPS(argument) {\n        for (var i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) {\n          operatorList.addOp(_util.OPS.restore, []);\n        }\n      }\n\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          Promise.all([promise, operatorList.ready]).then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            i,\n            ii,\n            cs,\n            name;\n\n        while (!(stop = timeSlotManager.check())) {\n          operation.args = null;\n\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n\n          var args = operation.args;\n          var fn = operation.fn;\n\n          switch (fn | 0) {\n            case _util.OPS.paintXObject:\n              name = args[0].name;\n\n              if (name) {\n                var localImage = localImageCache.getByName(name);\n\n                if (localImage) {\n                  operatorList.addOp(localImage.fn, localImage.args);\n                  args = null;\n                  continue;\n                }\n              }\n\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError(\"XObject must be referred to by name.\");\n                }\n\n                var xobj = xobjs.getRaw(name);\n\n                if (xobj instanceof _primitives.Ref) {\n                  var _localImage = localImageCache.getByRef(xobj);\n\n                  if (_localImage) {\n                    operatorList.addOp(_localImage.fn, _localImage.args);\n                    resolveXObject();\n                    return;\n                  }\n\n                  var globalImage = self.globalImageCache.getData(xobj, self.pageIndex);\n\n                  if (globalImage) {\n                    operatorList.addDependency(globalImage.objId);\n                    operatorList.addOp(globalImage.fn, globalImage.args);\n                    resolveXObject();\n                    return;\n                  }\n\n                  xobj = xref.fetch(xobj);\n                }\n\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError(\"XObject should be a stream\");\n                }\n\n                var type = xobj.dict.get(\"Subtype\");\n\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError(\"XObject should have a Name subtype\");\n                }\n\n                if (type.name === \"Form\") {\n                  stateManager.save();\n                  self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone(), localColorSpaceCache).then(function () {\n                    stateManager.restore();\n                    resolveXObject();\n                  }, rejectXObject);\n                  return;\n                } else if (type.name === \"Image\") {\n                  self.buildPaintImageXObject({\n                    resources: resources,\n                    image: xobj,\n                    operatorList: operatorList,\n                    cacheKey: name,\n                    localImageCache: localImageCache,\n                    localColorSpaceCache: localColorSpaceCache\n                  }).then(resolveXObject, rejectXObject);\n                  return;\n                } else if (type.name === \"PS\") {\n                  (0, _util.info)(\"Ignored XObject subtype PS\");\n                } else {\n                  throw new _util.FormatError(\"Unhandled XObject subtype \".concat(type.name));\n                }\n\n                resolveXObject();\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  self.handler.send(\"UnsupportedFeature\", {\n                    featureId: _util.UNSUPPORTED_FEATURES.errorXObject\n                  });\n                  (0, _util.warn)(\"getOperatorList - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n\n            case _util.OPS.setFont:\n              var fontSize = args[1];\n              next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state, fallbackFontDict).then(function (loadedName) {\n                operatorList.addDependency(loadedName);\n                operatorList.addOp(_util.OPS.setFont, [loadedName, fontSize]);\n              }));\n              return;\n\n            case _util.OPS.beginText:\n              parsingText = true;\n              break;\n\n            case _util.OPS.endText:\n              parsingText = false;\n              break;\n\n            case _util.OPS.endInlineImage:\n              var cacheKey = args[0].cacheKey;\n\n              if (cacheKey) {\n                var _localImage2 = localImageCache.getByName(cacheKey);\n\n                if (_localImage2) {\n                  operatorList.addOp(_localImage2.fn, _localImage2.args);\n                  args = null;\n                  continue;\n                }\n              }\n\n              next(self.buildPaintImageXObject({\n                resources: resources,\n                image: args[0],\n                isInline: true,\n                operatorList: operatorList,\n                cacheKey: cacheKey,\n                localImageCache: localImageCache,\n                localColorSpaceCache: localColorSpaceCache\n              }));\n              return;\n\n            case _util.OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              args[0] = self.handleText(args[0], stateManager.state);\n              break;\n\n            case _util.OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              var arr = args[0];\n              var combinedGlyphs = [];\n              var arrLength = arr.length;\n              var state = stateManager.state;\n\n              for (i = 0; i < arrLength; ++i) {\n                var arrItem = arr[i];\n\n                if ((0, _util.isString)(arrItem)) {\n                  Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state));\n                } else if ((0, _util.isNum)(arrItem)) {\n                  combinedGlyphs.push(arrItem);\n                }\n              }\n\n              args[0] = combinedGlyphs;\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              operatorList.addOp(_util.OPS.nextLine);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              operatorList.addOp(_util.OPS.nextLine);\n              operatorList.addOp(_util.OPS.setWordSpacing, [args.shift()]);\n              operatorList.addOp(_util.OPS.setCharSpacing, [args.shift()]);\n              args[0] = self.handleText(args[0], stateManager.state);\n              fn = _util.OPS.showText;\n              break;\n\n            case _util.OPS.setTextRenderingMode:\n              stateManager.state.textRenderingMode = args[0];\n              break;\n\n            case _util.OPS.setFillColorSpace:\n              {\n                var cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n                if (cachedColorSpace) {\n                  stateManager.state.fillColorSpace = cachedColorSpace;\n                  continue;\n                }\n\n                next(self.parseColorSpace({\n                  cs: args[0],\n                  resources: resources,\n                  localColorSpaceCache: localColorSpaceCache\n                }).then(function (colorSpace) {\n                  if (colorSpace) {\n                    stateManager.state.fillColorSpace = colorSpace;\n                  }\n                }));\n                return;\n              }\n\n            case _util.OPS.setStrokeColorSpace:\n              {\n                var _cachedColorSpace = _colorspace.ColorSpace.getCached(args[0], xref, localColorSpaceCache);\n\n                if (_cachedColorSpace) {\n                  stateManager.state.strokeColorSpace = _cachedColorSpace;\n                  continue;\n                }\n\n                next(self.parseColorSpace({\n                  cs: args[0],\n                  resources: resources,\n                  localColorSpaceCache: localColorSpaceCache\n                }).then(function (colorSpace) {\n                  if (colorSpace) {\n                    stateManager.state.strokeColorSpace = colorSpace;\n                  }\n                }));\n                return;\n              }\n\n            case _util.OPS.setFillColor:\n              cs = stateManager.state.fillColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeColor:\n              cs = stateManager.state.strokeColorSpace;\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillGray:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeGray:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n              args = _colorspace.ColorSpace.singletons.gray.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillCMYKColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeCMYKColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.cmyk;\n              args = _colorspace.ColorSpace.singletons.cmyk.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.setFillRGBColor:\n              stateManager.state.fillColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n\n            case _util.OPS.setStrokeRGBColor:\n              stateManager.state.strokeColorSpace = _colorspace.ColorSpace.singletons.rgb;\n              args = _colorspace.ColorSpace.singletons.rgb.getRgb(args, 0);\n              break;\n\n            case _util.OPS.setFillColorN:\n              cs = stateManager.state.fillColorSpace;\n\n              if (cs.name === \"Pattern\") {\n                next(self.handleColorN(operatorList, _util.OPS.setFillColorN, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache));\n                return;\n              }\n\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setFillRGBColor;\n              break;\n\n            case _util.OPS.setStrokeColorN:\n              cs = stateManager.state.strokeColorSpace;\n\n              if (cs.name === \"Pattern\") {\n                next(self.handleColorN(operatorList, _util.OPS.setStrokeColorN, args, cs, patterns, resources, task, localColorSpaceCache, localTilingPatternCache));\n                return;\n              }\n\n              args = cs.getRgb(args, 0);\n              fn = _util.OPS.setStrokeRGBColor;\n              break;\n\n            case _util.OPS.shadingFill:\n              var shadingRes = resources.get(\"Shading\");\n\n              if (!shadingRes) {\n                throw new _util.FormatError(\"No shading resource found\");\n              }\n\n              var shading = shadingRes.get(args[0].name);\n\n              if (!shading) {\n                throw new _util.FormatError(\"No shading object found\");\n              }\n\n              var shadingFill = _pattern.Pattern.parseShading(shading, null, xref, resources, self.handler, self._pdfFunctionFactory, localColorSpaceCache);\n\n              var patternIR = shadingFill.getIR();\n              args = [patternIR];\n              fn = _util.OPS.shadingFill;\n              break;\n\n            case _util.OPS.setGState:\n              name = args[0].name;\n\n              if (name) {\n                var localGStateObj = localGStateCache.getByName(name);\n\n                if (localGStateObj) {\n                  if (localGStateObj.length > 0) {\n                    operatorList.addOp(_util.OPS.setGState, [localGStateObj]);\n                  }\n\n                  args = null;\n                  continue;\n                }\n              }\n\n              next(new Promise(function (resolveGState, rejectGState) {\n                if (!name) {\n                  throw new _util.FormatError(\"GState must be referred to by name.\");\n                }\n\n                var extGState = resources.get(\"ExtGState\");\n\n                if (!(extGState instanceof _primitives.Dict)) {\n                  throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n                }\n\n                var gState = extGState.get(name);\n\n                if (!(gState instanceof _primitives.Dict)) {\n                  throw new _util.FormatError(\"GState should be a dictionary.\");\n                }\n\n                self.setGState({\n                  resources: resources,\n                  gState: gState,\n                  operatorList: operatorList,\n                  cacheKey: name,\n                  task: task,\n                  stateManager: stateManager,\n                  localGStateCache: localGStateCache,\n                  localColorSpaceCache: localColorSpaceCache\n                }).then(resolveGState, rejectGState);\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  self.handler.send(\"UnsupportedFeature\", {\n                    featureId: _util.UNSUPPORTED_FEATURES.errorExtGState\n                  });\n                  (0, _util.warn)(\"getOperatorList - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n\n            case _util.OPS.moveTo:\n            case _util.OPS.lineTo:\n            case _util.OPS.curveTo:\n            case _util.OPS.curveTo2:\n            case _util.OPS.curveTo3:\n            case _util.OPS.closePath:\n            case _util.OPS.rectangle:\n              self.buildPath(operatorList, fn, args, parsingText);\n              continue;\n\n            case _util.OPS.markPoint:\n            case _util.OPS.markPointProps:\n            case _util.OPS.beginCompat:\n            case _util.OPS.endCompat:\n              continue;\n\n            case _util.OPS.beginMarkedContentProps:\n              if (!(0, _primitives.isName)(args[0])) {\n                (0, _util.warn)(\"Expected name for beginMarkedContentProps arg0=\".concat(args[0]));\n                continue;\n              }\n\n              if (args[0].name === \"OC\") {\n                next(self.parseMarkedContentProps(args[1], resources).then(function (data) {\n                  operatorList.addOp(_util.OPS.beginMarkedContentProps, [\"OC\", data]);\n                })[\"catch\"](function (reason) {\n                  if (reason instanceof _util.AbortException) {\n                    return;\n                  }\n\n                  if (self.options.ignoreErrors) {\n                    self.handler.send(\"UnsupportedFeature\", {\n                      featureId: _util.UNSUPPORTED_FEATURES.errorMarkedContent\n                    });\n                    (0, _util.warn)(\"getOperatorList - ignoring beginMarkedContentProps: \\\"\".concat(reason, \"\\\".\"));\n                    return;\n                  }\n\n                  throw reason;\n                }));\n                return;\n              }\n\n              args = [args[0].name];\n              break;\n\n            case _util.OPS.beginMarkedContent:\n            case _util.OPS.endMarkedContent:\n            default:\n              if (args !== null) {\n                for (i = 0, ii = args.length; i < ii; i++) {\n                  if (args[i] instanceof _primitives.Dict) {\n                    break;\n                  }\n                }\n\n                if (i < ii) {\n                  (0, _util.warn)(\"getOperatorList - ignoring operator: \" + fn);\n                  continue;\n                }\n              }\n\n          }\n\n          operatorList.addOp(fn, args);\n        }\n\n        if (stop) {\n          next(deferred);\n          return;\n        }\n\n        closePendingRestoreOPS();\n        resolve();\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this7.options.ignoreErrors) {\n          _this7.handler.send(\"UnsupportedFeature\", {\n            featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList\n          });\n\n          (0, _util.warn)(\"getOperatorList - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n          closePendingRestoreOPS();\n          return;\n        }\n\n        throw reason;\n      });\n    }\n  }, {\n    key: \"getTextContent\",\n    value: function getTextContent(_ref8) {\n      var _this8 = this;\n\n      var stream = _ref8.stream,\n          task = _ref8.task,\n          resources = _ref8.resources,\n          _ref8$stateManager = _ref8.stateManager,\n          stateManager = _ref8$stateManager === void 0 ? null : _ref8$stateManager,\n          _ref8$normalizeWhites = _ref8.normalizeWhitespace,\n          normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,\n          _ref8$combineTextItem = _ref8.combineTextItems,\n          combineTextItems = _ref8$combineTextItem === void 0 ? false : _ref8$combineTextItem,\n          sink = _ref8.sink,\n          _ref8$seenStyles = _ref8.seenStyles,\n          seenStyles = _ref8$seenStyles === void 0 ? Object.create(null) : _ref8$seenStyles;\n      resources = resources || _primitives.Dict.empty;\n      stateManager = stateManager || new StateManager(new TextState());\n      var WhitespaceRegexp = /\\s/g;\n      var textContent = {\n        items: [],\n        styles: Object.create(null)\n      };\n      var textContentItem = {\n        initialized: false,\n        str: [],\n        width: 0,\n        height: 0,\n        vertical: false,\n        lastAdvanceWidth: 0,\n        lastAdvanceHeight: 0,\n        textAdvanceScale: 0,\n        spaceWidth: 0,\n        fakeSpaceMin: Infinity,\n        fakeMultiSpaceMin: Infinity,\n        fakeMultiSpaceMax: -0,\n        textRunBreakAllowed: false,\n        transform: null,\n        fontName: null\n      };\n      var SPACE_FACTOR = 0.3;\n      var MULTI_SPACE_FACTOR = 1.5;\n      var MULTI_SPACE_FACTOR_MAX = 4;\n      var self = this;\n      var xref = this.xref;\n      var xobjs = null;\n      var emptyXObjectCache = new _image_utils.LocalImageCache();\n      var emptyGStateCache = new _image_utils.LocalGStateCache();\n      var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager);\n      var textState;\n\n      function ensureTextContentItem() {\n        if (textContentItem.initialized) {\n          return textContentItem;\n        }\n\n        var font = textState.font;\n\n        if (!(font.loadedName in seenStyles)) {\n          seenStyles[font.loadedName] = true;\n          textContent.styles[font.loadedName] = {\n            fontFamily: font.fallbackName,\n            ascent: font.ascent,\n            descent: font.descent,\n            vertical: font.vertical\n          };\n        }\n\n        textContentItem.fontName = font.loadedName;\n        var tsm = [textState.fontSize * textState.textHScale, 0, 0, textState.fontSize, 0, textState.textRise];\n\n        if (font.isType3Font && textState.fontSize <= 1 && !(0, _util.isArrayEqual)(textState.fontMatrix, _util.FONT_IDENTITY_MATRIX)) {\n          var glyphHeight = font.bbox[3] - font.bbox[1];\n\n          if (glyphHeight > 0) {\n            tsm[3] *= glyphHeight * textState.fontMatrix[3];\n          }\n        }\n\n        var trm = _util.Util.transform(textState.ctm, _util.Util.transform(textState.textMatrix, tsm));\n\n        textContentItem.transform = trm;\n\n        if (!font.vertical) {\n          textContentItem.width = 0;\n          textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]);\n          textContentItem.vertical = false;\n        } else {\n          textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]);\n          textContentItem.height = 0;\n          textContentItem.vertical = true;\n        }\n\n        var a = textState.textLineMatrix[0];\n        var b = textState.textLineMatrix[1];\n        var scaleLineX = Math.sqrt(a * a + b * b);\n        a = textState.ctm[0];\n        b = textState.ctm[1];\n        var scaleCtmX = Math.sqrt(a * a + b * b);\n        textContentItem.textAdvanceScale = scaleCtmX * scaleLineX;\n        textContentItem.lastAdvanceWidth = 0;\n        textContentItem.lastAdvanceHeight = 0;\n        var spaceWidth = font.spaceWidth / 1000 * textState.fontSize;\n\n        if (spaceWidth) {\n          textContentItem.spaceWidth = spaceWidth;\n          textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR;\n          textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX;\n          textContentItem.textRunBreakAllowed = !font.isMonospace;\n        } else {\n          textContentItem.spaceWidth = 0;\n          textContentItem.fakeSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMin = Infinity;\n          textContentItem.fakeMultiSpaceMax = 0;\n          textContentItem.textRunBreakAllowed = false;\n        }\n\n        textContentItem.initialized = true;\n        return textContentItem;\n      }\n\n      function replaceWhitespace(str) {\n        var i = 0,\n            ii = str.length,\n            code;\n\n        while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7f) {\n          i++;\n        }\n\n        return i < ii ? str.replace(WhitespaceRegexp, \" \") : str;\n      }\n\n      function runBidiTransform(textChunk) {\n        var str = textChunk.str.join(\"\");\n        var bidiResult = (0, _bidi.bidi)(str, -1, textChunk.vertical);\n        return {\n          str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str,\n          dir: bidiResult.dir,\n          width: textChunk.width,\n          height: textChunk.height,\n          transform: textChunk.transform,\n          fontName: textChunk.fontName\n        };\n      }\n\n      function handleSetFont(fontName, fontRef) {\n        return self.loadFont(fontName, fontRef, resources).then(function (translated) {\n          textState.font = translated.font;\n          textState.fontMatrix = translated.font.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        });\n      }\n\n      function buildTextContentItem(chars) {\n        var font = textState.font;\n        var textChunk = ensureTextContentItem();\n        var width = 0;\n        var height = 0;\n        var glyphs = font.charsToGlyphs(chars);\n\n        for (var i = 0; i < glyphs.length; i++) {\n          var glyph = glyphs[i];\n          var glyphWidth = null;\n\n          if (font.vertical && glyph.vmetric) {\n            glyphWidth = glyph.vmetric[0];\n          } else {\n            glyphWidth = glyph.width;\n          }\n\n          var glyphUnicode = glyph.unicode;\n          var NormalizedUnicodes = (0, _unicode.getNormalizedUnicodes)();\n\n          if (NormalizedUnicodes[glyphUnicode] !== undefined) {\n            glyphUnicode = NormalizedUnicodes[glyphUnicode];\n          }\n\n          glyphUnicode = (0, _unicode.reverseIfRtl)(glyphUnicode);\n          var charSpacing = textState.charSpacing;\n\n          if (glyph.isSpace) {\n            var wordSpacing = textState.wordSpacing;\n            charSpacing += wordSpacing;\n\n            if (wordSpacing > 0) {\n              addFakeSpaces(wordSpacing, textChunk.str);\n            }\n          }\n\n          var tx = 0;\n          var ty = 0;\n\n          if (!font.vertical) {\n            var w0 = glyphWidth * textState.fontMatrix[0];\n            tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale;\n            width += tx;\n          } else {\n            var w1 = glyphWidth * textState.fontMatrix[0];\n            ty = w1 * textState.fontSize + charSpacing;\n            height += ty;\n          }\n\n          textState.translateTextMatrix(tx, ty);\n          textChunk.str.push(glyphUnicode);\n        }\n\n        if (!font.vertical) {\n          textChunk.lastAdvanceWidth = width;\n          textChunk.width += width;\n        } else {\n          textChunk.lastAdvanceHeight = height;\n          textChunk.height += Math.abs(height);\n        }\n\n        return textChunk;\n      }\n\n      function addFakeSpaces(width, strBuf) {\n        if (width < textContentItem.fakeSpaceMin) {\n          return;\n        }\n\n        if (width < textContentItem.fakeMultiSpaceMin) {\n          strBuf.push(\" \");\n          return;\n        }\n\n        var fakeSpaces = Math.round(width / textContentItem.spaceWidth);\n\n        while (fakeSpaces-- > 0) {\n          strBuf.push(\" \");\n        }\n      }\n\n      function flushTextContentItem() {\n        if (!textContentItem.initialized) {\n          return;\n        }\n\n        if (!textContentItem.vertical) {\n          textContentItem.width *= textContentItem.textAdvanceScale;\n        } else {\n          textContentItem.height *= textContentItem.textAdvanceScale;\n        }\n\n        textContent.items.push(runBidiTransform(textContentItem));\n        textContentItem.initialized = false;\n        textContentItem.str.length = 0;\n      }\n\n      function enqueueChunk() {\n        var length = textContent.items.length;\n\n        if (length > 0) {\n          sink.enqueue(textContent, length);\n          textContent.items = [];\n          textContent.styles = Object.create(null);\n        }\n      }\n\n      var timeSlotManager = new TimeSlotManager();\n      return new Promise(function promiseBody(resolve, reject) {\n        var next = function next(promise) {\n          enqueueChunk();\n          Promise.all([promise, sink.ready]).then(function () {\n            try {\n              promiseBody(resolve, reject);\n            } catch (ex) {\n              reject(ex);\n            }\n          }, reject);\n        };\n\n        task.ensureNotTerminated();\n        timeSlotManager.reset();\n        var stop,\n            operation = {},\n            args = [];\n\n        while (!(stop = timeSlotManager.check())) {\n          args.length = 0;\n          operation.args = args;\n\n          if (!preprocessor.read(operation)) {\n            break;\n          }\n\n          textState = stateManager.state;\n          var fn = operation.fn;\n          args = operation.args;\n          var advance, diff;\n\n          switch (fn | 0) {\n            case _util.OPS.setFont:\n              var fontNameArg = args[0].name,\n                  fontSizeArg = args[1];\n\n              if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) {\n                break;\n              }\n\n              flushTextContentItem();\n              textState.fontName = fontNameArg;\n              textState.fontSize = fontSizeArg;\n              next(handleSetFont(fontNameArg, null));\n              return;\n\n            case _util.OPS.setTextRise:\n              flushTextContentItem();\n              textState.textRise = args[0];\n              break;\n\n            case _util.OPS.setHScale:\n              flushTextContentItem();\n              textState.textHScale = args[0] / 100;\n              break;\n\n            case _util.OPS.setLeading:\n              flushTextContentItem();\n              textState.leading = args[0];\n              break;\n\n            case _util.OPS.moveText:\n              var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0;\n              advance = args[0] - args[1];\n\n              if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(args[0], args[1]);\n                textContentItem.width += args[0] - textContentItem.lastAdvanceWidth;\n                textContentItem.height += args[1] - textContentItem.lastAdvanceHeight;\n                diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n\n            case _util.OPS.setLeadingMoveText:\n              flushTextContentItem();\n              textState.leading = -args[1];\n              textState.translateTextLineMatrix(args[0], args[1]);\n              textState.textMatrix = textState.textLineMatrix.slice();\n              break;\n\n            case _util.OPS.nextLine:\n              flushTextContentItem();\n              textState.carriageReturn();\n              break;\n\n            case _util.OPS.setTextMatrix:\n              advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]);\n\n              if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) {\n                textState.translateTextLineMatrix(advance.width, advance.height);\n                textContentItem.width += advance.width - textContentItem.lastAdvanceWidth;\n                textContentItem.height += advance.height - textContentItem.lastAdvanceHeight;\n                diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight);\n                addFakeSpaces(diff, textContentItem.str);\n                break;\n              }\n\n              flushTextContentItem();\n              textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n              break;\n\n            case _util.OPS.setCharSpacing:\n              textState.charSpacing = args[0];\n              break;\n\n            case _util.OPS.setWordSpacing:\n              textState.wordSpacing = args[0];\n              break;\n\n            case _util.OPS.beginText:\n              flushTextContentItem();\n              textState.textMatrix = _util.IDENTITY_MATRIX.slice();\n              textState.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n              break;\n\n            case _util.OPS.showSpacedText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              var items = args[0];\n              var offset;\n\n              for (var j = 0, jj = items.length; j < jj; j++) {\n                if (typeof items[j] === \"string\") {\n                  buildTextContentItem(items[j]);\n                } else if ((0, _util.isNum)(items[j])) {\n                  ensureTextContentItem();\n                  advance = items[j] * textState.fontSize / 1000;\n                  var breakTextRun = false;\n\n                  if (textState.font.vertical) {\n                    offset = advance;\n                    textState.translateTextMatrix(0, offset);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n                    if (!breakTextRun) {\n                      textContentItem.height += offset;\n                    }\n                  } else {\n                    advance = -advance;\n                    offset = advance * textState.textHScale;\n                    textState.translateTextMatrix(offset, 0);\n                    breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax;\n\n                    if (!breakTextRun) {\n                      textContentItem.width += offset;\n                    }\n                  }\n\n                  if (breakTextRun) {\n                    flushTextContentItem();\n                  } else if (advance > 0) {\n                    addFakeSpaces(advance, textContentItem.str);\n                  }\n                }\n              }\n\n              break;\n\n            case _util.OPS.showText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              buildTextContentItem(args[0]);\n              break;\n\n            case _util.OPS.nextLineShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              flushTextContentItem();\n              textState.carriageReturn();\n              buildTextContentItem(args[0]);\n              break;\n\n            case _util.OPS.nextLineSetSpacingShowText:\n              if (!stateManager.state.font) {\n                self.ensureStateFont(stateManager.state);\n                continue;\n              }\n\n              flushTextContentItem();\n              textState.wordSpacing = args[0];\n              textState.charSpacing = args[1];\n              textState.carriageReturn();\n              buildTextContentItem(args[2]);\n              break;\n\n            case _util.OPS.paintXObject:\n              flushTextContentItem();\n\n              if (!xobjs) {\n                xobjs = resources.get(\"XObject\") || _primitives.Dict.empty;\n              }\n\n              var name = args[0].name;\n\n              if (name && emptyXObjectCache.getByName(name)) {\n                break;\n              }\n\n              next(new Promise(function (resolveXObject, rejectXObject) {\n                if (!name) {\n                  throw new _util.FormatError(\"XObject must be referred to by name.\");\n                }\n\n                var xobj = xobjs.getRaw(name);\n\n                if (xobj instanceof _primitives.Ref) {\n                  if (emptyXObjectCache.getByRef(xobj)) {\n                    resolveXObject();\n                    return;\n                  }\n\n                  xobj = xref.fetch(xobj);\n                }\n\n                if (!(0, _primitives.isStream)(xobj)) {\n                  throw new _util.FormatError(\"XObject should be a stream\");\n                }\n\n                var type = xobj.dict.get(\"Subtype\");\n\n                if (!(0, _primitives.isName)(type)) {\n                  throw new _util.FormatError(\"XObject should have a Name subtype\");\n                }\n\n                if (type.name !== \"Form\") {\n                  emptyXObjectCache.set(name, xobj.dict.objId, true);\n                  resolveXObject();\n                  return;\n                }\n\n                var currentState = stateManager.state.clone();\n                var xObjStateManager = new StateManager(currentState);\n                var matrix = xobj.dict.getArray(\"Matrix\");\n\n                if (Array.isArray(matrix) && matrix.length === 6) {\n                  xObjStateManager.transform(matrix);\n                }\n\n                enqueueChunk();\n                var sinkWrapper = {\n                  enqueueInvoked: false,\n                  enqueue: function enqueue(chunk, size) {\n                    this.enqueueInvoked = true;\n                    sink.enqueue(chunk, size);\n                  },\n\n                  get desiredSize() {\n                    return sink.desiredSize;\n                  },\n\n                  get ready() {\n                    return sink.ready;\n                  }\n\n                };\n                self.getTextContent({\n                  stream: xobj,\n                  task: task,\n                  resources: xobj.dict.get(\"Resources\") || resources,\n                  stateManager: xObjStateManager,\n                  normalizeWhitespace: normalizeWhitespace,\n                  combineTextItems: combineTextItems,\n                  sink: sinkWrapper,\n                  seenStyles: seenStyles\n                }).then(function () {\n                  if (!sinkWrapper.enqueueInvoked) {\n                    emptyXObjectCache.set(name, xobj.dict.objId, true);\n                  }\n\n                  resolveXObject();\n                }, rejectXObject);\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  (0, _util.warn)(\"getTextContent - ignoring XObject: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n\n            case _util.OPS.setGState:\n              name = args[0].name;\n\n              if (name && emptyGStateCache.getByName(name)) {\n                break;\n              }\n\n              next(new Promise(function (resolveGState, rejectGState) {\n                if (!name) {\n                  throw new _util.FormatError(\"GState must be referred to by name.\");\n                }\n\n                var extGState = resources.get(\"ExtGState\");\n\n                if (!(extGState instanceof _primitives.Dict)) {\n                  throw new _util.FormatError(\"ExtGState should be a dictionary.\");\n                }\n\n                var gState = extGState.get(name);\n\n                if (!(gState instanceof _primitives.Dict)) {\n                  throw new _util.FormatError(\"GState should be a dictionary.\");\n                }\n\n                var gStateFont = gState.get(\"Font\");\n\n                if (!gStateFont) {\n                  emptyGStateCache.set(name, gState.objId, true);\n                  resolveGState();\n                  return;\n                }\n\n                flushTextContentItem();\n                textState.fontName = null;\n                textState.fontSize = gStateFont[1];\n                handleSetFont(null, gStateFont[0]).then(resolveGState, rejectGState);\n              })[\"catch\"](function (reason) {\n                if (reason instanceof _util.AbortException) {\n                  return;\n                }\n\n                if (self.options.ignoreErrors) {\n                  (0, _util.warn)(\"getTextContent - ignoring ExtGState: \\\"\".concat(reason, \"\\\".\"));\n                  return;\n                }\n\n                throw reason;\n              }));\n              return;\n          }\n\n          if (textContent.items.length >= sink.desiredSize) {\n            stop = true;\n            break;\n          }\n        }\n\n        if (stop) {\n          next(deferred);\n          return;\n        }\n\n        flushTextContentItem();\n        enqueueChunk();\n        resolve();\n      })[\"catch\"](function (reason) {\n        if (reason instanceof _util.AbortException) {\n          return;\n        }\n\n        if (_this8.options.ignoreErrors) {\n          (0, _util.warn)(\"getTextContent - ignoring errors during \\\"\".concat(task.name, \"\\\" \") + \"task: \\\"\".concat(reason, \"\\\".\"));\n          flushTextContentItem();\n          enqueueChunk();\n          return;\n        }\n\n        throw reason;\n      });\n    }\n  }, {\n    key: \"extractDataStructures\",\n    value: function extractDataStructures(dict, baseDict, properties) {\n      var _this9 = this;\n\n      var xref = this.xref;\n      var cidToGidBytes;\n      var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n      var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined);\n\n      if (properties.composite) {\n        var cidSystemInfo = dict.get(\"CIDSystemInfo\");\n\n        if ((0, _primitives.isDict)(cidSystemInfo)) {\n          properties.cidSystemInfo = {\n            registry: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Registry\")),\n            ordering: (0, _util.stringToPDFString)(cidSystemInfo.get(\"Ordering\")),\n            supplement: cidSystemInfo.get(\"Supplement\")\n          };\n        }\n\n        var cidToGidMap = dict.get(\"CIDToGIDMap\");\n\n        if ((0, _primitives.isStream)(cidToGidMap)) {\n          cidToGidBytes = cidToGidMap.getBytes();\n        }\n      }\n\n      var differences = [];\n      var baseEncodingName = null;\n      var encoding;\n\n      if (dict.has(\"Encoding\")) {\n        encoding = dict.get(\"Encoding\");\n\n        if ((0, _primitives.isDict)(encoding)) {\n          baseEncodingName = encoding.get(\"BaseEncoding\");\n          baseEncodingName = (0, _primitives.isName)(baseEncodingName) ? baseEncodingName.name : null;\n\n          if (encoding.has(\"Differences\")) {\n            var diffEncoding = encoding.get(\"Differences\");\n            var index = 0;\n\n            for (var j = 0, jj = diffEncoding.length; j < jj; j++) {\n              var data = xref.fetchIfRef(diffEncoding[j]);\n\n              if ((0, _util.isNum)(data)) {\n                index = data;\n              } else if ((0, _primitives.isName)(data)) {\n                differences[index++] = data.name;\n              } else {\n                throw new _util.FormatError(\"Invalid entry in 'Differences' array: \".concat(data));\n              }\n            }\n          }\n        } else if ((0, _primitives.isName)(encoding)) {\n          baseEncodingName = encoding.name;\n        } else {\n          throw new _util.FormatError(\"Encoding is not a Name nor a Dict\");\n        }\n\n        if (baseEncodingName !== \"MacRomanEncoding\" && baseEncodingName !== \"MacExpertEncoding\" && baseEncodingName !== \"WinAnsiEncoding\") {\n          baseEncodingName = null;\n        }\n      }\n\n      if (baseEncodingName) {\n        properties.defaultEncoding = (0, _encodings.getEncoding)(baseEncodingName).slice();\n      } else {\n        var isSymbolicFont = !!(properties.flags & _fonts.FontFlags.Symbolic);\n        var isNonsymbolicFont = !!(properties.flags & _fonts.FontFlags.Nonsymbolic);\n        encoding = _encodings.StandardEncoding;\n\n        if (properties.type === \"TrueType\" && !isNonsymbolicFont) {\n          encoding = _encodings.WinAnsiEncoding;\n        }\n\n        if (isSymbolicFont) {\n          encoding = _encodings.MacRomanEncoding;\n\n          if (!properties.file) {\n            if (/Symbol/i.test(properties.name)) {\n              encoding = _encodings.SymbolSetEncoding;\n            } else if (/Dingbats|Wingdings/i.test(properties.name)) {\n              encoding = _encodings.ZapfDingbatsEncoding;\n            }\n          }\n        }\n\n        properties.defaultEncoding = encoding;\n      }\n\n      properties.differences = differences;\n      properties.baseEncodingName = baseEncodingName;\n      properties.hasEncoding = !!baseEncodingName || differences.length > 0;\n      properties.dict = dict;\n      return toUnicodePromise.then(function (readToUnicode) {\n        properties.toUnicode = readToUnicode;\n        return _this9.buildToUnicode(properties);\n      }).then(function (builtToUnicode) {\n        properties.toUnicode = builtToUnicode;\n\n        if (cidToGidBytes) {\n          properties.cidToGidMap = _this9.readCidToGidMap(cidToGidBytes, builtToUnicode);\n        }\n\n        return properties;\n      });\n    }\n  }, {\n    key: \"_buildSimpleFontToUnicode\",\n    value: function _buildSimpleFontToUnicode(properties) {\n      var forceGlyphs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      (0, _util.assert)(!properties.composite, \"Must be a simple font.\");\n      var toUnicode = [];\n      var encoding = properties.defaultEncoding.slice();\n      var baseEncodingName = properties.baseEncodingName;\n      var differences = properties.differences;\n\n      for (var charcode in differences) {\n        var glyphName = differences[charcode];\n\n        if (glyphName === \".notdef\") {\n          continue;\n        }\n\n        encoding[charcode] = glyphName;\n      }\n\n      var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n      for (var _charcode in encoding) {\n        var _glyphName = encoding[_charcode];\n\n        if (_glyphName === \"\") {\n          continue;\n        } else if (glyphsUnicodeMap[_glyphName] === undefined) {\n          var code = 0;\n\n          switch (_glyphName[0]) {\n            case \"G\":\n              if (_glyphName.length === 3) {\n                code = parseInt(_glyphName.substring(1), 16);\n              }\n\n              break;\n\n            case \"g\":\n              if (_glyphName.length === 5) {\n                code = parseInt(_glyphName.substring(1), 16);\n              }\n\n              break;\n\n            case \"C\":\n            case \"c\":\n              if (_glyphName.length >= 3 && _glyphName.length <= 4) {\n                var codeStr = _glyphName.substring(1);\n\n                if (forceGlyphs) {\n                  code = parseInt(codeStr, 16);\n                  break;\n                }\n\n                code = +codeStr;\n\n                if (Number.isNaN(code) && Number.isInteger(parseInt(codeStr, 16))) {\n                  return this._buildSimpleFontToUnicode(properties, true);\n                }\n              }\n\n              break;\n\n            default:\n              var unicode = (0, _unicode.getUnicodeForGlyph)(_glyphName, glyphsUnicodeMap);\n\n              if (unicode !== -1) {\n                code = unicode;\n              }\n\n          }\n\n          if (code > 0 && code <= 0x10ffff && Number.isInteger(code)) {\n            if (baseEncodingName && code === +_charcode) {\n              var baseEncoding = (0, _encodings.getEncoding)(baseEncodingName);\n\n              if (baseEncoding && (_glyphName = baseEncoding[_charcode])) {\n                toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n                continue;\n              }\n            }\n\n            toUnicode[_charcode] = String.fromCodePoint(code);\n          }\n\n          continue;\n        }\n\n        toUnicode[_charcode] = String.fromCharCode(glyphsUnicodeMap[_glyphName]);\n      }\n\n      return new _fonts.ToUnicodeMap(toUnicode);\n    }\n  }, {\n    key: \"buildToUnicode\",\n    value: function buildToUnicode(properties) {\n      properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0;\n\n      if (properties.hasIncludedToUnicodeMap) {\n        if (!properties.composite && properties.hasEncoding) {\n          properties.fallbackToUnicode = this._buildSimpleFontToUnicode(properties);\n        }\n\n        return Promise.resolve(properties.toUnicode);\n      }\n\n      if (!properties.composite) {\n        return Promise.resolve(this._buildSimpleFontToUnicode(properties));\n      }\n\n      if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof _cmap.IdentityCMap) || properties.cidSystemInfo.registry === \"Adobe\" && (properties.cidSystemInfo.ordering === \"GB1\" || properties.cidSystemInfo.ordering === \"CNS1\" || properties.cidSystemInfo.ordering === \"Japan1\" || properties.cidSystemInfo.ordering === \"Korea1\"))) {\n        var registry = properties.cidSystemInfo.registry;\n        var ordering = properties.cidSystemInfo.ordering;\n\n        var ucs2CMapName = _primitives.Name.get(registry + \"-\" + ordering + \"-UCS2\");\n\n        return _cmap.CMapFactory.create({\n          encoding: ucs2CMapName,\n          fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n          useCMap: null\n        }).then(function (ucs2CMap) {\n          var cMap = properties.cMap;\n          var toUnicode = [];\n          cMap.forEach(function (charcode, cid) {\n            if (cid > 0xffff) {\n              throw new _util.FormatError(\"Max size of CID is 65,535\");\n            }\n\n            var ucs2 = ucs2CMap.lookup(cid);\n\n            if (ucs2) {\n              toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1));\n            }\n          });\n          return new _fonts.ToUnicodeMap(toUnicode);\n        });\n      }\n\n      return Promise.resolve(new _fonts.IdentityToUnicodeMap(properties.firstChar, properties.lastChar));\n    }\n  }, {\n    key: \"readToUnicode\",\n    value: function readToUnicode(toUnicode) {\n      var _this10 = this;\n\n      var cmapObj = toUnicode;\n\n      if ((0, _primitives.isName)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n          }\n\n          return new _fonts.ToUnicodeMap(cmap.getMap());\n        });\n      } else if ((0, _primitives.isStream)(cmapObj)) {\n        return _cmap.CMapFactory.create({\n          encoding: cmapObj,\n          fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n          useCMap: null\n        }).then(function (cmap) {\n          if (cmap instanceof _cmap.IdentityCMap) {\n            return new _fonts.IdentityToUnicodeMap(0, 0xffff);\n          }\n\n          var map = new Array(cmap.length);\n          cmap.forEach(function (charCode, token) {\n            var str = [];\n\n            for (var k = 0; k < token.length; k += 2) {\n              var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n\n              if ((w1 & 0xf800) !== 0xd800) {\n                str.push(w1);\n                continue;\n              }\n\n              k += 2;\n              var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1);\n              str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000);\n            }\n\n            map[charCode] = String.fromCodePoint.apply(String, str);\n          });\n          return new _fonts.ToUnicodeMap(map);\n        }, function (reason) {\n          if (reason instanceof _util.AbortException) {\n            return null;\n          }\n\n          if (_this10.options.ignoreErrors) {\n            _this10.handler.send(\"UnsupportedFeature\", {\n              featureId: _util.UNSUPPORTED_FEATURES.errorFontToUnicode\n            });\n\n            (0, _util.warn)(\"readToUnicode - ignoring ToUnicode data: \\\"\".concat(reason, \"\\\".\"));\n            return null;\n          }\n\n          throw reason;\n        });\n      }\n\n      return Promise.resolve(null);\n    }\n  }, {\n    key: \"readCidToGidMap\",\n    value: function readCidToGidMap(glyphsData, toUnicode) {\n      var result = [];\n\n      for (var j = 0, jj = glyphsData.length; j < jj; j++) {\n        var glyphID = glyphsData[j++] << 8 | glyphsData[j];\n        var code = j >> 1;\n\n        if (glyphID === 0 && !toUnicode.has(code)) {\n          continue;\n        }\n\n        result[code] = glyphID;\n      }\n\n      return result;\n    }\n  }, {\n    key: \"extractWidths\",\n    value: function extractWidths(dict, descriptor, properties) {\n      var xref = this.xref;\n      var glyphsWidths = [];\n      var defaultWidth = 0;\n      var glyphsVMetrics = [];\n      var defaultVMetrics;\n      var i, ii, j, jj, start, code, widths;\n\n      if (properties.composite) {\n        defaultWidth = dict.has(\"DW\") ? dict.get(\"DW\") : 1000;\n        widths = dict.get(\"W\");\n\n        if (widths) {\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            start = xref.fetchIfRef(widths[i++]);\n            code = xref.fetchIfRef(widths[i]);\n\n            if (Array.isArray(code)) {\n              for (j = 0, jj = code.length; j < jj; j++) {\n                glyphsWidths[start++] = xref.fetchIfRef(code[j]);\n              }\n            } else {\n              var width = xref.fetchIfRef(widths[++i]);\n\n              for (j = start; j <= code; j++) {\n                glyphsWidths[j] = width;\n              }\n            }\n          }\n        }\n\n        if (properties.vertical) {\n          var vmetrics = dict.getArray(\"DW2\") || [880, -1000];\n          defaultVMetrics = [vmetrics[1], defaultWidth * 0.5, vmetrics[0]];\n          vmetrics = dict.get(\"W2\");\n\n          if (vmetrics) {\n            for (i = 0, ii = vmetrics.length; i < ii; i++) {\n              start = xref.fetchIfRef(vmetrics[i++]);\n              code = xref.fetchIfRef(vmetrics[i]);\n\n              if (Array.isArray(code)) {\n                for (j = 0, jj = code.length; j < jj; j++) {\n                  glyphsVMetrics[start++] = [xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j++]), xref.fetchIfRef(code[j])];\n                }\n              } else {\n                var vmetric = [xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i]), xref.fetchIfRef(vmetrics[++i])];\n\n                for (j = start; j <= code; j++) {\n                  glyphsVMetrics[j] = vmetric;\n                }\n              }\n            }\n          }\n        }\n      } else {\n        var firstChar = properties.firstChar;\n        widths = dict.get(\"Widths\");\n\n        if (widths) {\n          j = firstChar;\n\n          for (i = 0, ii = widths.length; i < ii; i++) {\n            glyphsWidths[j++] = xref.fetchIfRef(widths[i]);\n          }\n\n          defaultWidth = parseFloat(descriptor.get(\"MissingWidth\")) || 0;\n        } else {\n          var baseFontName = dict.get(\"BaseFont\");\n\n          if ((0, _primitives.isName)(baseFontName)) {\n            var metrics = this.getBaseFontMetrics(baseFontName.name);\n            glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties);\n            defaultWidth = metrics.defaultWidth;\n          }\n        }\n      }\n\n      var isMonospace = true;\n      var firstWidth = defaultWidth;\n\n      for (var glyph in glyphsWidths) {\n        var glyphWidth = glyphsWidths[glyph];\n\n        if (!glyphWidth) {\n          continue;\n        }\n\n        if (!firstWidth) {\n          firstWidth = glyphWidth;\n          continue;\n        }\n\n        if (firstWidth !== glyphWidth) {\n          isMonospace = false;\n          break;\n        }\n      }\n\n      if (isMonospace) {\n        properties.flags |= _fonts.FontFlags.FixedPitch;\n      }\n\n      properties.defaultWidth = defaultWidth;\n      properties.widths = glyphsWidths;\n      properties.defaultVMetrics = defaultVMetrics;\n      properties.vmetrics = glyphsVMetrics;\n    }\n  }, {\n    key: \"isSerifFont\",\n    value: function isSerifFont(baseFontName) {\n      var fontNameWoStyle = baseFontName.split(\"-\")[0];\n      return fontNameWoStyle in (0, _standard_fonts.getSerifFonts)() || fontNameWoStyle.search(/serif/gi) !== -1;\n    }\n  }, {\n    key: \"getBaseFontMetrics\",\n    value: function getBaseFontMetrics(name) {\n      var defaultWidth = 0;\n      var widths = [];\n      var monospace = false;\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)();\n      var lookupName = stdFontMap[name] || name;\n      var Metrics = (0, _metrics.getMetrics)();\n\n      if (!(lookupName in Metrics)) {\n        if (this.isSerifFont(name)) {\n          lookupName = \"Times-Roman\";\n        } else {\n          lookupName = \"Helvetica\";\n        }\n      }\n\n      var glyphWidths = Metrics[lookupName];\n\n      if ((0, _util.isNum)(glyphWidths)) {\n        defaultWidth = glyphWidths;\n        monospace = true;\n      } else {\n        widths = glyphWidths();\n      }\n\n      return {\n        defaultWidth: defaultWidth,\n        monospace: monospace,\n        widths: widths\n      };\n    }\n  }, {\n    key: \"buildCharCodeToWidth\",\n    value: function buildCharCodeToWidth(widthsByGlyphName, properties) {\n      var widths = Object.create(null);\n      var differences = properties.differences;\n      var encoding = properties.defaultEncoding;\n\n      for (var charCode = 0; charCode < 256; charCode++) {\n        if (charCode in differences && widthsByGlyphName[differences[charCode]]) {\n          widths[charCode] = widthsByGlyphName[differences[charCode]];\n          continue;\n        }\n\n        if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) {\n          widths[charCode] = widthsByGlyphName[encoding[charCode]];\n          continue;\n        }\n      }\n\n      return widths;\n    }\n  }, {\n    key: \"preEvaluateFont\",\n    value: function preEvaluateFont(dict) {\n      var baseDict = dict;\n      var type = dict.get(\"Subtype\");\n\n      if (!(0, _primitives.isName)(type)) {\n        throw new _util.FormatError(\"invalid font Subtype\");\n      }\n\n      var composite = false;\n      var uint8array;\n\n      if (type.name === \"Type0\") {\n        var df = dict.get(\"DescendantFonts\");\n\n        if (!df) {\n          throw new _util.FormatError(\"Descendant fonts are not specified\");\n        }\n\n        dict = Array.isArray(df) ? this.xref.fetchIfRef(df[0]) : df;\n\n        if (!(dict instanceof _primitives.Dict)) {\n          throw new _util.FormatError(\"Descendant font is not a dictionary.\");\n        }\n\n        type = dict.get(\"Subtype\");\n\n        if (!(0, _primitives.isName)(type)) {\n          throw new _util.FormatError(\"invalid font Subtype\");\n        }\n\n        composite = true;\n      }\n\n      var descriptor = dict.get(\"FontDescriptor\");\n\n      if (descriptor) {\n        var hash = new _murmurhash.MurmurHash3_64();\n        var encoding = baseDict.getRaw(\"Encoding\");\n\n        if ((0, _primitives.isName)(encoding)) {\n          hash.update(encoding.name);\n        } else if ((0, _primitives.isRef)(encoding)) {\n          hash.update(encoding.toString());\n        } else if ((0, _primitives.isDict)(encoding)) {\n          var _iterator5 = _createForOfIteratorHelper(encoding.getRawValues()),\n              _step5;\n\n          try {\n            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n              var entry = _step5.value;\n\n              if ((0, _primitives.isName)(entry)) {\n                hash.update(entry.name);\n              } else if ((0, _primitives.isRef)(entry)) {\n                hash.update(entry.toString());\n              } else if (Array.isArray(entry)) {\n                var diffLength = entry.length,\n                    diffBuf = new Array(diffLength);\n\n                for (var j = 0; j < diffLength; j++) {\n                  var diffEntry = entry[j];\n\n                  if ((0, _primitives.isName)(diffEntry)) {\n                    diffBuf[j] = diffEntry.name;\n                  } else if ((0, _util.isNum)(diffEntry) || (0, _primitives.isRef)(diffEntry)) {\n                    diffBuf[j] = diffEntry.toString();\n                  }\n                }\n\n                hash.update(diffBuf.join());\n              }\n            }\n          } catch (err) {\n            _iterator5.e(err);\n          } finally {\n            _iterator5.f();\n          }\n        }\n\n        var firstChar = dict.get(\"FirstChar\") || 0;\n        var lastChar = dict.get(\"LastChar\") || (composite ? 0xffff : 0xff);\n        hash.update(\"\".concat(firstChar, \"-\").concat(lastChar));\n        var toUnicode = dict.get(\"ToUnicode\") || baseDict.get(\"ToUnicode\");\n\n        if ((0, _primitives.isStream)(toUnicode)) {\n          var stream = toUnicode.str || toUnicode;\n          uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start);\n          hash.update(uint8array);\n        } else if ((0, _primitives.isName)(toUnicode)) {\n          hash.update(toUnicode.name);\n        }\n\n        var widths = dict.get(\"Widths\") || baseDict.get(\"Widths\");\n\n        if (widths) {\n          uint8array = new Uint8Array(new Uint32Array(widths).buffer);\n          hash.update(uint8array);\n        }\n      }\n\n      return {\n        descriptor: descriptor,\n        dict: dict,\n        baseDict: baseDict,\n        composite: composite,\n        type: type.name,\n        hash: hash ? hash.hexdigest() : \"\"\n      };\n    }\n  }, {\n    key: \"translateFont\",\n    value: function () {\n      var _translateFont = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7(preEvaluatedFont) {\n        var _this11 = this;\n\n        var baseDict, dict, composite, descriptor, type, maxCharIndex, properties, firstChar, lastChar, baseFontName, metrics, fontNameWoStyle, flags, widths, fontName, baseFont, fontNameStr, baseFontStr, fontFile, subtype, length1, length2, length3, cidEncoding, cMap;\n        return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n          while (1) {\n            switch (_context7.prev = _context7.next) {\n              case 0:\n                baseDict = preEvaluatedFont.baseDict;\n                dict = preEvaluatedFont.dict;\n                composite = preEvaluatedFont.composite;\n                descriptor = preEvaluatedFont.descriptor;\n                type = preEvaluatedFont.type;\n                maxCharIndex = composite ? 0xffff : 0xff;\n                firstChar = dict.get(\"FirstChar\") || 0;\n                lastChar = dict.get(\"LastChar\") || maxCharIndex;\n\n                if (descriptor) {\n                  _context7.next = 25;\n                  break;\n                }\n\n                if (!(type === \"Type3\")) {\n                  _context7.next = 15;\n                  break;\n                }\n\n                descriptor = new _primitives.Dict(null);\n                descriptor.set(\"FontName\", _primitives.Name.get(type));\n                descriptor.set(\"FontBBox\", dict.getArray(\"FontBBox\") || [0, 0, 0, 0]);\n                _context7.next = 25;\n                break;\n\n              case 15:\n                baseFontName = dict.get(\"BaseFont\");\n\n                if ((0, _primitives.isName)(baseFontName)) {\n                  _context7.next = 18;\n                  break;\n                }\n\n                throw new _util.FormatError(\"Base font is not specified\");\n\n              case 18:\n                baseFontName = baseFontName.name.replace(/[,_]/g, \"-\");\n                metrics = this.getBaseFontMetrics(baseFontName);\n                fontNameWoStyle = baseFontName.split(\"-\")[0];\n                flags = (this.isSerifFont(fontNameWoStyle) ? _fonts.FontFlags.Serif : 0) | (metrics.monospace ? _fonts.FontFlags.FixedPitch : 0) | ((0, _standard_fonts.getSymbolsFonts)()[fontNameWoStyle] ? _fonts.FontFlags.Symbolic : _fonts.FontFlags.Nonsymbolic);\n                properties = {\n                  type: type,\n                  name: baseFontName,\n                  widths: metrics.widths,\n                  defaultWidth: metrics.defaultWidth,\n                  flags: flags,\n                  firstChar: firstChar,\n                  lastChar: lastChar\n                };\n                widths = dict.get(\"Widths\");\n                return _context7.abrupt(\"return\", this.extractDataStructures(dict, dict, properties).then(function (newProperties) {\n                  if (widths) {\n                    var glyphWidths = [];\n                    var j = firstChar;\n\n                    for (var _i = 0, ii = widths.length; _i < ii; _i++) {\n                      glyphWidths[j++] = _this11.xref.fetchIfRef(widths[_i]);\n                    }\n\n                    newProperties.widths = glyphWidths;\n                  } else {\n                    newProperties.widths = _this11.buildCharCodeToWidth(metrics.widths, newProperties);\n                  }\n\n                  return new _fonts.Font(baseFontName, null, newProperties);\n                }));\n\n              case 25:\n                fontName = descriptor.get(\"FontName\");\n                baseFont = dict.get(\"BaseFont\");\n\n                if ((0, _util.isString)(fontName)) {\n                  fontName = _primitives.Name.get(fontName);\n                }\n\n                if ((0, _util.isString)(baseFont)) {\n                  baseFont = _primitives.Name.get(baseFont);\n                }\n\n                if (type !== \"Type3\") {\n                  fontNameStr = fontName && fontName.name;\n                  baseFontStr = baseFont && baseFont.name;\n\n                  if (fontNameStr !== baseFontStr) {\n                    (0, _util.info)(\"The FontDescriptor's FontName is \\\"\".concat(fontNameStr, \"\\\" but \") + \"should be the same as the Font's BaseFont \\\"\".concat(baseFontStr, \"\\\".\"));\n\n                    if (fontNameStr && baseFontStr && baseFontStr.startsWith(fontNameStr)) {\n                      fontName = baseFont;\n                    }\n                  }\n                }\n\n                fontName = fontName || baseFont;\n\n                if ((0, _primitives.isName)(fontName)) {\n                  _context7.next = 33;\n                  break;\n                }\n\n                throw new _util.FormatError(\"invalid font name\");\n\n              case 33:\n                fontFile = descriptor.get(\"FontFile\", \"FontFile2\", \"FontFile3\");\n\n                if (fontFile) {\n                  if (fontFile.dict) {\n                    subtype = fontFile.dict.get(\"Subtype\");\n\n                    if (subtype) {\n                      subtype = subtype.name;\n                    }\n\n                    length1 = fontFile.dict.get(\"Length1\");\n                    length2 = fontFile.dict.get(\"Length2\");\n                    length3 = fontFile.dict.get(\"Length3\");\n                  }\n                }\n\n                properties = {\n                  type: type,\n                  name: fontName.name,\n                  subtype: subtype,\n                  file: fontFile,\n                  length1: length1,\n                  length2: length2,\n                  length3: length3,\n                  loadedName: baseDict.loadedName,\n                  composite: composite,\n                  fixedPitch: false,\n                  fontMatrix: dict.getArray(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX,\n                  firstChar: firstChar || 0,\n                  lastChar: lastChar || maxCharIndex,\n                  bbox: descriptor.getArray(\"FontBBox\"),\n                  ascent: descriptor.get(\"Ascent\"),\n                  descent: descriptor.get(\"Descent\"),\n                  xHeight: descriptor.get(\"XHeight\"),\n                  capHeight: descriptor.get(\"CapHeight\"),\n                  flags: descriptor.get(\"Flags\"),\n                  italicAngle: descriptor.get(\"ItalicAngle\"),\n                  isType3Font: false\n                };\n\n                if (!composite) {\n                  _context7.next = 44;\n                  break;\n                }\n\n                cidEncoding = baseDict.get(\"Encoding\");\n\n                if ((0, _primitives.isName)(cidEncoding)) {\n                  properties.cidEncoding = cidEncoding.name;\n                }\n\n                _context7.next = 41;\n                return _cmap.CMapFactory.create({\n                  encoding: cidEncoding,\n                  fetchBuiltInCMap: this._fetchBuiltInCMapBound,\n                  useCMap: null\n                });\n\n              case 41:\n                cMap = _context7.sent;\n                properties.cMap = cMap;\n                properties.vertical = properties.cMap.vertical;\n\n              case 44:\n                return _context7.abrupt(\"return\", this.extractDataStructures(dict, baseDict, properties).then(function (newProperties) {\n                  _this11.extractWidths(dict, descriptor, newProperties);\n\n                  if (type === \"Type3\") {\n                    newProperties.isType3Font = true;\n                  }\n\n                  return new _fonts.Font(fontName.name, fontFile, newProperties);\n                }));\n\n              case 45:\n              case \"end\":\n                return _context7.stop();\n            }\n          }\n        }, _callee7, this);\n      }));\n\n      function translateFont(_x13) {\n        return _translateFont.apply(this, arguments);\n      }\n\n      return translateFont;\n    }()\n  }, {\n    key: \"_pdfFunctionFactory\",\n    get: function get() {\n      var pdfFunctionFactory = new _function.PDFFunctionFactory({\n        xref: this.xref,\n        isEvalSupported: this.options.isEvalSupported\n      });\n      return (0, _util.shadow)(this, \"_pdfFunctionFactory\", pdfFunctionFactory);\n    }\n  }], [{\n    key: \"buildFontPaths\",\n    value: function buildFontPaths(font, glyphs, handler) {\n      function buildPath(fontChar) {\n        if (font.renderer.hasBuiltPath(fontChar)) {\n          return;\n        }\n\n        handler.send(\"commonobj\", [\"\".concat(font.loadedName, \"_path_\").concat(fontChar), \"FontPath\", font.renderer.getPathJs(fontChar)]);\n      }\n\n      var _iterator6 = _createForOfIteratorHelper(glyphs),\n          _step6;\n\n      try {\n        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {\n          var glyph = _step6.value;\n          buildPath(glyph.fontChar);\n          var accent = glyph.accent;\n\n          if (accent && accent.fontChar) {\n            buildPath(accent.fontChar);\n          }\n        }\n      } catch (err) {\n        _iterator6.e(err);\n      } finally {\n        _iterator6.f();\n      }\n    }\n  }, {\n    key: \"fallbackFontDict\",\n    get: function get() {\n      var dict = new _primitives.Dict();\n      dict.set(\"BaseFont\", _primitives.Name.get(\"PDFJS-FallbackFont\"));\n      dict.set(\"Type\", _primitives.Name.get(\"FallbackType\"));\n      dict.set(\"Subtype\", _primitives.Name.get(\"FallbackType\"));\n      dict.set(\"Encoding\", _primitives.Name.get(\"WinAnsiEncoding\"));\n      return (0, _util.shadow)(this, \"fallbackFontDict\", dict);\n    }\n  }]);\n\n  return PartialEvaluator;\n}();\n\nexports.PartialEvaluator = PartialEvaluator;\n\nvar TranslatedFont = /*#__PURE__*/function () {\n  function TranslatedFont(_ref9) {\n    var loadedName = _ref9.loadedName,\n        font = _ref9.font,\n        dict = _ref9.dict,\n        _ref9$extraProperties = _ref9.extraProperties,\n        extraProperties = _ref9$extraProperties === void 0 ? false : _ref9$extraProperties;\n\n    _classCallCheck(this, TranslatedFont);\n\n    this.loadedName = loadedName;\n    this.font = font;\n    this.dict = dict;\n    this._extraProperties = extraProperties;\n    this.type3Loaded = null;\n    this.type3Dependencies = font.isType3Font ? new Set() : null;\n    this.sent = false;\n  }\n\n  _createClass(TranslatedFont, [{\n    key: \"send\",\n    value: function send(handler) {\n      if (this.sent) {\n        return;\n      }\n\n      this.sent = true;\n      handler.send(\"commonobj\", [this.loadedName, \"Font\", this.font.exportData(this._extraProperties)]);\n    }\n  }, {\n    key: \"fallback\",\n    value: function fallback(handler) {\n      if (!this.font.data) {\n        return;\n      }\n\n      this.font.disableFontFace = true;\n      var glyphs = this.font.glyphCacheValues;\n      PartialEvaluator.buildFontPaths(this.font, glyphs, handler);\n    }\n  }, {\n    key: \"loadType3Data\",\n    value: function loadType3Data(evaluator, resources, task) {\n      var _this12 = this;\n\n      if (this.type3Loaded) {\n        return this.type3Loaded;\n      }\n\n      if (!this.font.isType3Font) {\n        throw new Error(\"Must be a Type3 font.\");\n      }\n\n      var type3Options = Object.create(evaluator.options);\n      type3Options.ignoreErrors = false;\n      var type3Evaluator = evaluator.clone(type3Options);\n      type3Evaluator.parsingType3Font = true;\n      var translatedFont = this.font,\n          type3Dependencies = this.type3Dependencies;\n      var loadCharProcsPromise = Promise.resolve();\n      var charProcs = this.dict.get(\"CharProcs\");\n      var fontResources = this.dict.get(\"Resources\") || resources;\n      var charProcOperatorList = Object.create(null);\n\n      var _iterator7 = _createForOfIteratorHelper(charProcs.getKeys()),\n          _step7;\n\n      try {\n        var _loop2 = function _loop2() {\n          var key = _step7.value;\n          loadCharProcsPromise = loadCharProcsPromise.then(function () {\n            var glyphStream = charProcs.get(key);\n            var operatorList = new _operator_list.OperatorList();\n            return type3Evaluator.getOperatorList({\n              stream: glyphStream,\n              task: task,\n              resources: fontResources,\n              operatorList: operatorList\n            }).then(function () {\n              if (operatorList.fnArray[0] === _util.OPS.setCharWidthAndBounds) {\n                _this12._removeType3ColorOperators(operatorList);\n              }\n\n              charProcOperatorList[key] = operatorList.getIR();\n\n              var _iterator8 = _createForOfIteratorHelper(operatorList.dependencies),\n                  _step8;\n\n              try {\n                for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {\n                  var dependency = _step8.value;\n                  type3Dependencies.add(dependency);\n                }\n              } catch (err) {\n                _iterator8.e(err);\n              } finally {\n                _iterator8.f();\n              }\n            })[\"catch\"](function (reason) {\n              (0, _util.warn)(\"Type3 font resource \\\"\".concat(key, \"\\\" is not available.\"));\n              var dummyOperatorList = new _operator_list.OperatorList();\n              charProcOperatorList[key] = dummyOperatorList.getIR();\n            });\n          });\n        };\n\n        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {\n          _loop2();\n        }\n      } catch (err) {\n        _iterator7.e(err);\n      } finally {\n        _iterator7.f();\n      }\n\n      this.type3Loaded = loadCharProcsPromise.then(function () {\n        translatedFont.charProcOperatorList = charProcOperatorList;\n      });\n      return this.type3Loaded;\n    }\n  }, {\n    key: \"_removeType3ColorOperators\",\n    value: function _removeType3ColorOperators(operatorList) {\n      var i = 1,\n          ii = operatorList.length;\n\n      while (i < ii) {\n        switch (operatorList.fnArray[i]) {\n          case _util.OPS.setStrokeColorSpace:\n          case _util.OPS.setFillColorSpace:\n          case _util.OPS.setStrokeColor:\n          case _util.OPS.setStrokeColorN:\n          case _util.OPS.setFillColor:\n          case _util.OPS.setFillColorN:\n          case _util.OPS.setStrokeGray:\n          case _util.OPS.setFillGray:\n          case _util.OPS.setStrokeRGBColor:\n          case _util.OPS.setFillRGBColor:\n          case _util.OPS.setStrokeCMYKColor:\n          case _util.OPS.setFillCMYKColor:\n          case _util.OPS.shadingFill:\n          case _util.OPS.setRenderingIntent:\n            operatorList.fnArray.splice(i, 1);\n            operatorList.argsArray.splice(i, 1);\n            ii--;\n            continue;\n\n          case _util.OPS.setGState:\n            var _operatorList$argsArr = _slicedToArray(operatorList.argsArray[i], 1),\n                _gStateObj = _operatorList$argsArr[0];\n\n            var j = 0,\n                jj = _gStateObj.length;\n\n            while (j < jj) {\n              var _gStateObj$j = _slicedToArray(_gStateObj[j], 1),\n                  gStateKey = _gStateObj$j[0];\n\n              switch (gStateKey) {\n                case \"TR\":\n                case \"TR2\":\n                case \"HT\":\n                case \"BG\":\n                case \"BG2\":\n                case \"UCR\":\n                case \"UCR2\":\n                  _gStateObj.splice(j, 1);\n\n                  jj--;\n                  continue;\n              }\n\n              j++;\n            }\n\n            break;\n        }\n\n        i++;\n      }\n    }\n  }]);\n\n  return TranslatedFont;\n}();\n\nvar StateManager = /*#__PURE__*/function () {\n  function StateManager() {\n    var initialState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new EvalState();\n\n    _classCallCheck(this, StateManager);\n\n    this.state = initialState;\n    this.stateStack = [];\n  }\n\n  _createClass(StateManager, [{\n    key: \"save\",\n    value: function save() {\n      var old = this.state;\n      this.stateStack.push(this.state);\n      this.state = old.clone();\n    }\n  }, {\n    key: \"restore\",\n    value: function restore() {\n      var prev = this.stateStack.pop();\n\n      if (prev) {\n        this.state = prev;\n      }\n    }\n  }, {\n    key: \"transform\",\n    value: function transform(args) {\n      this.state.ctm = _util.Util.transform(this.state.ctm, args);\n    }\n  }]);\n\n  return StateManager;\n}();\n\nvar TextState = /*#__PURE__*/function () {\n  function TextState() {\n    _classCallCheck(this, TextState);\n\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.fontName = null;\n    this.fontSize = 0;\n    this.font = null;\n    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n    this.textMatrix = _util.IDENTITY_MATRIX.slice();\n    this.textLineMatrix = _util.IDENTITY_MATRIX.slice();\n    this.charSpacing = 0;\n    this.wordSpacing = 0;\n    this.leading = 0;\n    this.textHScale = 1;\n    this.textRise = 0;\n  }\n\n  _createClass(TextState, [{\n    key: \"setTextMatrix\",\n    value: function setTextMatrix(a, b, c, d, e, f) {\n      var m = this.textMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    }\n  }, {\n    key: \"setTextLineMatrix\",\n    value: function setTextLineMatrix(a, b, c, d, e, f) {\n      var m = this.textLineMatrix;\n      m[0] = a;\n      m[1] = b;\n      m[2] = c;\n      m[3] = d;\n      m[4] = e;\n      m[5] = f;\n    }\n  }, {\n    key: \"translateTextMatrix\",\n    value: function translateTextMatrix(x, y) {\n      var m = this.textMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    }\n  }, {\n    key: \"translateTextLineMatrix\",\n    value: function translateTextLineMatrix(x, y) {\n      var m = this.textLineMatrix;\n      m[4] = m[0] * x + m[2] * y + m[4];\n      m[5] = m[1] * x + m[3] * y + m[5];\n    }\n  }, {\n    key: \"calcTextLineMatrixAdvance\",\n    value: function calcTextLineMatrixAdvance(a, b, c, d, e, f) {\n      var font = this.font;\n\n      if (!font) {\n        return null;\n      }\n\n      var m = this.textLineMatrix;\n\n      if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) {\n        return null;\n      }\n\n      var txDiff = e - m[4],\n          tyDiff = f - m[5];\n\n      if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) {\n        return null;\n      }\n\n      var tx,\n          ty,\n          denominator = a * d - b * c;\n\n      if (font.vertical) {\n        tx = -tyDiff * c / denominator;\n        ty = tyDiff * a / denominator;\n      } else {\n        tx = txDiff * d / denominator;\n        ty = -txDiff * b / denominator;\n      }\n\n      return {\n        width: tx,\n        height: ty,\n        value: font.vertical ? ty : tx\n      };\n    }\n  }, {\n    key: \"calcRenderMatrix\",\n    value: function calcRenderMatrix(ctm) {\n      var tsm = [this.fontSize * this.textHScale, 0, 0, this.fontSize, 0, this.textRise];\n      return _util.Util.transform(ctm, _util.Util.transform(this.textMatrix, tsm));\n    }\n  }, {\n    key: \"carriageReturn\",\n    value: function carriageReturn() {\n      this.translateTextLineMatrix(0, -this.leading);\n      this.textMatrix = this.textLineMatrix.slice();\n    }\n  }, {\n    key: \"clone\",\n    value: function clone() {\n      var clone = Object.create(this);\n      clone.textMatrix = this.textMatrix.slice();\n      clone.textLineMatrix = this.textLineMatrix.slice();\n      clone.fontMatrix = this.fontMatrix.slice();\n      return clone;\n    }\n  }]);\n\n  return TextState;\n}();\n\nvar EvalState = /*#__PURE__*/function () {\n  function EvalState() {\n    _classCallCheck(this, EvalState);\n\n    this.ctm = new Float32Array(_util.IDENTITY_MATRIX);\n    this.font = null;\n    this.textRenderingMode = _util.TextRenderingMode.FILL;\n    this.fillColorSpace = _colorspace.ColorSpace.singletons.gray;\n    this.strokeColorSpace = _colorspace.ColorSpace.singletons.gray;\n  }\n\n  _createClass(EvalState, [{\n    key: \"clone\",\n    value: function clone() {\n      return Object.create(this);\n    }\n  }]);\n\n  return EvalState;\n}();\n\nvar EvaluatorPreprocessor = /*#__PURE__*/function () {\n  _createClass(EvaluatorPreprocessor, null, [{\n    key: \"opMap\",\n    get: function get() {\n      var getOPMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n        t.w = {\n          id: _util.OPS.setLineWidth,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.J = {\n          id: _util.OPS.setLineCap,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.j = {\n          id: _util.OPS.setLineJoin,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.M = {\n          id: _util.OPS.setMiterLimit,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.d = {\n          id: _util.OPS.setDash,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.ri = {\n          id: _util.OPS.setRenderingIntent,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.i = {\n          id: _util.OPS.setFlatness,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.gs = {\n          id: _util.OPS.setGState,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.q = {\n          id: _util.OPS.save,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.Q = {\n          id: _util.OPS.restore,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.cm = {\n          id: _util.OPS.transform,\n          numArgs: 6,\n          variableArgs: false\n        };\n        t.m = {\n          id: _util.OPS.moveTo,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.l = {\n          id: _util.OPS.lineTo,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.c = {\n          id: _util.OPS.curveTo,\n          numArgs: 6,\n          variableArgs: false\n        };\n        t.v = {\n          id: _util.OPS.curveTo2,\n          numArgs: 4,\n          variableArgs: false\n        };\n        t.y = {\n          id: _util.OPS.curveTo3,\n          numArgs: 4,\n          variableArgs: false\n        };\n        t.h = {\n          id: _util.OPS.closePath,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.re = {\n          id: _util.OPS.rectangle,\n          numArgs: 4,\n          variableArgs: false\n        };\n        t.S = {\n          id: _util.OPS.stroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.s = {\n          id: _util.OPS.closeStroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.f = {\n          id: _util.OPS.fill,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.F = {\n          id: _util.OPS.fill,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t[\"f*\"] = {\n          id: _util.OPS.eoFill,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.B = {\n          id: _util.OPS.fillStroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t[\"B*\"] = {\n          id: _util.OPS.eoFillStroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.b = {\n          id: _util.OPS.closeFillStroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t[\"b*\"] = {\n          id: _util.OPS.closeEOFillStroke,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.n = {\n          id: _util.OPS.endPath,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.W = {\n          id: _util.OPS.clip,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t[\"W*\"] = {\n          id: _util.OPS.eoClip,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.BT = {\n          id: _util.OPS.beginText,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.ET = {\n          id: _util.OPS.endText,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.Tc = {\n          id: _util.OPS.setCharSpacing,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Tw = {\n          id: _util.OPS.setWordSpacing,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Tz = {\n          id: _util.OPS.setHScale,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.TL = {\n          id: _util.OPS.setLeading,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Tf = {\n          id: _util.OPS.setFont,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.Tr = {\n          id: _util.OPS.setTextRenderingMode,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Ts = {\n          id: _util.OPS.setTextRise,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Td = {\n          id: _util.OPS.moveText,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.TD = {\n          id: _util.OPS.setLeadingMoveText,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.Tm = {\n          id: _util.OPS.setTextMatrix,\n          numArgs: 6,\n          variableArgs: false\n        };\n        t[\"T*\"] = {\n          id: _util.OPS.nextLine,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.Tj = {\n          id: _util.OPS.showText,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.TJ = {\n          id: _util.OPS.showSpacedText,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t[\"'\"] = {\n          id: _util.OPS.nextLineShowText,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t['\"'] = {\n          id: _util.OPS.nextLineSetSpacingShowText,\n          numArgs: 3,\n          variableArgs: false\n        };\n        t.d0 = {\n          id: _util.OPS.setCharWidth,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.d1 = {\n          id: _util.OPS.setCharWidthAndBounds,\n          numArgs: 6,\n          variableArgs: false\n        };\n        t.CS = {\n          id: _util.OPS.setStrokeColorSpace,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.cs = {\n          id: _util.OPS.setFillColorSpace,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.SC = {\n          id: _util.OPS.setStrokeColor,\n          numArgs: 4,\n          variableArgs: true\n        };\n        t.SCN = {\n          id: _util.OPS.setStrokeColorN,\n          numArgs: 33,\n          variableArgs: true\n        };\n        t.sc = {\n          id: _util.OPS.setFillColor,\n          numArgs: 4,\n          variableArgs: true\n        };\n        t.scn = {\n          id: _util.OPS.setFillColorN,\n          numArgs: 33,\n          variableArgs: true\n        };\n        t.G = {\n          id: _util.OPS.setStrokeGray,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.g = {\n          id: _util.OPS.setFillGray,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.RG = {\n          id: _util.OPS.setStrokeRGBColor,\n          numArgs: 3,\n          variableArgs: false\n        };\n        t.rg = {\n          id: _util.OPS.setFillRGBColor,\n          numArgs: 3,\n          variableArgs: false\n        };\n        t.K = {\n          id: _util.OPS.setStrokeCMYKColor,\n          numArgs: 4,\n          variableArgs: false\n        };\n        t.k = {\n          id: _util.OPS.setFillCMYKColor,\n          numArgs: 4,\n          variableArgs: false\n        };\n        t.sh = {\n          id: _util.OPS.shadingFill,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.BI = {\n          id: _util.OPS.beginInlineImage,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.ID = {\n          id: _util.OPS.beginImageData,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.EI = {\n          id: _util.OPS.endInlineImage,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.Do = {\n          id: _util.OPS.paintXObject,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.MP = {\n          id: _util.OPS.markPoint,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.DP = {\n          id: _util.OPS.markPointProps,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.BMC = {\n          id: _util.OPS.beginMarkedContent,\n          numArgs: 1,\n          variableArgs: false\n        };\n        t.BDC = {\n          id: _util.OPS.beginMarkedContentProps,\n          numArgs: 2,\n          variableArgs: false\n        };\n        t.EMC = {\n          id: _util.OPS.endMarkedContent,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.BX = {\n          id: _util.OPS.beginCompat,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.EX = {\n          id: _util.OPS.endCompat,\n          numArgs: 0,\n          variableArgs: false\n        };\n        t.BM = null;\n        t.BD = null;\n        t[\"true\"] = null;\n        t.fa = null;\n        t.fal = null;\n        t.fals = null;\n        t[\"false\"] = null;\n        t.nu = null;\n        t.nul = null;\n        t[\"null\"] = null;\n      });\n      return (0, _util.shadow)(this, \"opMap\", getOPMap());\n    }\n  }, {\n    key: \"MAX_INVALID_PATH_OPS\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"MAX_INVALID_PATH_OPS\", 20);\n    }\n  }]);\n\n  function EvaluatorPreprocessor(stream, xref) {\n    var stateManager = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : new StateManager();\n\n    _classCallCheck(this, EvaluatorPreprocessor);\n\n    this.parser = new _parser.Parser({\n      lexer: new _parser.Lexer(stream, EvaluatorPreprocessor.opMap),\n      xref: xref\n    });\n    this.stateManager = stateManager;\n    this.nonProcessedArgs = [];\n    this._numInvalidPathOPS = 0;\n  }\n\n  _createClass(EvaluatorPreprocessor, [{\n    key: \"read\",\n    value: function read(operation) {\n      var args = operation.args;\n\n      while (true) {\n        var obj = this.parser.getObj();\n\n        if (obj instanceof _primitives.Cmd) {\n          var cmd = obj.cmd;\n          var opSpec = EvaluatorPreprocessor.opMap[cmd];\n\n          if (!opSpec) {\n            (0, _util.warn)(\"Unknown command \\\"\".concat(cmd, \"\\\".\"));\n            continue;\n          }\n\n          var fn = opSpec.id;\n          var numArgs = opSpec.numArgs;\n          var argsLength = args !== null ? args.length : 0;\n\n          if (!opSpec.variableArgs) {\n            if (argsLength !== numArgs) {\n              var nonProcessedArgs = this.nonProcessedArgs;\n\n              while (argsLength > numArgs) {\n                nonProcessedArgs.push(args.shift());\n                argsLength--;\n              }\n\n              while (argsLength < numArgs && nonProcessedArgs.length !== 0) {\n                if (args === null) {\n                  args = [];\n                }\n\n                args.unshift(nonProcessedArgs.pop());\n                argsLength++;\n              }\n            }\n\n            if (argsLength < numArgs) {\n              var partialMsg = \"command \".concat(cmd, \": expected \").concat(numArgs, \" args, \") + \"but received \".concat(argsLength, \" args.\");\n\n              if (fn >= _util.OPS.moveTo && fn <= _util.OPS.endPath && ++this._numInvalidPathOPS > EvaluatorPreprocessor.MAX_INVALID_PATH_OPS) {\n                throw new _util.FormatError(\"Invalid \".concat(partialMsg));\n              }\n\n              (0, _util.warn)(\"Skipping \".concat(partialMsg));\n\n              if (args !== null) {\n                args.length = 0;\n              }\n\n              continue;\n            }\n          } else if (argsLength > numArgs) {\n            (0, _util.info)(\"Command \".concat(cmd, \": expected [0, \").concat(numArgs, \"] args, \") + \"but received \".concat(argsLength, \" args.\"));\n          }\n\n          this.preprocessCommand(fn, args);\n          operation.fn = fn;\n          operation.args = args;\n          return true;\n        }\n\n        if (obj === _primitives.EOF) {\n          return false;\n        }\n\n        if (obj !== null) {\n          if (args === null) {\n            args = [];\n          }\n\n          args.push(obj);\n\n          if (args.length > 33) {\n            throw new _util.FormatError(\"Too many arguments\");\n          }\n        }\n      }\n    }\n  }, {\n    key: \"preprocessCommand\",\n    value: function preprocessCommand(fn, args) {\n      switch (fn | 0) {\n        case _util.OPS.save:\n          this.stateManager.save();\n          break;\n\n        case _util.OPS.restore:\n          this.stateManager.restore();\n          break;\n\n        case _util.OPS.transform:\n          this.stateManager.transform(args);\n          break;\n      }\n    }\n  }, {\n    key: \"savedStatesDepth\",\n    get: function get() {\n      return this.stateManager.stateStack.length;\n    }\n  }]);\n\n  return EvaluatorPreprocessor;\n}();\n\nexports.EvaluatorPreprocessor = EvaluatorPreprocessor;\n\n/***/ }),\n/* 158 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.IdentityCMap = exports.CMapFactory = exports.CMap = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _parser = __w_pdfjs_require__(141);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _stream = __w_pdfjs_require__(142);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar BUILT_IN_CMAPS = [\"Adobe-GB1-UCS2\", \"Adobe-CNS1-UCS2\", \"Adobe-Japan1-UCS2\", \"Adobe-Korea1-UCS2\", \"78-EUC-H\", \"78-EUC-V\", \"78-H\", \"78-RKSJ-H\", \"78-RKSJ-V\", \"78-V\", \"78ms-RKSJ-H\", \"78ms-RKSJ-V\", \"83pv-RKSJ-H\", \"90ms-RKSJ-H\", \"90ms-RKSJ-V\", \"90msp-RKSJ-H\", \"90msp-RKSJ-V\", \"90pv-RKSJ-H\", \"90pv-RKSJ-V\", \"Add-H\", \"Add-RKSJ-H\", \"Add-RKSJ-V\", \"Add-V\", \"Adobe-CNS1-0\", \"Adobe-CNS1-1\", \"Adobe-CNS1-2\", \"Adobe-CNS1-3\", \"Adobe-CNS1-4\", \"Adobe-CNS1-5\", \"Adobe-CNS1-6\", \"Adobe-GB1-0\", \"Adobe-GB1-1\", \"Adobe-GB1-2\", \"Adobe-GB1-3\", \"Adobe-GB1-4\", \"Adobe-GB1-5\", \"Adobe-Japan1-0\", \"Adobe-Japan1-1\", \"Adobe-Japan1-2\", \"Adobe-Japan1-3\", \"Adobe-Japan1-4\", \"Adobe-Japan1-5\", \"Adobe-Japan1-6\", \"Adobe-Korea1-0\", \"Adobe-Korea1-1\", \"Adobe-Korea1-2\", \"B5-H\", \"B5-V\", \"B5pc-H\", \"B5pc-V\", \"CNS-EUC-H\", \"CNS-EUC-V\", \"CNS1-H\", \"CNS1-V\", \"CNS2-H\", \"CNS2-V\", \"ETHK-B5-H\", \"ETHK-B5-V\", \"ETen-B5-H\", \"ETen-B5-V\", \"ETenms-B5-H\", \"ETenms-B5-V\", \"EUC-H\", \"EUC-V\", \"Ext-H\", \"Ext-RKSJ-H\", \"Ext-RKSJ-V\", \"Ext-V\", \"GB-EUC-H\", \"GB-EUC-V\", \"GB-H\", \"GB-V\", \"GBK-EUC-H\", \"GBK-EUC-V\", \"GBK2K-H\", \"GBK2K-V\", \"GBKp-EUC-H\", \"GBKp-EUC-V\", \"GBT-EUC-H\", \"GBT-EUC-V\", \"GBT-H\", \"GBT-V\", \"GBTpc-EUC-H\", \"GBTpc-EUC-V\", \"GBpc-EUC-H\", \"GBpc-EUC-V\", \"H\", \"HKdla-B5-H\", \"HKdla-B5-V\", \"HKdlb-B5-H\", \"HKdlb-B5-V\", \"HKgccs-B5-H\", \"HKgccs-B5-V\", \"HKm314-B5-H\", \"HKm314-B5-V\", \"HKm471-B5-H\", \"HKm471-B5-V\", \"HKscs-B5-H\", \"HKscs-B5-V\", \"Hankaku\", \"Hiragana\", \"KSC-EUC-H\", \"KSC-EUC-V\", \"KSC-H\", \"KSC-Johab-H\", \"KSC-Johab-V\", \"KSC-V\", \"KSCms-UHC-H\", \"KSCms-UHC-HW-H\", \"KSCms-UHC-HW-V\", \"KSCms-UHC-V\", \"KSCpc-EUC-H\", \"KSCpc-EUC-V\", \"Katakana\", \"NWP-H\", \"NWP-V\", \"RKSJ-H\", \"RKSJ-V\", \"Roman\", \"UniCNS-UCS2-H\", \"UniCNS-UCS2-V\", \"UniCNS-UTF16-H\", \"UniCNS-UTF16-V\", \"UniCNS-UTF32-H\", \"UniCNS-UTF32-V\", \"UniCNS-UTF8-H\", \"UniCNS-UTF8-V\", \"UniGB-UCS2-H\", \"UniGB-UCS2-V\", \"UniGB-UTF16-H\", \"UniGB-UTF16-V\", \"UniGB-UTF32-H\", \"UniGB-UTF32-V\", \"UniGB-UTF8-H\", \"UniGB-UTF8-V\", \"UniJIS-UCS2-H\", \"UniJIS-UCS2-HW-H\", \"UniJIS-UCS2-HW-V\", \"UniJIS-UCS2-V\", \"UniJIS-UTF16-H\", \"UniJIS-UTF16-V\", \"UniJIS-UTF32-H\", \"UniJIS-UTF32-V\", \"UniJIS-UTF8-H\", \"UniJIS-UTF8-V\", \"UniJIS2004-UTF16-H\", \"UniJIS2004-UTF16-V\", \"UniJIS2004-UTF32-H\", \"UniJIS2004-UTF32-V\", \"UniJIS2004-UTF8-H\", \"UniJIS2004-UTF8-V\", \"UniJISPro-UCS2-HW-V\", \"UniJISPro-UCS2-V\", \"UniJISPro-UTF8-V\", \"UniJISX0213-UTF32-H\", \"UniJISX0213-UTF32-V\", \"UniJISX02132004-UTF32-H\", \"UniJISX02132004-UTF32-V\", \"UniKS-UCS2-H\", \"UniKS-UCS2-V\", \"UniKS-UTF16-H\", \"UniKS-UTF16-V\", \"UniKS-UTF32-H\", \"UniKS-UTF32-V\", \"UniKS-UTF8-H\", \"UniKS-UTF8-V\", \"V\", \"WP-Symbol\"];\nvar MAX_MAP_RANGE = Math.pow(2, 24) - 1;\n\nvar CMap = /*#__PURE__*/function () {\n  function CMap() {\n    var builtInCMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n    _classCallCheck(this, CMap);\n\n    this.codespaceRanges = [[], [], [], []];\n    this.numCodespaceRanges = 0;\n    this._map = [];\n    this.name = \"\";\n    this.vertical = false;\n    this.useCMap = null;\n    this.builtInCMap = builtInCMap;\n  }\n\n  _createClass(CMap, [{\n    key: \"addCodespaceRange\",\n    value: function addCodespaceRange(n, low, high) {\n      this.codespaceRanges[n - 1].push(low, high);\n      this.numCodespaceRanges++;\n    }\n  }, {\n    key: \"mapCidRange\",\n    value: function mapCidRange(low, high, dstLow) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapCidRange - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      while (low <= high) {\n        this._map[low++] = dstLow++;\n      }\n    }\n  }, {\n    key: \"mapBfRange\",\n    value: function mapBfRange(low, high, dstLow) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapBfRange - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      var lastByte = dstLow.length - 1;\n\n      while (low <= high) {\n        this._map[low++] = dstLow;\n        dstLow = dstLow.substring(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1);\n      }\n    }\n  }, {\n    key: \"mapBfRangeToArray\",\n    value: function mapBfRangeToArray(low, high, array) {\n      if (high - low > MAX_MAP_RANGE) {\n        throw new Error(\"mapBfRangeToArray - ignoring data above MAX_MAP_RANGE.\");\n      }\n\n      var ii = array.length;\n      var i = 0;\n\n      while (low <= high && i < ii) {\n        this._map[low] = array[i++];\n        ++low;\n      }\n    }\n  }, {\n    key: \"mapOne\",\n    value: function mapOne(src, dst) {\n      this._map[src] = dst;\n    }\n  }, {\n    key: \"lookup\",\n    value: function lookup(code) {\n      return this._map[code];\n    }\n  }, {\n    key: \"contains\",\n    value: function contains(code) {\n      return this._map[code] !== undefined;\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      var map = this._map;\n      var length = map.length;\n\n      if (length <= 0x10000) {\n        for (var i = 0; i < length; i++) {\n          if (map[i] !== undefined) {\n            callback(i, map[i]);\n          }\n        }\n      } else {\n        for (var _i in map) {\n          callback(_i, map[_i]);\n        }\n      }\n    }\n  }, {\n    key: \"charCodeOf\",\n    value: function charCodeOf(value) {\n      var map = this._map;\n\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n\n      return -1;\n    }\n  }, {\n    key: \"getMap\",\n    value: function getMap() {\n      return this._map;\n    }\n  }, {\n    key: \"readCharCode\",\n    value: function readCharCode(str, offset, out) {\n      var c = 0;\n      var codespaceRanges = this.codespaceRanges;\n\n      for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n        c = (c << 8 | str.charCodeAt(offset + n)) >>> 0;\n        var codespaceRange = codespaceRanges[n];\n\n        for (var k = 0, kk = codespaceRange.length; k < kk;) {\n          var low = codespaceRange[k++];\n          var high = codespaceRange[k++];\n\n          if (c >= low && c <= high) {\n            out.charcode = c;\n            out.length = n + 1;\n            return;\n          }\n        }\n      }\n\n      out.charcode = 0;\n      out.length = 1;\n    }\n  }, {\n    key: \"getCharCodeLength\",\n    value: function getCharCodeLength(charCode) {\n      var codespaceRanges = this.codespaceRanges;\n\n      for (var n = 0, nn = codespaceRanges.length; n < nn; n++) {\n        var codespaceRange = codespaceRanges[n];\n\n        for (var k = 0, kk = codespaceRange.length; k < kk;) {\n          var low = codespaceRange[k++];\n          var high = codespaceRange[k++];\n\n          if (charCode >= low && charCode <= high) {\n            return n + 1;\n          }\n        }\n      }\n\n      return 1;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return this._map.length;\n    }\n  }, {\n    key: \"isIdentityCMap\",\n    get: function get() {\n      if (!(this.name === \"Identity-H\" || this.name === \"Identity-V\")) {\n        return false;\n      }\n\n      if (this._map.length !== 0x10000) {\n        return false;\n      }\n\n      for (var i = 0; i < 0x10000; i++) {\n        if (this._map[i] !== i) {\n          return false;\n        }\n      }\n\n      return true;\n    }\n  }]);\n\n  return CMap;\n}();\n\nexports.CMap = CMap;\n\nvar IdentityCMap = /*#__PURE__*/function (_CMap) {\n  _inherits(IdentityCMap, _CMap);\n\n  var _super = _createSuper(IdentityCMap);\n\n  function IdentityCMap(vertical, n) {\n    var _this;\n\n    _classCallCheck(this, IdentityCMap);\n\n    _this = _super.call(this);\n    _this.vertical = vertical;\n\n    _this.addCodespaceRange(n, 0, 0xffff);\n\n    return _this;\n  }\n\n  _createClass(IdentityCMap, [{\n    key: \"mapCidRange\",\n    value: function mapCidRange(low, high, dstLow) {\n      (0, _util.unreachable)(\"should not call mapCidRange\");\n    }\n  }, {\n    key: \"mapBfRange\",\n    value: function mapBfRange(low, high, dstLow) {\n      (0, _util.unreachable)(\"should not call mapBfRange\");\n    }\n  }, {\n    key: \"mapBfRangeToArray\",\n    value: function mapBfRangeToArray(low, high, array) {\n      (0, _util.unreachable)(\"should not call mapBfRangeToArray\");\n    }\n  }, {\n    key: \"mapOne\",\n    value: function mapOne(src, dst) {\n      (0, _util.unreachable)(\"should not call mapCidOne\");\n    }\n  }, {\n    key: \"lookup\",\n    value: function lookup(code) {\n      return Number.isInteger(code) && code <= 0xffff ? code : undefined;\n    }\n  }, {\n    key: \"contains\",\n    value: function contains(code) {\n      return Number.isInteger(code) && code <= 0xffff;\n    }\n  }, {\n    key: \"forEach\",\n    value: function forEach(callback) {\n      for (var i = 0; i <= 0xffff; i++) {\n        callback(i, i);\n      }\n    }\n  }, {\n    key: \"charCodeOf\",\n    value: function charCodeOf(value) {\n      return Number.isInteger(value) && value <= 0xffff ? value : -1;\n    }\n  }, {\n    key: \"getMap\",\n    value: function getMap() {\n      var map = new Array(0x10000);\n\n      for (var i = 0; i <= 0xffff; i++) {\n        map[i] = i;\n      }\n\n      return map;\n    }\n  }, {\n    key: \"length\",\n    get: function get() {\n      return 0x10000;\n    }\n  }, {\n    key: \"isIdentityCMap\",\n    get: function get() {\n      (0, _util.unreachable)(\"should not access .isIdentityCMap\");\n    }\n  }]);\n\n  return IdentityCMap;\n}(CMap);\n\nexports.IdentityCMap = IdentityCMap;\n\nvar BinaryCMapReader = function BinaryCMapReaderClosure() {\n  function hexToInt(a, size) {\n    var n = 0;\n\n    for (var i = 0; i <= size; i++) {\n      n = n << 8 | a[i];\n    }\n\n    return n >>> 0;\n  }\n\n  function hexToStr(a, size) {\n    if (size === 1) {\n      return String.fromCharCode(a[0], a[1]);\n    }\n\n    if (size === 3) {\n      return String.fromCharCode(a[0], a[1], a[2], a[3]);\n    }\n\n    return String.fromCharCode.apply(null, a.subarray(0, size + 1));\n  }\n\n  function addHex(a, b, size) {\n    var c = 0;\n\n    for (var i = size; i >= 0; i--) {\n      c += a[i] + b[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  function incHex(a, size) {\n    var c = 1;\n\n    for (var i = size; i >= 0 && c > 0; i--) {\n      c += a[i];\n      a[i] = c & 255;\n      c >>= 8;\n    }\n  }\n\n  var MAX_NUM_SIZE = 16;\n  var MAX_ENCODED_NUM_SIZE = 19;\n\n  function BinaryCMapStream(data) {\n    this.buffer = data;\n    this.pos = 0;\n    this.end = data.length;\n    this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE);\n  }\n\n  BinaryCMapStream.prototype = {\n    readByte: function readByte() {\n      if (this.pos >= this.end) {\n        return -1;\n      }\n\n      return this.buffer[this.pos++];\n    },\n    readNumber: function readNumber() {\n      var n = 0;\n      var last;\n\n      do {\n        var b = this.readByte();\n\n        if (b < 0) {\n          throw new _util.FormatError(\"unexpected EOF in bcmap\");\n        }\n\n        last = !(b & 0x80);\n        n = n << 7 | b & 0x7f;\n      } while (!last);\n\n      return n;\n    },\n    readSigned: function readSigned() {\n      var n = this.readNumber();\n      return n & 1 ? ~(n >>> 1) : n >>> 1;\n    },\n    readHex: function readHex(num, size) {\n      num.set(this.buffer.subarray(this.pos, this.pos + size + 1));\n      this.pos += size + 1;\n    },\n    readHexNumber: function readHexNumber(num, size) {\n      var last;\n      var stack = this.tmpBuf,\n          sp = 0;\n\n      do {\n        var b = this.readByte();\n\n        if (b < 0) {\n          throw new _util.FormatError(\"unexpected EOF in bcmap\");\n        }\n\n        last = !(b & 0x80);\n        stack[sp++] = b & 0x7f;\n      } while (!last);\n\n      var i = size,\n          buffer = 0,\n          bufferSize = 0;\n\n      while (i >= 0) {\n        while (bufferSize < 8 && stack.length > 0) {\n          buffer = stack[--sp] << bufferSize | buffer;\n          bufferSize += 7;\n        }\n\n        num[i] = buffer & 255;\n        i--;\n        buffer >>= 8;\n        bufferSize -= 8;\n      }\n    },\n    readHexSigned: function readHexSigned(num, size) {\n      this.readHexNumber(num, size);\n      var sign = num[size] & 1 ? 255 : 0;\n      var c = 0;\n\n      for (var i = 0; i <= size; i++) {\n        c = (c & 1) << 8 | num[i];\n        num[i] = c >> 1 ^ sign;\n      }\n    },\n    readString: function readString() {\n      var len = this.readNumber();\n      var s = \"\";\n\n      for (var i = 0; i < len; i++) {\n        s += String.fromCharCode(this.readNumber());\n      }\n\n      return s;\n    }\n  };\n\n  function processBinaryCMap(data, cMap, extend) {\n    return new Promise(function (resolve, reject) {\n      var stream = new BinaryCMapStream(data);\n      var header = stream.readByte();\n      cMap.vertical = !!(header & 1);\n      var useCMap = null;\n      var start = new Uint8Array(MAX_NUM_SIZE);\n      var end = new Uint8Array(MAX_NUM_SIZE);\n\n      var _char = new Uint8Array(MAX_NUM_SIZE);\n\n      var charCode = new Uint8Array(MAX_NUM_SIZE);\n      var tmp = new Uint8Array(MAX_NUM_SIZE);\n      var code;\n      var b;\n\n      while ((b = stream.readByte()) >= 0) {\n        var type = b >> 5;\n\n        if (type === 7) {\n          switch (b & 0x1f) {\n            case 0:\n              stream.readString();\n              break;\n\n            case 1:\n              useCMap = stream.readString();\n              break;\n          }\n\n          continue;\n        }\n\n        var sequence = !!(b & 0x10);\n        var dataSize = b & 15;\n\n        if (dataSize + 1 > MAX_NUM_SIZE) {\n          throw new Error(\"processBinaryCMap: Invalid dataSize.\");\n        }\n\n        var ucs2DataSize = 1;\n        var subitemsCount = stream.readNumber();\n        var i;\n\n        switch (type) {\n          case 0:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize));\n            }\n\n            break;\n\n          case 1:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            stream.readNumber();\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n              stream.readHexNumber(start, dataSize);\n              addHex(start, end, dataSize);\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              stream.readNumber();\n            }\n\n            break;\n\n          case 2:\n            stream.readHex(_char, dataSize);\n            code = stream.readNumber();\n            cMap.mapOne(hexToInt(_char, dataSize), code);\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(_char, dataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(tmp, dataSize);\n                addHex(_char, tmp, dataSize);\n              }\n\n              code = stream.readSigned() + (code + 1);\n              cMap.mapOne(hexToInt(_char, dataSize), code);\n            }\n\n            break;\n\n          case 3:\n            stream.readHex(start, dataSize);\n            stream.readHexNumber(end, dataSize);\n            addHex(end, start, dataSize);\n            code = stream.readNumber();\n            cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, dataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(start, dataSize);\n                addHex(start, end, dataSize);\n              } else {\n                start.set(end);\n              }\n\n              stream.readHexNumber(end, dataSize);\n              addHex(end, start, dataSize);\n              code = stream.readNumber();\n              cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code);\n            }\n\n            break;\n\n          case 4:\n            stream.readHex(_char, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(_char, ucs2DataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(tmp, ucs2DataSize);\n                addHex(_char, tmp, ucs2DataSize);\n              }\n\n              incHex(charCode, dataSize);\n              stream.readHexSigned(tmp, dataSize);\n              addHex(charCode, tmp, dataSize);\n              cMap.mapOne(hexToInt(_char, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n\n            break;\n\n          case 5:\n            stream.readHex(start, ucs2DataSize);\n            stream.readHexNumber(end, ucs2DataSize);\n            addHex(end, start, ucs2DataSize);\n            stream.readHex(charCode, dataSize);\n            cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n\n            for (i = 1; i < subitemsCount; i++) {\n              incHex(end, ucs2DataSize);\n\n              if (!sequence) {\n                stream.readHexNumber(start, ucs2DataSize);\n                addHex(start, end, ucs2DataSize);\n              } else {\n                start.set(end);\n              }\n\n              stream.readHexNumber(end, ucs2DataSize);\n              addHex(end, start, ucs2DataSize);\n              stream.readHex(charCode, dataSize);\n              cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize));\n            }\n\n            break;\n\n          default:\n            reject(new Error(\"processBinaryCMap: Unknown type: \" + type));\n            return;\n        }\n      }\n\n      if (useCMap) {\n        resolve(extend(useCMap));\n        return;\n      }\n\n      resolve(cMap);\n    });\n  }\n\n  function BinaryCMapReader() {}\n\n  BinaryCMapReader.prototype = {\n    process: processBinaryCMap\n  };\n  return BinaryCMapReader;\n}();\n\nvar CMapFactory = function CMapFactoryClosure() {\n  function strToInt(str) {\n    var a = 0;\n\n    for (var i = 0; i < str.length; i++) {\n      a = a << 8 | str.charCodeAt(i);\n    }\n\n    return a >>> 0;\n  }\n\n  function expectString(obj) {\n    if (!(0, _util.isString)(obj)) {\n      throw new _util.FormatError(\"Malformed CMap: expected string.\");\n    }\n  }\n\n  function expectInt(obj) {\n    if (!Number.isInteger(obj)) {\n      throw new _util.FormatError(\"Malformed CMap: expected int.\");\n    }\n  }\n\n  function parseBfChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endbfchar\")) {\n        return;\n      }\n\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseBfRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endbfrange\")) {\n        return;\n      }\n\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n\n      if (Number.isInteger(obj) || (0, _util.isString)(obj)) {\n        var dstLow = Number.isInteger(obj) ? String.fromCharCode(obj) : obj;\n        cMap.mapBfRange(low, high, dstLow);\n      } else if ((0, _primitives.isCmd)(obj, \"[\")) {\n        obj = lexer.getObj();\n        var array = [];\n\n        while (!(0, _primitives.isCmd)(obj, \"]\") && !(0, _primitives.isEOF)(obj)) {\n          array.push(obj);\n          obj = lexer.getObj();\n        }\n\n        cMap.mapBfRangeToArray(low, high, array);\n      } else {\n        break;\n      }\n    }\n\n    throw new _util.FormatError(\"Invalid bf range.\");\n  }\n\n  function parseCidChar(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcidchar\")) {\n        return;\n      }\n\n      expectString(obj);\n      var src = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dst = obj;\n      cMap.mapOne(src, dst);\n    }\n  }\n\n  function parseCidRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcidrange\")) {\n        return;\n      }\n\n      expectString(obj);\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n      expectString(obj);\n      var high = strToInt(obj);\n      obj = lexer.getObj();\n      expectInt(obj);\n      var dstLow = obj;\n      cMap.mapCidRange(low, high, dstLow);\n    }\n  }\n\n  function parseCodespaceRange(cMap, lexer) {\n    while (true) {\n      var obj = lexer.getObj();\n\n      if ((0, _primitives.isEOF)(obj)) {\n        break;\n      }\n\n      if ((0, _primitives.isCmd)(obj, \"endcodespacerange\")) {\n        return;\n      }\n\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n\n      var low = strToInt(obj);\n      obj = lexer.getObj();\n\n      if (!(0, _util.isString)(obj)) {\n        break;\n      }\n\n      var high = strToInt(obj);\n      cMap.addCodespaceRange(obj.length, low, high);\n    }\n\n    throw new _util.FormatError(\"Invalid codespace range.\");\n  }\n\n  function parseWMode(cMap, lexer) {\n    var obj = lexer.getObj();\n\n    if (Number.isInteger(obj)) {\n      cMap.vertical = !!obj;\n    }\n  }\n\n  function parseCMapName(cMap, lexer) {\n    var obj = lexer.getObj();\n\n    if ((0, _primitives.isName)(obj) && (0, _util.isString)(obj.name)) {\n      cMap.name = obj.name;\n    }\n  }\n\n  function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) {\n    var previous;\n    var embeddedUseCMap;\n\n    objLoop: while (true) {\n      try {\n        var obj = lexer.getObj();\n\n        if ((0, _primitives.isEOF)(obj)) {\n          break;\n        } else if ((0, _primitives.isName)(obj)) {\n          if (obj.name === \"WMode\") {\n            parseWMode(cMap, lexer);\n          } else if (obj.name === \"CMapName\") {\n            parseCMapName(cMap, lexer);\n          }\n\n          previous = obj;\n        } else if ((0, _primitives.isCmd)(obj)) {\n          switch (obj.cmd) {\n            case \"endcmap\":\n              break objLoop;\n\n            case \"usecmap\":\n              if ((0, _primitives.isName)(previous)) {\n                embeddedUseCMap = previous.name;\n              }\n\n              break;\n\n            case \"begincodespacerange\":\n              parseCodespaceRange(cMap, lexer);\n              break;\n\n            case \"beginbfchar\":\n              parseBfChar(cMap, lexer);\n              break;\n\n            case \"begincidchar\":\n              parseCidChar(cMap, lexer);\n              break;\n\n            case \"beginbfrange\":\n              parseBfRange(cMap, lexer);\n              break;\n\n            case \"begincidrange\":\n              parseCidRange(cMap, lexer);\n              break;\n          }\n        }\n      } catch (ex) {\n        if (ex instanceof _core_utils.MissingDataException) {\n          throw ex;\n        }\n\n        (0, _util.warn)(\"Invalid cMap data: \" + ex);\n        continue;\n      }\n    }\n\n    if (!useCMap && embeddedUseCMap) {\n      useCMap = embeddedUseCMap;\n    }\n\n    if (useCMap) {\n      return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n    }\n\n    return Promise.resolve(cMap);\n  }\n\n  function extendCMap(cMap, fetchBuiltInCMap, useCMap) {\n    return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) {\n      cMap.useCMap = newCMap;\n\n      if (cMap.numCodespaceRanges === 0) {\n        var useCodespaceRanges = cMap.useCMap.codespaceRanges;\n\n        for (var i = 0; i < useCodespaceRanges.length; i++) {\n          cMap.codespaceRanges[i] = useCodespaceRanges[i].slice();\n        }\n\n        cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges;\n      }\n\n      cMap.useCMap.forEach(function (key, value) {\n        if (!cMap.contains(key)) {\n          cMap.mapOne(key, cMap.useCMap.lookup(key));\n        }\n      });\n      return cMap;\n    });\n  }\n\n  function createBuiltInCMap(name, fetchBuiltInCMap) {\n    if (name === \"Identity-H\") {\n      return Promise.resolve(new IdentityCMap(false, 2));\n    } else if (name === \"Identity-V\") {\n      return Promise.resolve(new IdentityCMap(true, 2));\n    }\n\n    if (!BUILT_IN_CMAPS.includes(name)) {\n      return Promise.reject(new Error(\"Unknown CMap name: \" + name));\n    }\n\n    if (!fetchBuiltInCMap) {\n      return Promise.reject(new Error(\"Built-in CMap parameters are not provided.\"));\n    }\n\n    return fetchBuiltInCMap(name).then(function (data) {\n      var cMapData = data.cMapData,\n          compressionType = data.compressionType;\n      var cMap = new CMap(true);\n\n      if (compressionType === _util.CMapCompressionType.BINARY) {\n        return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) {\n          return extendCMap(cMap, fetchBuiltInCMap, useCMap);\n        });\n      }\n\n      if (compressionType === _util.CMapCompressionType.NONE) {\n        var lexer = new _parser.Lexer(new _stream.Stream(cMapData));\n        return parseCMap(cMap, lexer, fetchBuiltInCMap, null);\n      }\n\n      return Promise.reject(new Error(\"TODO: Only BINARY/NONE CMap compression is currently supported.\"));\n    });\n  }\n\n  return {\n    create: function create(params) {\n      return _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var encoding, fetchBuiltInCMap, useCMap, cMap, lexer;\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                encoding = params.encoding;\n                fetchBuiltInCMap = params.fetchBuiltInCMap;\n                useCMap = params.useCMap;\n\n                if (!(0, _primitives.isName)(encoding)) {\n                  _context.next = 7;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", createBuiltInCMap(encoding.name, fetchBuiltInCMap));\n\n              case 7:\n                if (!(0, _primitives.isStream)(encoding)) {\n                  _context.next = 11;\n                  break;\n                }\n\n                cMap = new CMap();\n                lexer = new _parser.Lexer(encoding);\n                return _context.abrupt(\"return\", parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) {\n                  if (parsedCMap.isIdentityCMap) {\n                    return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap);\n                  }\n\n                  return parsedCMap;\n                }));\n\n              case 11:\n                throw new Error(\"Encoding required.\");\n\n              case 12:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }))();\n    }\n  };\n}();\n\nexports.CMapFactory = CMapFactory;\n\n/***/ }),\n/* 159 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getFontType = getFontType;\nexports.ToUnicodeMap = exports.SEAC_ANALYSIS_ENABLED = exports.IdentityToUnicodeMap = exports.FontFlags = exports.Font = exports.ErrorFont = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _cff_parser = __w_pdfjs_require__(160);\n\nvar _glyphlist = __w_pdfjs_require__(163);\n\nvar _encodings = __w_pdfjs_require__(162);\n\nvar _standard_fonts = __w_pdfjs_require__(164);\n\nvar _unicode = __w_pdfjs_require__(165);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _font_renderer = __w_pdfjs_require__(166);\n\nvar _cmap = __w_pdfjs_require__(158);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _type1_parser = __w_pdfjs_require__(167);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nvar PRIVATE_USE_AREAS = [[0xe000, 0xf8ff], [0x100000, 0x10fffd]];\nvar PDF_GLYPH_SPACE_UNITS = 1000;\nvar SEAC_ANALYSIS_ENABLED = true;\nexports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED;\nvar EXPORT_DATA_PROPERTIES = [\"ascent\", \"bbox\", \"black\", \"bold\", \"charProcOperatorList\", \"composite\", \"data\", \"defaultVMetrics\", \"defaultWidth\", \"descent\", \"fallbackName\", \"fontMatrix\", \"fontType\", \"isMonospace\", \"isSerifFont\", \"isType3Font\", \"italic\", \"loadedName\", \"mimetype\", \"missingFile\", \"name\", \"remeasure\", \"subtype\", \"type\", \"vertical\"];\nvar EXPORT_DATA_EXTRA_PROPERTIES = [\"cMap\", \"defaultEncoding\", \"differences\", \"isSymbolicFont\", \"seacMap\", \"toFontChar\", \"toUnicode\", \"vmetrics\", \"widths\"];\nvar FontFlags = {\n  FixedPitch: 1,\n  Serif: 2,\n  Symbolic: 4,\n  Script: 8,\n  Nonsymbolic: 32,\n  Italic: 64,\n  AllCap: 65536,\n  SmallCap: 131072,\n  ForceBold: 262144\n};\nexports.FontFlags = FontFlags;\nvar MacStandardGlyphOrdering = [\".notdef\", \".null\", \"nonmarkingreturn\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"nonbreakingspace\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"Lslash\", \"lslash\", \"Scaron\", \"scaron\", \"Zcaron\", \"zcaron\", \"brokenbar\", \"Eth\", \"eth\", \"Yacute\", \"yacute\", \"Thorn\", \"thorn\", \"minus\", \"multiply\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"onehalf\", \"onequarter\", \"threequarters\", \"franc\", \"Gbreve\", \"gbreve\", \"Idotaccent\", \"Scedilla\", \"scedilla\", \"Cacute\", \"cacute\", \"Ccaron\", \"ccaron\", \"dcroat\"];\n\nfunction adjustWidths(properties) {\n  if (!properties.fontMatrix) {\n    return;\n  }\n\n  if (properties.fontMatrix[0] === _util.FONT_IDENTITY_MATRIX[0]) {\n    return;\n  }\n\n  var scale = 0.001 / properties.fontMatrix[0];\n  var glyphsWidths = properties.widths;\n\n  for (var glyph in glyphsWidths) {\n    glyphsWidths[glyph] *= scale;\n  }\n\n  properties.defaultWidth *= scale;\n}\n\nfunction adjustToUnicode(properties, builtInEncoding) {\n  if (properties.hasIncludedToUnicodeMap) {\n    return;\n  }\n\n  if (properties.hasEncoding) {\n    return;\n  }\n\n  if (builtInEncoding === properties.defaultEncoding) {\n    return;\n  }\n\n  if (properties.toUnicode instanceof IdentityToUnicodeMap) {\n    return;\n  }\n\n  var toUnicode = [],\n      glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n  for (var charCode in builtInEncoding) {\n    var glyphName = builtInEncoding[charCode];\n    var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n    if (unicode !== -1) {\n      toUnicode[charCode] = String.fromCharCode(unicode);\n    }\n  }\n\n  properties.toUnicode.amend(toUnicode);\n}\n\nfunction getFontType(type, subtype) {\n  switch (type) {\n    case \"Type1\":\n      return subtype === \"Type1C\" ? _util.FontType.TYPE1C : _util.FontType.TYPE1;\n\n    case \"CIDFontType0\":\n      return subtype === \"CIDFontType0C\" ? _util.FontType.CIDFONTTYPE0C : _util.FontType.CIDFONTTYPE0;\n\n    case \"OpenType\":\n      return _util.FontType.OPENTYPE;\n\n    case \"TrueType\":\n      return _util.FontType.TRUETYPE;\n\n    case \"CIDFontType2\":\n      return _util.FontType.CIDFONTTYPE2;\n\n    case \"MMType1\":\n      return _util.FontType.MMTYPE1;\n\n    case \"Type0\":\n      return _util.FontType.TYPE0;\n\n    default:\n      return _util.FontType.UNKNOWN;\n  }\n}\n\nfunction recoverGlyphName(name, glyphsUnicodeMap) {\n  if (glyphsUnicodeMap[name] !== undefined) {\n    return name;\n  }\n\n  var unicode = (0, _unicode.getUnicodeForGlyph)(name, glyphsUnicodeMap);\n\n  if (unicode !== -1) {\n    for (var key in glyphsUnicodeMap) {\n      if (glyphsUnicodeMap[key] === unicode) {\n        return key;\n      }\n    }\n  }\n\n  (0, _util.info)(\"Unable to recover a standard glyph name for: \" + name);\n  return name;\n}\n\nvar Glyph = function GlyphClosure() {\n  function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    this.fontChar = fontChar;\n    this.unicode = unicode;\n    this.accent = accent;\n    this.width = width;\n    this.vmetric = vmetric;\n    this.operatorListId = operatorListId;\n    this.isSpace = isSpace;\n    this.isInFont = isInFont;\n  }\n\n  Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) {\n    return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont;\n  };\n\n  return Glyph;\n}();\n\nvar ToUnicodeMap = function ToUnicodeMapClosure() {\n  function ToUnicodeMap() {\n    var cmap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n    this._map = cmap;\n  }\n\n  ToUnicodeMap.prototype = {\n    get length() {\n      return this._map.length;\n    },\n\n    forEach: function forEach(callback) {\n      for (var charCode in this._map) {\n        callback(charCode, this._map[charCode].charCodeAt(0));\n      }\n    },\n    has: function has(i) {\n      return this._map[i] !== undefined;\n    },\n    get: function get(i) {\n      return this._map[i];\n    },\n    charCodeOf: function charCodeOf(value) {\n      var map = this._map;\n\n      if (map.length <= 0x10000) {\n        return map.indexOf(value);\n      }\n\n      for (var charCode in map) {\n        if (map[charCode] === value) {\n          return charCode | 0;\n        }\n      }\n\n      return -1;\n    },\n    amend: function amend(map) {\n      for (var charCode in map) {\n        this._map[charCode] = map[charCode];\n      }\n    }\n  };\n  return ToUnicodeMap;\n}();\n\nexports.ToUnicodeMap = ToUnicodeMap;\n\nvar IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() {\n  function IdentityToUnicodeMap(firstChar, lastChar) {\n    this.firstChar = firstChar;\n    this.lastChar = lastChar;\n  }\n\n  IdentityToUnicodeMap.prototype = {\n    get length() {\n      return this.lastChar + 1 - this.firstChar;\n    },\n\n    forEach: function forEach(callback) {\n      for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) {\n        callback(i, i);\n      }\n    },\n    has: function has(i) {\n      return this.firstChar <= i && i <= this.lastChar;\n    },\n    get: function get(i) {\n      if (this.firstChar <= i && i <= this.lastChar) {\n        return String.fromCharCode(i);\n      }\n\n      return undefined;\n    },\n    charCodeOf: function charCodeOf(v) {\n      return Number.isInteger(v) && v >= this.firstChar && v <= this.lastChar ? v : -1;\n    },\n    amend: function amend(map) {\n      (0, _util.unreachable)(\"Should not call amend()\");\n    }\n  };\n  return IdentityToUnicodeMap;\n}();\n\nexports.IdentityToUnicodeMap = IdentityToUnicodeMap;\n\nvar OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() {\n  function writeInt16(dest, offset, num) {\n    dest[offset] = num >> 8 & 0xff;\n    dest[offset + 1] = num & 0xff;\n  }\n\n  function writeInt32(dest, offset, num) {\n    dest[offset] = num >> 24 & 0xff;\n    dest[offset + 1] = num >> 16 & 0xff;\n    dest[offset + 2] = num >> 8 & 0xff;\n    dest[offset + 3] = num & 0xff;\n  }\n\n  function writeData(dest, offset, data) {\n    var i, ii;\n\n    if (data instanceof Uint8Array) {\n      dest.set(data, offset);\n    } else if (typeof data === \"string\") {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data.charCodeAt(i) & 0xff;\n      }\n    } else {\n      for (i = 0, ii = data.length; i < ii; i++) {\n        dest[offset++] = data[i] & 0xff;\n      }\n    }\n  }\n\n  function OpenTypeFileBuilder(sfnt) {\n    this.sfnt = sfnt;\n    this.tables = Object.create(null);\n  }\n\n  OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) {\n    var maxPower2 = 1,\n        log2 = 0;\n\n    while ((maxPower2 ^ entriesCount) > maxPower2) {\n      maxPower2 <<= 1;\n      log2++;\n    }\n\n    var searchRange = maxPower2 * entrySize;\n    return {\n      range: searchRange,\n      entry: log2,\n      rangeShift: entrySize * entriesCount - searchRange\n    };\n  };\n\n  var OTF_HEADER_SIZE = 12;\n  var OTF_TABLE_ENTRY_SIZE = 16;\n  OpenTypeFileBuilder.prototype = {\n    toArray: function OpenTypeFileBuilder_toArray() {\n      var sfnt = this.sfnt;\n      var tables = this.tables;\n      var tablesNames = Object.keys(tables);\n      tablesNames.sort();\n      var numTables = tablesNames.length;\n      var i, j, jj, table, tableName;\n      var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE;\n      var tableOffsets = [offset];\n\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        var paddedLength = (table.length + 3 & ~3) >>> 0;\n        offset += paddedLength;\n        tableOffsets.push(offset);\n      }\n\n      var file = new Uint8Array(offset);\n\n      for (i = 0; i < numTables; i++) {\n        table = tables[tablesNames[i]];\n        writeData(file, tableOffsets[i], table);\n      }\n\n      if (sfnt === \"true\") {\n        sfnt = (0, _util.string32)(0x00010000);\n      }\n\n      file[0] = sfnt.charCodeAt(0) & 0xff;\n      file[1] = sfnt.charCodeAt(1) & 0xff;\n      file[2] = sfnt.charCodeAt(2) & 0xff;\n      file[3] = sfnt.charCodeAt(3) & 0xff;\n      writeInt16(file, 4, numTables);\n      var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16);\n      writeInt16(file, 6, searchParams.range);\n      writeInt16(file, 8, searchParams.entry);\n      writeInt16(file, 10, searchParams.rangeShift);\n      offset = OTF_HEADER_SIZE;\n\n      for (i = 0; i < numTables; i++) {\n        tableName = tablesNames[i];\n        file[offset] = tableName.charCodeAt(0) & 0xff;\n        file[offset + 1] = tableName.charCodeAt(1) & 0xff;\n        file[offset + 2] = tableName.charCodeAt(2) & 0xff;\n        file[offset + 3] = tableName.charCodeAt(3) & 0xff;\n        var checksum = 0;\n\n        for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) {\n          var quad = (0, _core_utils.readUint32)(file, j);\n          checksum = checksum + quad >>> 0;\n        }\n\n        writeInt32(file, offset + 4, checksum);\n        writeInt32(file, offset + 8, tableOffsets[i]);\n        writeInt32(file, offset + 12, tables[tableName].length);\n        offset += OTF_TABLE_ENTRY_SIZE;\n      }\n\n      return file;\n    },\n    addTable: function OpenTypeFileBuilder_addTable(tag, data) {\n      if (tag in this.tables) {\n        throw new Error(\"Table \" + tag + \" already exists\");\n      }\n\n      this.tables[tag] = data;\n    }\n  };\n  return OpenTypeFileBuilder;\n}();\n\nvar Font = function FontClosure() {\n  function Font(name, file, properties) {\n    var charCode;\n    this.name = name;\n    this.loadedName = properties.loadedName;\n    this.isType3Font = properties.isType3Font;\n    this.missingFile = false;\n    this.glyphCache = Object.create(null);\n    this.isSerifFont = !!(properties.flags & FontFlags.Serif);\n    this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n    this.isMonospace = !!(properties.flags & FontFlags.FixedPitch);\n    var type = properties.type;\n    var subtype = properties.subtype;\n    this.type = type;\n    this.subtype = subtype;\n    var fallbackName = \"sans-serif\";\n\n    if (this.isMonospace) {\n      fallbackName = \"monospace\";\n    } else if (this.isSerifFont) {\n      fallbackName = \"serif\";\n    }\n\n    this.fallbackName = fallbackName;\n    this.differences = properties.differences;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.composite = properties.composite;\n    this.cMap = properties.cMap;\n    this.capHeight = properties.capHeight / PDF_GLYPH_SPACE_UNITS;\n    this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS;\n    this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS;\n    this.fontMatrix = properties.fontMatrix;\n    this.bbox = properties.bbox;\n    this.defaultEncoding = properties.defaultEncoding;\n    this.toUnicode = properties.toUnicode;\n    this.fallbackToUnicode = properties.fallbackToUnicode || new ToUnicodeMap();\n    this.toFontChar = [];\n\n    if (properties.type === \"Type3\") {\n      for (charCode = 0; charCode < 256; charCode++) {\n        this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode];\n      }\n\n      this.fontType = _util.FontType.TYPE3;\n      return;\n    }\n\n    this.cidEncoding = properties.cidEncoding;\n    this.vertical = !!properties.vertical;\n\n    if (this.vertical) {\n      this.vmetrics = properties.vmetrics;\n      this.defaultVMetrics = properties.defaultVMetrics;\n    }\n\n    if (!file || file.isEmpty) {\n      if (file) {\n        (0, _util.warn)('Font file is empty in \"' + name + '\" (' + this.loadedName + \")\");\n      }\n\n      this.fallbackToSystemFont(properties);\n      return;\n    }\n\n    var _getFontFileType = getFontFileType(file, properties);\n\n    var _getFontFileType2 = _slicedToArray(_getFontFileType, 2);\n\n    type = _getFontFileType2[0];\n    subtype = _getFontFileType2[1];\n\n    if (type !== this.type || subtype !== this.subtype) {\n      (0, _util.info)(\"Inconsistent font file Type/SubType, expected: \" + \"\".concat(this.type, \"/\").concat(this.subtype, \" but found: \").concat(type, \"/\").concat(subtype, \".\"));\n    }\n\n    try {\n      var data;\n\n      switch (type) {\n        case \"MMType1\":\n          (0, _util.info)(\"MMType1 font (\" + name + \"), falling back to Type1.\");\n\n        case \"Type1\":\n        case \"CIDFontType0\":\n          this.mimetype = \"font/opentype\";\n          var cff = subtype === \"Type1C\" || subtype === \"CIDFontType0C\" ? new CFFFont(file, properties) : new Type1Font(name, file, properties);\n          adjustWidths(properties);\n          data = this.convert(name, cff, properties);\n          break;\n\n        case \"OpenType\":\n        case \"TrueType\":\n        case \"CIDFontType2\":\n          this.mimetype = \"font/opentype\";\n          data = this.checkAndRepair(name, file, properties);\n\n          if (this.isOpenType) {\n            adjustWidths(properties);\n            type = \"OpenType\";\n          }\n\n          break;\n\n        default:\n          throw new _util.FormatError(\"Font \".concat(type, \" is not supported\"));\n      }\n    } catch (e) {\n      (0, _util.warn)(e);\n      this.fallbackToSystemFont(properties);\n      return;\n    }\n\n    this.data = data;\n    this.fontType = getFontType(type, subtype);\n    this.fontMatrix = properties.fontMatrix;\n    this.widths = properties.widths;\n    this.defaultWidth = properties.defaultWidth;\n    this.toUnicode = properties.toUnicode;\n    this.seacMap = properties.seacMap;\n  }\n\n  function int16(b0, b1) {\n    return (b0 << 8) + b1;\n  }\n\n  function writeSignedInt16(bytes, index, value) {\n    bytes[index + 1] = value;\n    bytes[index] = value >>> 8;\n  }\n\n  function signedInt16(b0, b1) {\n    var value = (b0 << 8) + b1;\n    return value & 1 << 15 ? value - 0x10000 : value;\n  }\n\n  function int32(b0, b1, b2, b3) {\n    return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n  }\n\n  function string16(value) {\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n\n  function safeString16(value) {\n    if (value > 0x7fff) {\n      value = 0x7fff;\n    } else if (value < -0x8000) {\n      value = -0x8000;\n    }\n\n    return String.fromCharCode(value >> 8 & 0xff, value & 0xff);\n  }\n\n  function isTrueTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _core_utils.readUint32)(header, 0) === 0x00010000 || (0, _util.bytesToString)(header) === \"true\";\n  }\n\n  function isTrueTypeCollectionFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.bytesToString)(header) === \"ttcf\";\n  }\n\n  function isOpenTypeFile(file) {\n    var header = file.peekBytes(4);\n    return (0, _util.bytesToString)(header) === \"OTTO\";\n  }\n\n  function isType1File(file) {\n    var header = file.peekBytes(2);\n\n    if (header[0] === 0x25 && header[1] === 0x21) {\n      return true;\n    }\n\n    if (header[0] === 0x80 && header[1] === 0x01) {\n      return true;\n    }\n\n    return false;\n  }\n\n  function isCFFFile(file) {\n    var header = file.peekBytes(4);\n\n    if (header[0] >= 1 && header[3] >= 1 && header[3] <= 4) {\n      return true;\n    }\n\n    return false;\n  }\n\n  function getFontFileType(file, _ref) {\n    var type = _ref.type,\n        subtype = _ref.subtype,\n        composite = _ref.composite;\n    var fileType, fileSubtype;\n\n    if (isTrueTypeFile(file) || isTrueTypeCollectionFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"TrueType\";\n      }\n    } else if (isOpenTypeFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType2\";\n      } else {\n        fileType = \"OpenType\";\n      }\n    } else if (isType1File(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n      }\n    } else if (isCFFFile(file)) {\n      if (composite) {\n        fileType = \"CIDFontType0\";\n        fileSubtype = \"CIDFontType0C\";\n      } else {\n        fileType = type === \"MMType1\" ? \"MMType1\" : \"Type1\";\n        fileSubtype = \"Type1C\";\n      }\n    } else {\n      (0, _util.warn)(\"getFontFileType: Unable to detect correct font file Type/Subtype.\");\n      fileType = type;\n      fileSubtype = subtype;\n    }\n\n    return [fileType, fileSubtype];\n  }\n\n  function buildToFontChar(encoding, glyphsUnicodeMap, differences) {\n    var toFontChar = [],\n        unicode;\n\n    for (var i = 0, ii = encoding.length; i < ii; i++) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(encoding[i], glyphsUnicodeMap);\n\n      if (unicode !== -1) {\n        toFontChar[i] = unicode;\n      }\n    }\n\n    for (var charCode in differences) {\n      unicode = (0, _unicode.getUnicodeForGlyph)(differences[charCode], glyphsUnicodeMap);\n\n      if (unicode !== -1) {\n        toFontChar[+charCode] = unicode;\n      }\n    }\n\n    return toFontChar;\n  }\n\n  function adjustMapping(charCodeToGlyphId, hasGlyph, newGlyphZeroId) {\n    var newMap = Object.create(null);\n    var toFontChar = [];\n    var privateUseAreaIndex = 0;\n    var nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n    var privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n\n    for (var originalCharCode in charCodeToGlyphId) {\n      originalCharCode |= 0;\n      var glyphId = charCodeToGlyphId[originalCharCode];\n\n      if (!hasGlyph(glyphId)) {\n        continue;\n      }\n\n      if (nextAvailableFontCharCode > privateUseOffetEnd) {\n        privateUseAreaIndex++;\n\n        if (privateUseAreaIndex >= PRIVATE_USE_AREAS.length) {\n          (0, _util.warn)(\"Ran out of space in font private use area.\");\n          break;\n        }\n\n        nextAvailableFontCharCode = PRIVATE_USE_AREAS[privateUseAreaIndex][0];\n        privateUseOffetEnd = PRIVATE_USE_AREAS[privateUseAreaIndex][1];\n      }\n\n      var fontCharCode = nextAvailableFontCharCode++;\n\n      if (glyphId === 0) {\n        glyphId = newGlyphZeroId;\n      }\n\n      newMap[fontCharCode] = glyphId;\n      toFontChar[originalCharCode] = fontCharCode;\n    }\n\n    return {\n      toFontChar: toFontChar,\n      charCodeToGlyphId: newMap,\n      nextAvailableFontCharCode: nextAvailableFontCharCode\n    };\n  }\n\n  function getRanges(glyphs, numGlyphs) {\n    var codes = [];\n\n    for (var charCode in glyphs) {\n      if (glyphs[charCode] >= numGlyphs) {\n        continue;\n      }\n\n      codes.push({\n        fontCharCode: charCode | 0,\n        glyphId: glyphs[charCode]\n      });\n    }\n\n    if (codes.length === 0) {\n      codes.push({\n        fontCharCode: 0,\n        glyphId: 0\n      });\n    }\n\n    codes.sort(function fontGetRangesSort(a, b) {\n      return a.fontCharCode - b.fontCharCode;\n    });\n    var ranges = [];\n    var length = codes.length;\n\n    for (var n = 0; n < length;) {\n      var start = codes[n].fontCharCode;\n      var codeIndices = [codes[n].glyphId];\n      ++n;\n      var end = start;\n\n      while (n < length && end + 1 === codes[n].fontCharCode) {\n        codeIndices.push(codes[n].glyphId);\n        ++end;\n        ++n;\n\n        if (end === 0xffff) {\n          break;\n        }\n      }\n\n      ranges.push([start, end, codeIndices]);\n    }\n\n    return ranges;\n  }\n\n  function createCmapTable(glyphs, numGlyphs) {\n    var ranges = getRanges(glyphs, numGlyphs);\n    var numTables = ranges[ranges.length - 1][1] > 0xffff ? 2 : 1;\n    var cmap = \"\\x00\\x00\" + string16(numTables) + \"\\x00\\x03\" + \"\\x00\\x01\" + (0, _util.string32)(4 + numTables * 8);\n    var i, ii, j, jj;\n\n    for (i = ranges.length - 1; i >= 0; --i) {\n      if (ranges[i][0] <= 0xffff) {\n        break;\n      }\n    }\n\n    var bmpLength = i + 1;\n\n    if (ranges[i][0] < 0xffff && ranges[i][1] === 0xffff) {\n      ranges[i][1] = 0xfffe;\n    }\n\n    var trailingRangesCount = ranges[i][1] < 0xffff ? 1 : 0;\n    var segCount = bmpLength + trailingRangesCount;\n    var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2);\n    var startCount = \"\";\n    var endCount = \"\";\n    var idDeltas = \"\";\n    var idRangeOffsets = \"\";\n    var glyphsIds = \"\";\n    var bias = 0;\n    var range, start, end, codes;\n\n    for (i = 0, ii = bmpLength; i < ii; i++) {\n      range = ranges[i];\n      start = range[0];\n      end = range[1];\n      startCount += string16(start);\n      endCount += string16(end);\n      codes = range[2];\n      var contiguous = true;\n\n      for (j = 1, jj = codes.length; j < jj; ++j) {\n        if (codes[j] !== codes[j - 1] + 1) {\n          contiguous = false;\n          break;\n        }\n      }\n\n      if (!contiguous) {\n        var offset = (segCount - i) * 2 + bias * 2;\n        bias += end - start + 1;\n        idDeltas += string16(0);\n        idRangeOffsets += string16(offset);\n\n        for (j = 0, jj = codes.length; j < jj; ++j) {\n          glyphsIds += string16(codes[j]);\n        }\n      } else {\n        var startCode = codes[0];\n        idDeltas += string16(startCode - start & 0xffff);\n        idRangeOffsets += string16(0);\n      }\n    }\n\n    if (trailingRangesCount > 0) {\n      endCount += \"\\xFF\\xFF\";\n      startCount += \"\\xFF\\xFF\";\n      idDeltas += \"\\x00\\x01\";\n      idRangeOffsets += \"\\x00\\x00\";\n    }\n\n    var format314 = \"\\x00\\x00\" + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + \"\\x00\\x00\" + startCount + idDeltas + idRangeOffsets + glyphsIds;\n    var format31012 = \"\";\n    var header31012 = \"\";\n\n    if (numTables > 1) {\n      cmap += \"\\x00\\x03\" + \"\\x00\\x0A\" + (0, _util.string32)(4 + numTables * 8 + 4 + format314.length);\n      format31012 = \"\";\n\n      for (i = 0, ii = ranges.length; i < ii; i++) {\n        range = ranges[i];\n        start = range[0];\n        codes = range[2];\n        var code = codes[0];\n\n        for (j = 1, jj = codes.length; j < jj; ++j) {\n          if (codes[j] !== codes[j - 1] + 1) {\n            end = range[0] + j - 1;\n            format31012 += (0, _util.string32)(start) + (0, _util.string32)(end) + (0, _util.string32)(code);\n            start = end + 1;\n            code = codes[j];\n          }\n        }\n\n        format31012 += (0, _util.string32)(start) + (0, _util.string32)(range[1]) + (0, _util.string32)(code);\n      }\n\n      header31012 = \"\\x00\\x0C\" + \"\\x00\\x00\" + (0, _util.string32)(format31012.length + 16) + \"\\x00\\x00\\x00\\x00\" + (0, _util.string32)(format31012.length / 12);\n    }\n\n    return cmap + \"\\x00\\x04\" + string16(format314.length + 4) + format314 + header31012 + format31012;\n  }\n\n  function validateOS2Table(os2, file) {\n    file.pos = (file.start || 0) + os2.offset;\n    var version = file.getUint16();\n    file.skip(60);\n    var selection = file.getUint16();\n\n    if (version < 4 && selection & 0x0300) {\n      return false;\n    }\n\n    var firstChar = file.getUint16();\n    var lastChar = file.getUint16();\n\n    if (firstChar > lastChar) {\n      return false;\n    }\n\n    file.skip(6);\n    var usWinAscent = file.getUint16();\n\n    if (usWinAscent === 0) {\n      return false;\n    }\n\n    os2.data[8] = os2.data[9] = 0;\n    return true;\n  }\n\n  function createOS2Table(properties, charstrings, override) {\n    override = override || {\n      unitsPerEm: 0,\n      yMax: 0,\n      yMin: 0,\n      ascent: 0,\n      descent: 0\n    };\n    var ulUnicodeRange1 = 0;\n    var ulUnicodeRange2 = 0;\n    var ulUnicodeRange3 = 0;\n    var ulUnicodeRange4 = 0;\n    var firstCharIndex = null;\n    var lastCharIndex = 0;\n\n    if (charstrings) {\n      for (var code in charstrings) {\n        code |= 0;\n\n        if (firstCharIndex > code || !firstCharIndex) {\n          firstCharIndex = code;\n        }\n\n        if (lastCharIndex < code) {\n          lastCharIndex = code;\n        }\n\n        var position = (0, _unicode.getUnicodeRangeFor)(code);\n\n        if (position < 32) {\n          ulUnicodeRange1 |= 1 << position;\n        } else if (position < 64) {\n          ulUnicodeRange2 |= 1 << position - 32;\n        } else if (position < 96) {\n          ulUnicodeRange3 |= 1 << position - 64;\n        } else if (position < 123) {\n          ulUnicodeRange4 |= 1 << position - 96;\n        } else {\n          throw new _util.FormatError(\"Unicode ranges Bits > 123 are reserved for internal usage\");\n        }\n      }\n\n      if (lastCharIndex > 0xffff) {\n        lastCharIndex = 0xffff;\n      }\n    } else {\n      firstCharIndex = 0;\n      lastCharIndex = 255;\n    }\n\n    var bbox = properties.bbox || [0, 0, 0, 0];\n    var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n    var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS;\n    var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3]));\n    var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1]));\n\n    if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) {\n      typoDescent = -typoDescent;\n    }\n\n    var winAscent = override.yMax || typoAscent;\n    var winDescent = -override.yMin || -typoDescent;\n    return \"\\x00\\x03\" + \"\\x02\\x24\" + \"\\x01\\xF4\" + \"\\x00\\x05\" + \"\\x00\\x00\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x00\\x8C\" + \"\\x02\\x8A\" + \"\\x02\\xBB\" + \"\\x00\\x00\" + \"\\x01\\xDF\" + \"\\x00\\x31\" + \"\\x01\\x02\" + \"\\x00\\x00\" + \"\\x00\\x00\\x06\" + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + \"\\x00\\x00\\x00\\x00\\x00\\x00\" + (0, _util.string32)(ulUnicodeRange1) + (0, _util.string32)(ulUnicodeRange2) + (0, _util.string32)(ulUnicodeRange3) + (0, _util.string32)(ulUnicodeRange4) + \"\\x2A\\x32\\x31\\x2A\" + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + \"\\x00\\x64\" + string16(winAscent) + string16(winDescent) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + \"\\x00\\x03\";\n  }\n\n  function createPostTable(properties) {\n    var angle = Math.floor(properties.italicAngle * Math.pow(2, 16));\n    return \"\\x00\\x03\\x00\\x00\" + (0, _util.string32)(angle) + \"\\x00\\x00\" + \"\\x00\\x00\" + (0, _util.string32)(properties.fixedPitch) + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x00\\x00\\x00\\x00\";\n  }\n\n  function createNameTable(name, proto) {\n    if (!proto) {\n      proto = [[], []];\n    }\n\n    var strings = [proto[0][0] || \"Original licence\", proto[0][1] || name, proto[0][2] || \"Unknown\", proto[0][3] || \"uniqueID\", proto[0][4] || name, proto[0][5] || \"Version 0.11\", proto[0][6] || \"\", proto[0][7] || \"Unknown\", proto[0][8] || \"Unknown\", proto[0][9] || \"Unknown\"];\n    var stringsUnicode = [];\n    var i, ii, j, jj, str;\n\n    for (i = 0, ii = strings.length; i < ii; i++) {\n      str = proto[1][i] || strings[i];\n      var strBufUnicode = [];\n\n      for (j = 0, jj = str.length; j < jj; j++) {\n        strBufUnicode.push(string16(str.charCodeAt(j)));\n      }\n\n      stringsUnicode.push(strBufUnicode.join(\"\"));\n    }\n\n    var names = [strings, stringsUnicode];\n    var platforms = [\"\\x00\\x01\", \"\\x00\\x03\"];\n    var encodings = [\"\\x00\\x00\", \"\\x00\\x01\"];\n    var languages = [\"\\x00\\x00\", \"\\x04\\x09\"];\n    var namesRecordCount = strings.length * platforms.length;\n    var nameTable = \"\\x00\\x00\" + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6);\n    var strOffset = 0;\n\n    for (i = 0, ii = platforms.length; i < ii; i++) {\n      var strs = names[i];\n\n      for (j = 0, jj = strs.length; j < jj; j++) {\n        str = strs[j];\n        var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset);\n        nameTable += nameRecord;\n        strOffset += str.length;\n      }\n    }\n\n    nameTable += strings.join(\"\") + stringsUnicode.join(\"\");\n    return nameTable;\n  }\n\n  Font.prototype = {\n    name: null,\n    font: null,\n    mimetype: null,\n    disableFontFace: false,\n\n    get renderer() {\n      var renderer = _font_renderer.FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED);\n\n      return (0, _util.shadow)(this, \"renderer\", renderer);\n    },\n\n    exportData: function exportData() {\n      var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var exportDataProperties = extraProperties ? [].concat(EXPORT_DATA_PROPERTIES, EXPORT_DATA_EXTRA_PROPERTIES) : EXPORT_DATA_PROPERTIES;\n      var data = Object.create(null);\n      var property, value;\n\n      var _iterator = _createForOfIteratorHelper(exportDataProperties),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          property = _step.value;\n          value = this[property];\n\n          if (value !== undefined) {\n            data[property] = value;\n          }\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n\n      return data;\n    },\n    fallbackToSystemFont: function fallbackToSystemFont(properties) {\n      var _this = this;\n\n      this.missingFile = true;\n      var name = this.name;\n      var type = this.type;\n      var subtype = this.subtype;\n      var fontName = name.replace(/[,_]/g, \"-\").replace(/\\s/g, \"\");\n      var stdFontMap = (0, _standard_fonts.getStdFontMap)(),\n          nonStdFontMap = (0, _standard_fonts.getNonStdFontMap)();\n      var isStandardFont = !!stdFontMap[fontName];\n      var isMappedToStandardFont = !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]);\n      fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName;\n      this.bold = fontName.search(/bold/gi) !== -1;\n      this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1;\n      this.black = name.search(/Black/g) !== -1;\n      var isNarrow = name.search(/Narrow/g) !== -1;\n      this.remeasure = (!isStandardFont || isNarrow) && Object.keys(this.widths).length > 0;\n\n      if ((isStandardFont || isMappedToStandardFont) && type === \"CIDFontType2\" && this.cidEncoding.startsWith(\"Identity-\")) {\n        var GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)(),\n            cidToGidMap = properties.cidToGidMap;\n        var map = [];\n\n        for (var charCode in GlyphMapForStandardFonts) {\n          map[+charCode] = GlyphMapForStandardFonts[charCode];\n        }\n\n        if (/Arial-?Black/i.test(name)) {\n          var SupplementalGlyphMapForArialBlack = (0, _standard_fonts.getSupplementalGlyphMapForArialBlack)();\n\n          for (var _charCode in SupplementalGlyphMapForArialBlack) {\n            map[+_charCode] = SupplementalGlyphMapForArialBlack[_charCode];\n          }\n        } else if (/Calibri/i.test(name)) {\n          var SupplementalGlyphMapForCalibri = (0, _standard_fonts.getSupplementalGlyphMapForCalibri)();\n\n          for (var _charCode2 in SupplementalGlyphMapForCalibri) {\n            map[+_charCode2] = SupplementalGlyphMapForCalibri[_charCode2];\n          }\n        }\n\n        if (cidToGidMap) {\n          for (var _charCode3 in map) {\n            var cid = map[_charCode3];\n\n            if (cidToGidMap[cid] !== undefined) {\n              map[+_charCode3] = cidToGidMap[cid];\n            }\n          }\n        }\n\n        var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap;\n\n        if (!isIdentityUnicode) {\n          this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n            map[+charCode] = unicodeCharCode;\n          });\n        }\n\n        this.toFontChar = map;\n        this.toUnicode = new ToUnicodeMap(map);\n      } else if (/Symbol/i.test(fontName)) {\n        this.toFontChar = buildToFontChar(_encodings.SymbolSetEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else if (/Dingbats/i.test(fontName)) {\n        if (/Wingdings/i.test(name)) {\n          (0, _util.warn)(\"Non-embedded Wingdings font, falling back to ZapfDingbats.\");\n        }\n\n        this.toFontChar = buildToFontChar(_encodings.ZapfDingbatsEncoding, (0, _glyphlist.getDingbatsGlyphsUnicode)(), this.differences);\n      } else if (isStandardFont) {\n        this.toFontChar = buildToFontChar(this.defaultEncoding, (0, _glyphlist.getGlyphsUnicode)(), this.differences);\n      } else {\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        var _map = [];\n        this.toUnicode.forEach(function (charCode, unicodeCharCode) {\n          if (!_this.composite) {\n            var glyphName = _this.differences[charCode] || _this.defaultEncoding[charCode];\n            var unicode = (0, _unicode.getUnicodeForGlyph)(glyphName, glyphsUnicodeMap);\n\n            if (unicode !== -1) {\n              unicodeCharCode = unicode;\n            }\n          }\n\n          _map[+charCode] = unicodeCharCode;\n        });\n\n        if (this.composite && this.toUnicode instanceof IdentityToUnicodeMap) {\n          if (/Verdana/i.test(name)) {\n            var _GlyphMapForStandardFonts = (0, _standard_fonts.getGlyphMapForStandardFonts)();\n\n            for (var _charCode4 in _GlyphMapForStandardFonts) {\n              _map[+_charCode4] = _GlyphMapForStandardFonts[_charCode4];\n            }\n          }\n        }\n\n        this.toFontChar = _map;\n      }\n\n      this.loadedName = fontName.split(\"-\")[0];\n      this.fontType = getFontType(type, subtype);\n    },\n    checkAndRepair: function Font_checkAndRepair(name, font, properties) {\n      var VALID_TABLES = [\"OS/2\", \"cmap\", \"head\", \"hhea\", \"hmtx\", \"maxp\", \"name\", \"post\", \"loca\", \"glyf\", \"fpgm\", \"prep\", \"cvt \", \"CFF \"];\n\n      function readTables(file, numTables) {\n        var tables = Object.create(null);\n        tables[\"OS/2\"] = null;\n        tables.cmap = null;\n        tables.head = null;\n        tables.hhea = null;\n        tables.hmtx = null;\n        tables.maxp = null;\n        tables.name = null;\n        tables.post = null;\n\n        for (var i = 0; i < numTables; i++) {\n          var table = readTableEntry(file);\n\n          if (!VALID_TABLES.includes(table.tag)) {\n            continue;\n          }\n\n          if (table.length === 0) {\n            continue;\n          }\n\n          tables[table.tag] = table;\n        }\n\n        return tables;\n      }\n\n      function readTableEntry(file) {\n        var tag = (0, _util.bytesToString)(file.getBytes(4));\n        var checksum = file.getInt32() >>> 0;\n        var offset = file.getInt32() >>> 0;\n        var length = file.getInt32() >>> 0;\n        var previousPosition = file.pos;\n        file.pos = file.start ? file.start : 0;\n        file.skip(offset);\n        var data = file.getBytes(length);\n        file.pos = previousPosition;\n\n        if (tag === \"head\") {\n          data[8] = data[9] = data[10] = data[11] = 0;\n          data[17] |= 0x20;\n        }\n\n        return {\n          tag: tag,\n          checksum: checksum,\n          length: length,\n          offset: offset,\n          data: data\n        };\n      }\n\n      function readOpenTypeHeader(ttf) {\n        return {\n          version: (0, _util.bytesToString)(ttf.getBytes(4)),\n          numTables: ttf.getUint16(),\n          searchRange: ttf.getUint16(),\n          entrySelector: ttf.getUint16(),\n          rangeShift: ttf.getUint16()\n        };\n      }\n\n      function readTrueTypeCollectionHeader(ttc) {\n        var ttcTag = (0, _util.bytesToString)(ttc.getBytes(4));\n        (0, _util.assert)(ttcTag === \"ttcf\", \"Must be a TrueType Collection font.\");\n        var majorVersion = ttc.getUint16();\n        var minorVersion = ttc.getUint16();\n        var numFonts = ttc.getInt32() >>> 0;\n        var offsetTable = [];\n\n        for (var i = 0; i < numFonts; i++) {\n          offsetTable.push(ttc.getInt32() >>> 0);\n        }\n\n        var header = {\n          ttcTag: ttcTag,\n          majorVersion: majorVersion,\n          minorVersion: minorVersion,\n          numFonts: numFonts,\n          offsetTable: offsetTable\n        };\n\n        switch (majorVersion) {\n          case 1:\n            return header;\n\n          case 2:\n            header.dsigTag = ttc.getInt32() >>> 0;\n            header.dsigLength = ttc.getInt32() >>> 0;\n            header.dsigOffset = ttc.getInt32() >>> 0;\n            return header;\n        }\n\n        throw new _util.FormatError(\"Invalid TrueType Collection majorVersion: \".concat(majorVersion, \".\"));\n      }\n\n      function readTrueTypeCollectionData(ttc, fontName) {\n        var _readTrueTypeCollecti = readTrueTypeCollectionHeader(ttc),\n            numFonts = _readTrueTypeCollecti.numFonts,\n            offsetTable = _readTrueTypeCollecti.offsetTable;\n\n        for (var i = 0; i < numFonts; i++) {\n          ttc.pos = (ttc.start || 0) + offsetTable[i];\n          var potentialHeader = readOpenTypeHeader(ttc);\n          var potentialTables = readTables(ttc, potentialHeader.numTables);\n\n          if (!potentialTables.name) {\n            throw new _util.FormatError('TrueType Collection font must contain a \"name\" table.');\n          }\n\n          var nameTable = readNameTable(potentialTables.name);\n\n          for (var j = 0, jj = nameTable.length; j < jj; j++) {\n            for (var k = 0, kk = nameTable[j].length; k < kk; k++) {\n              var nameEntry = nameTable[j][k];\n\n              if (nameEntry && nameEntry.replace(/\\s/g, \"\") === fontName) {\n                return {\n                  header: potentialHeader,\n                  tables: potentialTables\n                };\n              }\n            }\n          }\n        }\n\n        throw new _util.FormatError(\"TrueType Collection does not contain \\\"\".concat(fontName, \"\\\" font.\"));\n      }\n\n      function readCmapTable(cmap, file, isSymbolicFont, hasEncoding) {\n        if (!cmap) {\n          (0, _util.warn)(\"No cmap table available.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        var segment;\n        var start = (file.start ? file.start : 0) + cmap.offset;\n        file.pos = start;\n        file.skip(2);\n        var numTables = file.getUint16();\n        var potentialTable;\n        var canBreak = false;\n\n        for (var i = 0; i < numTables; i++) {\n          var platformId = file.getUint16();\n          var encodingId = file.getUint16();\n          var offset = file.getInt32() >>> 0;\n          var useTable = false;\n\n          if (potentialTable && potentialTable.platformId === platformId && potentialTable.encodingId === encodingId) {\n            continue;\n          }\n\n          if (platformId === 0 && (encodingId === 0 || encodingId === 1 || encodingId === 3)) {\n            useTable = true;\n          } else if (platformId === 1 && encodingId === 0) {\n            useTable = true;\n          } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) {\n            useTable = true;\n\n            if (!isSymbolicFont) {\n              canBreak = true;\n            }\n          } else if (isSymbolicFont && platformId === 3 && encodingId === 0) {\n            useTable = true;\n            canBreak = true;\n          }\n\n          if (useTable) {\n            potentialTable = {\n              platformId: platformId,\n              encodingId: encodingId,\n              offset: offset\n            };\n          }\n\n          if (canBreak) {\n            break;\n          }\n        }\n\n        if (potentialTable) {\n          file.pos = start + potentialTable.offset;\n        }\n\n        if (!potentialTable || file.peekByte() === -1) {\n          (0, _util.warn)(\"Could not find a preferred cmap table.\");\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        var format = file.getUint16();\n        file.skip(2 + 2);\n        var hasShortCmap = false;\n        var mappings = [];\n        var j, glyphId;\n\n        if (format === 0) {\n          for (j = 0; j < 256; j++) {\n            var index = file.getByte();\n\n            if (!index) {\n              continue;\n            }\n\n            mappings.push({\n              charCode: j,\n              glyphId: index\n            });\n          }\n\n          hasShortCmap = true;\n        } else if (format === 4) {\n          var segCount = file.getUint16() >> 1;\n          file.skip(6);\n          var segIndex,\n              segments = [];\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments.push({\n              end: file.getUint16()\n            });\n          }\n\n          file.skip(2);\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].start = file.getUint16();\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segments[segIndex].delta = file.getUint16();\n          }\n\n          var offsetsCount = 0;\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            var rangeOffset = file.getUint16();\n\n            if (!rangeOffset) {\n              segment.offsetIndex = -1;\n              continue;\n            }\n\n            var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex);\n            segment.offsetIndex = offsetIndex;\n            offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1);\n          }\n\n          var offsets = [];\n\n          for (j = 0; j < offsetsCount; j++) {\n            offsets.push(file.getUint16());\n          }\n\n          for (segIndex = 0; segIndex < segCount; segIndex++) {\n            segment = segments[segIndex];\n            start = segment.start;\n            var end = segment.end;\n            var delta = segment.delta;\n            offsetIndex = segment.offsetIndex;\n\n            for (j = start; j <= end; j++) {\n              if (j === 0xffff) {\n                continue;\n              }\n\n              glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start];\n              glyphId = glyphId + delta & 0xffff;\n              mappings.push({\n                charCode: j,\n                glyphId: glyphId\n              });\n            }\n          }\n        } else if (format === 6) {\n          var firstCode = file.getUint16();\n          var entryCount = file.getUint16();\n\n          for (j = 0; j < entryCount; j++) {\n            glyphId = file.getUint16();\n            var charCode = firstCode + j;\n            mappings.push({\n              charCode: charCode,\n              glyphId: glyphId\n            });\n          }\n        } else {\n          (0, _util.warn)(\"cmap table has unsupported format: \" + format);\n          return {\n            platformId: -1,\n            encodingId: -1,\n            mappings: [],\n            hasShortCmap: false\n          };\n        }\n\n        mappings.sort(function (a, b) {\n          return a.charCode - b.charCode;\n        });\n\n        for (i = 1; i < mappings.length; i++) {\n          if (mappings[i - 1].charCode === mappings[i].charCode) {\n            mappings.splice(i, 1);\n            i--;\n          }\n        }\n\n        return {\n          platformId: potentialTable.platformId,\n          encodingId: potentialTable.encodingId,\n          mappings: mappings,\n          hasShortCmap: hasShortCmap\n        };\n      }\n\n      function sanitizeMetrics(file, header, metrics, numGlyphs, dupFirstEntry) {\n        if (!header) {\n          if (metrics) {\n            metrics.data = null;\n          }\n\n          return;\n        }\n\n        file.pos = (file.start ? file.start : 0) + header.offset;\n        file.pos += 4;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 2;\n        file.pos += 8;\n        file.pos += 2;\n        var numOfMetrics = file.getUint16();\n\n        if (numOfMetrics > numGlyphs) {\n          (0, _util.info)(\"The numOfMetrics (\" + numOfMetrics + \") should not be \" + \"greater than the numGlyphs (\" + numGlyphs + \")\");\n          numOfMetrics = numGlyphs;\n          header.data[34] = (numOfMetrics & 0xff00) >> 8;\n          header.data[35] = numOfMetrics & 0x00ff;\n        }\n\n        var numOfSidebearings = numGlyphs - numOfMetrics;\n        var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1);\n\n        if (numMissing > 0) {\n          var entries = new Uint8Array(metrics.length + numMissing * 2);\n          entries.set(metrics.data);\n\n          if (dupFirstEntry) {\n            entries[metrics.length] = metrics.data[2];\n            entries[metrics.length + 1] = metrics.data[3];\n          }\n\n          metrics.data = entries;\n        }\n      }\n\n      function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) {\n        var glyphProfile = {\n          length: 0,\n          sizeOfInstructions: 0\n        };\n\n        if (sourceEnd - sourceStart <= 12) {\n          return glyphProfile;\n        }\n\n        var glyf = source.subarray(sourceStart, sourceEnd);\n        var contoursCount = signedInt16(glyf[0], glyf[1]);\n\n        if (contoursCount < 0) {\n          contoursCount = -1;\n          writeSignedInt16(glyf, 0, contoursCount);\n          dest.set(glyf, destStart);\n          glyphProfile.length = glyf.length;\n          return glyphProfile;\n        }\n\n        var i,\n            j = 10,\n            flagsCount = 0;\n\n        for (i = 0; i < contoursCount; i++) {\n          var endPoint = glyf[j] << 8 | glyf[j + 1];\n          flagsCount = endPoint + 1;\n          j += 2;\n        }\n\n        var instructionsStart = j;\n        var instructionsLength = glyf[j] << 8 | glyf[j + 1];\n        glyphProfile.sizeOfInstructions = instructionsLength;\n        j += 2 + instructionsLength;\n        var instructionsEnd = j;\n        var coordinatesLength = 0;\n\n        for (i = 0; i < flagsCount; i++) {\n          var flag = glyf[j++];\n\n          if (flag & 0xc0) {\n            glyf[j - 1] = flag & 0x3f;\n          }\n\n          var xLength = 2;\n\n          if (flag & 2) {\n            xLength = 1;\n          } else if (flag & 16) {\n            xLength = 0;\n          }\n\n          var yLength = 2;\n\n          if (flag & 4) {\n            yLength = 1;\n          } else if (flag & 32) {\n            yLength = 0;\n          }\n\n          var xyLength = xLength + yLength;\n          coordinatesLength += xyLength;\n\n          if (flag & 8) {\n            var repeat = glyf[j++];\n            i += repeat;\n            coordinatesLength += repeat * xyLength;\n          }\n        }\n\n        if (coordinatesLength === 0) {\n          return glyphProfile;\n        }\n\n        var glyphDataLength = j + coordinatesLength;\n\n        if (glyphDataLength > glyf.length) {\n          return glyphProfile;\n        }\n\n        if (!hintsValid && instructionsLength > 0) {\n          dest.set(glyf.subarray(0, instructionsStart), destStart);\n          dest.set([0, 0], destStart + instructionsStart);\n          dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2);\n          glyphDataLength -= instructionsLength;\n\n          if (glyf.length - glyphDataLength > 3) {\n            glyphDataLength = glyphDataLength + 3 & ~3;\n          }\n\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n\n        if (glyf.length - glyphDataLength > 3) {\n          glyphDataLength = glyphDataLength + 3 & ~3;\n          dest.set(glyf.subarray(0, glyphDataLength), destStart);\n          glyphProfile.length = glyphDataLength;\n          return glyphProfile;\n        }\n\n        dest.set(glyf, destStart);\n        glyphProfile.length = glyf.length;\n        return glyphProfile;\n      }\n\n      function sanitizeHead(head, numGlyphs, locaLength) {\n        var data = head.data;\n        var version = int32(data[0], data[1], data[2], data[3]);\n\n        if (version >> 16 !== 1) {\n          (0, _util.info)(\"Attempting to fix invalid version in head table: \" + version);\n          data[0] = 0;\n          data[1] = 1;\n          data[2] = 0;\n          data[3] = 0;\n        }\n\n        var indexToLocFormat = int16(data[50], data[51]);\n\n        if (indexToLocFormat < 0 || indexToLocFormat > 1) {\n          (0, _util.info)(\"Attempting to fix invalid indexToLocFormat in head table: \" + indexToLocFormat);\n          var numGlyphsPlusOne = numGlyphs + 1;\n\n          if (locaLength === numGlyphsPlusOne << 1) {\n            data[50] = 0;\n            data[51] = 0;\n          } else if (locaLength === numGlyphsPlusOne << 2) {\n            data[50] = 0;\n            data[51] = 1;\n          } else {\n            throw new _util.FormatError(\"Could not fix indexToLocFormat: \" + indexToLocFormat);\n          }\n        }\n      }\n\n      function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions) {\n        var itemSize, itemDecode, itemEncode;\n\n        if (isGlyphLocationsLong) {\n          itemSize = 4;\n\n          itemDecode = function fontItemDecodeLong(data, offset) {\n            return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n          };\n\n          itemEncode = function fontItemEncodeLong(data, offset, value) {\n            data[offset] = value >>> 24 & 0xff;\n            data[offset + 1] = value >> 16 & 0xff;\n            data[offset + 2] = value >> 8 & 0xff;\n            data[offset + 3] = value & 0xff;\n          };\n        } else {\n          itemSize = 2;\n\n          itemDecode = function fontItemDecode(data, offset) {\n            return data[offset] << 9 | data[offset + 1] << 1;\n          };\n\n          itemEncode = function fontItemEncode(data, offset, value) {\n            data[offset] = value >> 9 & 0xff;\n            data[offset + 1] = value >> 1 & 0xff;\n          };\n        }\n\n        var numGlyphsOut = dupFirstEntry ? numGlyphs + 1 : numGlyphs;\n        var locaDataSize = itemSize * (1 + numGlyphsOut);\n        var locaData = new Uint8Array(locaDataSize);\n        locaData.set(loca.data.subarray(0, locaDataSize));\n        loca.data = locaData;\n        var oldGlyfData = glyf.data;\n        var oldGlyfDataLength = oldGlyfData.length;\n        var newGlyfData = new Uint8Array(oldGlyfDataLength);\n        var i, j;\n        var locaEntries = [];\n\n        for (i = 0, j = 0; i < numGlyphs + 1; i++, j += itemSize) {\n          var offset = itemDecode(locaData, j);\n\n          if (offset > oldGlyfDataLength) {\n            offset = oldGlyfDataLength;\n          }\n\n          locaEntries.push({\n            index: i,\n            offset: offset,\n            endOffset: 0\n          });\n        }\n\n        locaEntries.sort(function (a, b) {\n          return a.offset - b.offset;\n        });\n\n        for (i = 0; i < numGlyphs; i++) {\n          locaEntries[i].endOffset = locaEntries[i + 1].offset;\n        }\n\n        locaEntries.sort(function (a, b) {\n          return a.index - b.index;\n        });\n        var missingGlyphs = Object.create(null);\n        var writeOffset = 0;\n        itemEncode(locaData, 0, writeOffset);\n\n        for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) {\n          var glyphProfile = sanitizeGlyph(oldGlyfData, locaEntries[i].offset, locaEntries[i].endOffset, newGlyfData, writeOffset, hintsValid);\n          var newLength = glyphProfile.length;\n\n          if (newLength === 0) {\n            missingGlyphs[i] = true;\n          }\n\n          if (glyphProfile.sizeOfInstructions > maxSizeOfInstructions) {\n            maxSizeOfInstructions = glyphProfile.sizeOfInstructions;\n          }\n\n          writeOffset += newLength;\n          itemEncode(locaData, j, writeOffset);\n        }\n\n        if (writeOffset === 0) {\n          var simpleGlyph = new Uint8Array([0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 0]);\n\n          for (i = 0, j = itemSize; i < numGlyphsOut; i++, j += itemSize) {\n            itemEncode(locaData, j, simpleGlyph.length);\n          }\n\n          glyf.data = simpleGlyph;\n        } else if (dupFirstEntry) {\n          var firstEntryLength = itemDecode(locaData, itemSize);\n\n          if (newGlyfData.length > firstEntryLength + writeOffset) {\n            glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset);\n          } else {\n            glyf.data = new Uint8Array(firstEntryLength + writeOffset);\n            glyf.data.set(newGlyfData.subarray(0, writeOffset));\n          }\n\n          glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset);\n          itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength);\n        } else {\n          glyf.data = newGlyfData.subarray(0, writeOffset);\n        }\n\n        return {\n          missingGlyphs: missingGlyphs,\n          maxSizeOfInstructions: maxSizeOfInstructions\n        };\n      }\n\n      function readPostScriptTable(post, propertiesObj, maxpNumGlyphs) {\n        var start = (font.start ? font.start : 0) + post.offset;\n        font.pos = start;\n        var length = post.length,\n            end = start + length;\n        var version = font.getInt32();\n        font.skip(28);\n        var glyphNames;\n        var valid = true;\n        var i;\n\n        switch (version) {\n          case 0x00010000:\n            glyphNames = MacStandardGlyphOrdering;\n            break;\n\n          case 0x00020000:\n            var numGlyphs = font.getUint16();\n\n            if (numGlyphs !== maxpNumGlyphs) {\n              valid = false;\n              break;\n            }\n\n            var glyphNameIndexes = [];\n\n            for (i = 0; i < numGlyphs; ++i) {\n              var index = font.getUint16();\n\n              if (index >= 32768) {\n                valid = false;\n                break;\n              }\n\n              glyphNameIndexes.push(index);\n            }\n\n            if (!valid) {\n              break;\n            }\n\n            var customNames = [];\n            var strBuf = [];\n\n            while (font.pos < end) {\n              var stringLength = font.getByte();\n              strBuf.length = stringLength;\n\n              for (i = 0; i < stringLength; ++i) {\n                strBuf[i] = String.fromCharCode(font.getByte());\n              }\n\n              customNames.push(strBuf.join(\"\"));\n            }\n\n            glyphNames = [];\n\n            for (i = 0; i < numGlyphs; ++i) {\n              var j = glyphNameIndexes[i];\n\n              if (j < 258) {\n                glyphNames.push(MacStandardGlyphOrdering[j]);\n                continue;\n              }\n\n              glyphNames.push(customNames[j - 258]);\n            }\n\n            break;\n\n          case 0x00030000:\n            break;\n\n          default:\n            (0, _util.warn)(\"Unknown/unsupported post table version \" + version);\n            valid = false;\n\n            if (propertiesObj.defaultEncoding) {\n              glyphNames = propertiesObj.defaultEncoding;\n            }\n\n            break;\n        }\n\n        propertiesObj.glyphNames = glyphNames;\n        return valid;\n      }\n\n      function readNameTable(nameTable) {\n        var start = (font.start ? font.start : 0) + nameTable.offset;\n        font.pos = start;\n        var names = [[], []];\n        var length = nameTable.length,\n            end = start + length;\n        var format = font.getUint16();\n        var FORMAT_0_HEADER_LENGTH = 6;\n\n        if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) {\n          return names;\n        }\n\n        var numRecords = font.getUint16();\n        var stringsStart = font.getUint16();\n        var records = [];\n        var NAME_RECORD_LENGTH = 12;\n        var i, ii;\n\n        for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) {\n          var r = {\n            platform: font.getUint16(),\n            encoding: font.getUint16(),\n            language: font.getUint16(),\n            name: font.getUint16(),\n            length: font.getUint16(),\n            offset: font.getUint16()\n          };\n\n          if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) {\n            records.push(r);\n          }\n        }\n\n        for (i = 0, ii = records.length; i < ii; i++) {\n          var record = records[i];\n\n          if (record.length <= 0) {\n            continue;\n          }\n\n          var pos = start + stringsStart + record.offset;\n\n          if (pos + record.length > end) {\n            continue;\n          }\n\n          font.pos = pos;\n          var nameIndex = record.name;\n\n          if (record.encoding) {\n            var str = \"\";\n\n            for (var j = 0, jj = record.length; j < jj; j += 2) {\n              str += String.fromCharCode(font.getUint16());\n            }\n\n            names[1][nameIndex] = str;\n          } else {\n            names[0][nameIndex] = (0, _util.bytesToString)(font.getBytes(record.length));\n          }\n        }\n\n        return names;\n      }\n\n      var TTOpsStackDeltas = [0, 0, 0, 0, 0, 0, 0, 0, -2, -2, -2, -2, 0, 0, -2, -5, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, -1, -1, 1, -1, -999, 0, 1, 0, -1, -2, 0, -1, -2, -1, -1, 0, -1, -1, 0, 0, -999, -999, -1, -1, -1, -1, -2, -999, -2, -2, -999, 0, -2, -2, 0, 0, -2, 0, -2, 0, 0, 0, -2, -1, -1, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0, -1, -1, 0, -999, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -999, -999, -999, -999, -999, -1, -1, -2, -2, 0, 0, 0, 0, -1, -1, -999, -2, -2, 0, 0, -1, -2, -2, 0, 0, 0, -1, -1, -1, -2];\n\n      function sanitizeTTProgram(table, ttContext) {\n        var data = table.data;\n        var i = 0,\n            j,\n            n,\n            b,\n            funcId,\n            pc,\n            lastEndf = 0,\n            lastDeff = 0;\n        var stack = [];\n        var callstack = [];\n        var functionsCalled = [];\n        var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions;\n        var inFDEF = false,\n            ifLevel = 0,\n            inELSE = 0;\n\n        for (var ii = data.length; i < ii;) {\n          var op = data[i++];\n\n          if (op === 0x40) {\n            n = data[i++];\n\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if (op === 0x41) {\n            n = data[i++];\n\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb0) {\n            n = op - 0xb0 + 1;\n\n            if (inFDEF || inELSE) {\n              i += n;\n            } else {\n              for (j = 0; j < n; j++) {\n                stack.push(data[i++]);\n              }\n            }\n          } else if ((op & 0xf8) === 0xb8) {\n            n = op - 0xb8 + 1;\n\n            if (inFDEF || inELSE) {\n              i += n * 2;\n            } else {\n              for (j = 0; j < n; j++) {\n                b = data[i++];\n                stack.push(b << 8 | data[i++]);\n              }\n            }\n          } else if (op === 0x2b && !tooComplexToFollowFunctions) {\n            if (!inFDEF && !inELSE) {\n              funcId = stack[stack.length - 1];\n\n              if (isNaN(funcId)) {\n                (0, _util.info)(\"TT: CALL empty stack (or invalid entry).\");\n              } else {\n                ttContext.functionsUsed[funcId] = true;\n\n                if (funcId in ttContext.functionsStackDeltas) {\n                  var newStackLength = stack.length + ttContext.functionsStackDeltas[funcId];\n\n                  if (newStackLength < 0) {\n                    (0, _util.warn)(\"TT: CALL invalid functions stack delta.\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n\n                  stack.length = newStackLength;\n                } else if (funcId in ttContext.functionsDefined && !functionsCalled.includes(funcId)) {\n                  callstack.push({\n                    data: data,\n                    i: i,\n                    stackTop: stack.length - 1\n                  });\n                  functionsCalled.push(funcId);\n                  pc = ttContext.functionsDefined[funcId];\n\n                  if (!pc) {\n                    (0, _util.warn)(\"TT: CALL non-existent function\");\n                    ttContext.hintsValid = false;\n                    return;\n                  }\n\n                  data = pc.data;\n                  i = pc.i;\n                }\n              }\n            }\n          } else if (op === 0x2c && !tooComplexToFollowFunctions) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)(\"TT: nested FDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n\n            inFDEF = true;\n            lastDeff = i;\n            funcId = stack.pop();\n            ttContext.functionsDefined[funcId] = {\n              data: data,\n              i: i\n            };\n          } else if (op === 0x2d) {\n            if (inFDEF) {\n              inFDEF = false;\n              lastEndf = i;\n            } else {\n              pc = callstack.pop();\n\n              if (!pc) {\n                (0, _util.warn)(\"TT: ENDF bad stack\");\n                ttContext.hintsValid = false;\n                return;\n              }\n\n              funcId = functionsCalled.pop();\n              data = pc.data;\n              i = pc.i;\n              ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop;\n            }\n          } else if (op === 0x89) {\n            if (inFDEF || inELSE) {\n              (0, _util.warn)(\"TT: nested IDEFs not allowed\");\n              tooComplexToFollowFunctions = true;\n            }\n\n            inFDEF = true;\n            lastDeff = i;\n          } else if (op === 0x58) {\n            ++ifLevel;\n          } else if (op === 0x1b) {\n            inELSE = ifLevel;\n          } else if (op === 0x59) {\n            if (inELSE === ifLevel) {\n              inELSE = 0;\n            }\n\n            --ifLevel;\n          } else if (op === 0x1c) {\n            if (!inFDEF && !inELSE) {\n              var offset = stack[stack.length - 1];\n\n              if (offset > 0) {\n                i += offset - 1;\n              }\n            }\n          }\n\n          if (!inFDEF && !inELSE) {\n            var stackDelta = 0;\n\n            if (op <= 0x8e) {\n              stackDelta = TTOpsStackDeltas[op];\n            } else if (op >= 0xc0 && op <= 0xdf) {\n              stackDelta = -1;\n            } else if (op >= 0xe0) {\n              stackDelta = -2;\n            }\n\n            if (op >= 0x71 && op <= 0x75) {\n              n = stack.pop();\n\n              if (!isNaN(n)) {\n                stackDelta = -n * 2;\n              }\n            }\n\n            while (stackDelta < 0 && stack.length > 0) {\n              stack.pop();\n              stackDelta++;\n            }\n\n            while (stackDelta > 0) {\n              stack.push(NaN);\n              stackDelta--;\n            }\n          }\n        }\n\n        ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions;\n        var content = [data];\n\n        if (i > data.length) {\n          content.push(new Uint8Array(i - data.length));\n        }\n\n        if (lastDeff > lastEndf) {\n          (0, _util.warn)(\"TT: complementing a missing function tail\");\n          content.push(new Uint8Array([0x22, 0x2d]));\n        }\n\n        foldTTTable(table, content);\n      }\n\n      function checkInvalidFunctions(ttContext, maxFunctionDefs) {\n        if (ttContext.tooComplexToFollowFunctions) {\n          return;\n        }\n\n        if (ttContext.functionsDefined.length > maxFunctionDefs) {\n          (0, _util.warn)(\"TT: more functions defined than expected\");\n          ttContext.hintsValid = false;\n          return;\n        }\n\n        for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) {\n          if (j > maxFunctionDefs) {\n            (0, _util.warn)(\"TT: invalid function id: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n\n          if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) {\n            (0, _util.warn)(\"TT: undefined function: \" + j);\n            ttContext.hintsValid = false;\n            return;\n          }\n        }\n      }\n\n      function foldTTTable(table, content) {\n        if (content.length > 1) {\n          var newLength = 0;\n          var j, jj;\n\n          for (j = 0, jj = content.length; j < jj; j++) {\n            newLength += content[j].length;\n          }\n\n          newLength = newLength + 3 & ~3;\n          var result = new Uint8Array(newLength);\n          var pos = 0;\n\n          for (j = 0, jj = content.length; j < jj; j++) {\n            result.set(content[j], pos);\n            pos += content[j].length;\n          }\n\n          table.data = result;\n          table.length = newLength;\n        }\n      }\n\n      function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) {\n        var ttContext = {\n          functionsDefined: [],\n          functionsUsed: [],\n          functionsStackDeltas: [],\n          tooComplexToFollowFunctions: false,\n          hintsValid: true\n        };\n\n        if (fpgm) {\n          sanitizeTTProgram(fpgm, ttContext);\n        }\n\n        if (prep) {\n          sanitizeTTProgram(prep, ttContext);\n        }\n\n        if (fpgm) {\n          checkInvalidFunctions(ttContext, maxFunctionDefs);\n        }\n\n        if (cvt && cvt.length & 1) {\n          var cvtData = new Uint8Array(cvt.length + 1);\n          cvtData.set(cvt.data);\n          cvt.data = cvtData;\n        }\n\n        return ttContext.hintsValid;\n      }\n\n      font = new _stream.Stream(new Uint8Array(font.getBytes()));\n      var header, tables;\n\n      if (isTrueTypeCollectionFile(font)) {\n        var ttcData = readTrueTypeCollectionData(font, this.name);\n        header = ttcData.header;\n        tables = ttcData.tables;\n      } else {\n        header = readOpenTypeHeader(font);\n        tables = readTables(font, header.numTables);\n      }\n\n      var cff, cffFile;\n      var isTrueType = !tables[\"CFF \"];\n\n      if (!isTrueType) {\n        var isComposite = properties.composite && ((properties.cidToGidMap || []).length > 0 || !(properties.cMap instanceof _cmap.IdentityCMap));\n\n        if (header.version === \"OTTO\" && !isComposite || !tables.head || !tables.hhea || !tables.maxp || !tables.post) {\n          cffFile = new _stream.Stream(tables[\"CFF \"].data);\n          cff = new CFFFont(cffFile, properties);\n          adjustWidths(properties);\n          return this.convert(name, cff, properties);\n        }\n\n        delete tables.glyf;\n        delete tables.loca;\n        delete tables.fpgm;\n        delete tables.prep;\n        delete tables[\"cvt \"];\n        this.isOpenType = true;\n      } else {\n        if (!tables.loca) {\n          throw new _util.FormatError('Required \"loca\" table is not found');\n        }\n\n        if (!tables.glyf) {\n          (0, _util.warn)('Required \"glyf\" table is not found -- trying to recover.');\n          tables.glyf = {\n            tag: \"glyf\",\n            data: new Uint8Array(0)\n          };\n        }\n\n        this.isOpenType = false;\n      }\n\n      if (!tables.maxp) {\n        throw new _util.FormatError('Required \"maxp\" table is not found');\n      }\n\n      font.pos = (font.start || 0) + tables.maxp.offset;\n      var version = font.getInt32();\n      var numGlyphs = font.getUint16();\n      var numGlyphsOut = numGlyphs + 1;\n      var dupFirstEntry = true;\n\n      if (numGlyphsOut > 0xffff) {\n        dupFirstEntry = false;\n        numGlyphsOut = numGlyphs;\n        (0, _util.warn)(\"Not enough space in glyfs to duplicate first glyph.\");\n      }\n\n      var maxFunctionDefs = 0;\n      var maxSizeOfInstructions = 0;\n\n      if (version >= 0x00010000 && tables.maxp.length >= 22) {\n        font.pos += 8;\n        var maxZones = font.getUint16();\n\n        if (maxZones > 2) {\n          tables.maxp.data[14] = 0;\n          tables.maxp.data[15] = 2;\n        }\n\n        font.pos += 4;\n        maxFunctionDefs = font.getUint16();\n        font.pos += 4;\n        maxSizeOfInstructions = font.getUint16();\n      }\n\n      tables.maxp.data[4] = numGlyphsOut >> 8;\n      tables.maxp.data[5] = numGlyphsOut & 255;\n      var hintsValid = sanitizeTTPrograms(tables.fpgm, tables.prep, tables[\"cvt \"], maxFunctionDefs);\n\n      if (!hintsValid) {\n        delete tables.fpgm;\n        delete tables.prep;\n        delete tables[\"cvt \"];\n      }\n\n      sanitizeMetrics(font, tables.hhea, tables.hmtx, numGlyphsOut, dupFirstEntry);\n\n      if (!tables.head) {\n        throw new _util.FormatError('Required \"head\" table is not found');\n      }\n\n      sanitizeHead(tables.head, numGlyphs, isTrueType ? tables.loca.length : 0);\n      var missingGlyphs = Object.create(null);\n\n      if (isTrueType) {\n        var isGlyphLocationsLong = int16(tables.head.data[50], tables.head.data[51]);\n        var glyphsInfo = sanitizeGlyphLocations(tables.loca, tables.glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry, maxSizeOfInstructions);\n        missingGlyphs = glyphsInfo.missingGlyphs;\n\n        if (version >= 0x00010000 && tables.maxp.length >= 22) {\n          tables.maxp.data[26] = glyphsInfo.maxSizeOfInstructions >> 8;\n          tables.maxp.data[27] = glyphsInfo.maxSizeOfInstructions & 255;\n        }\n      }\n\n      if (!tables.hhea) {\n        throw new _util.FormatError('Required \"hhea\" table is not found');\n      }\n\n      if (tables.hhea.data[10] === 0 && tables.hhea.data[11] === 0) {\n        tables.hhea.data[10] = 0xff;\n        tables.hhea.data[11] = 0xff;\n      }\n\n      var metricsOverride = {\n        unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),\n        yMax: int16(tables.head.data[42], tables.head.data[43]),\n        yMin: signedInt16(tables.head.data[38], tables.head.data[39]),\n        ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),\n        descent: signedInt16(tables.hhea.data[6], tables.hhea.data[7])\n      };\n      this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;\n      this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;\n\n      if (tables.post) {\n        readPostScriptTable(tables.post, properties, numGlyphs);\n      }\n\n      tables.post = {\n        tag: \"post\",\n        data: createPostTable(properties)\n      };\n      var charCodeToGlyphId = [];\n\n      function hasGlyph(glyphId) {\n        return !missingGlyphs[glyphId];\n      }\n\n      if (properties.composite) {\n        var cidToGidMap = properties.cidToGidMap || [];\n        var isCidToGidMapEmpty = cidToGidMap.length === 0;\n        properties.cMap.forEach(function (charCode, cid) {\n          if (cid > 0xffff) {\n            throw new _util.FormatError(\"Max size of CID is 65,535\");\n          }\n\n          var glyphId = -1;\n\n          if (isCidToGidMapEmpty) {\n            glyphId = cid;\n          } else if (cidToGidMap[cid] !== undefined) {\n            glyphId = cidToGidMap[cid];\n          }\n\n          if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId)) {\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        });\n      } else {\n        var cmapTable = readCmapTable(tables.cmap, font, this.isSymbolicFont, properties.hasEncoding);\n        var cmapPlatformId = cmapTable.platformId;\n        var cmapEncodingId = cmapTable.encodingId;\n        var cmapMappings = cmapTable.mappings;\n        var cmapMappingsLength = cmapMappings.length;\n        var baseEncoding = [];\n\n        if (properties.hasEncoding && (properties.baseEncodingName === \"MacRomanEncoding\" || properties.baseEncodingName === \"WinAnsiEncoding\")) {\n          baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n        }\n\n        if (properties.hasEncoding && !this.isSymbolicFont && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0)) {\n          var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n\n          for (var charCode = 0; charCode < 256; charCode++) {\n            var glyphName, standardGlyphName;\n\n            if (this.differences && charCode in this.differences) {\n              glyphName = this.differences[charCode];\n            } else if (charCode in baseEncoding && baseEncoding[charCode] !== \"\") {\n              glyphName = baseEncoding[charCode];\n            } else {\n              glyphName = _encodings.StandardEncoding[charCode];\n            }\n\n            if (!glyphName) {\n              continue;\n            }\n\n            standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n            var unicodeOrCharCode;\n\n            if (cmapPlatformId === 3 && cmapEncodingId === 1) {\n              unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName];\n            } else if (cmapPlatformId === 1 && cmapEncodingId === 0) {\n              unicodeOrCharCode = _encodings.MacRomanEncoding.indexOf(standardGlyphName);\n            }\n\n            for (var i = 0; i < cmapMappingsLength; ++i) {\n              if (cmapMappings[i].charCode !== unicodeOrCharCode) {\n                continue;\n              }\n\n              charCodeToGlyphId[charCode] = cmapMappings[i].glyphId;\n              break;\n            }\n          }\n        } else if (cmapPlatformId === 0) {\n          for (var _i2 = 0; _i2 < cmapMappingsLength; ++_i2) {\n            charCodeToGlyphId[cmapMappings[_i2].charCode] = cmapMappings[_i2].glyphId;\n          }\n        } else {\n          for (var _i3 = 0; _i3 < cmapMappingsLength; ++_i3) {\n            var _charCode5 = cmapMappings[_i3].charCode;\n\n            if (cmapPlatformId === 3 && _charCode5 >= 0xf000 && _charCode5 <= 0xf0ff) {\n              _charCode5 &= 0xff;\n            }\n\n            charCodeToGlyphId[_charCode5] = cmapMappings[_i3].glyphId;\n          }\n        }\n\n        if (properties.glyphNames && baseEncoding.length) {\n          for (var _i4 = 0; _i4 < 256; ++_i4) {\n            if (charCodeToGlyphId[_i4] === undefined && baseEncoding[_i4]) {\n              glyphName = baseEncoding[_i4];\n              var glyphId = properties.glyphNames.indexOf(glyphName);\n\n              if (glyphId > 0 && hasGlyph(glyphId)) {\n                charCodeToGlyphId[_i4] = glyphId;\n              }\n            }\n          }\n        }\n      }\n\n      if (charCodeToGlyphId.length === 0) {\n        charCodeToGlyphId[0] = 0;\n      }\n\n      var glyphZeroId = numGlyphsOut - 1;\n\n      if (!dupFirstEntry) {\n        glyphZeroId = 0;\n      }\n\n      var newMapping = adjustMapping(charCodeToGlyphId, hasGlyph, glyphZeroId);\n      this.toFontChar = newMapping.toFontChar;\n      tables.cmap = {\n        tag: \"cmap\",\n        data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphsOut)\n      };\n\n      if (!tables[\"OS/2\"] || !validateOS2Table(tables[\"OS/2\"], font)) {\n        tables[\"OS/2\"] = {\n          tag: \"OS/2\",\n          data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride)\n        };\n      }\n\n      if (!isTrueType) {\n        try {\n          cffFile = new _stream.Stream(tables[\"CFF \"].data);\n          var parser = new _cff_parser.CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED);\n          cff = parser.parse();\n          cff.duplicateFirstGlyph();\n          var compiler = new _cff_parser.CFFCompiler(cff);\n          tables[\"CFF \"].data = compiler.compile();\n        } catch (e) {\n          (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n        }\n      }\n\n      if (!tables.name) {\n        tables.name = {\n          tag: \"name\",\n          data: createNameTable(this.name)\n        };\n      } else {\n        var namePrototype = readNameTable(tables.name);\n        tables.name.data = createNameTable(name, namePrototype);\n      }\n\n      var builder = new OpenTypeFileBuilder(header.version);\n\n      for (var tableTag in tables) {\n        builder.addTable(tableTag, tables[tableTag].data);\n      }\n\n      return builder.toArray();\n    },\n    convert: function Font_convert(fontName, font, properties) {\n      properties.fixedPitch = false;\n\n      if (properties.builtInEncoding) {\n        adjustToUnicode(properties, properties.builtInEncoding);\n      }\n\n      var glyphZeroId = 1;\n\n      if (font instanceof CFFFont) {\n        glyphZeroId = font.numGlyphs - 1;\n      }\n\n      var mapping = font.getGlyphMapping(properties);\n      var newMapping = adjustMapping(mapping, font.hasGlyphId.bind(font), glyphZeroId);\n      this.toFontChar = newMapping.toFontChar;\n      var numGlyphs = font.numGlyphs;\n\n      function getCharCodes(charCodeToGlyphId, glyphId) {\n        var charCodes = null;\n\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            if (!charCodes) {\n              charCodes = [];\n            }\n\n            charCodes.push(charCode | 0);\n          }\n        }\n\n        return charCodes;\n      }\n\n      function createCharCode(charCodeToGlyphId, glyphId) {\n        for (var charCode in charCodeToGlyphId) {\n          if (glyphId === charCodeToGlyphId[charCode]) {\n            return charCode | 0;\n          }\n        }\n\n        newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId;\n        return newMapping.nextAvailableFontCharCode++;\n      }\n\n      var seacs = font.seacs;\n\n      if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) {\n        var matrix = properties.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n        var charset = font.getCharset();\n        var seacMap = Object.create(null);\n\n        for (var glyphId in seacs) {\n          glyphId |= 0;\n          var seac = seacs[glyphId];\n          var baseGlyphName = _encodings.StandardEncoding[seac[2]];\n          var accentGlyphName = _encodings.StandardEncoding[seac[3]];\n          var baseGlyphId = charset.indexOf(baseGlyphName);\n          var accentGlyphId = charset.indexOf(accentGlyphName);\n\n          if (baseGlyphId < 0 || accentGlyphId < 0) {\n            continue;\n          }\n\n          var accentOffset = {\n            x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4],\n            y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5]\n          };\n          var charCodes = getCharCodes(mapping, glyphId);\n\n          if (!charCodes) {\n            continue;\n          }\n\n          for (var i = 0, ii = charCodes.length; i < ii; i++) {\n            var charCode = charCodes[i];\n            var charCodeToGlyphId = newMapping.charCodeToGlyphId;\n            var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId);\n            var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId);\n            seacMap[charCode] = {\n              baseFontCharCode: baseFontCharCode,\n              accentFontCharCode: accentFontCharCode,\n              accentOffset: accentOffset\n            };\n          }\n        }\n\n        properties.seacMap = seacMap;\n      }\n\n      var unitsPerEm = 1 / (properties.fontMatrix || _util.FONT_IDENTITY_MATRIX)[0];\n      var builder = new OpenTypeFileBuilder(\"\\x4F\\x54\\x54\\x4F\");\n      builder.addTable(\"CFF \", font.data);\n      builder.addTable(\"OS/2\", createOS2Table(properties, newMapping.charCodeToGlyphId));\n      builder.addTable(\"cmap\", createCmapTable(newMapping.charCodeToGlyphId, numGlyphs));\n      builder.addTable(\"head\", \"\\x00\\x01\\x00\\x00\" + \"\\x00\\x00\\x10\\x00\" + \"\\x00\\x00\\x00\\x00\" + \"\\x5F\\x0F\\x3C\\xF5\" + \"\\x00\\x00\" + safeString16(unitsPerEm) + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\\x00\\x00\\x9e\\x0b\\x7e\\x27\" + \"\\x00\\x00\" + safeString16(properties.descent) + \"\\x0F\\xFF\" + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + \"\\x00\\x11\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\");\n      builder.addTable(\"hhea\", \"\\x00\\x01\\x00\\x00\" + safeString16(properties.ascent) + safeString16(properties.descent) + \"\\x00\\x00\" + \"\\xFF\\xFF\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + \"\\x00\\x00\" + string16(numGlyphs));\n      builder.addTable(\"hmtx\", function fontFieldsHmtx() {\n        var charstrings = font.charstrings;\n        var cffWidths = font.cff ? font.cff.widths : null;\n        var hmtx = \"\\x00\\x00\\x00\\x00\";\n\n        for (var _i5 = 1, _ii = numGlyphs; _i5 < _ii; _i5++) {\n          var width = 0;\n\n          if (charstrings) {\n            var charstring = charstrings[_i5 - 1];\n            width = \"width\" in charstring ? charstring.width : 0;\n          } else if (cffWidths) {\n            width = Math.ceil(cffWidths[_i5] || 0);\n          }\n\n          hmtx += string16(width) + string16(0);\n        }\n\n        return hmtx;\n      }());\n      builder.addTable(\"maxp\", \"\\x00\\x00\\x50\\x00\" + string16(numGlyphs));\n      builder.addTable(\"name\", createNameTable(fontName));\n      builder.addTable(\"post\", createPostTable(properties));\n      return builder.toArray();\n    },\n\n    get spaceWidth() {\n      var possibleSpaceReplacements = [\"space\", \"minus\", \"one\", \"i\", \"I\"];\n      var width;\n\n      for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) {\n        var glyphName = possibleSpaceReplacements[i];\n\n        if (glyphName in this.widths) {\n          width = this.widths[glyphName];\n          break;\n        }\n\n        var glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        var glyphUnicode = glyphsUnicodeMap[glyphName];\n        var charcode = 0;\n\n        if (this.composite && this.cMap.contains(glyphUnicode)) {\n          charcode = this.cMap.lookup(glyphUnicode);\n        }\n\n        if (!charcode && this.toUnicode) {\n          charcode = this.toUnicode.charCodeOf(glyphUnicode);\n        }\n\n        if (charcode <= 0) {\n          charcode = glyphUnicode;\n        }\n\n        width = this.widths[charcode];\n\n        if (width) {\n          break;\n        }\n      }\n\n      width = width || this.defaultWidth;\n      return (0, _util.shadow)(this, \"spaceWidth\", width);\n    },\n\n    _charToGlyph: function _charToGlyph(charcode) {\n      var isSpace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n      var fontCharCode, width, operatorListId;\n      var widthCode = charcode;\n\n      if (this.cMap && this.cMap.contains(charcode)) {\n        widthCode = this.cMap.lookup(charcode);\n      }\n\n      width = this.widths[widthCode];\n      width = (0, _util.isNum)(width) ? width : this.defaultWidth;\n      var vmetric = this.vmetrics && this.vmetrics[widthCode];\n      var unicode = this.toUnicode.get(charcode) || this.fallbackToUnicode.get(charcode) || charcode;\n\n      if (typeof unicode === \"number\") {\n        unicode = String.fromCharCode(unicode);\n      }\n\n      var isInFont = (charcode in this.toFontChar);\n      fontCharCode = this.toFontChar[charcode] || charcode;\n\n      if (this.missingFile) {\n        var glyphName = this.differences[charcode] || this.defaultEncoding[charcode];\n\n        if ((glyphName === \".notdef\" || glyphName === \"\") && this.type === \"Type1\") {\n          fontCharCode = 0x20;\n        }\n\n        fontCharCode = (0, _unicode.mapSpecialUnicodeValues)(fontCharCode);\n      }\n\n      if (this.isType3Font) {\n        operatorListId = fontCharCode;\n      }\n\n      var accent = null;\n\n      if (this.seacMap && this.seacMap[charcode]) {\n        isInFont = true;\n        var seac = this.seacMap[charcode];\n        fontCharCode = seac.baseFontCharCode;\n        accent = {\n          fontChar: String.fromCodePoint(seac.accentFontCharCode),\n          offset: seac.accentOffset\n        };\n      }\n\n      var fontChar = \"\";\n\n      if (typeof fontCharCode === \"number\") {\n        if (fontCharCode <= 0x10ffff) {\n          fontChar = String.fromCodePoint(fontCharCode);\n        } else {\n          (0, _util.warn)(\"charToGlyph - invalid fontCharCode: \".concat(fontCharCode));\n        }\n      }\n\n      var glyph = this.glyphCache[charcode];\n\n      if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) {\n        glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont);\n        this.glyphCache[charcode] = glyph;\n      }\n\n      return glyph;\n    },\n    charsToGlyphs: function Font_charsToGlyphs(chars) {\n      var charsCache = this.charsCache;\n      var glyphs, glyph, charcode;\n\n      if (charsCache) {\n        glyphs = charsCache[chars];\n\n        if (glyphs) {\n          return glyphs;\n        }\n      }\n\n      if (!charsCache) {\n        charsCache = this.charsCache = Object.create(null);\n      }\n\n      glyphs = [];\n      var charsCacheKey = chars;\n      var i = 0,\n          ii;\n\n      if (this.cMap) {\n        var c = Object.create(null);\n\n        while (i < chars.length) {\n          this.cMap.readCharCode(chars, i, c);\n          charcode = c.charcode;\n          var length = c.length;\n          i += length;\n          var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20;\n          glyph = this._charToGlyph(charcode, isSpace);\n          glyphs.push(glyph);\n        }\n      } else {\n        for (i = 0, ii = chars.length; i < ii; ++i) {\n          charcode = chars.charCodeAt(i);\n          glyph = this._charToGlyph(charcode, charcode === 0x20);\n          glyphs.push(glyph);\n        }\n      }\n\n      return charsCache[charsCacheKey] = glyphs;\n    },\n    getCharPositions: function getCharPositions(chars) {\n      var positions = [];\n\n      if (this.cMap) {\n        var c = Object.create(null);\n        var i = 0;\n\n        while (i < chars.length) {\n          this.cMap.readCharCode(chars, i, c);\n          var length = c.length;\n          positions.push([i, i + length]);\n          i += length;\n        }\n      } else {\n        for (var _i6 = 0, ii = chars.length; _i6 < ii; ++_i6) {\n          positions.push([_i6, _i6 + 1]);\n        }\n      }\n\n      return positions;\n    },\n\n    get glyphCacheValues() {\n      return Object.values(this.glyphCache);\n    },\n\n    encodeString: function encodeString(str) {\n      var buffers = [];\n      var currentBuf = [];\n\n      var hasCurrentBufErrors = function hasCurrentBufErrors() {\n        return buffers.length % 2 === 1;\n      };\n\n      for (var i = 0, ii = str.length; i < ii; i++) {\n        var unicode = str.codePointAt(i);\n\n        if (unicode > 0xd7ff && (unicode < 0xe000 || unicode > 0xfffd)) {\n          i++;\n        }\n\n        if (this.toUnicode) {\n          var _char = String.fromCodePoint(unicode);\n\n          var charCode = this.toUnicode.charCodeOf(_char);\n\n          if (charCode !== -1) {\n            if (hasCurrentBufErrors()) {\n              buffers.push(currentBuf.join(\"\"));\n              currentBuf.length = 0;\n            }\n\n            var charCodeLength = this.cMap ? this.cMap.getCharCodeLength(charCode) : 1;\n\n            for (var j = charCodeLength - 1; j >= 0; j--) {\n              currentBuf.push(String.fromCharCode(charCode >> 8 * j & 0xff));\n            }\n\n            continue;\n          }\n        }\n\n        if (!hasCurrentBufErrors()) {\n          buffers.push(currentBuf.join(\"\"));\n          currentBuf.length = 0;\n        }\n\n        currentBuf.push(String.fromCodePoint(unicode));\n      }\n\n      buffers.push(currentBuf.join(\"\"));\n      return buffers;\n    }\n  };\n  return Font;\n}();\n\nexports.Font = Font;\n\nvar ErrorFont = function ErrorFontClosure() {\n  function ErrorFont(error) {\n    this.error = error;\n    this.loadedName = \"g_font_error\";\n    this.missingFile = true;\n  }\n\n  ErrorFont.prototype = {\n    charsToGlyphs: function ErrorFont_charsToGlyphs() {\n      return [];\n    },\n    encodeString: function ErrorFont_encodeString(chars) {\n      return [chars];\n    },\n    exportData: function exportData() {\n      var extraProperties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      return {\n        error: this.error\n      };\n    }\n  };\n  return ErrorFont;\n}();\n\nexports.ErrorFont = ErrorFont;\n\nfunction type1FontGlyphMapping(properties, builtInEncoding, glyphNames) {\n  var charCodeToGlyphId = Object.create(null);\n  var glyphId, charCode, baseEncoding;\n  var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic);\n\n  if (properties.baseEncodingName) {\n    baseEncoding = (0, _encodings.getEncoding)(properties.baseEncodingName);\n\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  } else if (isSymbolicFont) {\n    for (charCode in builtInEncoding) {\n      charCodeToGlyphId[charCode] = builtInEncoding[charCode];\n    }\n  } else {\n    baseEncoding = _encodings.StandardEncoding;\n\n    for (charCode = 0; charCode < baseEncoding.length; charCode++) {\n      glyphId = glyphNames.indexOf(baseEncoding[charCode]);\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n\n  var differences = properties.differences,\n      glyphsUnicodeMap;\n\n  if (differences) {\n    for (charCode in differences) {\n      var glyphName = differences[charCode];\n      glyphId = glyphNames.indexOf(glyphName);\n\n      if (glyphId === -1) {\n        if (!glyphsUnicodeMap) {\n          glyphsUnicodeMap = (0, _glyphlist.getGlyphsUnicode)();\n        }\n\n        var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap);\n\n        if (standardGlyphName !== glyphName) {\n          glyphId = glyphNames.indexOf(standardGlyphName);\n        }\n      }\n\n      if (glyphId >= 0) {\n        charCodeToGlyphId[charCode] = glyphId;\n      } else {\n        charCodeToGlyphId[charCode] = 0;\n      }\n    }\n  }\n\n  return charCodeToGlyphId;\n}\n\nvar Type1Font = function Type1FontClosure() {\n  function findBlock(streamBytes, signature, startIndex) {\n    var streamBytesLength = streamBytes.length;\n    var signatureLength = signature.length;\n    var scanLength = streamBytesLength - signatureLength;\n    var i = startIndex,\n        j,\n        found = false;\n\n    while (i < scanLength) {\n      j = 0;\n\n      while (j < signatureLength && streamBytes[i + j] === signature[j]) {\n        j++;\n      }\n\n      if (j >= signatureLength) {\n        i += j;\n\n        while (i < streamBytesLength && (0, _core_utils.isWhiteSpace)(streamBytes[i])) {\n          i++;\n        }\n\n        found = true;\n        break;\n      }\n\n      i++;\n    }\n\n    return {\n      found: found,\n      length: i\n    };\n  }\n\n  function getHeaderBlock(stream, suggestedLength) {\n    var EEXEC_SIGNATURE = [0x65, 0x65, 0x78, 0x65, 0x63];\n    var streamStartPos = stream.pos;\n    var headerBytes, headerBytesLength, block;\n\n    try {\n      headerBytes = stream.getBytes(suggestedLength);\n      headerBytesLength = headerBytes.length;\n    } catch (ex) {\n      if (ex instanceof _core_utils.MissingDataException) {\n        throw ex;\n      }\n    }\n\n    if (headerBytesLength === suggestedLength) {\n      block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length);\n\n      if (block.found && block.length === suggestedLength) {\n        return {\n          stream: new _stream.Stream(headerBytes),\n          length: suggestedLength\n        };\n      }\n    }\n\n    (0, _util.warn)('Invalid \"Length1\" property in Type1 font -- trying to recover.');\n    stream.pos = streamStartPos;\n    var SCAN_BLOCK_LENGTH = 2048;\n    var actualLength;\n\n    while (true) {\n      var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH);\n      block = findBlock(scanBytes, EEXEC_SIGNATURE, 0);\n\n      if (block.length === 0) {\n        break;\n      }\n\n      stream.pos += block.length;\n\n      if (block.found) {\n        actualLength = stream.pos - streamStartPos;\n        break;\n      }\n    }\n\n    stream.pos = streamStartPos;\n\n    if (actualLength) {\n      return {\n        stream: new _stream.Stream(stream.getBytes(actualLength)),\n        length: actualLength\n      };\n    }\n\n    (0, _util.warn)('Unable to recover \"Length1\" property in Type1 font -- using as is.');\n    return {\n      stream: new _stream.Stream(stream.getBytes(suggestedLength)),\n      length: suggestedLength\n    };\n  }\n\n  function getEexecBlock(stream, suggestedLength) {\n    var eexecBytes = stream.getBytes();\n    return {\n      stream: new _stream.Stream(eexecBytes),\n      length: eexecBytes.length\n    };\n  }\n\n  function Type1Font(name, file, properties) {\n    var PFB_HEADER_SIZE = 6;\n    var headerBlockLength = properties.length1;\n    var eexecBlockLength = properties.length2;\n    var pfbHeader = file.peekBytes(PFB_HEADER_SIZE);\n    var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01;\n\n    if (pfbHeaderPresent) {\n      file.skip(PFB_HEADER_SIZE);\n      headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n\n    var headerBlock = getHeaderBlock(file, headerBlockLength);\n    var headerBlockParser = new _type1_parser.Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED);\n    headerBlockParser.extractFontHeader(properties);\n\n    if (pfbHeaderPresent) {\n      pfbHeader = file.getBytes(PFB_HEADER_SIZE);\n      eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2];\n    }\n\n    var eexecBlock = getEexecBlock(file, eexecBlockLength);\n    var eexecBlockParser = new _type1_parser.Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED);\n    var data = eexecBlockParser.extractFontProgram(properties);\n\n    for (var key in data.properties) {\n      properties[key] = data.properties[key];\n    }\n\n    var charstrings = data.charstrings;\n    var type2Charstrings = this.getType2Charstrings(charstrings);\n    var subrs = this.getType2Subrs(data.subrs);\n    this.charstrings = charstrings;\n    this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties);\n    this.seacs = this.getSeacs(data.charstrings);\n  }\n\n  Type1Font.prototype = {\n    get numGlyphs() {\n      return this.charstrings.length + 1;\n    },\n\n    getCharset: function Type1Font_getCharset() {\n      var charset = [\".notdef\"];\n      var charstrings = this.charstrings;\n\n      for (var glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        charset.push(charstrings[glyphId].glyphName);\n      }\n\n      return charset;\n    },\n    getGlyphMapping: function Type1Font_getGlyphMapping(properties) {\n      var charstrings = this.charstrings;\n\n      if (properties.composite) {\n        var charCodeToGlyphId = Object.create(null);\n\n        for (var _glyphId = 0, charstringsLen = charstrings.length; _glyphId < charstringsLen; _glyphId++) {\n          var _charCode6 = properties.cMap.charCodeOf(_glyphId);\n\n          charCodeToGlyphId[_charCode6] = _glyphId + 1;\n        }\n\n        return charCodeToGlyphId;\n      }\n\n      var glyphNames = [\".notdef\"],\n          glyphId;\n\n      for (glyphId = 0; glyphId < charstrings.length; glyphId++) {\n        glyphNames.push(charstrings[glyphId].glyphName);\n      }\n\n      var encoding = properties.builtInEncoding;\n\n      if (encoding) {\n        var builtInEncoding = Object.create(null);\n\n        for (var charCode in encoding) {\n          glyphId = glyphNames.indexOf(encoding[charCode]);\n\n          if (glyphId >= 0) {\n            builtInEncoding[charCode] = glyphId;\n          }\n        }\n      }\n\n      return type1FontGlyphMapping(properties, builtInEncoding, glyphNames);\n    },\n    hasGlyphId: function Type1Font_hasGlyphID(id) {\n      if (id < 0 || id >= this.numGlyphs) {\n        return false;\n      }\n\n      if (id === 0) {\n        return true;\n      }\n\n      var glyph = this.charstrings[id - 1];\n      return glyph.charstring.length > 0;\n    },\n    getSeacs: function Type1Font_getSeacs(charstrings) {\n      var i, ii;\n      var seacMap = [];\n\n      for (i = 0, ii = charstrings.length; i < ii; i++) {\n        var charstring = charstrings[i];\n\n        if (charstring.seac) {\n          seacMap[i + 1] = charstring.seac;\n        }\n      }\n\n      return seacMap;\n    },\n    getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) {\n      var type2Charstrings = [];\n\n      for (var i = 0, ii = type1Charstrings.length; i < ii; i++) {\n        type2Charstrings.push(type1Charstrings[i].charstring);\n      }\n\n      return type2Charstrings;\n    },\n    getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) {\n      var bias = 0;\n      var count = type1Subrs.length;\n\n      if (count < 1133) {\n        bias = 107;\n      } else if (count < 33769) {\n        bias = 1131;\n      } else {\n        bias = 32768;\n      }\n\n      var type2Subrs = [];\n      var i;\n\n      for (i = 0; i < bias; i++) {\n        type2Subrs.push([0x0b]);\n      }\n\n      for (i = 0; i < count; i++) {\n        type2Subrs.push(type1Subrs[i]);\n      }\n\n      return type2Subrs;\n    },\n    wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) {\n      var cff = new _cff_parser.CFF();\n      cff.header = new _cff_parser.CFFHeader(1, 0, 4, 4);\n      cff.names = [name];\n      var topDict = new _cff_parser.CFFTopDict();\n      topDict.setByName(\"version\", 391);\n      topDict.setByName(\"Notice\", 392);\n      topDict.setByName(\"FullName\", 393);\n      topDict.setByName(\"FamilyName\", 394);\n      topDict.setByName(\"Weight\", 395);\n      topDict.setByName(\"Encoding\", null);\n      topDict.setByName(\"FontMatrix\", properties.fontMatrix);\n      topDict.setByName(\"FontBBox\", properties.bbox);\n      topDict.setByName(\"charset\", null);\n      topDict.setByName(\"CharStrings\", null);\n      topDict.setByName(\"Private\", null);\n      cff.topDict = topDict;\n      var strings = new _cff_parser.CFFStrings();\n      strings.add(\"Version 0.11\");\n      strings.add(\"See original notice\");\n      strings.add(name);\n      strings.add(name);\n      strings.add(\"Medium\");\n      cff.strings = strings;\n      cff.globalSubrIndex = new _cff_parser.CFFIndex();\n      var count = glyphs.length;\n      var charsetArray = [\".notdef\"];\n      var i, ii;\n\n      for (i = 0; i < count; i++) {\n        var glyphName = charstrings[i].glyphName;\n\n        var index = _cff_parser.CFFStandardStrings.indexOf(glyphName);\n\n        if (index === -1) {\n          strings.add(glyphName);\n        }\n\n        charsetArray.push(glyphName);\n      }\n\n      cff.charset = new _cff_parser.CFFCharset(false, 0, charsetArray);\n      var charStringsIndex = new _cff_parser.CFFIndex();\n      charStringsIndex.add([0x8b, 0x0e]);\n\n      for (i = 0; i < count; i++) {\n        charStringsIndex.add(glyphs[i]);\n      }\n\n      cff.charStrings = charStringsIndex;\n      var privateDict = new _cff_parser.CFFPrivateDict();\n      privateDict.setByName(\"Subrs\", null);\n      var fields = [\"BlueValues\", \"OtherBlues\", \"FamilyBlues\", \"FamilyOtherBlues\", \"StemSnapH\", \"StemSnapV\", \"BlueShift\", \"BlueFuzz\", \"BlueScale\", \"LanguageGroup\", \"ExpansionFactor\", \"ForceBold\", \"StdHW\", \"StdVW\"];\n\n      for (i = 0, ii = fields.length; i < ii; i++) {\n        var field = fields[i];\n\n        if (!(field in properties.privateData)) {\n          continue;\n        }\n\n        var value = properties.privateData[field];\n\n        if (Array.isArray(value)) {\n          for (var j = value.length - 1; j > 0; j--) {\n            value[j] -= value[j - 1];\n          }\n        }\n\n        privateDict.setByName(field, value);\n      }\n\n      cff.topDict.privateDict = privateDict;\n      var subrIndex = new _cff_parser.CFFIndex();\n\n      for (i = 0, ii = subrs.length; i < ii; i++) {\n        subrIndex.add(subrs[i]);\n      }\n\n      privateDict.subrsIndex = subrIndex;\n      var compiler = new _cff_parser.CFFCompiler(cff);\n      return compiler.compile();\n    }\n  };\n  return Type1Font;\n}();\n\nvar CFFFont = function CFFFontClosure() {\n  function CFFFont(file, properties) {\n    this.properties = properties;\n    var parser = new _cff_parser.CFFParser(file, properties, SEAC_ANALYSIS_ENABLED);\n    this.cff = parser.parse();\n    this.cff.duplicateFirstGlyph();\n    var compiler = new _cff_parser.CFFCompiler(this.cff);\n    this.seacs = this.cff.seacs;\n\n    try {\n      this.data = compiler.compile();\n    } catch (e) {\n      (0, _util.warn)(\"Failed to compile font \" + properties.loadedName);\n      this.data = file;\n    }\n  }\n\n  CFFFont.prototype = {\n    get numGlyphs() {\n      return this.cff.charStrings.count;\n    },\n\n    getCharset: function CFFFont_getCharset() {\n      return this.cff.charset.charset;\n    },\n    getGlyphMapping: function CFFFont_getGlyphMapping() {\n      var cff = this.cff;\n      var properties = this.properties;\n      var charsets = cff.charset.charset;\n      var charCodeToGlyphId;\n      var glyphId;\n\n      if (properties.composite) {\n        charCodeToGlyphId = Object.create(null);\n        var charCode;\n\n        if (cff.isCIDFont) {\n          for (glyphId = 0; glyphId < charsets.length; glyphId++) {\n            var cid = charsets[glyphId];\n            charCode = properties.cMap.charCodeOf(cid);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        } else {\n          for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) {\n            charCode = properties.cMap.charCodeOf(glyphId);\n            charCodeToGlyphId[charCode] = glyphId;\n          }\n        }\n\n        return charCodeToGlyphId;\n      }\n\n      var encoding = cff.encoding ? cff.encoding.encoding : null;\n      charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets);\n      return charCodeToGlyphId;\n    },\n    hasGlyphId: function CFFFont_hasGlyphID(id) {\n      return this.cff.hasGlyphId(id);\n    }\n  };\n  return CFFFont;\n}();\n\n/***/ }),\n/* 160 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.CFFTopDict = exports.CFFStrings = exports.CFFStandardStrings = exports.CFFPrivateDict = exports.CFFParser = exports.CFFIndex = exports.CFFHeader = exports.CFFFDSelect = exports.CFFCompiler = exports.CFFCharset = exports.CFF = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _charsets = __w_pdfjs_require__(161);\n\nvar _encodings = __w_pdfjs_require__(162);\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar MAX_SUBR_NESTING = 10;\nvar CFFStandardStrings = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\", \"001.000\", \"001.001\", \"001.002\", \"001.003\", \"Black\", \"Bold\", \"Book\", \"Light\", \"Medium\", \"Regular\", \"Roman\", \"Semibold\"];\nexports.CFFStandardStrings = CFFStandardStrings;\nvar NUM_STANDARD_CFF_STRINGS = 391;\n\nvar CFFParser = function CFFParserClosure() {\n  var CharstringValidationData = [null, {\n    id: \"hstem\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, null, {\n    id: \"vstem\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"vmoveto\",\n    min: 1,\n    stackClearing: true\n  }, {\n    id: \"rlineto\",\n    min: 2,\n    resetStack: true\n  }, {\n    id: \"hlineto\",\n    min: 1,\n    resetStack: true\n  }, {\n    id: \"vlineto\",\n    min: 1,\n    resetStack: true\n  }, {\n    id: \"rrcurveto\",\n    min: 6,\n    resetStack: true\n  }, null, {\n    id: \"callsubr\",\n    min: 1,\n    undefStack: true\n  }, {\n    id: \"return\",\n    min: 0,\n    undefStack: true\n  }, null, null, {\n    id: \"endchar\",\n    min: 0,\n    stackClearing: true\n  }, null, null, null, {\n    id: \"hstemhm\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"hintmask\",\n    min: 0,\n    stackClearing: true\n  }, {\n    id: \"cntrmask\",\n    min: 0,\n    stackClearing: true\n  }, {\n    id: \"rmoveto\",\n    min: 2,\n    stackClearing: true\n  }, {\n    id: \"hmoveto\",\n    min: 1,\n    stackClearing: true\n  }, {\n    id: \"vstemhm\",\n    min: 2,\n    stackClearing: true,\n    stem: true\n  }, {\n    id: \"rcurveline\",\n    min: 8,\n    resetStack: true\n  }, {\n    id: \"rlinecurve\",\n    min: 8,\n    resetStack: true\n  }, {\n    id: \"vvcurveto\",\n    min: 4,\n    resetStack: true\n  }, {\n    id: \"hhcurveto\",\n    min: 4,\n    resetStack: true\n  }, null, {\n    id: \"callgsubr\",\n    min: 1,\n    undefStack: true\n  }, {\n    id: \"vhcurveto\",\n    min: 4,\n    resetStack: true\n  }, {\n    id: \"hvcurveto\",\n    min: 4,\n    resetStack: true\n  }];\n  var CharstringValidationData12 = [null, null, null, {\n    id: \"and\",\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: \"or\",\n    min: 2,\n    stackDelta: -1\n  }, {\n    id: \"not\",\n    min: 1,\n    stackDelta: 0\n  }, null, null, null, {\n    id: \"abs\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"add\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] + stack[index - 1];\n    }\n  }, {\n    id: \"sub\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] - stack[index - 1];\n    }\n  }, {\n    id: \"div\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] / stack[index - 1];\n    }\n  }, null, {\n    id: \"neg\",\n    min: 1,\n    stackDelta: 0,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 1] = -stack[index - 1];\n    }\n  }, {\n    id: \"eq\",\n    min: 2,\n    stackDelta: -1\n  }, null, null, {\n    id: \"drop\",\n    min: 1,\n    stackDelta: -1\n  }, null, {\n    id: \"put\",\n    min: 2,\n    stackDelta: -2\n  }, {\n    id: \"get\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"ifelse\",\n    min: 4,\n    stackDelta: -3\n  }, {\n    id: \"random\",\n    min: 0,\n    stackDelta: 1\n  }, {\n    id: \"mul\",\n    min: 2,\n    stackDelta: -1,\n    stackFn: function stack_div(stack, index) {\n      stack[index - 2] = stack[index - 2] * stack[index - 1];\n    }\n  }, null, {\n    id: \"sqrt\",\n    min: 1,\n    stackDelta: 0\n  }, {\n    id: \"dup\",\n    min: 1,\n    stackDelta: 1\n  }, {\n    id: \"exch\",\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: \"index\",\n    min: 2,\n    stackDelta: 0\n  }, {\n    id: \"roll\",\n    min: 3,\n    stackDelta: -2\n  }, null, null, null, {\n    id: \"hflex\",\n    min: 7,\n    resetStack: true\n  }, {\n    id: \"flex\",\n    min: 13,\n    resetStack: true\n  }, {\n    id: \"hflex1\",\n    min: 9,\n    resetStack: true\n  }, {\n    id: \"flex1\",\n    min: 11,\n    resetStack: true\n  }];\n\n  var CFFParser = /*#__PURE__*/function () {\n    function CFFParser(file, properties, seacAnalysisEnabled) {\n      _classCallCheck(this, CFFParser);\n\n      this.bytes = file.getBytes();\n      this.properties = properties;\n      this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n    }\n\n    _createClass(CFFParser, [{\n      key: \"parse\",\n      value: function parse() {\n        var properties = this.properties;\n        var cff = new CFF();\n        this.cff = cff;\n        var header = this.parseHeader();\n        var nameIndex = this.parseIndex(header.endPos);\n        var topDictIndex = this.parseIndex(nameIndex.endPos);\n        var stringIndex = this.parseIndex(topDictIndex.endPos);\n        var globalSubrIndex = this.parseIndex(stringIndex.endPos);\n        var topDictParsed = this.parseDict(topDictIndex.obj.get(0));\n        var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings);\n        cff.header = header.obj;\n        cff.names = this.parseNameIndex(nameIndex.obj);\n        cff.strings = this.parseStringIndex(stringIndex.obj);\n        cff.topDict = topDict;\n        cff.globalSubrIndex = globalSubrIndex.obj;\n        this.parsePrivateDict(cff.topDict);\n        cff.isCIDFont = topDict.hasName(\"ROS\");\n        var charStringOffset = topDict.getByName(\"CharStrings\");\n        var charStringIndex = this.parseIndex(charStringOffset).obj;\n        var fontMatrix = topDict.getByName(\"FontMatrix\");\n\n        if (fontMatrix) {\n          properties.fontMatrix = fontMatrix;\n        }\n\n        var fontBBox = topDict.getByName(\"FontBBox\");\n\n        if (fontBBox) {\n          properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n          properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n          properties.ascentScaled = true;\n        }\n\n        var charset, encoding;\n\n        if (cff.isCIDFont) {\n          var fdArrayIndex = this.parseIndex(topDict.getByName(\"FDArray\")).obj;\n\n          for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) {\n            var dictRaw = fdArrayIndex.get(i);\n            var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings);\n            this.parsePrivateDict(fontDict);\n            cff.fdArray.push(fontDict);\n          }\n\n          encoding = null;\n          charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, true);\n          cff.fdSelect = this.parseFDSelect(topDict.getByName(\"FDSelect\"), charStringIndex.count);\n        } else {\n          charset = this.parseCharsets(topDict.getByName(\"charset\"), charStringIndex.count, cff.strings, false);\n          encoding = this.parseEncoding(topDict.getByName(\"Encoding\"), properties, cff.strings, charset.charset);\n        }\n\n        cff.charset = charset;\n        cff.encoding = encoding;\n        var charStringsAndSeacs = this.parseCharStrings({\n          charStrings: charStringIndex,\n          localSubrIndex: topDict.privateDict.subrsIndex,\n          globalSubrIndex: globalSubrIndex.obj,\n          fdSelect: cff.fdSelect,\n          fdArray: cff.fdArray,\n          privateDict: topDict.privateDict\n        });\n        cff.charStrings = charStringsAndSeacs.charStrings;\n        cff.seacs = charStringsAndSeacs.seacs;\n        cff.widths = charStringsAndSeacs.widths;\n        return cff;\n      }\n    }, {\n      key: \"parseHeader\",\n      value: function parseHeader() {\n        var bytes = this.bytes;\n        var bytesLength = bytes.length;\n        var offset = 0;\n\n        while (offset < bytesLength && bytes[offset] !== 1) {\n          ++offset;\n        }\n\n        if (offset >= bytesLength) {\n          throw new _util.FormatError(\"Invalid CFF header\");\n        }\n\n        if (offset !== 0) {\n          (0, _util.info)(\"cff data is shifted\");\n          bytes = bytes.subarray(offset);\n          this.bytes = bytes;\n        }\n\n        var major = bytes[0];\n        var minor = bytes[1];\n        var hdrSize = bytes[2];\n        var offSize = bytes[3];\n        var header = new CFFHeader(major, minor, hdrSize, offSize);\n        return {\n          obj: header,\n          endPos: hdrSize\n        };\n      }\n    }, {\n      key: \"parseDict\",\n      value: function parseDict(dict) {\n        var pos = 0;\n\n        function parseOperand() {\n          var value = dict[pos++];\n\n          if (value === 30) {\n            return parseFloatOperand();\n          } else if (value === 28) {\n            value = dict[pos++];\n            value = (value << 24 | dict[pos++] << 16) >> 16;\n            return value;\n          } else if (value === 29) {\n            value = dict[pos++];\n            value = value << 8 | dict[pos++];\n            value = value << 8 | dict[pos++];\n            value = value << 8 | dict[pos++];\n            return value;\n          } else if (value >= 32 && value <= 246) {\n            return value - 139;\n          } else if (value >= 247 && value <= 250) {\n            return (value - 247) * 256 + dict[pos++] + 108;\n          } else if (value >= 251 && value <= 254) {\n            return -((value - 251) * 256) - dict[pos++] - 108;\n          }\n\n          (0, _util.warn)('CFFParser_parseDict: \"' + value + '\" is a reserved command.');\n          return NaN;\n        }\n\n        function parseFloatOperand() {\n          var str = \"\";\n          var eof = 15;\n          var lookup = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \".\", \"E\", \"E-\", null, \"-\"];\n          var length = dict.length;\n\n          while (pos < length) {\n            var b = dict[pos++];\n            var b1 = b >> 4;\n            var b2 = b & 15;\n\n            if (b1 === eof) {\n              break;\n            }\n\n            str += lookup[b1];\n\n            if (b2 === eof) {\n              break;\n            }\n\n            str += lookup[b2];\n          }\n\n          return parseFloat(str);\n        }\n\n        var operands = [];\n        var entries = [];\n        pos = 0;\n        var end = dict.length;\n\n        while (pos < end) {\n          var b = dict[pos];\n\n          if (b <= 21) {\n            if (b === 12) {\n              b = b << 8 | dict[++pos];\n            }\n\n            entries.push([b, operands]);\n            operands = [];\n            ++pos;\n          } else {\n            operands.push(parseOperand());\n          }\n        }\n\n        return entries;\n      }\n    }, {\n      key: \"parseIndex\",\n      value: function parseIndex(pos) {\n        var cffIndex = new CFFIndex();\n        var bytes = this.bytes;\n        var count = bytes[pos++] << 8 | bytes[pos++];\n        var offsets = [];\n        var end = pos;\n        var i, ii;\n\n        if (count !== 0) {\n          var offsetSize = bytes[pos++];\n          var startPos = pos + (count + 1) * offsetSize - 1;\n\n          for (i = 0, ii = count + 1; i < ii; ++i) {\n            var offset = 0;\n\n            for (var j = 0; j < offsetSize; ++j) {\n              offset <<= 8;\n              offset += bytes[pos++];\n            }\n\n            offsets.push(startPos + offset);\n          }\n\n          end = offsets[count];\n        }\n\n        for (i = 0, ii = offsets.length - 1; i < ii; ++i) {\n          var offsetStart = offsets[i];\n          var offsetEnd = offsets[i + 1];\n          cffIndex.add(bytes.subarray(offsetStart, offsetEnd));\n        }\n\n        return {\n          obj: cffIndex,\n          endPos: end\n        };\n      }\n    }, {\n      key: \"parseNameIndex\",\n      value: function parseNameIndex(index) {\n        var names = [];\n\n        for (var i = 0, ii = index.count; i < ii; ++i) {\n          var name = index.get(i);\n          names.push((0, _util.bytesToString)(name));\n        }\n\n        return names;\n      }\n    }, {\n      key: \"parseStringIndex\",\n      value: function parseStringIndex(index) {\n        var strings = new CFFStrings();\n\n        for (var i = 0, ii = index.count; i < ii; ++i) {\n          var data = index.get(i);\n          strings.add((0, _util.bytesToString)(data));\n        }\n\n        return strings;\n      }\n    }, {\n      key: \"createDict\",\n      value: function createDict(Type, dict, strings) {\n        var cffDict = new Type(strings);\n\n        for (var i = 0, ii = dict.length; i < ii; ++i) {\n          var pair = dict[i];\n          var key = pair[0];\n          var value = pair[1];\n          cffDict.setByKey(key, value);\n        }\n\n        return cffDict;\n      }\n    }, {\n      key: \"parseCharString\",\n      value: function parseCharString(state, data, localSubrIndex, globalSubrIndex) {\n        if (!data || state.callDepth > MAX_SUBR_NESTING) {\n          return false;\n        }\n\n        var stackSize = state.stackSize;\n        var stack = state.stack;\n        var length = data.length;\n\n        for (var j = 0; j < length;) {\n          var value = data[j++];\n          var validationCommand = null;\n\n          if (value === 12) {\n            var q = data[j++];\n\n            if (q === 0) {\n              data[j - 2] = 139;\n              data[j - 1] = 22;\n              stackSize = 0;\n            } else {\n              validationCommand = CharstringValidationData12[q];\n            }\n          } else if (value === 28) {\n            stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16;\n            j += 2;\n            stackSize++;\n          } else if (value === 14) {\n            if (stackSize >= 4) {\n              stackSize -= 4;\n\n              if (this.seacAnalysisEnabled) {\n                state.seac = stack.slice(stackSize, stackSize + 4);\n                return false;\n              }\n            }\n\n            validationCommand = CharstringValidationData[value];\n          } else if (value >= 32 && value <= 246) {\n            stack[stackSize] = value - 139;\n            stackSize++;\n          } else if (value >= 247 && value <= 254) {\n            stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108;\n            j++;\n            stackSize++;\n          } else if (value === 255) {\n            stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536;\n            j += 4;\n            stackSize++;\n          } else if (value === 19 || value === 20) {\n            state.hints += stackSize >> 1;\n            j += state.hints + 7 >> 3;\n            stackSize %= 2;\n            validationCommand = CharstringValidationData[value];\n          } else if (value === 10 || value === 29) {\n            var subrsIndex;\n\n            if (value === 10) {\n              subrsIndex = localSubrIndex;\n            } else {\n              subrsIndex = globalSubrIndex;\n            }\n\n            if (!subrsIndex) {\n              validationCommand = CharstringValidationData[value];\n              (0, _util.warn)(\"Missing subrsIndex for \" + validationCommand.id);\n              return false;\n            }\n\n            var bias = 32768;\n\n            if (subrsIndex.count < 1240) {\n              bias = 107;\n            } else if (subrsIndex.count < 33900) {\n              bias = 1131;\n            }\n\n            var subrNumber = stack[--stackSize] + bias;\n\n            if (subrNumber < 0 || subrNumber >= subrsIndex.count || isNaN(subrNumber)) {\n              validationCommand = CharstringValidationData[value];\n              (0, _util.warn)(\"Out of bounds subrIndex for \" + validationCommand.id);\n              return false;\n            }\n\n            state.stackSize = stackSize;\n            state.callDepth++;\n            var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex);\n\n            if (!valid) {\n              return false;\n            }\n\n            state.callDepth--;\n            stackSize = state.stackSize;\n            continue;\n          } else if (value === 11) {\n            state.stackSize = stackSize;\n            return true;\n          } else {\n            validationCommand = CharstringValidationData[value];\n          }\n\n          if (validationCommand) {\n            if (validationCommand.stem) {\n              state.hints += stackSize >> 1;\n\n              if (value === 3 || value === 23) {\n                state.hasVStems = true;\n              } else if (state.hasVStems && (value === 1 || value === 18)) {\n                (0, _util.warn)(\"CFF stem hints are in wrong order\");\n                data[j - 1] = value === 1 ? 3 : 23;\n              }\n            }\n\n            if (\"min\" in validationCommand) {\n              if (!state.undefStack && stackSize < validationCommand.min) {\n                (0, _util.warn)(\"Not enough parameters for \" + validationCommand.id + \"; actual: \" + stackSize + \", expected: \" + validationCommand.min);\n                return false;\n              }\n            }\n\n            if (state.firstStackClearing && validationCommand.stackClearing) {\n              state.firstStackClearing = false;\n              stackSize -= validationCommand.min;\n\n              if (stackSize >= 2 && validationCommand.stem) {\n                stackSize %= 2;\n              } else if (stackSize > 1) {\n                (0, _util.warn)(\"Found too many parameters for stack-clearing command\");\n              }\n\n              if (stackSize > 0 && stack[stackSize - 1] >= 0) {\n                state.width = stack[stackSize - 1];\n              }\n            }\n\n            if (\"stackDelta\" in validationCommand) {\n              if (\"stackFn\" in validationCommand) {\n                validationCommand.stackFn(stack, stackSize);\n              }\n\n              stackSize += validationCommand.stackDelta;\n            } else if (validationCommand.stackClearing) {\n              stackSize = 0;\n            } else if (validationCommand.resetStack) {\n              stackSize = 0;\n              state.undefStack = false;\n            } else if (validationCommand.undefStack) {\n              stackSize = 0;\n              state.undefStack = true;\n              state.firstStackClearing = false;\n            }\n          }\n        }\n\n        state.stackSize = stackSize;\n        return true;\n      }\n    }, {\n      key: \"parseCharStrings\",\n      value: function parseCharStrings(_ref) {\n        var charStrings = _ref.charStrings,\n            localSubrIndex = _ref.localSubrIndex,\n            globalSubrIndex = _ref.globalSubrIndex,\n            fdSelect = _ref.fdSelect,\n            fdArray = _ref.fdArray,\n            privateDict = _ref.privateDict;\n        var seacs = [];\n        var widths = [];\n        var count = charStrings.count;\n\n        for (var i = 0; i < count; i++) {\n          var charstring = charStrings.get(i);\n          var state = {\n            callDepth: 0,\n            stackSize: 0,\n            stack: [],\n            undefStack: true,\n            hints: 0,\n            firstStackClearing: true,\n            seac: null,\n            width: null,\n            hasVStems: false\n          };\n          var valid = true;\n          var localSubrToUse = null;\n          var privateDictToUse = privateDict;\n\n          if (fdSelect && fdArray.length) {\n            var fdIndex = fdSelect.getFDIndex(i);\n\n            if (fdIndex === -1) {\n              (0, _util.warn)(\"Glyph index is not in fd select.\");\n              valid = false;\n            }\n\n            if (fdIndex >= fdArray.length) {\n              (0, _util.warn)(\"Invalid fd index for glyph index.\");\n              valid = false;\n            }\n\n            if (valid) {\n              privateDictToUse = fdArray[fdIndex].privateDict;\n              localSubrToUse = privateDictToUse.subrsIndex;\n            }\n          } else if (localSubrIndex) {\n            localSubrToUse = localSubrIndex;\n          }\n\n          if (valid) {\n            valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex);\n          }\n\n          if (state.width !== null) {\n            var nominalWidth = privateDictToUse.getByName(\"nominalWidthX\");\n            widths[i] = nominalWidth + state.width;\n          } else {\n            var defaultWidth = privateDictToUse.getByName(\"defaultWidthX\");\n            widths[i] = defaultWidth;\n          }\n\n          if (state.seac !== null) {\n            seacs[i] = state.seac;\n          }\n\n          if (!valid) {\n            charStrings.set(i, new Uint8Array([14]));\n          }\n        }\n\n        return {\n          charStrings: charStrings,\n          seacs: seacs,\n          widths: widths\n        };\n      }\n    }, {\n      key: \"emptyPrivateDictionary\",\n      value: function emptyPrivateDictionary(parentDict) {\n        var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings);\n        parentDict.setByKey(18, [0, 0]);\n        parentDict.privateDict = privateDict;\n      }\n    }, {\n      key: \"parsePrivateDict\",\n      value: function parsePrivateDict(parentDict) {\n        if (!parentDict.hasName(\"Private\")) {\n          this.emptyPrivateDictionary(parentDict);\n          return;\n        }\n\n        var privateOffset = parentDict.getByName(\"Private\");\n\n        if (!Array.isArray(privateOffset) || privateOffset.length !== 2) {\n          parentDict.removeByName(\"Private\");\n          return;\n        }\n\n        var size = privateOffset[0];\n        var offset = privateOffset[1];\n\n        if (size === 0 || offset >= this.bytes.length) {\n          this.emptyPrivateDictionary(parentDict);\n          return;\n        }\n\n        var privateDictEnd = offset + size;\n        var dictData = this.bytes.subarray(offset, privateDictEnd);\n        var dict = this.parseDict(dictData);\n        var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings);\n        parentDict.privateDict = privateDict;\n\n        if (!privateDict.getByName(\"Subrs\")) {\n          return;\n        }\n\n        var subrsOffset = privateDict.getByName(\"Subrs\");\n        var relativeOffset = offset + subrsOffset;\n\n        if (subrsOffset === 0 || relativeOffset >= this.bytes.length) {\n          this.emptyPrivateDictionary(parentDict);\n          return;\n        }\n\n        var subrsIndex = this.parseIndex(relativeOffset);\n        privateDict.subrsIndex = subrsIndex.obj;\n      }\n    }, {\n      key: \"parseCharsets\",\n      value: function parseCharsets(pos, length, strings, cid) {\n        if (pos === 0) {\n          return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, _charsets.ISOAdobeCharset);\n        } else if (pos === 1) {\n          return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, _charsets.ExpertCharset);\n        } else if (pos === 2) {\n          return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, _charsets.ExpertSubsetCharset);\n        }\n\n        var bytes = this.bytes;\n        var start = pos;\n        var format = bytes[pos++];\n        var charset = [cid ? 0 : \".notdef\"];\n        var id, count, i;\n        length -= 1;\n\n        switch (format) {\n          case 0:\n            for (i = 0; i < length; i++) {\n              id = bytes[pos++] << 8 | bytes[pos++];\n              charset.push(cid ? id : strings.get(id));\n            }\n\n            break;\n\n          case 1:\n            while (charset.length <= length) {\n              id = bytes[pos++] << 8 | bytes[pos++];\n              count = bytes[pos++];\n\n              for (i = 0; i <= count; i++) {\n                charset.push(cid ? id++ : strings.get(id++));\n              }\n            }\n\n            break;\n\n          case 2:\n            while (charset.length <= length) {\n              id = bytes[pos++] << 8 | bytes[pos++];\n              count = bytes[pos++] << 8 | bytes[pos++];\n\n              for (i = 0; i <= count; i++) {\n                charset.push(cid ? id++ : strings.get(id++));\n              }\n            }\n\n            break;\n\n          default:\n            throw new _util.FormatError(\"Unknown charset format\");\n        }\n\n        var end = pos;\n        var raw = bytes.subarray(start, end);\n        return new CFFCharset(false, format, charset, raw);\n      }\n    }, {\n      key: \"parseEncoding\",\n      value: function parseEncoding(pos, properties, strings, charset) {\n        var encoding = Object.create(null);\n        var bytes = this.bytes;\n        var predefined = false;\n        var format, i, ii;\n        var raw = null;\n\n        function readSupplement() {\n          var supplementsCount = bytes[pos++];\n\n          for (i = 0; i < supplementsCount; i++) {\n            var code = bytes[pos++];\n            var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff);\n            encoding[code] = charset.indexOf(strings.get(sid));\n          }\n        }\n\n        if (pos === 0 || pos === 1) {\n          predefined = true;\n          format = pos;\n          var baseEncoding = pos ? _encodings.ExpertEncoding : _encodings.StandardEncoding;\n\n          for (i = 0, ii = charset.length; i < ii; i++) {\n            var index = baseEncoding.indexOf(charset[i]);\n\n            if (index !== -1) {\n              encoding[index] = i;\n            }\n          }\n        } else {\n          var dataStart = pos;\n          format = bytes[pos++];\n\n          switch (format & 0x7f) {\n            case 0:\n              var glyphsCount = bytes[pos++];\n\n              for (i = 1; i <= glyphsCount; i++) {\n                encoding[bytes[pos++]] = i;\n              }\n\n              break;\n\n            case 1:\n              var rangesCount = bytes[pos++];\n              var gid = 1;\n\n              for (i = 0; i < rangesCount; i++) {\n                var start = bytes[pos++];\n                var left = bytes[pos++];\n\n                for (var j = start; j <= start + left; j++) {\n                  encoding[j] = gid++;\n                }\n              }\n\n              break;\n\n            default:\n              throw new _util.FormatError(\"Unknown encoding format: \".concat(format, \" in CFF\"));\n          }\n\n          var dataEnd = pos;\n\n          if (format & 0x80) {\n            bytes[dataStart] &= 0x7f;\n            readSupplement();\n          }\n\n          raw = bytes.subarray(dataStart, dataEnd);\n        }\n\n        format = format & 0x7f;\n        return new CFFEncoding(predefined, format, encoding, raw);\n      }\n    }, {\n      key: \"parseFDSelect\",\n      value: function parseFDSelect(pos, length) {\n        var bytes = this.bytes;\n        var format = bytes[pos++];\n        var fdSelect = [];\n        var i;\n\n        switch (format) {\n          case 0:\n            for (i = 0; i < length; ++i) {\n              var id = bytes[pos++];\n              fdSelect.push(id);\n            }\n\n            break;\n\n          case 3:\n            var rangesCount = bytes[pos++] << 8 | bytes[pos++];\n\n            for (i = 0; i < rangesCount; ++i) {\n              var first = bytes[pos++] << 8 | bytes[pos++];\n\n              if (i === 0 && first !== 0) {\n                (0, _util.warn)(\"parseFDSelect: The first range must have a first GID of 0\" + \" -- trying to recover.\");\n                first = 0;\n              }\n\n              var fdIndex = bytes[pos++];\n              var next = bytes[pos] << 8 | bytes[pos + 1];\n\n              for (var j = first; j < next; ++j) {\n                fdSelect.push(fdIndex);\n              }\n            }\n\n            pos += 2;\n            break;\n\n          default:\n            throw new _util.FormatError(\"parseFDSelect: Unknown format \\\"\".concat(format, \"\\\".\"));\n        }\n\n        if (fdSelect.length !== length) {\n          throw new _util.FormatError(\"parseFDSelect: Invalid font data.\");\n        }\n\n        return new CFFFDSelect(format, fdSelect);\n      }\n    }]);\n\n    return CFFParser;\n  }();\n\n  return CFFParser;\n}();\n\nexports.CFFParser = CFFParser;\n\nvar CFF = /*#__PURE__*/function () {\n  function CFF() {\n    _classCallCheck(this, CFF);\n\n    this.header = null;\n    this.names = [];\n    this.topDict = null;\n    this.strings = new CFFStrings();\n    this.globalSubrIndex = null;\n    this.encoding = null;\n    this.charset = null;\n    this.charStrings = null;\n    this.fdArray = [];\n    this.fdSelect = null;\n    this.isCIDFont = false;\n  }\n\n  _createClass(CFF, [{\n    key: \"duplicateFirstGlyph\",\n    value: function duplicateFirstGlyph() {\n      if (this.charStrings.count >= 65535) {\n        (0, _util.warn)(\"Not enough space in charstrings to duplicate first glyph.\");\n        return;\n      }\n\n      var glyphZero = this.charStrings.get(0);\n      this.charStrings.add(glyphZero);\n\n      if (this.isCIDFont) {\n        this.fdSelect.fdSelect.push(this.fdSelect.fdSelect[0]);\n      }\n    }\n  }, {\n    key: \"hasGlyphId\",\n    value: function hasGlyphId(id) {\n      if (id < 0 || id >= this.charStrings.count) {\n        return false;\n      }\n\n      var glyph = this.charStrings.get(id);\n      return glyph.length > 0;\n    }\n  }]);\n\n  return CFF;\n}();\n\nexports.CFF = CFF;\n\nvar CFFHeader = function CFFHeader(major, minor, hdrSize, offSize) {\n  _classCallCheck(this, CFFHeader);\n\n  this.major = major;\n  this.minor = minor;\n  this.hdrSize = hdrSize;\n  this.offSize = offSize;\n};\n\nexports.CFFHeader = CFFHeader;\n\nvar CFFStrings = /*#__PURE__*/function () {\n  function CFFStrings() {\n    _classCallCheck(this, CFFStrings);\n\n    this.strings = [];\n  }\n\n  _createClass(CFFStrings, [{\n    key: \"get\",\n    value: function get(index) {\n      if (index >= 0 && index <= NUM_STANDARD_CFF_STRINGS - 1) {\n        return CFFStandardStrings[index];\n      }\n\n      if (index - NUM_STANDARD_CFF_STRINGS <= this.strings.length) {\n        return this.strings[index - NUM_STANDARD_CFF_STRINGS];\n      }\n\n      return CFFStandardStrings[0];\n    }\n  }, {\n    key: \"getSID\",\n    value: function getSID(str) {\n      var index = CFFStandardStrings.indexOf(str);\n\n      if (index !== -1) {\n        return index;\n      }\n\n      index = this.strings.indexOf(str);\n\n      if (index !== -1) {\n        return index + NUM_STANDARD_CFF_STRINGS;\n      }\n\n      return -1;\n    }\n  }, {\n    key: \"add\",\n    value: function add(value) {\n      this.strings.push(value);\n    }\n  }, {\n    key: \"count\",\n    get: function get() {\n      return this.strings.length;\n    }\n  }]);\n\n  return CFFStrings;\n}();\n\nexports.CFFStrings = CFFStrings;\n\nvar CFFIndex = /*#__PURE__*/function () {\n  function CFFIndex() {\n    _classCallCheck(this, CFFIndex);\n\n    this.objects = [];\n    this.length = 0;\n  }\n\n  _createClass(CFFIndex, [{\n    key: \"add\",\n    value: function add(data) {\n      this.length += data.length;\n      this.objects.push(data);\n    }\n  }, {\n    key: \"set\",\n    value: function set(index, data) {\n      this.length += data.length - this.objects[index].length;\n      this.objects[index] = data;\n    }\n  }, {\n    key: \"get\",\n    value: function get(index) {\n      return this.objects[index];\n    }\n  }, {\n    key: \"count\",\n    get: function get() {\n      return this.objects.length;\n    }\n  }]);\n\n  return CFFIndex;\n}();\n\nexports.CFFIndex = CFFIndex;\n\nvar CFFDict = /*#__PURE__*/function () {\n  function CFFDict(tables, strings) {\n    _classCallCheck(this, CFFDict);\n\n    this.keyToNameMap = tables.keyToNameMap;\n    this.nameToKeyMap = tables.nameToKeyMap;\n    this.defaults = tables.defaults;\n    this.types = tables.types;\n    this.opcodes = tables.opcodes;\n    this.order = tables.order;\n    this.strings = strings;\n    this.values = Object.create(null);\n  }\n\n  _createClass(CFFDict, [{\n    key: \"setByKey\",\n    value: function setByKey(key, value) {\n      if (!(key in this.keyToNameMap)) {\n        return false;\n      }\n\n      var valueLength = value.length;\n\n      if (valueLength === 0) {\n        return true;\n      }\n\n      for (var i = 0; i < valueLength; i++) {\n        if (isNaN(value[i])) {\n          (0, _util.warn)('Invalid CFFDict value: \"' + value + '\" for key \"' + key + '\".');\n          return true;\n        }\n      }\n\n      var type = this.types[key];\n\n      if (type === \"num\" || type === \"sid\" || type === \"offset\") {\n        value = value[0];\n      }\n\n      this.values[key] = value;\n      return true;\n    }\n  }, {\n    key: \"setByName\",\n    value: function setByName(name, value) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError(\"Invalid dictionary name \\\"\".concat(name, \"\\\"\"));\n      }\n\n      this.values[this.nameToKeyMap[name]] = value;\n    }\n  }, {\n    key: \"hasName\",\n    value: function hasName(name) {\n      return this.nameToKeyMap[name] in this.values;\n    }\n  }, {\n    key: \"getByName\",\n    value: function getByName(name) {\n      if (!(name in this.nameToKeyMap)) {\n        throw new _util.FormatError(\"Invalid dictionary name \".concat(name, \"\\\"\"));\n      }\n\n      var key = this.nameToKeyMap[name];\n\n      if (!(key in this.values)) {\n        return this.defaults[key];\n      }\n\n      return this.values[key];\n    }\n  }, {\n    key: \"removeByName\",\n    value: function removeByName(name) {\n      delete this.values[this.nameToKeyMap[name]];\n    }\n  }], [{\n    key: \"createTables\",\n    value: function createTables(layout) {\n      var tables = {\n        keyToNameMap: {},\n        nameToKeyMap: {},\n        defaults: {},\n        types: {},\n        opcodes: {},\n        order: []\n      };\n\n      for (var i = 0, ii = layout.length; i < ii; ++i) {\n        var entry = layout[i];\n        var key = Array.isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0];\n        tables.keyToNameMap[key] = entry[1];\n        tables.nameToKeyMap[entry[1]] = key;\n        tables.types[key] = entry[2];\n        tables.defaults[key] = entry[3];\n        tables.opcodes[key] = Array.isArray(entry[0]) ? entry[0] : [entry[0]];\n        tables.order.push(key);\n      }\n\n      return tables;\n    }\n  }]);\n\n  return CFFDict;\n}();\n\nvar CFFTopDict = function CFFTopDictClosure() {\n  var layout = [[[12, 30], \"ROS\", [\"sid\", \"sid\", \"num\"], null], [[12, 20], \"SyntheticBase\", \"num\", null], [0, \"version\", \"sid\", null], [1, \"Notice\", \"sid\", null], [[12, 0], \"Copyright\", \"sid\", null], [2, \"FullName\", \"sid\", null], [3, \"FamilyName\", \"sid\", null], [4, \"Weight\", \"sid\", null], [[12, 1], \"isFixedPitch\", \"num\", 0], [[12, 2], \"ItalicAngle\", \"num\", 0], [[12, 3], \"UnderlinePosition\", \"num\", -100], [[12, 4], \"UnderlineThickness\", \"num\", 50], [[12, 5], \"PaintType\", \"num\", 0], [[12, 6], \"CharstringType\", \"num\", 2], [[12, 7], \"FontMatrix\", [\"num\", \"num\", \"num\", \"num\", \"num\", \"num\"], [0.001, 0, 0, 0.001, 0, 0]], [13, \"UniqueID\", \"num\", null], [5, \"FontBBox\", [\"num\", \"num\", \"num\", \"num\"], [0, 0, 0, 0]], [[12, 8], \"StrokeWidth\", \"num\", 0], [14, \"XUID\", \"array\", null], [15, \"charset\", \"offset\", 0], [16, \"Encoding\", \"offset\", 0], [17, \"CharStrings\", \"offset\", 0], [18, \"Private\", [\"offset\", \"offset\"], null], [[12, 21], \"PostScript\", \"sid\", null], [[12, 22], \"BaseFontName\", \"sid\", null], [[12, 23], \"BaseFontBlend\", \"delta\", null], [[12, 31], \"CIDFontVersion\", \"num\", 0], [[12, 32], \"CIDFontRevision\", \"num\", 0], [[12, 33], \"CIDFontType\", \"num\", 0], [[12, 34], \"CIDCount\", \"num\", 8720], [[12, 35], \"UIDBase\", \"num\", null], [[12, 37], \"FDSelect\", \"offset\", null], [[12, 36], \"FDArray\", \"offset\", null], [[12, 38], \"FontName\", \"sid\", null]];\n  var tables = null;\n\n  var CFFTopDict = /*#__PURE__*/function (_CFFDict) {\n    _inherits(CFFTopDict, _CFFDict);\n\n    var _super = _createSuper(CFFTopDict);\n\n    function CFFTopDict(strings) {\n      var _this;\n\n      _classCallCheck(this, CFFTopDict);\n\n      if (tables === null) {\n        tables = CFFDict.createTables(layout);\n      }\n\n      _this = _super.call(this, tables, strings);\n      _this.privateDict = null;\n      return _this;\n    }\n\n    return CFFTopDict;\n  }(CFFDict);\n\n  return CFFTopDict;\n}();\n\nexports.CFFTopDict = CFFTopDict;\n\nvar CFFPrivateDict = function CFFPrivateDictClosure() {\n  var layout = [[6, \"BlueValues\", \"delta\", null], [7, \"OtherBlues\", \"delta\", null], [8, \"FamilyBlues\", \"delta\", null], [9, \"FamilyOtherBlues\", \"delta\", null], [[12, 9], \"BlueScale\", \"num\", 0.039625], [[12, 10], \"BlueShift\", \"num\", 7], [[12, 11], \"BlueFuzz\", \"num\", 1], [10, \"StdHW\", \"num\", null], [11, \"StdVW\", \"num\", null], [[12, 12], \"StemSnapH\", \"delta\", null], [[12, 13], \"StemSnapV\", \"delta\", null], [[12, 14], \"ForceBold\", \"num\", 0], [[12, 17], \"LanguageGroup\", \"num\", 0], [[12, 18], \"ExpansionFactor\", \"num\", 0.06], [[12, 19], \"initialRandomSeed\", \"num\", 0], [20, \"defaultWidthX\", \"num\", 0], [21, \"nominalWidthX\", \"num\", 0], [19, \"Subrs\", \"offset\", null]];\n  var tables = null;\n\n  var CFFPrivateDict = /*#__PURE__*/function (_CFFDict2) {\n    _inherits(CFFPrivateDict, _CFFDict2);\n\n    var _super2 = _createSuper(CFFPrivateDict);\n\n    function CFFPrivateDict(strings) {\n      var _this2;\n\n      _classCallCheck(this, CFFPrivateDict);\n\n      if (tables === null) {\n        tables = CFFDict.createTables(layout);\n      }\n\n      _this2 = _super2.call(this, tables, strings);\n      _this2.subrsIndex = null;\n      return _this2;\n    }\n\n    return CFFPrivateDict;\n  }(CFFDict);\n\n  return CFFPrivateDict;\n}();\n\nexports.CFFPrivateDict = CFFPrivateDict;\nvar CFFCharsetPredefinedTypes = {\n  ISO_ADOBE: 0,\n  EXPERT: 1,\n  EXPERT_SUBSET: 2\n};\n\nvar CFFCharset = function CFFCharset(predefined, format, charset, raw) {\n  _classCallCheck(this, CFFCharset);\n\n  this.predefined = predefined;\n  this.format = format;\n  this.charset = charset;\n  this.raw = raw;\n};\n\nexports.CFFCharset = CFFCharset;\n\nvar CFFEncoding = function CFFEncoding(predefined, format, encoding, raw) {\n  _classCallCheck(this, CFFEncoding);\n\n  this.predefined = predefined;\n  this.format = format;\n  this.encoding = encoding;\n  this.raw = raw;\n};\n\nvar CFFFDSelect = /*#__PURE__*/function () {\n  function CFFFDSelect(format, fdSelect) {\n    _classCallCheck(this, CFFFDSelect);\n\n    this.format = format;\n    this.fdSelect = fdSelect;\n  }\n\n  _createClass(CFFFDSelect, [{\n    key: \"getFDIndex\",\n    value: function getFDIndex(glyphIndex) {\n      if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) {\n        return -1;\n      }\n\n      return this.fdSelect[glyphIndex];\n    }\n  }]);\n\n  return CFFFDSelect;\n}();\n\nexports.CFFFDSelect = CFFFDSelect;\n\nvar CFFOffsetTracker = /*#__PURE__*/function () {\n  function CFFOffsetTracker() {\n    _classCallCheck(this, CFFOffsetTracker);\n\n    this.offsets = Object.create(null);\n  }\n\n  _createClass(CFFOffsetTracker, [{\n    key: \"isTracking\",\n    value: function isTracking(key) {\n      return key in this.offsets;\n    }\n  }, {\n    key: \"track\",\n    value: function track(key, location) {\n      if (key in this.offsets) {\n        throw new _util.FormatError(\"Already tracking location of \".concat(key));\n      }\n\n      this.offsets[key] = location;\n    }\n  }, {\n    key: \"offset\",\n    value: function offset(value) {\n      for (var key in this.offsets) {\n        this.offsets[key] += value;\n      }\n    }\n  }, {\n    key: \"setEntryLocation\",\n    value: function setEntryLocation(key, values, output) {\n      if (!(key in this.offsets)) {\n        throw new _util.FormatError(\"Not tracking location of \".concat(key));\n      }\n\n      var data = output.data;\n      var dataOffset = this.offsets[key];\n      var size = 5;\n\n      for (var i = 0, ii = values.length; i < ii; ++i) {\n        var offset0 = i * size + dataOffset;\n        var offset1 = offset0 + 1;\n        var offset2 = offset0 + 2;\n        var offset3 = offset0 + 3;\n        var offset4 = offset0 + 4;\n\n        if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) {\n          throw new _util.FormatError(\"writing to an offset that is not empty\");\n        }\n\n        var value = values[i];\n        data[offset0] = 0x1d;\n        data[offset1] = value >> 24 & 0xff;\n        data[offset2] = value >> 16 & 0xff;\n        data[offset3] = value >> 8 & 0xff;\n        data[offset4] = value & 0xff;\n      }\n    }\n  }]);\n\n  return CFFOffsetTracker;\n}();\n\nvar CFFCompiler = /*#__PURE__*/function () {\n  function CFFCompiler(cff) {\n    _classCallCheck(this, CFFCompiler);\n\n    this.cff = cff;\n  }\n\n  _createClass(CFFCompiler, [{\n    key: \"compile\",\n    value: function compile() {\n      var cff = this.cff;\n      var output = {\n        data: [],\n        length: 0,\n        add: function CFFCompiler_add(data) {\n          this.data = this.data.concat(data);\n          this.length = this.data.length;\n        }\n      };\n      var header = this.compileHeader(cff.header);\n      output.add(header);\n      var nameIndex = this.compileNameIndex(cff.names);\n      output.add(nameIndex);\n\n      if (cff.isCIDFont) {\n        if (cff.topDict.hasName(\"FontMatrix\")) {\n          var base = cff.topDict.getByName(\"FontMatrix\");\n          cff.topDict.removeByName(\"FontMatrix\");\n\n          for (var i = 0, ii = cff.fdArray.length; i < ii; i++) {\n            var subDict = cff.fdArray[i];\n            var matrix = base.slice(0);\n\n            if (subDict.hasName(\"FontMatrix\")) {\n              matrix = _util.Util.transform(matrix, subDict.getByName(\"FontMatrix\"));\n            }\n\n            subDict.setByName(\"FontMatrix\", matrix);\n          }\n        }\n      }\n\n      var xuid = cff.topDict.getByName(\"XUID\");\n\n      if (xuid && xuid.length > 16) {\n        cff.topDict.removeByName(\"XUID\");\n      }\n\n      cff.topDict.setByName(\"charset\", 0);\n      var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont);\n      output.add(compiled.output);\n      var topDictTracker = compiled.trackers[0];\n      var stringIndex = this.compileStringIndex(cff.strings.strings);\n      output.add(stringIndex);\n      var globalSubrIndex = this.compileIndex(cff.globalSubrIndex);\n      output.add(globalSubrIndex);\n\n      if (cff.encoding && cff.topDict.hasName(\"Encoding\")) {\n        if (cff.encoding.predefined) {\n          topDictTracker.setEntryLocation(\"Encoding\", [cff.encoding.format], output);\n        } else {\n          var encoding = this.compileEncoding(cff.encoding);\n          topDictTracker.setEntryLocation(\"Encoding\", [output.length], output);\n          output.add(encoding);\n        }\n      }\n\n      var charset = this.compileCharset(cff.charset, cff.charStrings.count, cff.strings, cff.isCIDFont);\n      topDictTracker.setEntryLocation(\"charset\", [output.length], output);\n      output.add(charset);\n      var charStrings = this.compileCharStrings(cff.charStrings);\n      topDictTracker.setEntryLocation(\"CharStrings\", [output.length], output);\n      output.add(charStrings);\n\n      if (cff.isCIDFont) {\n        topDictTracker.setEntryLocation(\"FDSelect\", [output.length], output);\n        var fdSelect = this.compileFDSelect(cff.fdSelect);\n        output.add(fdSelect);\n        compiled = this.compileTopDicts(cff.fdArray, output.length, true);\n        topDictTracker.setEntryLocation(\"FDArray\", [output.length], output);\n        output.add(compiled.output);\n        var fontDictTrackers = compiled.trackers;\n        this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output);\n      }\n\n      this.compilePrivateDicts([cff.topDict], [topDictTracker], output);\n      output.add([0]);\n      return output.data;\n    }\n  }, {\n    key: \"encodeNumber\",\n    value: function encodeNumber(value) {\n      if (Number.isInteger(value)) {\n        return this.encodeInteger(value);\n      }\n\n      return this.encodeFloat(value);\n    }\n  }, {\n    key: \"encodeFloat\",\n    value: function encodeFloat(num) {\n      var value = num.toString();\n      var m = CFFCompiler.EncodeFloatRegExp.exec(value);\n\n      if (m) {\n        var epsilon = parseFloat(\"1e\" + ((m[2] ? +m[2] : 0) + m[1].length));\n        value = (Math.round(num * epsilon) / epsilon).toString();\n      }\n\n      var nibbles = \"\";\n      var i, ii;\n\n      for (i = 0, ii = value.length; i < ii; ++i) {\n        var a = value[i];\n\n        if (a === \"e\") {\n          nibbles += value[++i] === \"-\" ? \"c\" : \"b\";\n        } else if (a === \".\") {\n          nibbles += \"a\";\n        } else if (a === \"-\") {\n          nibbles += \"e\";\n        } else {\n          nibbles += a;\n        }\n      }\n\n      nibbles += nibbles.length & 1 ? \"f\" : \"ff\";\n      var out = [30];\n\n      for (i = 0, ii = nibbles.length; i < ii; i += 2) {\n        out.push(parseInt(nibbles.substring(i, i + 2), 16));\n      }\n\n      return out;\n    }\n  }, {\n    key: \"encodeInteger\",\n    value: function encodeInteger(value) {\n      var code;\n\n      if (value >= -107 && value <= 107) {\n        code = [value + 139];\n      } else if (value >= 108 && value <= 1131) {\n        value = value - 108;\n        code = [(value >> 8) + 247, value & 0xff];\n      } else if (value >= -1131 && value <= -108) {\n        value = -value - 108;\n        code = [(value >> 8) + 251, value & 0xff];\n      } else if (value >= -32768 && value <= 32767) {\n        code = [0x1c, value >> 8 & 0xff, value & 0xff];\n      } else {\n        code = [0x1d, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff];\n      }\n\n      return code;\n    }\n  }, {\n    key: \"compileHeader\",\n    value: function compileHeader(header) {\n      return [header.major, header.minor, header.hdrSize, header.offSize];\n    }\n  }, {\n    key: \"compileNameIndex\",\n    value: function compileNameIndex(names) {\n      var nameIndex = new CFFIndex();\n\n      for (var i = 0, ii = names.length; i < ii; ++i) {\n        var name = names[i];\n        var length = Math.min(name.length, 127);\n        var sanitizedName = new Array(length);\n\n        for (var j = 0; j < length; j++) {\n          var _char = name[j];\n\n          if (_char < \"!\" || _char > \"~\" || _char === \"[\" || _char === \"]\" || _char === \"(\" || _char === \")\" || _char === \"{\" || _char === \"}\" || _char === \"<\" || _char === \">\" || _char === \"/\" || _char === \"%\") {\n            _char = \"_\";\n          }\n\n          sanitizedName[j] = _char;\n        }\n\n        sanitizedName = sanitizedName.join(\"\");\n\n        if (sanitizedName === \"\") {\n          sanitizedName = \"Bad_Font_Name\";\n        }\n\n        nameIndex.add((0, _util.stringToBytes)(sanitizedName));\n      }\n\n      return this.compileIndex(nameIndex);\n    }\n  }, {\n    key: \"compileTopDicts\",\n    value: function compileTopDicts(dicts, length, removeCidKeys) {\n      var fontDictTrackers = [];\n      var fdArrayIndex = new CFFIndex();\n\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n\n        if (removeCidKeys) {\n          fontDict.removeByName(\"CIDFontVersion\");\n          fontDict.removeByName(\"CIDFontRevision\");\n          fontDict.removeByName(\"CIDFontType\");\n          fontDict.removeByName(\"CIDCount\");\n          fontDict.removeByName(\"UIDBase\");\n        }\n\n        var fontDictTracker = new CFFOffsetTracker();\n        var fontDictData = this.compileDict(fontDict, fontDictTracker);\n        fontDictTrackers.push(fontDictTracker);\n        fdArrayIndex.add(fontDictData);\n        fontDictTracker.offset(length);\n      }\n\n      fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers);\n      return {\n        trackers: fontDictTrackers,\n        output: fdArrayIndex\n      };\n    }\n  }, {\n    key: \"compilePrivateDicts\",\n    value: function compilePrivateDicts(dicts, trackers, output) {\n      for (var i = 0, ii = dicts.length; i < ii; ++i) {\n        var fontDict = dicts[i];\n        var privateDict = fontDict.privateDict;\n\n        if (!privateDict || !fontDict.hasName(\"Private\")) {\n          throw new _util.FormatError(\"There must be a private dictionary.\");\n        }\n\n        var privateDictTracker = new CFFOffsetTracker();\n        var privateDictData = this.compileDict(privateDict, privateDictTracker);\n        var outputLength = output.length;\n        privateDictTracker.offset(outputLength);\n\n        if (!privateDictData.length) {\n          outputLength = 0;\n        }\n\n        trackers[i].setEntryLocation(\"Private\", [privateDictData.length, outputLength], output);\n        output.add(privateDictData);\n\n        if (privateDict.subrsIndex && privateDict.hasName(\"Subrs\")) {\n          var subrs = this.compileIndex(privateDict.subrsIndex);\n          privateDictTracker.setEntryLocation(\"Subrs\", [privateDictData.length], output);\n          output.add(subrs);\n        }\n      }\n    }\n  }, {\n    key: \"compileDict\",\n    value: function compileDict(dict, offsetTracker) {\n      var out = [];\n      var order = dict.order;\n\n      for (var i = 0; i < order.length; ++i) {\n        var key = order[i];\n\n        if (!(key in dict.values)) {\n          continue;\n        }\n\n        var values = dict.values[key];\n        var types = dict.types[key];\n\n        if (!Array.isArray(types)) {\n          types = [types];\n        }\n\n        if (!Array.isArray(values)) {\n          values = [values];\n        }\n\n        if (values.length === 0) {\n          continue;\n        }\n\n        for (var j = 0, jj = types.length; j < jj; ++j) {\n          var type = types[j];\n          var value = values[j];\n\n          switch (type) {\n            case \"num\":\n            case \"sid\":\n              out = out.concat(this.encodeNumber(value));\n              break;\n\n            case \"offset\":\n              var name = dict.keyToNameMap[key];\n\n              if (!offsetTracker.isTracking(name)) {\n                offsetTracker.track(name, out.length);\n              }\n\n              out = out.concat([0x1d, 0, 0, 0, 0]);\n              break;\n\n            case \"array\":\n            case \"delta\":\n              out = out.concat(this.encodeNumber(value));\n\n              for (var k = 1, kk = values.length; k < kk; ++k) {\n                out = out.concat(this.encodeNumber(values[k]));\n              }\n\n              break;\n\n            default:\n              throw new _util.FormatError(\"Unknown data type of \".concat(type));\n          }\n        }\n\n        out = out.concat(dict.opcodes[key]);\n      }\n\n      return out;\n    }\n  }, {\n    key: \"compileStringIndex\",\n    value: function compileStringIndex(strings) {\n      var stringIndex = new CFFIndex();\n\n      for (var i = 0, ii = strings.length; i < ii; ++i) {\n        stringIndex.add((0, _util.stringToBytes)(strings[i]));\n      }\n\n      return this.compileIndex(stringIndex);\n    }\n  }, {\n    key: \"compileGlobalSubrIndex\",\n    value: function compileGlobalSubrIndex() {\n      var globalSubrIndex = this.cff.globalSubrIndex;\n      this.out.writeByteArray(this.compileIndex(globalSubrIndex));\n    }\n  }, {\n    key: \"compileCharStrings\",\n    value: function compileCharStrings(charStrings) {\n      var charStringsIndex = new CFFIndex();\n\n      for (var i = 0; i < charStrings.count; i++) {\n        var glyph = charStrings.get(i);\n\n        if (glyph.length === 0) {\n          charStringsIndex.add(new Uint8Array([0x8b, 0x0e]));\n          continue;\n        }\n\n        charStringsIndex.add(glyph);\n      }\n\n      return this.compileIndex(charStringsIndex);\n    }\n  }, {\n    key: \"compileCharset\",\n    value: function compileCharset(charset, numGlyphs, strings, isCIDFont) {\n      var out;\n      var numGlyphsLessNotDef = numGlyphs - 1;\n\n      if (isCIDFont) {\n        out = new Uint8Array([2, 0, 0, numGlyphsLessNotDef >> 8 & 0xff, numGlyphsLessNotDef & 0xff]);\n      } else {\n        var length = 1 + numGlyphsLessNotDef * 2;\n        out = new Uint8Array(length);\n        out[0] = 0;\n        var charsetIndex = 0;\n        var numCharsets = charset.charset.length;\n        var warned = false;\n\n        for (var i = 1; i < out.length; i += 2) {\n          var sid = 0;\n\n          if (charsetIndex < numCharsets) {\n            var name = charset.charset[charsetIndex++];\n            sid = strings.getSID(name);\n\n            if (sid === -1) {\n              sid = 0;\n\n              if (!warned) {\n                warned = true;\n                (0, _util.warn)(\"Couldn't find \".concat(name, \" in CFF strings\"));\n              }\n            }\n          }\n\n          out[i] = sid >> 8 & 0xff;\n          out[i + 1] = sid & 0xff;\n        }\n      }\n\n      return this.compileTypedArray(out);\n    }\n  }, {\n    key: \"compileEncoding\",\n    value: function compileEncoding(encoding) {\n      return this.compileTypedArray(encoding.raw);\n    }\n  }, {\n    key: \"compileFDSelect\",\n    value: function compileFDSelect(fdSelect) {\n      var format = fdSelect.format;\n      var out, i;\n\n      switch (format) {\n        case 0:\n          out = new Uint8Array(1 + fdSelect.fdSelect.length);\n          out[0] = format;\n\n          for (i = 0; i < fdSelect.fdSelect.length; i++) {\n            out[i + 1] = fdSelect.fdSelect[i];\n          }\n\n          break;\n\n        case 3:\n          var start = 0;\n          var lastFD = fdSelect.fdSelect[0];\n          var ranges = [format, 0, 0, start >> 8 & 0xff, start & 0xff, lastFD];\n\n          for (i = 1; i < fdSelect.fdSelect.length; i++) {\n            var currentFD = fdSelect.fdSelect[i];\n\n            if (currentFD !== lastFD) {\n              ranges.push(i >> 8 & 0xff, i & 0xff, currentFD);\n              lastFD = currentFD;\n            }\n          }\n\n          var numRanges = (ranges.length - 3) / 3;\n          ranges[1] = numRanges >> 8 & 0xff;\n          ranges[2] = numRanges & 0xff;\n          ranges.push(i >> 8 & 0xff, i & 0xff);\n          out = new Uint8Array(ranges);\n          break;\n      }\n\n      return this.compileTypedArray(out);\n    }\n  }, {\n    key: \"compileTypedArray\",\n    value: function compileTypedArray(data) {\n      var out = [];\n\n      for (var i = 0, ii = data.length; i < ii; ++i) {\n        out[i] = data[i];\n      }\n\n      return out;\n    }\n  }, {\n    key: \"compileIndex\",\n    value: function compileIndex(index) {\n      var trackers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n      var objects = index.objects;\n      var count = objects.length;\n\n      if (count === 0) {\n        return [0, 0, 0];\n      }\n\n      var data = [count >> 8 & 0xff, count & 0xff];\n      var lastOffset = 1,\n          i;\n\n      for (i = 0; i < count; ++i) {\n        lastOffset += objects[i].length;\n      }\n\n      var offsetSize;\n\n      if (lastOffset < 0x100) {\n        offsetSize = 1;\n      } else if (lastOffset < 0x10000) {\n        offsetSize = 2;\n      } else if (lastOffset < 0x1000000) {\n        offsetSize = 3;\n      } else {\n        offsetSize = 4;\n      }\n\n      data.push(offsetSize);\n      var relativeOffset = 1;\n\n      for (i = 0; i < count + 1; i++) {\n        if (offsetSize === 1) {\n          data.push(relativeOffset & 0xff);\n        } else if (offsetSize === 2) {\n          data.push(relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        } else if (offsetSize === 3) {\n          data.push(relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        } else {\n          data.push(relativeOffset >>> 24 & 0xff, relativeOffset >> 16 & 0xff, relativeOffset >> 8 & 0xff, relativeOffset & 0xff);\n        }\n\n        if (objects[i]) {\n          relativeOffset += objects[i].length;\n        }\n      }\n\n      for (i = 0; i < count; i++) {\n        if (trackers[i]) {\n          trackers[i].offset(data.length);\n        }\n\n        for (var j = 0, jj = objects[i].length; j < jj; j++) {\n          data.push(objects[i][j]);\n        }\n      }\n\n      return data;\n    }\n  }], [{\n    key: \"EncodeFloatRegExp\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"EncodeFloatRegExp\", /\\.(\\d*?)(?:9{5,20}|0{5,20})\\d{0,2}(?:e(.+)|$)/);\n    }\n  }]);\n\n  return CFFCompiler;\n}();\n\nexports.CFFCompiler = CFFCompiler;\n\n/***/ }),\n/* 161 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.ISOAdobeCharset = exports.ExpertSubsetCharset = exports.ExpertCharset = void 0;\nvar ISOAdobeCharset = [\".notdef\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"questiondown\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"AE\", \"ordfeminine\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"ae\", \"dotlessi\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"onesuperior\", \"logicalnot\", \"mu\", \"trademark\", \"Eth\", \"onehalf\", \"plusminus\", \"Thorn\", \"onequarter\", \"divide\", \"brokenbar\", \"degree\", \"thorn\", \"threequarters\", \"twosuperior\", \"registered\", \"minus\", \"eth\", \"multiply\", \"threesuperior\", \"copyright\", \"Aacute\", \"Acircumflex\", \"Adieresis\", \"Agrave\", \"Aring\", \"Atilde\", \"Ccedilla\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Ntilde\", \"Oacute\", \"Ocircumflex\", \"Odieresis\", \"Ograve\", \"Otilde\", \"Scaron\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Ugrave\", \"Yacute\", \"Ydieresis\", \"Zcaron\", \"aacute\", \"acircumflex\", \"adieresis\", \"agrave\", \"aring\", \"atilde\", \"ccedilla\", \"eacute\", \"ecircumflex\", \"edieresis\", \"egrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"igrave\", \"ntilde\", \"oacute\", \"ocircumflex\", \"odieresis\", \"ograve\", \"otilde\", \"scaron\", \"uacute\", \"ucircumflex\", \"udieresis\", \"ugrave\", \"yacute\", \"ydieresis\", \"zcaron\"];\nexports.ISOAdobeCharset = ISOAdobeCharset;\nvar ExpertCharset = [\".notdef\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"Dotaccentsmall\", \"Macronsmall\", \"figuredash\", \"hypheninferior\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertCharset = ExpertCharset;\nvar ExpertSubsetCharset = [\".notdef\", \"space\", \"dollaroldstyle\", \"dollarsuperior\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"isuperior\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"parenrightinferior\", \"hyphensuperior\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"centoldstyle\", \"figuredash\", \"hypheninferior\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\"];\nexports.ExpertSubsetCharset = ExpertSubsetCharset;\n\n/***/ }),\n/* 162 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getEncoding = getEncoding;\nexports.ZapfDingbatsEncoding = exports.WinAnsiEncoding = exports.SymbolSetEncoding = exports.StandardEncoding = exports.MacRomanEncoding = exports.ExpertEncoding = void 0;\nvar ExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"commasuperior\", \"threequartersemdash\", \"periodsuperior\", \"questionsmall\", \"\", \"asuperior\", \"bsuperior\", \"centsuperior\", \"dsuperior\", \"esuperior\", \"\", \"\", \"\", \"isuperior\", \"\", \"\", \"lsuperior\", \"msuperior\", \"nsuperior\", \"osuperior\", \"\", \"\", \"rsuperior\", \"ssuperior\", \"tsuperior\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hyphensuperior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"centoldstyle\", \"Lslashsmall\", \"\", \"\", \"Scaronsmall\", \"Zcaronsmall\", \"Dieresissmall\", \"Brevesmall\", \"Caronsmall\", \"\", \"Dotaccentsmall\", \"\", \"\", \"Macronsmall\", \"\", \"\", \"figuredash\", \"hypheninferior\", \"\", \"\", \"Ogoneksmall\", \"Ringsmall\", \"Cedillasmall\", \"\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondownsmall\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"zerosuperior\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"eightsuperior\", \"ninesuperior\", \"zeroinferior\", \"oneinferior\", \"twoinferior\", \"threeinferior\", \"fourinferior\", \"fiveinferior\", \"sixinferior\", \"seveninferior\", \"eightinferior\", \"nineinferior\", \"centinferior\", \"dollarinferior\", \"periodinferior\", \"commainferior\", \"Agravesmall\", \"Aacutesmall\", \"Acircumflexsmall\", \"Atildesmall\", \"Adieresissmall\", \"Aringsmall\", \"AEsmall\", \"Ccedillasmall\", \"Egravesmall\", \"Eacutesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Igravesmall\", \"Iacutesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ethsmall\", \"Ntildesmall\", \"Ogravesmall\", \"Oacutesmall\", \"Ocircumflexsmall\", \"Otildesmall\", \"Odieresissmall\", \"OEsmall\", \"Oslashsmall\", \"Ugravesmall\", \"Uacutesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"Yacutesmall\", \"Thornsmall\", \"Ydieresissmall\"];\nexports.ExpertEncoding = ExpertEncoding;\nvar MacExpertEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclamsmall\", \"Hungarumlautsmall\", \"centoldstyle\", \"dollaroldstyle\", \"dollarsuperior\", \"ampersandsmall\", \"Acutesmall\", \"parenleftsuperior\", \"parenrightsuperior\", \"twodotenleader\", \"onedotenleader\", \"comma\", \"hyphen\", \"period\", \"fraction\", \"zerooldstyle\", \"oneoldstyle\", \"twooldstyle\", \"threeoldstyle\", \"fouroldstyle\", \"fiveoldstyle\", \"sixoldstyle\", \"sevenoldstyle\", \"eightoldstyle\", \"nineoldstyle\", \"colon\", \"semicolon\", \"\", \"threequartersemdash\", \"\", \"questionsmall\", \"\", \"\", \"\", \"\", \"Ethsmall\", \"\", \"\", \"onequarter\", \"onehalf\", \"threequarters\", \"oneeighth\", \"threeeighths\", \"fiveeighths\", \"seveneighths\", \"onethird\", \"twothirds\", \"\", \"\", \"\", \"\", \"\", \"\", \"ff\", \"fi\", \"fl\", \"ffi\", \"ffl\", \"parenleftinferior\", \"\", \"parenrightinferior\", \"Circumflexsmall\", \"hypheninferior\", \"Gravesmall\", \"Asmall\", \"Bsmall\", \"Csmall\", \"Dsmall\", \"Esmall\", \"Fsmall\", \"Gsmall\", \"Hsmall\", \"Ismall\", \"Jsmall\", \"Ksmall\", \"Lsmall\", \"Msmall\", \"Nsmall\", \"Osmall\", \"Psmall\", \"Qsmall\", \"Rsmall\", \"Ssmall\", \"Tsmall\", \"Usmall\", \"Vsmall\", \"Wsmall\", \"Xsmall\", \"Ysmall\", \"Zsmall\", \"colonmonetary\", \"onefitted\", \"rupiah\", \"Tildesmall\", \"\", \"\", \"asuperior\", \"centsuperior\", \"\", \"\", \"\", \"\", \"Aacutesmall\", \"Agravesmall\", \"Acircumflexsmall\", \"Adieresissmall\", \"Atildesmall\", \"Aringsmall\", \"Ccedillasmall\", \"Eacutesmall\", \"Egravesmall\", \"Ecircumflexsmall\", \"Edieresissmall\", \"Iacutesmall\", \"Igravesmall\", \"Icircumflexsmall\", \"Idieresissmall\", \"Ntildesmall\", \"Oacutesmall\", \"Ogravesmall\", \"Ocircumflexsmall\", \"Odieresissmall\", \"Otildesmall\", \"Uacutesmall\", \"Ugravesmall\", \"Ucircumflexsmall\", \"Udieresissmall\", \"\", \"eightsuperior\", \"fourinferior\", \"threeinferior\", \"sixinferior\", \"eightinferior\", \"seveninferior\", \"Scaronsmall\", \"\", \"centinferior\", \"twoinferior\", \"\", \"Dieresissmall\", \"\", \"Caronsmall\", \"osuperior\", \"fiveinferior\", \"\", \"commainferior\", \"periodinferior\", \"Yacutesmall\", \"\", \"dollarinferior\", \"\", \"\", \"Thornsmall\", \"\", \"nineinferior\", \"zeroinferior\", \"Zcaronsmall\", \"AEsmall\", \"Oslashsmall\", \"questiondownsmall\", \"oneinferior\", \"Lslashsmall\", \"\", \"\", \"\", \"\", \"\", \"\", \"Cedillasmall\", \"\", \"\", \"\", \"\", \"\", \"OEsmall\", \"figuredash\", \"hyphensuperior\", \"\", \"\", \"\", \"\", \"exclamdownsmall\", \"\", \"Ydieresissmall\", \"\", \"onesuperior\", \"twosuperior\", \"threesuperior\", \"foursuperior\", \"fivesuperior\", \"sixsuperior\", \"sevensuperior\", \"ninesuperior\", \"zerosuperior\", \"\", \"esuperior\", \"rsuperior\", \"tsuperior\", \"\", \"\", \"isuperior\", \"ssuperior\", \"dsuperior\", \"\", \"\", \"\", \"\", \"\", \"lsuperior\", \"Ogoneksmall\", \"Brevesmall\", \"Macronsmall\", \"bsuperior\", \"nsuperior\", \"msuperior\", \"commasuperior\", \"periodsuperior\", \"Dotaccentsmall\", \"Ringsmall\", \"\", \"\", \"\", \"\"];\nvar MacRomanEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"Adieresis\", \"Aring\", \"Ccedilla\", \"Eacute\", \"Ntilde\", \"Odieresis\", \"Udieresis\", \"aacute\", \"agrave\", \"acircumflex\", \"adieresis\", \"atilde\", \"aring\", \"ccedilla\", \"eacute\", \"egrave\", \"ecircumflex\", \"edieresis\", \"iacute\", \"igrave\", \"icircumflex\", \"idieresis\", \"ntilde\", \"oacute\", \"ograve\", \"ocircumflex\", \"odieresis\", \"otilde\", \"uacute\", \"ugrave\", \"ucircumflex\", \"udieresis\", \"dagger\", \"degree\", \"cent\", \"sterling\", \"section\", \"bullet\", \"paragraph\", \"germandbls\", \"registered\", \"copyright\", \"trademark\", \"acute\", \"dieresis\", \"notequal\", \"AE\", \"Oslash\", \"infinity\", \"plusminus\", \"lessequal\", \"greaterequal\", \"yen\", \"mu\", \"partialdiff\", \"summation\", \"product\", \"pi\", \"integral\", \"ordfeminine\", \"ordmasculine\", \"Omega\", \"ae\", \"oslash\", \"questiondown\", \"exclamdown\", \"logicalnot\", \"radical\", \"florin\", \"approxequal\", \"Delta\", \"guillemotleft\", \"guillemotright\", \"ellipsis\", \"space\", \"Agrave\", \"Atilde\", \"Otilde\", \"OE\", \"oe\", \"endash\", \"emdash\", \"quotedblleft\", \"quotedblright\", \"quoteleft\", \"quoteright\", \"divide\", \"lozenge\", \"ydieresis\", \"Ydieresis\", \"fraction\", \"currency\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"daggerdbl\", \"periodcentered\", \"quotesinglbase\", \"quotedblbase\", \"perthousand\", \"Acircumflex\", \"Ecircumflex\", \"Aacute\", \"Edieresis\", \"Egrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Igrave\", \"Oacute\", \"Ocircumflex\", \"apple\", \"Ograve\", \"Uacute\", \"Ucircumflex\", \"Ugrave\", \"dotlessi\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"ring\", \"cedilla\", \"hungarumlaut\", \"ogonek\", \"caron\"];\nexports.MacRomanEncoding = MacRomanEncoding;\nvar StandardEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quoteright\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"quoteleft\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"exclamdown\", \"cent\", \"sterling\", \"fraction\", \"yen\", \"florin\", \"section\", \"currency\", \"quotesingle\", \"quotedblleft\", \"guillemotleft\", \"guilsinglleft\", \"guilsinglright\", \"fi\", \"fl\", \"\", \"endash\", \"dagger\", \"daggerdbl\", \"periodcentered\", \"\", \"paragraph\", \"bullet\", \"quotesinglbase\", \"quotedblbase\", \"quotedblright\", \"guillemotright\", \"ellipsis\", \"perthousand\", \"\", \"questiondown\", \"\", \"grave\", \"acute\", \"circumflex\", \"tilde\", \"macron\", \"breve\", \"dotaccent\", \"dieresis\", \"\", \"ring\", \"cedilla\", \"\", \"hungarumlaut\", \"ogonek\", \"caron\", \"emdash\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"AE\", \"\", \"ordfeminine\", \"\", \"\", \"\", \"\", \"Lslash\", \"Oslash\", \"OE\", \"ordmasculine\", \"\", \"\", \"\", \"\", \"\", \"ae\", \"\", \"\", \"\", \"dotlessi\", \"\", \"\", \"lslash\", \"oslash\", \"oe\", \"germandbls\", \"\", \"\", \"\", \"\"];\nexports.StandardEncoding = StandardEncoding;\nvar WinAnsiEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"quotedbl\", \"numbersign\", \"dollar\", \"percent\", \"ampersand\", \"quotesingle\", \"parenleft\", \"parenright\", \"asterisk\", \"plus\", \"comma\", \"hyphen\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"at\", \"A\", \"B\", \"C\", \"D\", \"E\", \"F\", \"G\", \"H\", \"I\", \"J\", \"K\", \"L\", \"M\", \"N\", \"O\", \"P\", \"Q\", \"R\", \"S\", \"T\", \"U\", \"V\", \"W\", \"X\", \"Y\", \"Z\", \"bracketleft\", \"backslash\", \"bracketright\", \"asciicircum\", \"underscore\", \"grave\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\", \"g\", \"h\", \"i\", \"j\", \"k\", \"l\", \"m\", \"n\", \"o\", \"p\", \"q\", \"r\", \"s\", \"t\", \"u\", \"v\", \"w\", \"x\", \"y\", \"z\", \"braceleft\", \"bar\", \"braceright\", \"asciitilde\", \"bullet\", \"Euro\", \"bullet\", \"quotesinglbase\", \"florin\", \"quotedblbase\", \"ellipsis\", \"dagger\", \"daggerdbl\", \"circumflex\", \"perthousand\", \"Scaron\", \"guilsinglleft\", \"OE\", \"bullet\", \"Zcaron\", \"bullet\", \"bullet\", \"quoteleft\", \"quoteright\", \"quotedblleft\", \"quotedblright\", \"bullet\", \"endash\", \"emdash\", \"tilde\", \"trademark\", \"scaron\", \"guilsinglright\", \"oe\", \"bullet\", \"zcaron\", \"Ydieresis\", \"space\", \"exclamdown\", \"cent\", \"sterling\", \"currency\", \"yen\", \"brokenbar\", \"section\", \"dieresis\", \"copyright\", \"ordfeminine\", \"guillemotleft\", \"logicalnot\", \"hyphen\", \"registered\", \"macron\", \"degree\", \"plusminus\", \"twosuperior\", \"threesuperior\", \"acute\", \"mu\", \"paragraph\", \"periodcentered\", \"cedilla\", \"onesuperior\", \"ordmasculine\", \"guillemotright\", \"onequarter\", \"onehalf\", \"threequarters\", \"questiondown\", \"Agrave\", \"Aacute\", \"Acircumflex\", \"Atilde\", \"Adieresis\", \"Aring\", \"AE\", \"Ccedilla\", \"Egrave\", \"Eacute\", \"Ecircumflex\", \"Edieresis\", \"Igrave\", \"Iacute\", \"Icircumflex\", \"Idieresis\", \"Eth\", \"Ntilde\", \"Ograve\", \"Oacute\", \"Ocircumflex\", \"Otilde\", \"Odieresis\", \"multiply\", \"Oslash\", \"Ugrave\", \"Uacute\", \"Ucircumflex\", \"Udieresis\", \"Yacute\", \"Thorn\", \"germandbls\", \"agrave\", \"aacute\", \"acircumflex\", \"atilde\", \"adieresis\", \"aring\", \"ae\", \"ccedilla\", \"egrave\", \"eacute\", \"ecircumflex\", \"edieresis\", \"igrave\", \"iacute\", \"icircumflex\", \"idieresis\", \"eth\", \"ntilde\", \"ograve\", \"oacute\", \"ocircumflex\", \"otilde\", \"odieresis\", \"divide\", \"oslash\", \"ugrave\", \"uacute\", \"ucircumflex\", \"udieresis\", \"yacute\", \"thorn\", \"ydieresis\"];\nexports.WinAnsiEncoding = WinAnsiEncoding;\nvar SymbolSetEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"exclam\", \"universal\", \"numbersign\", \"existential\", \"percent\", \"ampersand\", \"suchthat\", \"parenleft\", \"parenright\", \"asteriskmath\", \"plus\", \"comma\", \"minus\", \"period\", \"slash\", \"zero\", \"one\", \"two\", \"three\", \"four\", \"five\", \"six\", \"seven\", \"eight\", \"nine\", \"colon\", \"semicolon\", \"less\", \"equal\", \"greater\", \"question\", \"congruent\", \"Alpha\", \"Beta\", \"Chi\", \"Delta\", \"Epsilon\", \"Phi\", \"Gamma\", \"Eta\", \"Iota\", \"theta1\", \"Kappa\", \"Lambda\", \"Mu\", \"Nu\", \"Omicron\", \"Pi\", \"Theta\", \"Rho\", \"Sigma\", \"Tau\", \"Upsilon\", \"sigma1\", \"Omega\", \"Xi\", \"Psi\", \"Zeta\", \"bracketleft\", \"therefore\", \"bracketright\", \"perpendicular\", \"underscore\", \"radicalex\", \"alpha\", \"beta\", \"chi\", \"delta\", \"epsilon\", \"phi\", \"gamma\", \"eta\", \"iota\", \"phi1\", \"kappa\", \"lambda\", \"mu\", \"nu\", \"omicron\", \"pi\", \"theta\", \"rho\", \"sigma\", \"tau\", \"upsilon\", \"omega1\", \"omega\", \"xi\", \"psi\", \"zeta\", \"braceleft\", \"bar\", \"braceright\", \"similar\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"Euro\", \"Upsilon1\", \"minute\", \"lessequal\", \"fraction\", \"infinity\", \"florin\", \"club\", \"diamond\", \"heart\", \"spade\", \"arrowboth\", \"arrowleft\", \"arrowup\", \"arrowright\", \"arrowdown\", \"degree\", \"plusminus\", \"second\", \"greaterequal\", \"multiply\", \"proportional\", \"partialdiff\", \"bullet\", \"divide\", \"notequal\", \"equivalence\", \"approxequal\", \"ellipsis\", \"arrowvertex\", \"arrowhorizex\", \"carriagereturn\", \"aleph\", \"Ifraktur\", \"Rfraktur\", \"weierstrass\", \"circlemultiply\", \"circleplus\", \"emptyset\", \"intersection\", \"union\", \"propersuperset\", \"reflexsuperset\", \"notsubset\", \"propersubset\", \"reflexsubset\", \"element\", \"notelement\", \"angle\", \"gradient\", \"registerserif\", \"copyrightserif\", \"trademarkserif\", \"product\", \"radical\", \"dotmath\", \"logicalnot\", \"logicaland\", \"logicalor\", \"arrowdblboth\", \"arrowdblleft\", \"arrowdblup\", \"arrowdblright\", \"arrowdbldown\", \"lozenge\", \"angleleft\", \"registersans\", \"copyrightsans\", \"trademarksans\", \"summation\", \"parenlefttp\", \"parenleftex\", \"parenleftbt\", \"bracketlefttp\", \"bracketleftex\", \"bracketleftbt\", \"bracelefttp\", \"braceleftmid\", \"braceleftbt\", \"braceex\", \"\", \"angleright\", \"integral\", \"integraltp\", \"integralex\", \"integralbt\", \"parenrighttp\", \"parenrightex\", \"parenrightbt\", \"bracketrighttp\", \"bracketrightex\", \"bracketrightbt\", \"bracerighttp\", \"bracerightmid\", \"bracerightbt\", \"\"];\nexports.SymbolSetEncoding = SymbolSetEncoding;\nvar ZapfDingbatsEncoding = [\"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"space\", \"a1\", \"a2\", \"a202\", \"a3\", \"a4\", \"a5\", \"a119\", \"a118\", \"a117\", \"a11\", \"a12\", \"a13\", \"a14\", \"a15\", \"a16\", \"a105\", \"a17\", \"a18\", \"a19\", \"a20\", \"a21\", \"a22\", \"a23\", \"a24\", \"a25\", \"a26\", \"a27\", \"a28\", \"a6\", \"a7\", \"a8\", \"a9\", \"a10\", \"a29\", \"a30\", \"a31\", \"a32\", \"a33\", \"a34\", \"a35\", \"a36\", \"a37\", \"a38\", \"a39\", \"a40\", \"a41\", \"a42\", \"a43\", \"a44\", \"a45\", \"a46\", \"a47\", \"a48\", \"a49\", \"a50\", \"a51\", \"a52\", \"a53\", \"a54\", \"a55\", \"a56\", \"a57\", \"a58\", \"a59\", \"a60\", \"a61\", \"a62\", \"a63\", \"a64\", \"a65\", \"a66\", \"a67\", \"a68\", \"a69\", \"a70\", \"a71\", \"a72\", \"a73\", \"a74\", \"a203\", \"a75\", \"a204\", \"a76\", \"a77\", \"a78\", \"a79\", \"a81\", \"a82\", \"a83\", \"a84\", \"a97\", \"a98\", \"a99\", \"a100\", \"\", \"a89\", \"a90\", \"a93\", \"a94\", \"a91\", \"a92\", \"a205\", \"a85\", \"a206\", \"a86\", \"a87\", \"a88\", \"a95\", \"a96\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"\", \"a101\", \"a102\", \"a103\", \"a104\", \"a106\", \"a107\", \"a108\", \"a112\", \"a111\", \"a110\", \"a109\", \"a120\", \"a121\", \"a122\", \"a123\", \"a124\", \"a125\", \"a126\", \"a127\", \"a128\", \"a129\", \"a130\", \"a131\", \"a132\", \"a133\", \"a134\", \"a135\", \"a136\", \"a137\", \"a138\", \"a139\", \"a140\", \"a141\", \"a142\", \"a143\", \"a144\", \"a145\", \"a146\", \"a147\", \"a148\", \"a149\", \"a150\", \"a151\", \"a152\", \"a153\", \"a154\", \"a155\", \"a156\", \"a157\", \"a158\", \"a159\", \"a160\", \"a161\", \"a163\", \"a164\", \"a196\", \"a165\", \"a192\", \"a166\", \"a167\", \"a168\", \"a169\", \"a170\", \"a171\", \"a172\", \"a173\", \"a162\", \"a174\", \"a175\", \"a176\", \"a177\", \"a178\", \"a179\", \"a193\", \"a180\", \"a199\", \"a181\", \"a200\", \"a182\", \"\", \"a201\", \"a183\", \"a184\", \"a197\", \"a185\", \"a194\", \"a198\", \"a186\", \"a195\", \"a187\", \"a188\", \"a189\", \"a190\", \"a191\", \"\"];\nexports.ZapfDingbatsEncoding = ZapfDingbatsEncoding;\n\nfunction getEncoding(encodingName) {\n  switch (encodingName) {\n    case \"WinAnsiEncoding\":\n      return WinAnsiEncoding;\n\n    case \"StandardEncoding\":\n      return StandardEncoding;\n\n    case \"MacRomanEncoding\":\n      return MacRomanEncoding;\n\n    case \"SymbolSetEncoding\":\n      return SymbolSetEncoding;\n\n    case \"ZapfDingbatsEncoding\":\n      return ZapfDingbatsEncoding;\n\n    case \"ExpertEncoding\":\n      return ExpertEncoding;\n\n    case \"MacExpertEncoding\":\n      return MacExpertEncoding;\n\n    default:\n      return null;\n  }\n}\n\n/***/ }),\n/* 163 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __w_pdfjs_require__) => {\n\n\"use strict\";\n__w_pdfjs_require__.r(__webpack_exports__);\n/* harmony export */ __w_pdfjs_require__.d(__webpack_exports__, {\n/* harmony export */   \"getDingbatsGlyphsUnicode\": () => /* binding */ getDingbatsGlyphsUnicode,\n/* harmony export */   \"getGlyphsUnicode\": () => /* binding */ getGlyphsUnicode\n/* harmony export */ });\n/* harmony import */ var _core_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __w_pdfjs_require__(138);\n\nvar getGlyphsUnicode = (0,_core_utils_js__WEBPACK_IMPORTED_MODULE_0__.getArrayLookupTableFactory)(function () {\n return [\n  \"A\",\n  0x0041,\n  \"AE\",\n  0x00c6,\n  \"AEacute\",\n  0x01fc,\n  \"AEmacron\",\n  0x01e2,\n  \"AEsmall\",\n  0xf7e6,\n  \"Aacute\",\n  0x00c1,\n  \"Aacutesmall\",\n  0xf7e1,\n  \"Abreve\",\n  0x0102,\n  \"Abreveacute\",\n  0x1eae,\n  \"Abrevecyrillic\",\n  0x04d0,\n  \"Abrevedotbelow\",\n  0x1eb6,\n  \"Abrevegrave\",\n  0x1eb0,\n  \"Abrevehookabove\",\n  0x1eb2,\n  \"Abrevetilde\",\n  0x1eb4,\n  \"Acaron\",\n  0x01cd,\n  \"Acircle\",\n  0x24b6,\n  \"Acircumflex\",\n  0x00c2,\n  \"Acircumflexacute\",\n  0x1ea4,\n  \"Acircumflexdotbelow\",\n  0x1eac,\n  \"Acircumflexgrave\",\n  0x1ea6,\n  \"Acircumflexhookabove\",\n  0x1ea8,\n  \"Acircumflexsmall\",\n  0xf7e2,\n  \"Acircumflextilde\",\n  0x1eaa,\n  \"Acute\",\n  0xf6c9,\n  \"Acutesmall\",\n  0xf7b4,\n  \"Acyrillic\",\n  0x0410,\n  \"Adblgrave\",\n  0x0200,\n  \"Adieresis\",\n  0x00c4,\n  \"Adieresiscyrillic\",\n  0x04d2,\n  \"Adieresismacron\",\n  0x01de,\n  \"Adieresissmall\",\n  0xf7e4,\n  \"Adotbelow\",\n  0x1ea0,\n  \"Adotmacron\",\n  0x01e0,\n  \"Agrave\",\n  0x00c0,\n  \"Agravesmall\",\n  0xf7e0,\n  \"Ahookabove\",\n  0x1ea2,\n  \"Aiecyrillic\",\n  0x04d4,\n  \"Ainvertedbreve\",\n  0x0202,\n  \"Alpha\",\n  0x0391,\n  \"Alphatonos\",\n  0x0386,\n  \"Amacron\",\n  0x0100,\n  \"Amonospace\",\n  0xff21,\n  \"Aogonek\",\n  0x0104,\n  \"Aring\",\n  0x00c5,\n  \"Aringacute\",\n  0x01fa,\n  \"Aringbelow\",\n  0x1e00,\n  \"Aringsmall\",\n  0xf7e5,\n  \"Asmall\",\n  0xf761,\n  \"Atilde\",\n  0x00c3,\n  \"Atildesmall\",\n  0xf7e3,\n  \"Aybarmenian\",\n  0x0531,\n  \"B\",\n  0x0042,\n  \"Bcircle\",\n  0x24b7,\n  \"Bdotaccent\",\n  0x1e02,\n  \"Bdotbelow\",\n  0x1e04,\n  \"Becyrillic\",\n  0x0411,\n  \"Benarmenian\",\n  0x0532,\n  \"Beta\",\n  0x0392,\n  \"Bhook\",\n  0x0181,\n  \"Blinebelow\",\n  0x1e06,\n  \"Bmonospace\",\n  0xff22,\n  \"Brevesmall\",\n  0xf6f4,\n  \"Bsmall\",\n  0xf762,\n  \"Btopbar\",\n  0x0182,\n  \"C\",\n  0x0043,\n  \"Caarmenian\",\n  0x053e,\n  \"Cacute\",\n  0x0106,\n  \"Caron\",\n  0xf6ca,\n  \"Caronsmall\",\n  0xf6f5,\n  \"Ccaron\",\n  0x010c,\n  \"Ccedilla\",\n  0x00c7,\n  \"Ccedillaacute\",\n  0x1e08,\n  \"Ccedillasmall\",\n  0xf7e7,\n  \"Ccircle\",\n  0x24b8,\n  \"Ccircumflex\",\n  0x0108,\n  \"Cdot\",\n  0x010a,\n  \"Cdotaccent\",\n  0x010a,\n  \"Cedillasmall\",\n  0xf7b8,\n  \"Chaarmenian\",\n  0x0549,\n  \"Cheabkhasiancyrillic\",\n  0x04bc,\n  \"Checyrillic\",\n  0x0427,\n  \"Chedescenderabkhasiancyrillic\",\n  0x04be,\n  \"Chedescendercyrillic\",\n  0x04b6,\n  \"Chedieresiscyrillic\",\n  0x04f4,\n  \"Cheharmenian\",\n  0x0543,\n  \"Chekhakassiancyrillic\",\n  0x04cb,\n  \"Cheverticalstrokecyrillic\",\n  0x04b8,\n  \"Chi\",\n  0x03a7,\n  \"Chook\",\n  0x0187,\n  \"Circumflexsmall\",\n  0xf6f6,\n  \"Cmonospace\",\n  0xff23,\n  \"Coarmenian\",\n  0x0551,\n  \"Csmall\",\n  0xf763,\n  \"D\",\n  0x0044,\n  \"DZ\",\n  0x01f1,\n  \"DZcaron\",\n  0x01c4,\n  \"Daarmenian\",\n  0x0534,\n  \"Dafrican\",\n  0x0189,\n  \"Dcaron\",\n  0x010e,\n  \"Dcedilla\",\n  0x1e10,\n  \"Dcircle\",\n  0x24b9,\n  \"Dcircumflexbelow\",\n  0x1e12,\n  \"Dcroat\",\n  0x0110,\n  \"Ddotaccent\",\n  0x1e0a,\n  \"Ddotbelow\",\n  0x1e0c,\n  \"Decyrillic\",\n  0x0414,\n  \"Deicoptic\",\n  0x03ee,\n  \"Delta\",\n  0x2206,\n  \"Deltagreek\",\n  0x0394,\n  \"Dhook\",\n  0x018a,\n  \"Dieresis\",\n  0xf6cb,\n  \"DieresisAcute\",\n  0xf6cc,\n  \"DieresisGrave\",\n  0xf6cd,\n  \"Dieresissmall\",\n  0xf7a8,\n  \"Digammagreek\",\n  0x03dc,\n  \"Djecyrillic\",\n  0x0402,\n  \"Dlinebelow\",\n  0x1e0e,\n  \"Dmonospace\",\n  0xff24,\n  \"Dotaccentsmall\",\n  0xf6f7,\n  \"Dslash\",\n  0x0110,\n  \"Dsmall\",\n  0xf764,\n  \"Dtopbar\",\n  0x018b,\n  \"Dz\",\n  0x01f2,\n  \"Dzcaron\",\n  0x01c5,\n  \"Dzeabkhasiancyrillic\",\n  0x04e0,\n  \"Dzecyrillic\",\n  0x0405,\n  \"Dzhecyrillic\",\n  0x040f,\n  \"E\",\n  0x0045,\n  \"Eacute\",\n  0x00c9,\n  \"Eacutesmall\",\n  0xf7e9,\n  \"Ebreve\",\n  0x0114,\n  \"Ecaron\",\n  0x011a,\n  \"Ecedillabreve\",\n  0x1e1c,\n  \"Echarmenian\",\n  0x0535,\n  \"Ecircle\",\n  0x24ba,\n  \"Ecircumflex\",\n  0x00ca,\n  \"Ecircumflexacute\",\n  0x1ebe,\n  \"Ecircumflexbelow\",\n  0x1e18,\n  \"Ecircumflexdotbelow\",\n  0x1ec6,\n  \"Ecircumflexgrave\",\n  0x1ec0,\n  \"Ecircumflexhookabove\",\n  0x1ec2,\n  \"Ecircumflexsmall\",\n  0xf7ea,\n  \"Ecircumflextilde\",\n  0x1ec4,\n  \"Ecyrillic\",\n  0x0404,\n  \"Edblgrave\",\n  0x0204,\n  \"Edieresis\",\n  0x00cb,\n  \"Edieresissmall\",\n  0xf7eb,\n  \"Edot\",\n  0x0116,\n  \"Edotaccent\",\n  0x0116,\n  \"Edotbelow\",\n  0x1eb8,\n  \"Efcyrillic\",\n  0x0424,\n  \"Egrave\",\n  0x00c8,\n  \"Egravesmall\",\n  0xf7e8,\n  \"Eharmenian\",\n  0x0537,\n  \"Ehookabove\",\n  0x1eba,\n  \"Eightroman\",\n  0x2167,\n  \"Einvertedbreve\",\n  0x0206,\n  \"Eiotifiedcyrillic\",\n  0x0464,\n  \"Elcyrillic\",\n  0x041b,\n  \"Elevenroman\",\n  0x216a,\n  \"Emacron\",\n  0x0112,\n  \"Emacronacute\",\n  0x1e16,\n  \"Emacrongrave\",\n  0x1e14,\n  \"Emcyrillic\",\n  0x041c,\n  \"Emonospace\",\n  0xff25,\n  \"Encyrillic\",\n  0x041d,\n  \"Endescendercyrillic\",\n  0x04a2,\n  \"Eng\",\n  0x014a,\n  \"Enghecyrillic\",\n  0x04a4,\n  \"Enhookcyrillic\",\n  0x04c7,\n  \"Eogonek\",\n  0x0118,\n  \"Eopen\",\n  0x0190,\n  \"Epsilon\",\n  0x0395,\n  \"Epsilontonos\",\n  0x0388,\n  \"Ercyrillic\",\n  0x0420,\n  \"Ereversed\",\n  0x018e,\n  \"Ereversedcyrillic\",\n  0x042d,\n  \"Escyrillic\",\n  0x0421,\n  \"Esdescendercyrillic\",\n  0x04aa,\n  \"Esh\",\n  0x01a9,\n  \"Esmall\",\n  0xf765,\n  \"Eta\",\n  0x0397,\n  \"Etarmenian\",\n  0x0538,\n  \"Etatonos\",\n  0x0389,\n  \"Eth\",\n  0x00d0,\n  \"Ethsmall\",\n  0xf7f0,\n  \"Etilde\",\n  0x1ebc,\n  \"Etildebelow\",\n  0x1e1a,\n  \"Euro\",\n  0x20ac,\n  \"Ezh\",\n  0x01b7,\n  \"Ezhcaron\",\n  0x01ee,\n  \"Ezhreversed\",\n  0x01b8,\n  \"F\",\n  0x0046,\n  \"Fcircle\",\n  0x24bb,\n  \"Fdotaccent\",\n  0x1e1e,\n  \"Feharmenian\",\n  0x0556,\n  \"Feicoptic\",\n  0x03e4,\n  \"Fhook\",\n  0x0191,\n  \"Fitacyrillic\",\n  0x0472,\n  \"Fiveroman\",\n  0x2164,\n  \"Fmonospace\",\n  0xff26,\n  \"Fourroman\",\n  0x2163,\n  \"Fsmall\",\n  0xf766,\n  \"G\",\n  0x0047,\n  \"GBsquare\",\n  0x3387,\n  \"Gacute\",\n  0x01f4,\n  \"Gamma\",\n  0x0393,\n  \"Gammaafrican\",\n  0x0194,\n  \"Gangiacoptic\",\n  0x03ea,\n  \"Gbreve\",\n  0x011e,\n  \"Gcaron\",\n  0x01e6,\n  \"Gcedilla\",\n  0x0122,\n  \"Gcircle\",\n  0x24bc,\n  \"Gcircumflex\",\n  0x011c,\n  \"Gcommaaccent\",\n  0x0122,\n  \"Gdot\",\n  0x0120,\n  \"Gdotaccent\",\n  0x0120,\n  \"Gecyrillic\",\n  0x0413,\n  \"Ghadarmenian\",\n  0x0542,\n  \"Ghemiddlehookcyrillic\",\n  0x0494,\n  \"Ghestrokecyrillic\",\n  0x0492,\n  \"Gheupturncyrillic\",\n  0x0490,\n  \"Ghook\",\n  0x0193,\n  \"Gimarmenian\",\n  0x0533,\n  \"Gjecyrillic\",\n  0x0403,\n  \"Gmacron\",\n  0x1e20,\n  \"Gmonospace\",\n  0xff27,\n  \"Grave\",\n  0xf6ce,\n  \"Gravesmall\",\n  0xf760,\n  \"Gsmall\",\n  0xf767,\n  \"Gsmallhook\",\n  0x029b,\n  \"Gstroke\",\n  0x01e4,\n  \"H\",\n  0x0048,\n  \"H18533\",\n  0x25cf,\n  \"H18543\",\n  0x25aa,\n  \"H18551\",\n  0x25ab,\n  \"H22073\",\n  0x25a1,\n  \"HPsquare\",\n  0x33cb,\n  \"Haabkhasiancyrillic\",\n  0x04a8,\n  \"Hadescendercyrillic\",\n  0x04b2,\n  \"Hardsigncyrillic\",\n  0x042a,\n  \"Hbar\",\n  0x0126,\n  \"Hbrevebelow\",\n  0x1e2a,\n  \"Hcedilla\",\n  0x1e28,\n  \"Hcircle\",\n  0x24bd,\n  \"Hcircumflex\",\n  0x0124,\n  \"Hdieresis\",\n  0x1e26,\n  \"Hdotaccent\",\n  0x1e22,\n  \"Hdotbelow\",\n  0x1e24,\n  \"Hmonospace\",\n  0xff28,\n  \"Hoarmenian\",\n  0x0540,\n  \"Horicoptic\",\n  0x03e8,\n  \"Hsmall\",\n  0xf768,\n  \"Hungarumlaut\",\n  0xf6cf,\n  \"Hungarumlautsmall\",\n  0xf6f8,\n  \"Hzsquare\",\n  0x3390,\n  \"I\",\n  0x0049,\n  \"IAcyrillic\",\n  0x042f,\n  \"IJ\",\n  0x0132,\n  \"IUcyrillic\",\n  0x042e,\n  \"Iacute\",\n  0x00cd,\n  \"Iacutesmall\",\n  0xf7ed,\n  \"Ibreve\",\n  0x012c,\n  \"Icaron\",\n  0x01cf,\n  \"Icircle\",\n  0x24be,\n  \"Icircumflex\",\n  0x00ce,\n  \"Icircumflexsmall\",\n  0xf7ee,\n  \"Icyrillic\",\n  0x0406,\n  \"Idblgrave\",\n  0x0208,\n  \"Idieresis\",\n  0x00cf,\n  \"Idieresisacute\",\n  0x1e2e,\n  \"Idieresiscyrillic\",\n  0x04e4,\n  \"Idieresissmall\",\n  0xf7ef,\n  \"Idot\",\n  0x0130,\n  \"Idotaccent\",\n  0x0130,\n  \"Idotbelow\",\n  0x1eca,\n  \"Iebrevecyrillic\",\n  0x04d6,\n  \"Iecyrillic\",\n  0x0415,\n  \"Ifraktur\",\n  0x2111,\n  \"Igrave\",\n  0x00cc,\n  \"Igravesmall\",\n  0xf7ec,\n  \"Ihookabove\",\n  0x1ec8,\n  \"Iicyrillic\",\n  0x0418,\n  \"Iinvertedbreve\",\n  0x020a,\n  \"Iishortcyrillic\",\n  0x0419,\n  \"Imacron\",\n  0x012a,\n  \"Imacroncyrillic\",\n  0x04e2,\n  \"Imonospace\",\n  0xff29,\n  \"Iniarmenian\",\n  0x053b,\n  \"Iocyrillic\",\n  0x0401,\n  \"Iogonek\",\n  0x012e,\n  \"Iota\",\n  0x0399,\n  \"Iotaafrican\",\n  0x0196,\n  \"Iotadieresis\",\n  0x03aa,\n  \"Iotatonos\",\n  0x038a,\n  \"Ismall\",\n  0xf769,\n  \"Istroke\",\n  0x0197,\n  \"Itilde\",\n  0x0128,\n  \"Itildebelow\",\n  0x1e2c,\n  \"Izhitsacyrillic\",\n  0x0474,\n  \"Izhitsadblgravecyrillic\",\n  0x0476,\n  \"J\",\n  0x004a,\n  \"Jaarmenian\",\n  0x0541,\n  \"Jcircle\",\n  0x24bf,\n  \"Jcircumflex\",\n  0x0134,\n  \"Jecyrillic\",\n  0x0408,\n  \"Jheharmenian\",\n  0x054b,\n  \"Jmonospace\",\n  0xff2a,\n  \"Jsmall\",\n  0xf76a,\n  \"K\",\n  0x004b,\n  \"KBsquare\",\n  0x3385,\n  \"KKsquare\",\n  0x33cd,\n  \"Kabashkircyrillic\",\n  0x04a0,\n  \"Kacute\",\n  0x1e30,\n  \"Kacyrillic\",\n  0x041a,\n  \"Kadescendercyrillic\",\n  0x049a,\n  \"Kahookcyrillic\",\n  0x04c3,\n  \"Kappa\",\n  0x039a,\n  \"Kastrokecyrillic\",\n  0x049e,\n  \"Kaverticalstrokecyrillic\",\n  0x049c,\n  \"Kcaron\",\n  0x01e8,\n  \"Kcedilla\",\n  0x0136,\n  \"Kcircle\",\n  0x24c0,\n  \"Kcommaaccent\",\n  0x0136,\n  \"Kdotbelow\",\n  0x1e32,\n  \"Keharmenian\",\n  0x0554,\n  \"Kenarmenian\",\n  0x053f,\n  \"Khacyrillic\",\n  0x0425,\n  \"Kheicoptic\",\n  0x03e6,\n  \"Khook\",\n  0x0198,\n  \"Kjecyrillic\",\n  0x040c,\n  \"Klinebelow\",\n  0x1e34,\n  \"Kmonospace\",\n  0xff2b,\n  \"Koppacyrillic\",\n  0x0480,\n  \"Koppagreek\",\n  0x03de,\n  \"Ksicyrillic\",\n  0x046e,\n  \"Ksmall\",\n  0xf76b,\n  \"L\",\n  0x004c,\n  \"LJ\",\n  0x01c7,\n  \"LL\",\n  0xf6bf,\n  \"Lacute\",\n  0x0139,\n  \"Lambda\",\n  0x039b,\n  \"Lcaron\",\n  0x013d,\n  \"Lcedilla\",\n  0x013b,\n  \"Lcircle\",\n  0x24c1,\n  \"Lcircumflexbelow\",\n  0x1e3c,\n  \"Lcommaaccent\",\n  0x013b,\n  \"Ldot\",\n  0x013f,\n  \"Ldotaccent\",\n  0x013f,\n  \"Ldotbelow\",\n  0x1e36,\n  \"Ldotbelowmacron\",\n  0x1e38,\n  \"Liwnarmenian\",\n  0x053c,\n  \"Lj\",\n  0x01c8,\n  \"Ljecyrillic\",\n  0x0409,\n  \"Llinebelow\",\n  0x1e3a,\n  \"Lmonospace\",\n  0xff2c,\n  \"Lslash\",\n  0x0141,\n  \"Lslashsmall\",\n  0xf6f9,\n  \"Lsmall\",\n  0xf76c,\n  \"M\",\n  0x004d,\n  \"MBsquare\",\n  0x3386,\n  \"Macron\",\n  0xf6d0,\n  \"Macronsmall\",\n  0xf7af,\n  \"Macute\",\n  0x1e3e,\n  \"Mcircle\",\n  0x24c2,\n  \"Mdotaccent\",\n  0x1e40,\n  \"Mdotbelow\",\n  0x1e42,\n  \"Menarmenian\",\n  0x0544,\n  \"Mmonospace\",\n  0xff2d,\n  \"Msmall\",\n  0xf76d,\n  \"Mturned\",\n  0x019c,\n  \"Mu\",\n  0x039c,\n  \"N\",\n  0x004e,\n  \"NJ\",\n  0x01ca,\n  \"Nacute\",\n  0x0143,\n  \"Ncaron\",\n  0x0147,\n  \"Ncedilla\",\n  0x0145,\n  \"Ncircle\",\n  0x24c3,\n  \"Ncircumflexbelow\",\n  0x1e4a,\n  \"Ncommaaccent\",\n  0x0145,\n  \"Ndotaccent\",\n  0x1e44,\n  \"Ndotbelow\",\n  0x1e46,\n  \"Nhookleft\",\n  0x019d,\n  \"Nineroman\",\n  0x2168,\n  \"Nj\",\n  0x01cb,\n  \"Njecyrillic\",\n  0x040a,\n  \"Nlinebelow\",\n  0x1e48,\n  \"Nmonospace\",\n  0xff2e,\n  \"Nowarmenian\",\n  0x0546,\n  \"Nsmall\",\n  0xf76e,\n  \"Ntilde\",\n  0x00d1,\n  \"Ntildesmall\",\n  0xf7f1,\n  \"Nu\",\n  0x039d,\n  \"O\",\n  0x004f,\n  \"OE\",\n  0x0152,\n  \"OEsmall\",\n  0xf6fa,\n  \"Oacute\",\n  0x00d3,\n  \"Oacutesmall\",\n  0xf7f3,\n  \"Obarredcyrillic\",\n  0x04e8,\n  \"Obarreddieresiscyrillic\",\n  0x04ea,\n  \"Obreve\",\n  0x014e,\n  \"Ocaron\",\n  0x01d1,\n  \"Ocenteredtilde\",\n  0x019f,\n  \"Ocircle\",\n  0x24c4,\n  \"Ocircumflex\",\n  0x00d4,\n  \"Ocircumflexacute\",\n  0x1ed0,\n  \"Ocircumflexdotbelow\",\n  0x1ed8,\n  \"Ocircumflexgrave\",\n  0x1ed2,\n  \"Ocircumflexhookabove\",\n  0x1ed4,\n  \"Ocircumflexsmall\",\n  0xf7f4,\n  \"Ocircumflextilde\",\n  0x1ed6,\n  \"Ocyrillic\",\n  0x041e,\n  \"Odblacute\",\n  0x0150,\n  \"Odblgrave\",\n  0x020c,\n  \"Odieresis\",\n  0x00d6,\n  \"Odieresiscyrillic\",\n  0x04e6,\n  \"Odieresissmall\",\n  0xf7f6,\n  \"Odotbelow\",\n  0x1ecc,\n  \"Ogoneksmall\",\n  0xf6fb,\n  \"Ograve\",\n  0x00d2,\n  \"Ogravesmall\",\n  0xf7f2,\n  \"Oharmenian\",\n  0x0555,\n  \"Ohm\",\n  0x2126,\n  \"Ohookabove\",\n  0x1ece,\n  \"Ohorn\",\n  0x01a0,\n  \"Ohornacute\",\n  0x1eda,\n  \"Ohorndotbelow\",\n  0x1ee2,\n  \"Ohorngrave\",\n  0x1edc,\n  \"Ohornhookabove\",\n  0x1ede,\n  \"Ohorntilde\",\n  0x1ee0,\n  \"Ohungarumlaut\",\n  0x0150,\n  \"Oi\",\n  0x01a2,\n  \"Oinvertedbreve\",\n  0x020e,\n  \"Omacron\",\n  0x014c,\n  \"Omacronacute\",\n  0x1e52,\n  \"Omacrongrave\",\n  0x1e50,\n  \"Omega\",\n  0x2126,\n  \"Omegacyrillic\",\n  0x0460,\n  \"Omegagreek\",\n  0x03a9,\n  \"Omegaroundcyrillic\",\n  0x047a,\n  \"Omegatitlocyrillic\",\n  0x047c,\n  \"Omegatonos\",\n  0x038f,\n  \"Omicron\",\n  0x039f,\n  \"Omicrontonos\",\n  0x038c,\n  \"Omonospace\",\n  0xff2f,\n  \"Oneroman\",\n  0x2160,\n  \"Oogonek\",\n  0x01ea,\n  \"Oogonekmacron\",\n  0x01ec,\n  \"Oopen\",\n  0x0186,\n  \"Oslash\",\n  0x00d8,\n  \"Oslashacute\",\n  0x01fe,\n  \"Oslashsmall\",\n  0xf7f8,\n  \"Osmall\",\n  0xf76f,\n  \"Ostrokeacute\",\n  0x01fe,\n  \"Otcyrillic\",\n  0x047e,\n  \"Otilde\",\n  0x00d5,\n  \"Otildeacute\",\n  0x1e4c,\n  \"Otildedieresis\",\n  0x1e4e,\n  \"Otildesmall\",\n  0xf7f5,\n  \"P\",\n  0x0050,\n  \"Pacute\",\n  0x1e54,\n  \"Pcircle\",\n  0x24c5,\n  \"Pdotaccent\",\n  0x1e56,\n  \"Pecyrillic\",\n  0x041f,\n  \"Peharmenian\",\n  0x054a,\n  \"Pemiddlehookcyrillic\",\n  0x04a6,\n  \"Phi\",\n  0x03a6,\n  \"Phook\",\n  0x01a4,\n  \"Pi\",\n  0x03a0,\n  \"Piwrarmenian\",\n  0x0553,\n  \"Pmonospace\",\n  0xff30,\n  \"Psi\",\n  0x03a8,\n  \"Psicyrillic\",\n  0x0470,\n  \"Psmall\",\n  0xf770,\n  \"Q\",\n  0x0051,\n  \"Qcircle\",\n  0x24c6,\n  \"Qmonospace\",\n  0xff31,\n  \"Qsmall\",\n  0xf771,\n  \"R\",\n  0x0052,\n  \"Raarmenian\",\n  0x054c,\n  \"Racute\",\n  0x0154,\n  \"Rcaron\",\n  0x0158,\n  \"Rcedilla\",\n  0x0156,\n  \"Rcircle\",\n  0x24c7,\n  \"Rcommaaccent\",\n  0x0156,\n  \"Rdblgrave\",\n  0x0210,\n  \"Rdotaccent\",\n  0x1e58,\n  \"Rdotbelow\",\n  0x1e5a,\n  \"Rdotbelowmacron\",\n  0x1e5c,\n  \"Reharmenian\",\n  0x0550,\n  \"Rfraktur\",\n  0x211c,\n  \"Rho\",\n  0x03a1,\n  \"Ringsmall\",\n  0xf6fc,\n  \"Rinvertedbreve\",\n  0x0212,\n  \"Rlinebelow\",\n  0x1e5e,\n  \"Rmonospace\",\n  0xff32,\n  \"Rsmall\",\n  0xf772,\n  \"Rsmallinverted\",\n  0x0281,\n  \"Rsmallinvertedsuperior\",\n  0x02b6,\n  \"S\",\n  0x0053,\n  \"SF010000\",\n  0x250c,\n  \"SF020000\",\n  0x2514,\n  \"SF030000\",\n  0x2510,\n  \"SF040000\",\n  0x2518,\n  \"SF050000\",\n  0x253c,\n  \"SF060000\",\n  0x252c,\n  \"SF070000\",\n  0x2534,\n  \"SF080000\",\n  0x251c,\n  \"SF090000\",\n  0x2524,\n  \"SF100000\",\n  0x2500,\n  \"SF110000\",\n  0x2502,\n  \"SF190000\",\n  0x2561,\n  \"SF200000\",\n  0x2562,\n  \"SF210000\",\n  0x2556,\n  \"SF220000\",\n  0x2555,\n  \"SF230000\",\n  0x2563,\n  \"SF240000\",\n  0x2551,\n  \"SF250000\",\n  0x2557,\n  \"SF260000\",\n  0x255d,\n  \"SF270000\",\n  0x255c,\n  \"SF280000\",\n  0x255b,\n  \"SF360000\",\n  0x255e,\n  \"SF370000\",\n  0x255f,\n  \"SF380000\",\n  0x255a,\n  \"SF390000\",\n  0x2554,\n  \"SF400000\",\n  0x2569,\n  \"SF410000\",\n  0x2566,\n  \"SF420000\",\n  0x2560,\n  \"SF430000\",\n  0x2550,\n  \"SF440000\",\n  0x256c,\n  \"SF450000\",\n  0x2567,\n  \"SF460000\",\n  0x2568,\n  \"SF470000\",\n  0x2564,\n  \"SF480000\",\n  0x2565,\n  \"SF490000\",\n  0x2559,\n  \"SF500000\",\n  0x2558,\n  \"SF510000\",\n  0x2552,\n  \"SF520000\",\n  0x2553,\n  \"SF530000\",\n  0x256b,\n  \"SF540000\",\n  0x256a,\n  \"Sacute\",\n  0x015a,\n  \"Sacutedotaccent\",\n  0x1e64,\n  \"Sampigreek\",\n  0x03e0,\n  \"Scaron\",\n  0x0160,\n  \"Scarondotaccent\",\n  0x1e66,\n  \"Scaronsmall\",\n  0xf6fd,\n  \"Scedilla\",\n  0x015e,\n  \"Schwa\",\n  0x018f,\n  \"Schwacyrillic\",\n  0x04d8,\n  \"Schwadieresiscyrillic\",\n  0x04da,\n  \"Scircle\",\n  0x24c8,\n  \"Scircumflex\",\n  0x015c,\n  \"Scommaaccent\",\n  0x0218,\n  \"Sdotaccent\",\n  0x1e60,\n  \"Sdotbelow\",\n  0x1e62,\n  \"Sdotbelowdotaccent\",\n  0x1e68,\n  \"Seharmenian\",\n  0x054d,\n  \"Sevenroman\",\n  0x2166,\n  \"Shaarmenian\",\n  0x0547,\n  \"Shacyrillic\",\n  0x0428,\n  \"Shchacyrillic\",\n  0x0429,\n  \"Sheicoptic\",\n  0x03e2,\n  \"Shhacyrillic\",\n  0x04ba,\n  \"Shimacoptic\",\n  0x03ec,\n  \"Sigma\",\n  0x03a3,\n  \"Sixroman\",\n  0x2165,\n  \"Smonospace\",\n  0xff33,\n  \"Softsigncyrillic\",\n  0x042c,\n  \"Ssmall\",\n  0xf773,\n  \"Stigmagreek\",\n  0x03da,\n  \"T\",\n  0x0054,\n  \"Tau\",\n  0x03a4,\n  \"Tbar\",\n  0x0166,\n  \"Tcaron\",\n  0x0164,\n  \"Tcedilla\",\n  0x0162,\n  \"Tcircle\",\n  0x24c9,\n  \"Tcircumflexbelow\",\n  0x1e70,\n  \"Tcommaaccent\",\n  0x0162,\n  \"Tdotaccent\",\n  0x1e6a,\n  \"Tdotbelow\",\n  0x1e6c,\n  \"Tecyrillic\",\n  0x0422,\n  \"Tedescendercyrillic\",\n  0x04ac,\n  \"Tenroman\",\n  0x2169,\n  \"Tetsecyrillic\",\n  0x04b4,\n  \"Theta\",\n  0x0398,\n  \"Thook\",\n  0x01ac,\n  \"Thorn\",\n  0x00de,\n  \"Thornsmall\",\n  0xf7fe,\n  \"Threeroman\",\n  0x2162,\n  \"Tildesmall\",\n  0xf6fe,\n  \"Tiwnarmenian\",\n  0x054f,\n  \"Tlinebelow\",\n  0x1e6e,\n  \"Tmonospace\",\n  0xff34,\n  \"Toarmenian\",\n  0x0539,\n  \"Tonefive\",\n  0x01bc,\n  \"Tonesix\",\n  0x0184,\n  \"Tonetwo\",\n  0x01a7,\n  \"Tretroflexhook\",\n  0x01ae,\n  \"Tsecyrillic\",\n  0x0426,\n  \"Tshecyrillic\",\n  0x040b,\n  \"Tsmall\",\n  0xf774,\n  \"Twelveroman\",\n  0x216b,\n  \"Tworoman\",\n  0x2161,\n  \"U\",\n  0x0055,\n  \"Uacute\",\n  0x00da,\n  \"Uacutesmall\",\n  0xf7fa,\n  \"Ubreve\",\n  0x016c,\n  \"Ucaron\",\n  0x01d3,\n  \"Ucircle\",\n  0x24ca,\n  \"Ucircumflex\",\n  0x00db,\n  \"Ucircumflexbelow\",\n  0x1e76,\n  \"Ucircumflexsmall\",\n  0xf7fb,\n  \"Ucyrillic\",\n  0x0423,\n  \"Udblacute\",\n  0x0170,\n  \"Udblgrave\",\n  0x0214,\n  \"Udieresis\",\n  0x00dc,\n  \"Udieresisacute\",\n  0x01d7,\n  \"Udieresisbelow\",\n  0x1e72,\n  \"Udieresiscaron\",\n  0x01d9,\n  \"Udieresiscyrillic\",\n  0x04f0,\n  \"Udieresisgrave\",\n  0x01db,\n  \"Udieresismacron\",\n  0x01d5,\n  \"Udieresissmall\",\n  0xf7fc,\n  \"Udotbelow\",\n  0x1ee4,\n  \"Ugrave\",\n  0x00d9,\n  \"Ugravesmall\",\n  0xf7f9,\n  \"Uhookabove\",\n  0x1ee6,\n  \"Uhorn\",\n  0x01af,\n  \"Uhornacute\",\n  0x1ee8,\n  \"Uhorndotbelow\",\n  0x1ef0,\n  \"Uhorngrave\",\n  0x1eea,\n  \"Uhornhookabove\",\n  0x1eec,\n  \"Uhorntilde\",\n  0x1eee,\n  \"Uhungarumlaut\",\n  0x0170,\n  \"Uhungarumlautcyrillic\",\n  0x04f2,\n  \"Uinvertedbreve\",\n  0x0216,\n  \"Ukcyrillic\",\n  0x0478,\n  \"Umacron\",\n  0x016a,\n  \"Umacroncyrillic\",\n  0x04ee,\n  \"Umacrondieresis\",\n  0x1e7a,\n  \"Umonospace\",\n  0xff35,\n  \"Uogonek\",\n  0x0172,\n  \"Upsilon\",\n  0x03a5,\n  \"Upsilon1\",\n  0x03d2,\n  \"Upsilonacutehooksymbolgreek\",\n  0x03d3,\n  \"Upsilonafrican\",\n  0x01b1,\n  \"Upsilondieresis\",\n  0x03ab,\n  \"Upsilondieresishooksymbolgreek\",\n  0x03d4,\n  \"Upsilonhooksymbol\",\n  0x03d2,\n  \"Upsilontonos\",\n  0x038e,\n  \"Uring\",\n  0x016e,\n  \"Ushortcyrillic\",\n  0x040e,\n  \"Usmall\",\n  0xf775,\n  \"Ustraightcyrillic\",\n  0x04ae,\n  \"Ustraightstrokecyrillic\",\n  0x04b0,\n  \"Utilde\",\n  0x0168,\n  \"Utildeacute\",\n  0x1e78,\n  \"Utildebelow\",\n  0x1e74,\n  \"V\",\n  0x0056,\n  \"Vcircle\",\n  0x24cb,\n  \"Vdotbelow\",\n  0x1e7e,\n  \"Vecyrillic\",\n  0x0412,\n  \"Vewarmenian\",\n  0x054e,\n  \"Vhook\",\n  0x01b2,\n  \"Vmonospace\",\n  0xff36,\n  \"Voarmenian\",\n  0x0548,\n  \"Vsmall\",\n  0xf776,\n  \"Vtilde\",\n  0x1e7c,\n  \"W\",\n  0x0057,\n  \"Wacute\",\n  0x1e82,\n  \"Wcircle\",\n  0x24cc,\n  \"Wcircumflex\",\n  0x0174,\n  \"Wdieresis\",\n  0x1e84,\n  \"Wdotaccent\",\n  0x1e86,\n  \"Wdotbelow\",\n  0x1e88,\n  \"Wgrave\",\n  0x1e80,\n  \"Wmonospace\",\n  0xff37,\n  \"Wsmall\",\n  0xf777,\n  \"X\",\n  0x0058,\n  \"Xcircle\",\n  0x24cd,\n  \"Xdieresis\",\n  0x1e8c,\n  \"Xdotaccent\",\n  0x1e8a,\n  \"Xeharmenian\",\n  0x053d,\n  \"Xi\",\n  0x039e,\n  \"Xmonospace\",\n  0xff38,\n  \"Xsmall\",\n  0xf778,\n  \"Y\",\n  0x0059,\n  \"Yacute\",\n  0x00dd,\n  \"Yacutesmall\",\n  0xf7fd,\n  \"Yatcyrillic\",\n  0x0462,\n  \"Ycircle\",\n  0x24ce,\n  \"Ycircumflex\",\n  0x0176,\n  \"Ydieresis\",\n  0x0178,\n  \"Ydieresissmall\",\n  0xf7ff,\n  \"Ydotaccent\",\n  0x1e8e,\n  \"Ydotbelow\",\n  0x1ef4,\n  \"Yericyrillic\",\n  0x042b,\n  \"Yerudieresiscyrillic\",\n  0x04f8,\n  \"Ygrave\",\n  0x1ef2,\n  \"Yhook\",\n  0x01b3,\n  \"Yhookabove\",\n  0x1ef6,\n  \"Yiarmenian\",\n  0x0545,\n  \"Yicyrillic\",\n  0x0407,\n  \"Yiwnarmenian\",\n  0x0552,\n  \"Ymonospace\",\n  0xff39,\n  \"Ysmall\",\n  0xf779,\n  \"Ytilde\",\n  0x1ef8,\n  \"Yusbigcyrillic\",\n  0x046a,\n  \"Yusbigiotifiedcyrillic\",\n  0x046c,\n  \"Yuslittlecyrillic\",\n  0x0466,\n  \"Yuslittleiotifiedcyrillic\",\n  0x0468,\n  \"Z\",\n  0x005a,\n  \"Zaarmenian\",\n  0x0536,\n  \"Zacute\",\n  0x0179,\n  \"Zcaron\",\n  0x017d,\n  \"Zcaronsmall\",\n  0xf6ff,\n  \"Zcircle\",\n  0x24cf,\n  \"Zcircumflex\",\n  0x1e90,\n  \"Zdot\",\n  0x017b,\n  \"Zdotaccent\",\n  0x017b,\n  \"Zdotbelow\",\n  0x1e92,\n  \"Zecyrillic\",\n  0x0417,\n  \"Zedescendercyrillic\",\n  0x0498,\n  \"Zedieresiscyrillic\",\n  0x04de,\n  \"Zeta\",\n  0x0396,\n  \"Zhearmenian\",\n  0x053a,\n  \"Zhebrevecyrillic\",\n  0x04c1,\n  \"Zhecyrillic\",\n  0x0416,\n  \"Zhedescendercyrillic\",\n  0x0496,\n  \"Zhedieresiscyrillic\",\n  0x04dc,\n  \"Zlinebelow\",\n  0x1e94,\n  \"Zmonospace\",\n  0xff3a,\n  \"Zsmall\",\n  0xf77a,\n  \"Zstroke\",\n  0x01b5,\n  \"a\",\n  0x0061,\n  \"aabengali\",\n  0x0986,\n  \"aacute\",\n  0x00e1,\n  \"aadeva\",\n  0x0906,\n  \"aagujarati\",\n  0x0a86,\n  \"aagurmukhi\",\n  0x0a06,\n  \"aamatragurmukhi\",\n  0x0a3e,\n  \"aarusquare\",\n  0x3303,\n  \"aavowelsignbengali\",\n  0x09be,\n  \"aavowelsigndeva\",\n  0x093e,\n  \"aavowelsigngujarati\",\n  0x0abe,\n  \"abbreviationmarkarmenian\",\n  0x055f,\n  \"abbreviationsigndeva\",\n  0x0970,\n  \"abengali\",\n  0x0985,\n  \"abopomofo\",\n  0x311a,\n  \"abreve\",\n  0x0103,\n  \"abreveacute\",\n  0x1eaf,\n  \"abrevecyrillic\",\n  0x04d1,\n  \"abrevedotbelow\",\n  0x1eb7,\n  \"abrevegrave\",\n  0x1eb1,\n  \"abrevehookabove\",\n  0x1eb3,\n  \"abrevetilde\",\n  0x1eb5,\n  \"acaron\",\n  0x01ce,\n  \"acircle\",\n  0x24d0,\n  \"acircumflex\",\n  0x00e2,\n  \"acircumflexacute\",\n  0x1ea5,\n  \"acircumflexdotbelow\",\n  0x1ead,\n  \"acircumflexgrave\",\n  0x1ea7,\n  \"acircumflexhookabove\",\n  0x1ea9,\n  \"acircumflextilde\",\n  0x1eab,\n  \"acute\",\n  0x00b4,\n  \"acutebelowcmb\",\n  0x0317,\n  \"acutecmb\",\n  0x0301,\n  \"acutecomb\",\n  0x0301,\n  \"acutedeva\",\n  0x0954,\n  \"acutelowmod\",\n  0x02cf,\n  \"acutetonecmb\",\n  0x0341,\n  \"acyrillic\",\n  0x0430,\n  \"adblgrave\",\n  0x0201,\n  \"addakgurmukhi\",\n  0x0a71,\n  \"adeva\",\n  0x0905,\n  \"adieresis\",\n  0x00e4,\n  \"adieresiscyrillic\",\n  0x04d3,\n  \"adieresismacron\",\n  0x01df,\n  \"adotbelow\",\n  0x1ea1,\n  \"adotmacron\",\n  0x01e1,\n  \"ae\",\n  0x00e6,\n  \"aeacute\",\n  0x01fd,\n  \"aekorean\",\n  0x3150,\n  \"aemacron\",\n  0x01e3,\n  \"afii00208\",\n  0x2015,\n  \"afii08941\",\n  0x20a4,\n  \"afii10017\",\n  0x0410,\n  \"afii10018\",\n  0x0411,\n  \"afii10019\",\n  0x0412,\n  \"afii10020\",\n  0x0413,\n  \"afii10021\",\n  0x0414,\n  \"afii10022\",\n  0x0415,\n  \"afii10023\",\n  0x0401,\n  \"afii10024\",\n  0x0416,\n  \"afii10025\",\n  0x0417,\n  \"afii10026\",\n  0x0418,\n  \"afii10027\",\n  0x0419,\n  \"afii10028\",\n  0x041a,\n  \"afii10029\",\n  0x041b,\n  \"afii10030\",\n  0x041c,\n  \"afii10031\",\n  0x041d,\n  \"afii10032\",\n  0x041e,\n  \"afii10033\",\n  0x041f,\n  \"afii10034\",\n  0x0420,\n  \"afii10035\",\n  0x0421,\n  \"afii10036\",\n  0x0422,\n  \"afii10037\",\n  0x0423,\n  \"afii10038\",\n  0x0424,\n  \"afii10039\",\n  0x0425,\n  \"afii10040\",\n  0x0426,\n  \"afii10041\",\n  0x0427,\n  \"afii10042\",\n  0x0428,\n  \"afii10043\",\n  0x0429,\n  \"afii10044\",\n  0x042a,\n  \"afii10045\",\n  0x042b,\n  \"afii10046\",\n  0x042c,\n  \"afii10047\",\n  0x042d,\n  \"afii10048\",\n  0x042e,\n  \"afii10049\",\n  0x042f,\n  \"afii10050\",\n  0x0490,\n  \"afii10051\",\n  0x0402,\n  \"afii10052\",\n  0x0403,\n  \"afii10053\",\n  0x0404,\n  \"afii10054\",\n  0x0405,\n  \"afii10055\",\n  0x0406,\n  \"afii10056\",\n  0x0407,\n  \"afii10057\",\n  0x0408,\n  \"afii10058\",\n  0x0409,\n  \"afii10059\",\n  0x040a,\n  \"afii10060\",\n  0x040b,\n  \"afii10061\",\n  0x040c,\n  \"afii10062\",\n  0x040e,\n  \"afii10063\",\n  0xf6c4,\n  \"afii10064\",\n  0xf6c5,\n  \"afii10065\",\n  0x0430,\n  \"afii10066\",\n  0x0431,\n  \"afii10067\",\n  0x0432,\n  \"afii10068\",\n  0x0433,\n  \"afii10069\",\n  0x0434,\n  \"afii10070\",\n  0x0435,\n  \"afii10071\",\n  0x0451,\n  \"afii10072\",\n  0x0436,\n  \"afii10073\",\n  0x0437,\n  \"afii10074\",\n  0x0438,\n  \"afii10075\",\n  0x0439,\n  \"afii10076\",\n  0x043a,\n  \"afii10077\",\n  0x043b,\n  \"afii10078\",\n  0x043c,\n  \"afii10079\",\n  0x043d,\n  \"afii10080\",\n  0x043e,\n  \"afii10081\",\n  0x043f,\n  \"afii10082\",\n  0x0440,\n  \"afii10083\",\n  0x0441,\n  \"afii10084\",\n  0x0442,\n  \"afii10085\",\n  0x0443,\n  \"afii10086\",\n  0x0444,\n  \"afii10087\",\n  0x0445,\n  \"afii10088\",\n  0x0446,\n  \"afii10089\",\n  0x0447,\n  \"afii10090\",\n  0x0448,\n  \"afii10091\",\n  0x0449,\n  \"afii10092\",\n  0x044a,\n  \"afii10093\",\n  0x044b,\n  \"afii10094\",\n  0x044c,\n  \"afii10095\",\n  0x044d,\n  \"afii10096\",\n  0x044e,\n  \"afii10097\",\n  0x044f,\n  \"afii10098\",\n  0x0491,\n  \"afii10099\",\n  0x0452,\n  \"afii10100\",\n  0x0453,\n  \"afii10101\",\n  0x0454,\n  \"afii10102\",\n  0x0455,\n  \"afii10103\",\n  0x0456,\n  \"afii10104\",\n  0x0457,\n  \"afii10105\",\n  0x0458,\n  \"afii10106\",\n  0x0459,\n  \"afii10107\",\n  0x045a,\n  \"afii10108\",\n  0x045b,\n  \"afii10109\",\n  0x045c,\n  \"afii10110\",\n  0x045e,\n  \"afii10145\",\n  0x040f,\n  \"afii10146\",\n  0x0462,\n  \"afii10147\",\n  0x0472,\n  \"afii10148\",\n  0x0474,\n  \"afii10192\",\n  0xf6c6,\n  \"afii10193\",\n  0x045f,\n  \"afii10194\",\n  0x0463,\n  \"afii10195\",\n  0x0473,\n  \"afii10196\",\n  0x0475,\n  \"afii10831\",\n  0xf6c7,\n  \"afii10832\",\n  0xf6c8,\n  \"afii10846\",\n  0x04d9,\n  \"afii299\",\n  0x200e,\n  \"afii300\",\n  0x200f,\n  \"afii301\",\n  0x200d,\n  \"afii57381\",\n  0x066a,\n  \"afii57388\",\n  0x060c,\n  \"afii57392\",\n  0x0660,\n  \"afii57393\",\n  0x0661,\n  \"afii57394\",\n  0x0662,\n  \"afii57395\",\n  0x0663,\n  \"afii57396\",\n  0x0664,\n  \"afii57397\",\n  0x0665,\n  \"afii57398\",\n  0x0666,\n  \"afii57399\",\n  0x0667,\n  \"afii57400\",\n  0x0668,\n  \"afii57401\",\n  0x0669,\n  \"afii57403\",\n  0x061b,\n  \"afii57407\",\n  0x061f,\n  \"afii57409\",\n  0x0621,\n  \"afii57410\",\n  0x0622,\n  \"afii57411\",\n  0x0623,\n  \"afii57412\",\n  0x0624,\n  \"afii57413\",\n  0x0625,\n  \"afii57414\",\n  0x0626,\n  \"afii57415\",\n  0x0627,\n  \"afii57416\",\n  0x0628,\n  \"afii57417\",\n  0x0629,\n  \"afii57418\",\n  0x062a,\n  \"afii57419\",\n  0x062b,\n  \"afii57420\",\n  0x062c,\n  \"afii57421\",\n  0x062d,\n  \"afii57422\",\n  0x062e,\n  \"afii57423\",\n  0x062f,\n  \"afii57424\",\n  0x0630,\n  \"afii57425\",\n  0x0631,\n  \"afii57426\",\n  0x0632,\n  \"afii57427\",\n  0x0633,\n  \"afii57428\",\n  0x0634,\n  \"afii57429\",\n  0x0635,\n  \"afii57430\",\n  0x0636,\n  \"afii57431\",\n  0x0637,\n  \"afii57432\",\n  0x0638,\n  \"afii57433\",\n  0x0639,\n  \"afii57434\",\n  0x063a,\n  \"afii57440\",\n  0x0640,\n  \"afii57441\",\n  0x0641,\n  \"afii57442\",\n  0x0642,\n  \"afii57443\",\n  0x0643,\n  \"afii57444\",\n  0x0644,\n  \"afii57445\",\n  0x0645,\n  \"afii57446\",\n  0x0646,\n  \"afii57448\",\n  0x0648,\n  \"afii57449\",\n  0x0649,\n  \"afii57450\",\n  0x064a,\n  \"afii57451\",\n  0x064b,\n  \"afii57452\",\n  0x064c,\n  \"afii57453\",\n  0x064d,\n  \"afii57454\",\n  0x064e,\n  \"afii57455\",\n  0x064f,\n  \"afii57456\",\n  0x0650,\n  \"afii57457\",\n  0x0651,\n  \"afii57458\",\n  0x0652,\n  \"afii57470\",\n  0x0647,\n  \"afii57505\",\n  0x06a4,\n  \"afii57506\",\n  0x067e,\n  \"afii57507\",\n  0x0686,\n  \"afii57508\",\n  0x0698,\n  \"afii57509\",\n  0x06af,\n  \"afii57511\",\n  0x0679,\n  \"afii57512\",\n  0x0688,\n  \"afii57513\",\n  0x0691,\n  \"afii57514\",\n  0x06ba,\n  \"afii57519\",\n  0x06d2,\n  \"afii57534\",\n  0x06d5,\n  \"afii57636\",\n  0x20aa,\n  \"afii57645\",\n  0x05be,\n  \"afii57658\",\n  0x05c3,\n  \"afii57664\",\n  0x05d0,\n  \"afii57665\",\n  0x05d1,\n  \"afii57666\",\n  0x05d2,\n  \"afii57667\",\n  0x05d3,\n  \"afii57668\",\n  0x05d4,\n  \"afii57669\",\n  0x05d5,\n  \"afii57670\",\n  0x05d6,\n  \"afii57671\",\n  0x05d7,\n  \"afii57672\",\n  0x05d8,\n  \"afii57673\",\n  0x05d9,\n  \"afii57674\",\n  0x05da,\n  \"afii57675\",\n  0x05db,\n  \"afii57676\",\n  0x05dc,\n  \"afii57677\",\n  0x05dd,\n  \"afii57678\",\n  0x05de,\n  \"afii57679\",\n  0x05df,\n  \"afii57680\",\n  0x05e0,\n  \"afii57681\",\n  0x05e1,\n  \"afii57682\",\n  0x05e2,\n  \"afii57683\",\n  0x05e3,\n  \"afii57684\",\n  0x05e4,\n  \"afii57685\",\n  0x05e5,\n  \"afii57686\",\n  0x05e6,\n  \"afii57687\",\n  0x05e7,\n  \"afii57688\",\n  0x05e8,\n  \"afii57689\",\n  0x05e9,\n  \"afii57690\",\n  0x05ea,\n  \"afii57694\",\n  0xfb2a,\n  \"afii57695\",\n  0xfb2b,\n  \"afii57700\",\n  0xfb4b,\n  \"afii57705\",\n  0xfb1f,\n  \"afii57716\",\n  0x05f0,\n  \"afii57717\",\n  0x05f1,\n  \"afii57718\",\n  0x05f2,\n  \"afii57723\",\n  0xfb35,\n  \"afii57793\",\n  0x05b4,\n  \"afii57794\",\n  0x05b5,\n  \"afii57795\",\n  0x05b6,\n  \"afii57796\",\n  0x05bb,\n  \"afii57797\",\n  0x05b8,\n  \"afii57798\",\n  0x05b7,\n  \"afii57799\",\n  0x05b0,\n  \"afii57800\",\n  0x05b2,\n  \"afii57801\",\n  0x05b1,\n  \"afii57802\",\n  0x05b3,\n  \"afii57803\",\n  0x05c2,\n  \"afii57804\",\n  0x05c1,\n  \"afii57806\",\n  0x05b9,\n  \"afii57807\",\n  0x05bc,\n  \"afii57839\",\n  0x05bd,\n  \"afii57841\",\n  0x05bf,\n  \"afii57842\",\n  0x05c0,\n  \"afii57929\",\n  0x02bc,\n  \"afii61248\",\n  0x2105,\n  \"afii61289\",\n  0x2113,\n  \"afii61352\",\n  0x2116,\n  \"afii61573\",\n  0x202c,\n  \"afii61574\",\n  0x202d,\n  \"afii61575\",\n  0x202e,\n  \"afii61664\",\n  0x200c,\n  \"afii63167\",\n  0x066d,\n  \"afii64937\",\n  0x02bd,\n  \"agrave\",\n  0x00e0,\n  \"agujarati\",\n  0x0a85,\n  \"agurmukhi\",\n  0x0a05,\n  \"ahiragana\",\n  0x3042,\n  \"ahookabove\",\n  0x1ea3,\n  \"aibengali\",\n  0x0990,\n  \"aibopomofo\",\n  0x311e,\n  \"aideva\",\n  0x0910,\n  \"aiecyrillic\",\n  0x04d5,\n  \"aigujarati\",\n  0x0a90,\n  \"aigurmukhi\",\n  0x0a10,\n  \"aimatragurmukhi\",\n  0x0a48,\n  \"ainarabic\",\n  0x0639,\n  \"ainfinalarabic\",\n  0xfeca,\n  \"aininitialarabic\",\n  0xfecb,\n  \"ainmedialarabic\",\n  0xfecc,\n  \"ainvertedbreve\",\n  0x0203,\n  \"aivowelsignbengali\",\n  0x09c8,\n  \"aivowelsigndeva\",\n  0x0948,\n  \"aivowelsigngujarati\",\n  0x0ac8,\n  \"akatakana\",\n  0x30a2,\n  \"akatakanahalfwidth\",\n  0xff71,\n  \"akorean\",\n  0x314f,\n  \"alef\",\n  0x05d0,\n  \"alefarabic\",\n  0x0627,\n  \"alefdageshhebrew\",\n  0xfb30,\n  \"aleffinalarabic\",\n  0xfe8e,\n  \"alefhamzaabovearabic\",\n  0x0623,\n  \"alefhamzaabovefinalarabic\",\n  0xfe84,\n  \"alefhamzabelowarabic\",\n  0x0625,\n  \"alefhamzabelowfinalarabic\",\n  0xfe88,\n  \"alefhebrew\",\n  0x05d0,\n  \"aleflamedhebrew\",\n  0xfb4f,\n  \"alefmaddaabovearabic\",\n  0x0622,\n  \"alefmaddaabovefinalarabic\",\n  0xfe82,\n  \"alefmaksuraarabic\",\n  0x0649,\n  \"alefmaksurafinalarabic\",\n  0xfef0,\n  \"alefmaksurainitialarabic\",\n  0xfef3,\n  \"alefmaksuramedialarabic\",\n  0xfef4,\n  \"alefpatahhebrew\",\n  0xfb2e,\n  \"alefqamatshebrew\",\n  0xfb2f,\n  \"aleph\",\n  0x2135,\n  \"allequal\",\n  0x224c,\n  \"alpha\",\n  0x03b1,\n  \"alphatonos\",\n  0x03ac,\n  \"amacron\",\n  0x0101,\n  \"amonospace\",\n  0xff41,\n  \"ampersand\",\n  0x0026,\n  \"ampersandmonospace\",\n  0xff06,\n  \"ampersandsmall\",\n  0xf726,\n  \"amsquare\",\n  0x33c2,\n  \"anbopomofo\",\n  0x3122,\n  \"angbopomofo\",\n  0x3124,\n  \"angbracketleft\",\n  0x3008,\n  \"angbracketright\",\n  0x3009,\n  \"angkhankhuthai\",\n  0x0e5a,\n  \"angle\",\n  0x2220,\n  \"anglebracketleft\",\n  0x3008,\n  \"anglebracketleftvertical\",\n  0xfe3f,\n  \"anglebracketright\",\n  0x3009,\n  \"anglebracketrightvertical\",\n  0xfe40,\n  \"angleleft\",\n  0x2329,\n  \"angleright\",\n  0x232a,\n  \"angstrom\",\n  0x212b,\n  \"anoteleia\",\n  0x0387,\n  \"anudattadeva\",\n  0x0952,\n  \"anusvarabengali\",\n  0x0982,\n  \"anusvaradeva\",\n  0x0902,\n  \"anusvaragujarati\",\n  0x0a82,\n  \"aogonek\",\n  0x0105,\n  \"apaatosquare\",\n  0x3300,\n  \"aparen\",\n  0x249c,\n  \"apostrophearmenian\",\n  0x055a,\n  \"apostrophemod\",\n  0x02bc,\n  \"apple\",\n  0xf8ff,\n  \"approaches\",\n  0x2250,\n  \"approxequal\",\n  0x2248,\n  \"approxequalorimage\",\n  0x2252,\n  \"approximatelyequal\",\n  0x2245,\n  \"araeaekorean\",\n  0x318e,\n  \"araeakorean\",\n  0x318d,\n  \"arc\",\n  0x2312,\n  \"arighthalfring\",\n  0x1e9a,\n  \"aring\",\n  0x00e5,\n  \"aringacute\",\n  0x01fb,\n  \"aringbelow\",\n  0x1e01,\n  \"arrowboth\",\n  0x2194,\n  \"arrowdashdown\",\n  0x21e3,\n  \"arrowdashleft\",\n  0x21e0,\n  \"arrowdashright\",\n  0x21e2,\n  \"arrowdashup\",\n  0x21e1,\n  \"arrowdblboth\",\n  0x21d4,\n  \"arrowdbldown\",\n  0x21d3,\n  \"arrowdblleft\",\n  0x21d0,\n  \"arrowdblright\",\n  0x21d2,\n  \"arrowdblup\",\n  0x21d1,\n  \"arrowdown\",\n  0x2193,\n  \"arrowdownleft\",\n  0x2199,\n  \"arrowdownright\",\n  0x2198,\n  \"arrowdownwhite\",\n  0x21e9,\n  \"arrowheaddownmod\",\n  0x02c5,\n  \"arrowheadleftmod\",\n  0x02c2,\n  \"arrowheadrightmod\",\n  0x02c3,\n  \"arrowheadupmod\",\n  0x02c4,\n  \"arrowhorizex\",\n  0xf8e7,\n  \"arrowleft\",\n  0x2190,\n  \"arrowleftdbl\",\n  0x21d0,\n  \"arrowleftdblstroke\",\n  0x21cd,\n  \"arrowleftoverright\",\n  0x21c6,\n  \"arrowleftwhite\",\n  0x21e6,\n  \"arrowright\",\n  0x2192,\n  \"arrowrightdblstroke\",\n  0x21cf,\n  \"arrowrightheavy\",\n  0x279e,\n  \"arrowrightoverleft\",\n  0x21c4,\n  \"arrowrightwhite\",\n  0x21e8,\n  \"arrowtableft\",\n  0x21e4,\n  \"arrowtabright\",\n  0x21e5,\n  \"arrowup\",\n  0x2191,\n  \"arrowupdn\",\n  0x2195,\n  \"arrowupdnbse\",\n  0x21a8,\n  \"arrowupdownbase\",\n  0x21a8,\n  \"arrowupleft\",\n  0x2196,\n  \"arrowupleftofdown\",\n  0x21c5,\n  \"arrowupright\",\n  0x2197,\n  \"arrowupwhite\",\n  0x21e7,\n  \"arrowvertex\",\n  0xf8e6,\n  \"asciicircum\",\n  0x005e,\n  \"asciicircummonospace\",\n  0xff3e,\n  \"asciitilde\",\n  0x007e,\n  \"asciitildemonospace\",\n  0xff5e,\n  \"ascript\",\n  0x0251,\n  \"ascriptturned\",\n  0x0252,\n  \"asmallhiragana\",\n  0x3041,\n  \"asmallkatakana\",\n  0x30a1,\n  \"asmallkatakanahalfwidth\",\n  0xff67,\n  \"asterisk\",\n  0x002a,\n  \"asteriskaltonearabic\",\n  0x066d,\n  \"asteriskarabic\",\n  0x066d,\n  \"asteriskmath\",\n  0x2217,\n  \"asteriskmonospace\",\n  0xff0a,\n  \"asterisksmall\",\n  0xfe61,\n  \"asterism\",\n  0x2042,\n  \"asuperior\",\n  0xf6e9,\n  \"asymptoticallyequal\",\n  0x2243,\n  \"at\",\n  0x0040,\n  \"atilde\",\n  0x00e3,\n  \"atmonospace\",\n  0xff20,\n  \"atsmall\",\n  0xfe6b,\n  \"aturned\",\n  0x0250,\n  \"aubengali\",\n  0x0994,\n  \"aubopomofo\",\n  0x3120,\n  \"audeva\",\n  0x0914,\n  \"augujarati\",\n  0x0a94,\n  \"augurmukhi\",\n  0x0a14,\n  \"aulengthmarkbengali\",\n  0x09d7,\n  \"aumatragurmukhi\",\n  0x0a4c,\n  \"auvowelsignbengali\",\n  0x09cc,\n  \"auvowelsigndeva\",\n  0x094c,\n  \"auvowelsigngujarati\",\n  0x0acc,\n  \"avagrahadeva\",\n  0x093d,\n  \"aybarmenian\",\n  0x0561,\n  \"ayin\",\n  0x05e2,\n  \"ayinaltonehebrew\",\n  0xfb20,\n  \"ayinhebrew\",\n  0x05e2,\n  \"b\",\n  0x0062,\n  \"babengali\",\n  0x09ac,\n  \"backslash\",\n  0x005c,\n  \"backslashmonospace\",\n  0xff3c,\n  \"badeva\",\n  0x092c,\n  \"bagujarati\",\n  0x0aac,\n  \"bagurmukhi\",\n  0x0a2c,\n  \"bahiragana\",\n  0x3070,\n  \"bahtthai\",\n  0x0e3f,\n  \"bakatakana\",\n  0x30d0,\n  \"bar\",\n  0x007c,\n  \"barmonospace\",\n  0xff5c,\n  \"bbopomofo\",\n  0x3105,\n  \"bcircle\",\n  0x24d1,\n  \"bdotaccent\",\n  0x1e03,\n  \"bdotbelow\",\n  0x1e05,\n  \"beamedsixteenthnotes\",\n  0x266c,\n  \"because\",\n  0x2235,\n  \"becyrillic\",\n  0x0431,\n  \"beharabic\",\n  0x0628,\n  \"behfinalarabic\",\n  0xfe90,\n  \"behinitialarabic\",\n  0xfe91,\n  \"behiragana\",\n  0x3079,\n  \"behmedialarabic\",\n  0xfe92,\n  \"behmeeminitialarabic\",\n  0xfc9f,\n  \"behmeemisolatedarabic\",\n  0xfc08,\n  \"behnoonfinalarabic\",\n  0xfc6d,\n  \"bekatakana\",\n  0x30d9,\n  \"benarmenian\",\n  0x0562,\n  \"bet\",\n  0x05d1,\n  \"beta\",\n  0x03b2,\n  \"betasymbolgreek\",\n  0x03d0,\n  \"betdagesh\",\n  0xfb31,\n  \"betdageshhebrew\",\n  0xfb31,\n  \"bethebrew\",\n  0x05d1,\n  \"betrafehebrew\",\n  0xfb4c,\n  \"bhabengali\",\n  0x09ad,\n  \"bhadeva\",\n  0x092d,\n  \"bhagujarati\",\n  0x0aad,\n  \"bhagurmukhi\",\n  0x0a2d,\n  \"bhook\",\n  0x0253,\n  \"bihiragana\",\n  0x3073,\n  \"bikatakana\",\n  0x30d3,\n  \"bilabialclick\",\n  0x0298,\n  \"bindigurmukhi\",\n  0x0a02,\n  \"birusquare\",\n  0x3331,\n  \"blackcircle\",\n  0x25cf,\n  \"blackdiamond\",\n  0x25c6,\n  \"blackdownpointingtriangle\",\n  0x25bc,\n  \"blackleftpointingpointer\",\n  0x25c4,\n  \"blackleftpointingtriangle\",\n  0x25c0,\n  \"blacklenticularbracketleft\",\n  0x3010,\n  \"blacklenticularbracketleftvertical\",\n  0xfe3b,\n  \"blacklenticularbracketright\",\n  0x3011,\n  \"blacklenticularbracketrightvertical\",\n  0xfe3c,\n  \"blacklowerlefttriangle\",\n  0x25e3,\n  \"blacklowerrighttriangle\",\n  0x25e2,\n  \"blackrectangle\",\n  0x25ac,\n  \"blackrightpointingpointer\",\n  0x25ba,\n  \"blackrightpointingtriangle\",\n  0x25b6,\n  \"blacksmallsquare\",\n  0x25aa,\n  \"blacksmilingface\",\n  0x263b,\n  \"blacksquare\",\n  0x25a0,\n  \"blackstar\",\n  0x2605,\n  \"blackupperlefttriangle\",\n  0x25e4,\n  \"blackupperrighttriangle\",\n  0x25e5,\n  \"blackuppointingsmalltriangle\",\n  0x25b4,\n  \"blackuppointingtriangle\",\n  0x25b2,\n  \"blank\",\n  0x2423,\n  \"blinebelow\",\n  0x1e07,\n  \"block\",\n  0x2588,\n  \"bmonospace\",\n  0xff42,\n  \"bobaimaithai\",\n  0x0e1a,\n  \"bohiragana\",\n  0x307c,\n  \"bokatakana\",\n  0x30dc,\n  \"bparen\",\n  0x249d,\n  \"bqsquare\",\n  0x33c3,\n  \"braceex\",\n  0xf8f4,\n  \"braceleft\",\n  0x007b,\n  \"braceleftbt\",\n  0xf8f3,\n  \"braceleftmid\",\n  0xf8f2,\n  \"braceleftmonospace\",\n  0xff5b,\n  \"braceleftsmall\",\n  0xfe5b,\n  \"bracelefttp\",\n  0xf8f1,\n  \"braceleftvertical\",\n  0xfe37,\n  \"braceright\",\n  0x007d,\n  \"bracerightbt\",\n  0xf8fe,\n  \"bracerightmid\",\n  0xf8fd,\n  \"bracerightmonospace\",\n  0xff5d,\n  \"bracerightsmall\",\n  0xfe5c,\n  \"bracerighttp\",\n  0xf8fc,\n  \"bracerightvertical\",\n  0xfe38,\n  \"bracketleft\",\n  0x005b,\n  \"bracketleftbt\",\n  0xf8f0,\n  \"bracketleftex\",\n  0xf8ef,\n  \"bracketleftmonospace\",\n  0xff3b,\n  \"bracketlefttp\",\n  0xf8ee,\n  \"bracketright\",\n  0x005d,\n  \"bracketrightbt\",\n  0xf8fb,\n  \"bracketrightex\",\n  0xf8fa,\n  \"bracketrightmonospace\",\n  0xff3d,\n  \"bracketrighttp\",\n  0xf8f9,\n  \"breve\",\n  0x02d8,\n  \"brevebelowcmb\",\n  0x032e,\n  \"brevecmb\",\n  0x0306,\n  \"breveinvertedbelowcmb\",\n  0x032f,\n  \"breveinvertedcmb\",\n  0x0311,\n  \"breveinverteddoublecmb\",\n  0x0361,\n  \"bridgebelowcmb\",\n  0x032a,\n  \"bridgeinvertedbelowcmb\",\n  0x033a,\n  \"brokenbar\",\n  0x00a6,\n  \"bstroke\",\n  0x0180,\n  \"bsuperior\",\n  0xf6ea,\n  \"btopbar\",\n  0x0183,\n  \"buhiragana\",\n  0x3076,\n  \"bukatakana\",\n  0x30d6,\n  \"bullet\",\n  0x2022,\n  \"bulletinverse\",\n  0x25d8,\n  \"bulletoperator\",\n  0x2219,\n  \"bullseye\",\n  0x25ce,\n  \"c\",\n  0x0063,\n  \"caarmenian\",\n  0x056e,\n  \"cabengali\",\n  0x099a,\n  \"cacute\",\n  0x0107,\n  \"cadeva\",\n  0x091a,\n  \"cagujarati\",\n  0x0a9a,\n  \"cagurmukhi\",\n  0x0a1a,\n  \"calsquare\",\n  0x3388,\n  \"candrabindubengali\",\n  0x0981,\n  \"candrabinducmb\",\n  0x0310,\n  \"candrabindudeva\",\n  0x0901,\n  \"candrabindugujarati\",\n  0x0a81,\n  \"capslock\",\n  0x21ea,\n  \"careof\",\n  0x2105,\n  \"caron\",\n  0x02c7,\n  \"caronbelowcmb\",\n  0x032c,\n  \"caroncmb\",\n  0x030c,\n  \"carriagereturn\",\n  0x21b5,\n  \"cbopomofo\",\n  0x3118,\n  \"ccaron\",\n  0x010d,\n  \"ccedilla\",\n  0x00e7,\n  \"ccedillaacute\",\n  0x1e09,\n  \"ccircle\",\n  0x24d2,\n  \"ccircumflex\",\n  0x0109,\n  \"ccurl\",\n  0x0255,\n  \"cdot\",\n  0x010b,\n  \"cdotaccent\",\n  0x010b,\n  \"cdsquare\",\n  0x33c5,\n  \"cedilla\",\n  0x00b8,\n  \"cedillacmb\",\n  0x0327,\n  \"cent\",\n  0x00a2,\n  \"centigrade\",\n  0x2103,\n  \"centinferior\",\n  0xf6df,\n  \"centmonospace\",\n  0xffe0,\n  \"centoldstyle\",\n  0xf7a2,\n  \"centsuperior\",\n  0xf6e0,\n  \"chaarmenian\",\n  0x0579,\n  \"chabengali\",\n  0x099b,\n  \"chadeva\",\n  0x091b,\n  \"chagujarati\",\n  0x0a9b,\n  \"chagurmukhi\",\n  0x0a1b,\n  \"chbopomofo\",\n  0x3114,\n  \"cheabkhasiancyrillic\",\n  0x04bd,\n  \"checkmark\",\n  0x2713,\n  \"checyrillic\",\n  0x0447,\n  \"chedescenderabkhasiancyrillic\",\n  0x04bf,\n  \"chedescendercyrillic\",\n  0x04b7,\n  \"chedieresiscyrillic\",\n  0x04f5,\n  \"cheharmenian\",\n  0x0573,\n  \"chekhakassiancyrillic\",\n  0x04cc,\n  \"cheverticalstrokecyrillic\",\n  0x04b9,\n  \"chi\",\n  0x03c7,\n  \"chieuchacirclekorean\",\n  0x3277,\n  \"chieuchaparenkorean\",\n  0x3217,\n  \"chieuchcirclekorean\",\n  0x3269,\n  \"chieuchkorean\",\n  0x314a,\n  \"chieuchparenkorean\",\n  0x3209,\n  \"chochangthai\",\n  0x0e0a,\n  \"chochanthai\",\n  0x0e08,\n  \"chochingthai\",\n  0x0e09,\n  \"chochoethai\",\n  0x0e0c,\n  \"chook\",\n  0x0188,\n  \"cieucacirclekorean\",\n  0x3276,\n  \"cieucaparenkorean\",\n  0x3216,\n  \"cieuccirclekorean\",\n  0x3268,\n  \"cieuckorean\",\n  0x3148,\n  \"cieucparenkorean\",\n  0x3208,\n  \"cieucuparenkorean\",\n  0x321c,\n  \"circle\",\n  0x25cb,\n  \"circlecopyrt\",\n  0x00a9,\n  \"circlemultiply\",\n  0x2297,\n  \"circleot\",\n  0x2299,\n  \"circleplus\",\n  0x2295,\n  \"circlepostalmark\",\n  0x3036,\n  \"circlewithlefthalfblack\",\n  0x25d0,\n  \"circlewithrighthalfblack\",\n  0x25d1,\n  \"circumflex\",\n  0x02c6,\n  \"circumflexbelowcmb\",\n  0x032d,\n  \"circumflexcmb\",\n  0x0302,\n  \"clear\",\n  0x2327,\n  \"clickalveolar\",\n  0x01c2,\n  \"clickdental\",\n  0x01c0,\n  \"clicklateral\",\n  0x01c1,\n  \"clickretroflex\",\n  0x01c3,\n  \"club\",\n  0x2663,\n  \"clubsuitblack\",\n  0x2663,\n  \"clubsuitwhite\",\n  0x2667,\n  \"cmcubedsquare\",\n  0x33a4,\n  \"cmonospace\",\n  0xff43,\n  \"cmsquaredsquare\",\n  0x33a0,\n  \"coarmenian\",\n  0x0581,\n  \"colon\",\n  0x003a,\n  \"colonmonetary\",\n  0x20a1,\n  \"colonmonospace\",\n  0xff1a,\n  \"colonsign\",\n  0x20a1,\n  \"colonsmall\",\n  0xfe55,\n  \"colontriangularhalfmod\",\n  0x02d1,\n  \"colontriangularmod\",\n  0x02d0,\n  \"comma\",\n  0x002c,\n  \"commaabovecmb\",\n  0x0313,\n  \"commaaboverightcmb\",\n  0x0315,\n  \"commaaccent\",\n  0xf6c3,\n  \"commaarabic\",\n  0x060c,\n  \"commaarmenian\",\n  0x055d,\n  \"commainferior\",\n  0xf6e1,\n  \"commamonospace\",\n  0xff0c,\n  \"commareversedabovecmb\",\n  0x0314,\n  \"commareversedmod\",\n  0x02bd,\n  \"commasmall\",\n  0xfe50,\n  \"commasuperior\",\n  0xf6e2,\n  \"commaturnedabovecmb\",\n  0x0312,\n  \"commaturnedmod\",\n  0x02bb,\n  \"compass\",\n  0x263c,\n  \"congruent\",\n  0x2245,\n  \"contourintegral\",\n  0x222e,\n  \"control\",\n  0x2303,\n  \"controlACK\",\n  0x0006,\n  \"controlBEL\",\n  0x0007,\n  \"controlBS\",\n  0x0008,\n  \"controlCAN\",\n  0x0018,\n  \"controlCR\",\n  0x000d,\n  \"controlDC1\",\n  0x0011,\n  \"controlDC2\",\n  0x0012,\n  \"controlDC3\",\n  0x0013,\n  \"controlDC4\",\n  0x0014,\n  \"controlDEL\",\n  0x007f,\n  \"controlDLE\",\n  0x0010,\n  \"controlEM\",\n  0x0019,\n  \"controlENQ\",\n  0x0005,\n  \"controlEOT\",\n  0x0004,\n  \"controlESC\",\n  0x001b,\n  \"controlETB\",\n  0x0017,\n  \"controlETX\",\n  0x0003,\n  \"controlFF\",\n  0x000c,\n  \"controlFS\",\n  0x001c,\n  \"controlGS\",\n  0x001d,\n  \"controlHT\",\n  0x0009,\n  \"controlLF\",\n  0x000a,\n  \"controlNAK\",\n  0x0015,\n  \"controlNULL\",\n  0x0000,\n  \"controlRS\",\n  0x001e,\n  \"controlSI\",\n  0x000f,\n  \"controlSO\",\n  0x000e,\n  \"controlSOT\",\n  0x0002,\n  \"controlSTX\",\n  0x0001,\n  \"controlSUB\",\n  0x001a,\n  \"controlSYN\",\n  0x0016,\n  \"controlUS\",\n  0x001f,\n  \"controlVT\",\n  0x000b,\n  \"copyright\",\n  0x00a9,\n  \"copyrightsans\",\n  0xf8e9,\n  \"copyrightserif\",\n  0xf6d9,\n  \"cornerbracketleft\",\n  0x300c,\n  \"cornerbracketlefthalfwidth\",\n  0xff62,\n  \"cornerbracketleftvertical\",\n  0xfe41,\n  \"cornerbracketright\",\n  0x300d,\n  \"cornerbracketrighthalfwidth\",\n  0xff63,\n  \"cornerbracketrightvertical\",\n  0xfe42,\n  \"corporationsquare\",\n  0x337f,\n  \"cosquare\",\n  0x33c7,\n  \"coverkgsquare\",\n  0x33c6,\n  \"cparen\",\n  0x249e,\n  \"cruzeiro\",\n  0x20a2,\n  \"cstretched\",\n  0x0297,\n  \"curlyand\",\n  0x22cf,\n  \"curlyor\",\n  0x22ce,\n  \"currency\",\n  0x00a4,\n  \"cyrBreve\",\n  0xf6d1,\n  \"cyrFlex\",\n  0xf6d2,\n  \"cyrbreve\",\n  0xf6d4,\n  \"cyrflex\",\n  0xf6d5,\n  \"d\",\n  0x0064,\n  \"daarmenian\",\n  0x0564,\n  \"dabengali\",\n  0x09a6,\n  \"dadarabic\",\n  0x0636,\n  \"dadeva\",\n  0x0926,\n  \"dadfinalarabic\",\n  0xfebe,\n  \"dadinitialarabic\",\n  0xfebf,\n  \"dadmedialarabic\",\n  0xfec0,\n  \"dagesh\",\n  0x05bc,\n  \"dageshhebrew\",\n  0x05bc,\n  \"dagger\",\n  0x2020,\n  \"daggerdbl\",\n  0x2021,\n  \"dagujarati\",\n  0x0aa6,\n  \"dagurmukhi\",\n  0x0a26,\n  \"dahiragana\",\n  0x3060,\n  \"dakatakana\",\n  0x30c0,\n  \"dalarabic\",\n  0x062f,\n  \"dalet\",\n  0x05d3,\n  \"daletdagesh\",\n  0xfb33,\n  \"daletdageshhebrew\",\n  0xfb33,\n  \"dalethebrew\",\n  0x05d3,\n  \"dalfinalarabic\",\n  0xfeaa,\n  \"dammaarabic\",\n  0x064f,\n  \"dammalowarabic\",\n  0x064f,\n  \"dammatanaltonearabic\",\n  0x064c,\n  \"dammatanarabic\",\n  0x064c,\n  \"danda\",\n  0x0964,\n  \"dargahebrew\",\n  0x05a7,\n  \"dargalefthebrew\",\n  0x05a7,\n  \"dasiapneumatacyrilliccmb\",\n  0x0485,\n  \"dblGrave\",\n  0xf6d3,\n  \"dblanglebracketleft\",\n  0x300a,\n  \"dblanglebracketleftvertical\",\n  0xfe3d,\n  \"dblanglebracketright\",\n  0x300b,\n  \"dblanglebracketrightvertical\",\n  0xfe3e,\n  \"dblarchinvertedbelowcmb\",\n  0x032b,\n  \"dblarrowleft\",\n  0x21d4,\n  \"dblarrowright\",\n  0x21d2,\n  \"dbldanda\",\n  0x0965,\n  \"dblgrave\",\n  0xf6d6,\n  \"dblgravecmb\",\n  0x030f,\n  \"dblintegral\",\n  0x222c,\n  \"dbllowline\",\n  0x2017,\n  \"dbllowlinecmb\",\n  0x0333,\n  \"dbloverlinecmb\",\n  0x033f,\n  \"dblprimemod\",\n  0x02ba,\n  \"dblverticalbar\",\n  0x2016,\n  \"dblverticallineabovecmb\",\n  0x030e,\n  \"dbopomofo\",\n  0x3109,\n  \"dbsquare\",\n  0x33c8,\n  \"dcaron\",\n  0x010f,\n  \"dcedilla\",\n  0x1e11,\n  \"dcircle\",\n  0x24d3,\n  \"dcircumflexbelow\",\n  0x1e13,\n  \"dcroat\",\n  0x0111,\n  \"ddabengali\",\n  0x09a1,\n  \"ddadeva\",\n  0x0921,\n  \"ddagujarati\",\n  0x0aa1,\n  \"ddagurmukhi\",\n  0x0a21,\n  \"ddalarabic\",\n  0x0688,\n  \"ddalfinalarabic\",\n  0xfb89,\n  \"dddhadeva\",\n  0x095c,\n  \"ddhabengali\",\n  0x09a2,\n  \"ddhadeva\",\n  0x0922,\n  \"ddhagujarati\",\n  0x0aa2,\n  \"ddhagurmukhi\",\n  0x0a22,\n  \"ddotaccent\",\n  0x1e0b,\n  \"ddotbelow\",\n  0x1e0d,\n  \"decimalseparatorarabic\",\n  0x066b,\n  \"decimalseparatorpersian\",\n  0x066b,\n  \"decyrillic\",\n  0x0434,\n  \"degree\",\n  0x00b0,\n  \"dehihebrew\",\n  0x05ad,\n  \"dehiragana\",\n  0x3067,\n  \"deicoptic\",\n  0x03ef,\n  \"dekatakana\",\n  0x30c7,\n  \"deleteleft\",\n  0x232b,\n  \"deleteright\",\n  0x2326,\n  \"delta\",\n  0x03b4,\n  \"deltaturned\",\n  0x018d,\n  \"denominatorminusonenumeratorbengali\",\n  0x09f8,\n  \"dezh\",\n  0x02a4,\n  \"dhabengali\",\n  0x09a7,\n  \"dhadeva\",\n  0x0927,\n  \"dhagujarati\",\n  0x0aa7,\n  \"dhagurmukhi\",\n  0x0a27,\n  \"dhook\",\n  0x0257,\n  \"dialytikatonos\",\n  0x0385,\n  \"dialytikatonoscmb\",\n  0x0344,\n  \"diamond\",\n  0x2666,\n  \"diamondsuitwhite\",\n  0x2662,\n  \"dieresis\",\n  0x00a8,\n  \"dieresisacute\",\n  0xf6d7,\n  \"dieresisbelowcmb\",\n  0x0324,\n  \"dieresiscmb\",\n  0x0308,\n  \"dieresisgrave\",\n  0xf6d8,\n  \"dieresistonos\",\n  0x0385,\n  \"dihiragana\",\n  0x3062,\n  \"dikatakana\",\n  0x30c2,\n  \"dittomark\",\n  0x3003,\n  \"divide\",\n  0x00f7,\n  \"divides\",\n  0x2223,\n  \"divisionslash\",\n  0x2215,\n  \"djecyrillic\",\n  0x0452,\n  \"dkshade\",\n  0x2593,\n  \"dlinebelow\",\n  0x1e0f,\n  \"dlsquare\",\n  0x3397,\n  \"dmacron\",\n  0x0111,\n  \"dmonospace\",\n  0xff44,\n  \"dnblock\",\n  0x2584,\n  \"dochadathai\",\n  0x0e0e,\n  \"dodekthai\",\n  0x0e14,\n  \"dohiragana\",\n  0x3069,\n  \"dokatakana\",\n  0x30c9,\n  \"dollar\",\n  0x0024,\n  \"dollarinferior\",\n  0xf6e3,\n  \"dollarmonospace\",\n  0xff04,\n  \"dollaroldstyle\",\n  0xf724,\n  \"dollarsmall\",\n  0xfe69,\n  \"dollarsuperior\",\n  0xf6e4,\n  \"dong\",\n  0x20ab,\n  \"dorusquare\",\n  0x3326,\n  \"dotaccent\",\n  0x02d9,\n  \"dotaccentcmb\",\n  0x0307,\n  \"dotbelowcmb\",\n  0x0323,\n  \"dotbelowcomb\",\n  0x0323,\n  \"dotkatakana\",\n  0x30fb,\n  \"dotlessi\",\n  0x0131,\n  \"dotlessj\",\n  0xf6be,\n  \"dotlessjstrokehook\",\n  0x0284,\n  \"dotmath\",\n  0x22c5,\n  \"dottedcircle\",\n  0x25cc,\n  \"doubleyodpatah\",\n  0xfb1f,\n  \"doubleyodpatahhebrew\",\n  0xfb1f,\n  \"downtackbelowcmb\",\n  0x031e,\n  \"downtackmod\",\n  0x02d5,\n  \"dparen\",\n  0x249f,\n  \"dsuperior\",\n  0xf6eb,\n  \"dtail\",\n  0x0256,\n  \"dtopbar\",\n  0x018c,\n  \"duhiragana\",\n  0x3065,\n  \"dukatakana\",\n  0x30c5,\n  \"dz\",\n  0x01f3,\n  \"dzaltone\",\n  0x02a3,\n  \"dzcaron\",\n  0x01c6,\n  \"dzcurl\",\n  0x02a5,\n  \"dzeabkhasiancyrillic\",\n  0x04e1,\n  \"dzecyrillic\",\n  0x0455,\n  \"dzhecyrillic\",\n  0x045f,\n  \"e\",\n  0x0065,\n  \"eacute\",\n  0x00e9,\n  \"earth\",\n  0x2641,\n  \"ebengali\",\n  0x098f,\n  \"ebopomofo\",\n  0x311c,\n  \"ebreve\",\n  0x0115,\n  \"ecandradeva\",\n  0x090d,\n  \"ecandragujarati\",\n  0x0a8d,\n  \"ecandravowelsigndeva\",\n  0x0945,\n  \"ecandravowelsigngujarati\",\n  0x0ac5,\n  \"ecaron\",\n  0x011b,\n  \"ecedillabreve\",\n  0x1e1d,\n  \"echarmenian\",\n  0x0565,\n  \"echyiwnarmenian\",\n  0x0587,\n  \"ecircle\",\n  0x24d4,\n  \"ecircumflex\",\n  0x00ea,\n  \"ecircumflexacute\",\n  0x1ebf,\n  \"ecircumflexbelow\",\n  0x1e19,\n  \"ecircumflexdotbelow\",\n  0x1ec7,\n  \"ecircumflexgrave\",\n  0x1ec1,\n  \"ecircumflexhookabove\",\n  0x1ec3,\n  \"ecircumflextilde\",\n  0x1ec5,\n  \"ecyrillic\",\n  0x0454,\n  \"edblgrave\",\n  0x0205,\n  \"edeva\",\n  0x090f,\n  \"edieresis\",\n  0x00eb,\n  \"edot\",\n  0x0117,\n  \"edotaccent\",\n  0x0117,\n  \"edotbelow\",\n  0x1eb9,\n  \"eegurmukhi\",\n  0x0a0f,\n  \"eematragurmukhi\",\n  0x0a47,\n  \"efcyrillic\",\n  0x0444,\n  \"egrave\",\n  0x00e8,\n  \"egujarati\",\n  0x0a8f,\n  \"eharmenian\",\n  0x0567,\n  \"ehbopomofo\",\n  0x311d,\n  \"ehiragana\",\n  0x3048,\n  \"ehookabove\",\n  0x1ebb,\n  \"eibopomofo\",\n  0x311f,\n  \"eight\",\n  0x0038,\n  \"eightarabic\",\n  0x0668,\n  \"eightbengali\",\n  0x09ee,\n  \"eightcircle\",\n  0x2467,\n  \"eightcircleinversesansserif\",\n  0x2791,\n  \"eightdeva\",\n  0x096e,\n  \"eighteencircle\",\n  0x2471,\n  \"eighteenparen\",\n  0x2485,\n  \"eighteenperiod\",\n  0x2499,\n  \"eightgujarati\",\n  0x0aee,\n  \"eightgurmukhi\",\n  0x0a6e,\n  \"eighthackarabic\",\n  0x0668,\n  \"eighthangzhou\",\n  0x3028,\n  \"eighthnotebeamed\",\n  0x266b,\n  \"eightideographicparen\",\n  0x3227,\n  \"eightinferior\",\n  0x2088,\n  \"eightmonospace\",\n  0xff18,\n  \"eightoldstyle\",\n  0xf738,\n  \"eightparen\",\n  0x247b,\n  \"eightperiod\",\n  0x248f,\n  \"eightpersian\",\n  0x06f8,\n  \"eightroman\",\n  0x2177,\n  \"eightsuperior\",\n  0x2078,\n  \"eightthai\",\n  0x0e58,\n  \"einvertedbreve\",\n  0x0207,\n  \"eiotifiedcyrillic\",\n  0x0465,\n  \"ekatakana\",\n  0x30a8,\n  \"ekatakanahalfwidth\",\n  0xff74,\n  \"ekonkargurmukhi\",\n  0x0a74,\n  \"ekorean\",\n  0x3154,\n  \"elcyrillic\",\n  0x043b,\n  \"element\",\n  0x2208,\n  \"elevencircle\",\n  0x246a,\n  \"elevenparen\",\n  0x247e,\n  \"elevenperiod\",\n  0x2492,\n  \"elevenroman\",\n  0x217a,\n  \"ellipsis\",\n  0x2026,\n  \"ellipsisvertical\",\n  0x22ee,\n  \"emacron\",\n  0x0113,\n  \"emacronacute\",\n  0x1e17,\n  \"emacrongrave\",\n  0x1e15,\n  \"emcyrillic\",\n  0x043c,\n  \"emdash\",\n  0x2014,\n  \"emdashvertical\",\n  0xfe31,\n  \"emonospace\",\n  0xff45,\n  \"emphasismarkarmenian\",\n  0x055b,\n  \"emptyset\",\n  0x2205,\n  \"enbopomofo\",\n  0x3123,\n  \"encyrillic\",\n  0x043d,\n  \"endash\",\n  0x2013,\n  \"endashvertical\",\n  0xfe32,\n  \"endescendercyrillic\",\n  0x04a3,\n  \"eng\",\n  0x014b,\n  \"engbopomofo\",\n  0x3125,\n  \"enghecyrillic\",\n  0x04a5,\n  \"enhookcyrillic\",\n  0x04c8,\n  \"enspace\",\n  0x2002,\n  \"eogonek\",\n  0x0119,\n  \"eokorean\",\n  0x3153,\n  \"eopen\",\n  0x025b,\n  \"eopenclosed\",\n  0x029a,\n  \"eopenreversed\",\n  0x025c,\n  \"eopenreversedclosed\",\n  0x025e,\n  \"eopenreversedhook\",\n  0x025d,\n  \"eparen\",\n  0x24a0,\n  \"epsilon\",\n  0x03b5,\n  \"epsilontonos\",\n  0x03ad,\n  \"equal\",\n  0x003d,\n  \"equalmonospace\",\n  0xff1d,\n  \"equalsmall\",\n  0xfe66,\n  \"equalsuperior\",\n  0x207c,\n  \"equivalence\",\n  0x2261,\n  \"erbopomofo\",\n  0x3126,\n  \"ercyrillic\",\n  0x0440,\n  \"ereversed\",\n  0x0258,\n  \"ereversedcyrillic\",\n  0x044d,\n  \"escyrillic\",\n  0x0441,\n  \"esdescendercyrillic\",\n  0x04ab,\n  \"esh\",\n  0x0283,\n  \"eshcurl\",\n  0x0286,\n  \"eshortdeva\",\n  0x090e,\n  \"eshortvowelsigndeva\",\n  0x0946,\n  \"eshreversedloop\",\n  0x01aa,\n  \"eshsquatreversed\",\n  0x0285,\n  \"esmallhiragana\",\n  0x3047,\n  \"esmallkatakana\",\n  0x30a7,\n  \"esmallkatakanahalfwidth\",\n  0xff6a,\n  \"estimated\",\n  0x212e,\n  \"esuperior\",\n  0xf6ec,\n  \"eta\",\n  0x03b7,\n  \"etarmenian\",\n  0x0568,\n  \"etatonos\",\n  0x03ae,\n  \"eth\",\n  0x00f0,\n  \"etilde\",\n  0x1ebd,\n  \"etildebelow\",\n  0x1e1b,\n  \"etnahtafoukhhebrew\",\n  0x0591,\n  \"etnahtafoukhlefthebrew\",\n  0x0591,\n  \"etnahtahebrew\",\n  0x0591,\n  \"etnahtalefthebrew\",\n  0x0591,\n  \"eturned\",\n  0x01dd,\n  \"eukorean\",\n  0x3161,\n  \"euro\",\n  0x20ac,\n  \"evowelsignbengali\",\n  0x09c7,\n  \"evowelsigndeva\",\n  0x0947,\n  \"evowelsigngujarati\",\n  0x0ac7,\n  \"exclam\",\n  0x0021,\n  \"exclamarmenian\",\n  0x055c,\n  \"exclamdbl\",\n  0x203c,\n  \"exclamdown\",\n  0x00a1,\n  \"exclamdownsmall\",\n  0xf7a1,\n  \"exclammonospace\",\n  0xff01,\n  \"exclamsmall\",\n  0xf721,\n  \"existential\",\n  0x2203,\n  \"ezh\",\n  0x0292,\n  \"ezhcaron\",\n  0x01ef,\n  \"ezhcurl\",\n  0x0293,\n  \"ezhreversed\",\n  0x01b9,\n  \"ezhtail\",\n  0x01ba,\n  \"f\",\n  0x0066,\n  \"fadeva\",\n  0x095e,\n  \"fagurmukhi\",\n  0x0a5e,\n  \"fahrenheit\",\n  0x2109,\n  \"fathaarabic\",\n  0x064e,\n  \"fathalowarabic\",\n  0x064e,\n  \"fathatanarabic\",\n  0x064b,\n  \"fbopomofo\",\n  0x3108,\n  \"fcircle\",\n  0x24d5,\n  \"fdotaccent\",\n  0x1e1f,\n  \"feharabic\",\n  0x0641,\n  \"feharmenian\",\n  0x0586,\n  \"fehfinalarabic\",\n  0xfed2,\n  \"fehinitialarabic\",\n  0xfed3,\n  \"fehmedialarabic\",\n  0xfed4,\n  \"feicoptic\",\n  0x03e5,\n  \"female\",\n  0x2640,\n  \"ff\",\n  0xfb00,\n  \"f_f\",\n  0xfb00,\n  \"ffi\",\n  0xfb03,\n  \"ffl\",\n  0xfb04,\n  \"fi\",\n  0xfb01,\n  \"fifteencircle\",\n  0x246e,\n  \"fifteenparen\",\n  0x2482,\n  \"fifteenperiod\",\n  0x2496,\n  \"figuredash\",\n  0x2012,\n  \"filledbox\",\n  0x25a0,\n  \"filledrect\",\n  0x25ac,\n  \"finalkaf\",\n  0x05da,\n  \"finalkafdagesh\",\n  0xfb3a,\n  \"finalkafdageshhebrew\",\n  0xfb3a,\n  \"finalkafhebrew\",\n  0x05da,\n  \"finalmem\",\n  0x05dd,\n  \"finalmemhebrew\",\n  0x05dd,\n  \"finalnun\",\n  0x05df,\n  \"finalnunhebrew\",\n  0x05df,\n  \"finalpe\",\n  0x05e3,\n  \"finalpehebrew\",\n  0x05e3,\n  \"finaltsadi\",\n  0x05e5,\n  \"finaltsadihebrew\",\n  0x05e5,\n  \"firsttonechinese\",\n  0x02c9,\n  \"fisheye\",\n  0x25c9,\n  \"fitacyrillic\",\n  0x0473,\n  \"five\",\n  0x0035,\n  \"fivearabic\",\n  0x0665,\n  \"fivebengali\",\n  0x09eb,\n  \"fivecircle\",\n  0x2464,\n  \"fivecircleinversesansserif\",\n  0x278e,\n  \"fivedeva\",\n  0x096b,\n  \"fiveeighths\",\n  0x215d,\n  \"fivegujarati\",\n  0x0aeb,\n  \"fivegurmukhi\",\n  0x0a6b,\n  \"fivehackarabic\",\n  0x0665,\n  \"fivehangzhou\",\n  0x3025,\n  \"fiveideographicparen\",\n  0x3224,\n  \"fiveinferior\",\n  0x2085,\n  \"fivemonospace\",\n  0xff15,\n  \"fiveoldstyle\",\n  0xf735,\n  \"fiveparen\",\n  0x2478,\n  \"fiveperiod\",\n  0x248c,\n  \"fivepersian\",\n  0x06f5,\n  \"fiveroman\",\n  0x2174,\n  \"fivesuperior\",\n  0x2075,\n  \"fivethai\",\n  0x0e55,\n  \"fl\",\n  0xfb02,\n  \"florin\",\n  0x0192,\n  \"fmonospace\",\n  0xff46,\n  \"fmsquare\",\n  0x3399,\n  \"fofanthai\",\n  0x0e1f,\n  \"fofathai\",\n  0x0e1d,\n  \"fongmanthai\",\n  0x0e4f,\n  \"forall\",\n  0x2200,\n  \"four\",\n  0x0034,\n  \"fourarabic\",\n  0x0664,\n  \"fourbengali\",\n  0x09ea,\n  \"fourcircle\",\n  0x2463,\n  \"fourcircleinversesansserif\",\n  0x278d,\n  \"fourdeva\",\n  0x096a,\n  \"fourgujarati\",\n  0x0aea,\n  \"fourgurmukhi\",\n  0x0a6a,\n  \"fourhackarabic\",\n  0x0664,\n  \"fourhangzhou\",\n  0x3024,\n  \"fourideographicparen\",\n  0x3223,\n  \"fourinferior\",\n  0x2084,\n  \"fourmonospace\",\n  0xff14,\n  \"fournumeratorbengali\",\n  0x09f7,\n  \"fouroldstyle\",\n  0xf734,\n  \"fourparen\",\n  0x2477,\n  \"fourperiod\",\n  0x248b,\n  \"fourpersian\",\n  0x06f4,\n  \"fourroman\",\n  0x2173,\n  \"foursuperior\",\n  0x2074,\n  \"fourteencircle\",\n  0x246d,\n  \"fourteenparen\",\n  0x2481,\n  \"fourteenperiod\",\n  0x2495,\n  \"fourthai\",\n  0x0e54,\n  \"fourthtonechinese\",\n  0x02cb,\n  \"fparen\",\n  0x24a1,\n  \"fraction\",\n  0x2044,\n  \"franc\",\n  0x20a3,\n  \"g\",\n  0x0067,\n  \"gabengali\",\n  0x0997,\n  \"gacute\",\n  0x01f5,\n  \"gadeva\",\n  0x0917,\n  \"gafarabic\",\n  0x06af,\n  \"gaffinalarabic\",\n  0xfb93,\n  \"gafinitialarabic\",\n  0xfb94,\n  \"gafmedialarabic\",\n  0xfb95,\n  \"gagujarati\",\n  0x0a97,\n  \"gagurmukhi\",\n  0x0a17,\n  \"gahiragana\",\n  0x304c,\n  \"gakatakana\",\n  0x30ac,\n  \"gamma\",\n  0x03b3,\n  \"gammalatinsmall\",\n  0x0263,\n  \"gammasuperior\",\n  0x02e0,\n  \"gangiacoptic\",\n  0x03eb,\n  \"gbopomofo\",\n  0x310d,\n  \"gbreve\",\n  0x011f,\n  \"gcaron\",\n  0x01e7,\n  \"gcedilla\",\n  0x0123,\n  \"gcircle\",\n  0x24d6,\n  \"gcircumflex\",\n  0x011d,\n  \"gcommaaccent\",\n  0x0123,\n  \"gdot\",\n  0x0121,\n  \"gdotaccent\",\n  0x0121,\n  \"gecyrillic\",\n  0x0433,\n  \"gehiragana\",\n  0x3052,\n  \"gekatakana\",\n  0x30b2,\n  \"geometricallyequal\",\n  0x2251,\n  \"gereshaccenthebrew\",\n  0x059c,\n  \"gereshhebrew\",\n  0x05f3,\n  \"gereshmuqdamhebrew\",\n  0x059d,\n  \"germandbls\",\n  0x00df,\n  \"gershayimaccenthebrew\",\n  0x059e,\n  \"gershayimhebrew\",\n  0x05f4,\n  \"getamark\",\n  0x3013,\n  \"ghabengali\",\n  0x0998,\n  \"ghadarmenian\",\n  0x0572,\n  \"ghadeva\",\n  0x0918,\n  \"ghagujarati\",\n  0x0a98,\n  \"ghagurmukhi\",\n  0x0a18,\n  \"ghainarabic\",\n  0x063a,\n  \"ghainfinalarabic\",\n  0xfece,\n  \"ghaininitialarabic\",\n  0xfecf,\n  \"ghainmedialarabic\",\n  0xfed0,\n  \"ghemiddlehookcyrillic\",\n  0x0495,\n  \"ghestrokecyrillic\",\n  0x0493,\n  \"gheupturncyrillic\",\n  0x0491,\n  \"ghhadeva\",\n  0x095a,\n  \"ghhagurmukhi\",\n  0x0a5a,\n  \"ghook\",\n  0x0260,\n  \"ghzsquare\",\n  0x3393,\n  \"gihiragana\",\n  0x304e,\n  \"gikatakana\",\n  0x30ae,\n  \"gimarmenian\",\n  0x0563,\n  \"gimel\",\n  0x05d2,\n  \"gimeldagesh\",\n  0xfb32,\n  \"gimeldageshhebrew\",\n  0xfb32,\n  \"gimelhebrew\",\n  0x05d2,\n  \"gjecyrillic\",\n  0x0453,\n  \"glottalinvertedstroke\",\n  0x01be,\n  \"glottalstop\",\n  0x0294,\n  \"glottalstopinverted\",\n  0x0296,\n  \"glottalstopmod\",\n  0x02c0,\n  \"glottalstopreversed\",\n  0x0295,\n  \"glottalstopreversedmod\",\n  0x02c1,\n  \"glottalstopreversedsuperior\",\n  0x02e4,\n  \"glottalstopstroke\",\n  0x02a1,\n  \"glottalstopstrokereversed\",\n  0x02a2,\n  \"gmacron\",\n  0x1e21,\n  \"gmonospace\",\n  0xff47,\n  \"gohiragana\",\n  0x3054,\n  \"gokatakana\",\n  0x30b4,\n  \"gparen\",\n  0x24a2,\n  \"gpasquare\",\n  0x33ac,\n  \"gradient\",\n  0x2207,\n  \"grave\",\n  0x0060,\n  \"gravebelowcmb\",\n  0x0316,\n  \"gravecmb\",\n  0x0300,\n  \"gravecomb\",\n  0x0300,\n  \"gravedeva\",\n  0x0953,\n  \"gravelowmod\",\n  0x02ce,\n  \"gravemonospace\",\n  0xff40,\n  \"gravetonecmb\",\n  0x0340,\n  \"greater\",\n  0x003e,\n  \"greaterequal\",\n  0x2265,\n  \"greaterequalorless\",\n  0x22db,\n  \"greatermonospace\",\n  0xff1e,\n  \"greaterorequivalent\",\n  0x2273,\n  \"greaterorless\",\n  0x2277,\n  \"greateroverequal\",\n  0x2267,\n  \"greatersmall\",\n  0xfe65,\n  \"gscript\",\n  0x0261,\n  \"gstroke\",\n  0x01e5,\n  \"guhiragana\",\n  0x3050,\n  \"guillemotleft\",\n  0x00ab,\n  \"guillemotright\",\n  0x00bb,\n  \"guilsinglleft\",\n  0x2039,\n  \"guilsinglright\",\n  0x203a,\n  \"gukatakana\",\n  0x30b0,\n  \"guramusquare\",\n  0x3318,\n  \"gysquare\",\n  0x33c9,\n  \"h\",\n  0x0068,\n  \"haabkhasiancyrillic\",\n  0x04a9,\n  \"haaltonearabic\",\n  0x06c1,\n  \"habengali\",\n  0x09b9,\n  \"hadescendercyrillic\",\n  0x04b3,\n  \"hadeva\",\n  0x0939,\n  \"hagujarati\",\n  0x0ab9,\n  \"hagurmukhi\",\n  0x0a39,\n  \"haharabic\",\n  0x062d,\n  \"hahfinalarabic\",\n  0xfea2,\n  \"hahinitialarabic\",\n  0xfea3,\n  \"hahiragana\",\n  0x306f,\n  \"hahmedialarabic\",\n  0xfea4,\n  \"haitusquare\",\n  0x332a,\n  \"hakatakana\",\n  0x30cf,\n  \"hakatakanahalfwidth\",\n  0xff8a,\n  \"halantgurmukhi\",\n  0x0a4d,\n  \"hamzaarabic\",\n  0x0621,\n  \"hamzalowarabic\",\n  0x0621,\n  \"hangulfiller\",\n  0x3164,\n  \"hardsigncyrillic\",\n  0x044a,\n  \"harpoonleftbarbup\",\n  0x21bc,\n  \"harpoonrightbarbup\",\n  0x21c0,\n  \"hasquare\",\n  0x33ca,\n  \"hatafpatah\",\n  0x05b2,\n  \"hatafpatah16\",\n  0x05b2,\n  \"hatafpatah23\",\n  0x05b2,\n  \"hatafpatah2f\",\n  0x05b2,\n  \"hatafpatahhebrew\",\n  0x05b2,\n  \"hatafpatahnarrowhebrew\",\n  0x05b2,\n  \"hatafpatahquarterhebrew\",\n  0x05b2,\n  \"hatafpatahwidehebrew\",\n  0x05b2,\n  \"hatafqamats\",\n  0x05b3,\n  \"hatafqamats1b\",\n  0x05b3,\n  \"hatafqamats28\",\n  0x05b3,\n  \"hatafqamats34\",\n  0x05b3,\n  \"hatafqamatshebrew\",\n  0x05b3,\n  \"hatafqamatsnarrowhebrew\",\n  0x05b3,\n  \"hatafqamatsquarterhebrew\",\n  0x05b3,\n  \"hatafqamatswidehebrew\",\n  0x05b3,\n  \"hatafsegol\",\n  0x05b1,\n  \"hatafsegol17\",\n  0x05b1,\n  \"hatafsegol24\",\n  0x05b1,\n  \"hatafsegol30\",\n  0x05b1,\n  \"hatafsegolhebrew\",\n  0x05b1,\n  \"hatafsegolnarrowhebrew\",\n  0x05b1,\n  \"hatafsegolquarterhebrew\",\n  0x05b1,\n  \"hatafsegolwidehebrew\",\n  0x05b1,\n  \"hbar\",\n  0x0127,\n  \"hbopomofo\",\n  0x310f,\n  \"hbrevebelow\",\n  0x1e2b,\n  \"hcedilla\",\n  0x1e29,\n  \"hcircle\",\n  0x24d7,\n  \"hcircumflex\",\n  0x0125,\n  \"hdieresis\",\n  0x1e27,\n  \"hdotaccent\",\n  0x1e23,\n  \"hdotbelow\",\n  0x1e25,\n  \"he\",\n  0x05d4,\n  \"heart\",\n  0x2665,\n  \"heartsuitblack\",\n  0x2665,\n  \"heartsuitwhite\",\n  0x2661,\n  \"hedagesh\",\n  0xfb34,\n  \"hedageshhebrew\",\n  0xfb34,\n  \"hehaltonearabic\",\n  0x06c1,\n  \"heharabic\",\n  0x0647,\n  \"hehebrew\",\n  0x05d4,\n  \"hehfinalaltonearabic\",\n  0xfba7,\n  \"hehfinalalttwoarabic\",\n  0xfeea,\n  \"hehfinalarabic\",\n  0xfeea,\n  \"hehhamzaabovefinalarabic\",\n  0xfba5,\n  \"hehhamzaaboveisolatedarabic\",\n  0xfba4,\n  \"hehinitialaltonearabic\",\n  0xfba8,\n  \"hehinitialarabic\",\n  0xfeeb,\n  \"hehiragana\",\n  0x3078,\n  \"hehmedialaltonearabic\",\n  0xfba9,\n  \"hehmedialarabic\",\n  0xfeec,\n  \"heiseierasquare\",\n  0x337b,\n  \"hekatakana\",\n  0x30d8,\n  \"hekatakanahalfwidth\",\n  0xff8d,\n  \"hekutaarusquare\",\n  0x3336,\n  \"henghook\",\n  0x0267,\n  \"herutusquare\",\n  0x3339,\n  \"het\",\n  0x05d7,\n  \"hethebrew\",\n  0x05d7,\n  \"hhook\",\n  0x0266,\n  \"hhooksuperior\",\n  0x02b1,\n  \"hieuhacirclekorean\",\n  0x327b,\n  \"hieuhaparenkorean\",\n  0x321b,\n  \"hieuhcirclekorean\",\n  0x326d,\n  \"hieuhkorean\",\n  0x314e,\n  \"hieuhparenkorean\",\n  0x320d,\n  \"hihiragana\",\n  0x3072,\n  \"hikatakana\",\n  0x30d2,\n  \"hikatakanahalfwidth\",\n  0xff8b,\n  \"hiriq\",\n  0x05b4,\n  \"hiriq14\",\n  0x05b4,\n  \"hiriq21\",\n  0x05b4,\n  \"hiriq2d\",\n  0x05b4,\n  \"hiriqhebrew\",\n  0x05b4,\n  \"hiriqnarrowhebrew\",\n  0x05b4,\n  \"hiriqquarterhebrew\",\n  0x05b4,\n  \"hiriqwidehebrew\",\n  0x05b4,\n  \"hlinebelow\",\n  0x1e96,\n  \"hmonospace\",\n  0xff48,\n  \"hoarmenian\",\n  0x0570,\n  \"hohipthai\",\n  0x0e2b,\n  \"hohiragana\",\n  0x307b,\n  \"hokatakana\",\n  0x30db,\n  \"hokatakanahalfwidth\",\n  0xff8e,\n  \"holam\",\n  0x05b9,\n  \"holam19\",\n  0x05b9,\n  \"holam26\",\n  0x05b9,\n  \"holam32\",\n  0x05b9,\n  \"holamhebrew\",\n  0x05b9,\n  \"holamnarrowhebrew\",\n  0x05b9,\n  \"holamquarterhebrew\",\n  0x05b9,\n  \"holamwidehebrew\",\n  0x05b9,\n  \"honokhukthai\",\n  0x0e2e,\n  \"hookabovecomb\",\n  0x0309,\n  \"hookcmb\",\n  0x0309,\n  \"hookpalatalizedbelowcmb\",\n  0x0321,\n  \"hookretroflexbelowcmb\",\n  0x0322,\n  \"hoonsquare\",\n  0x3342,\n  \"horicoptic\",\n  0x03e9,\n  \"horizontalbar\",\n  0x2015,\n  \"horncmb\",\n  0x031b,\n  \"hotsprings\",\n  0x2668,\n  \"house\",\n  0x2302,\n  \"hparen\",\n  0x24a3,\n  \"hsuperior\",\n  0x02b0,\n  \"hturned\",\n  0x0265,\n  \"huhiragana\",\n  0x3075,\n  \"huiitosquare\",\n  0x3333,\n  \"hukatakana\",\n  0x30d5,\n  \"hukatakanahalfwidth\",\n  0xff8c,\n  \"hungarumlaut\",\n  0x02dd,\n  \"hungarumlautcmb\",\n  0x030b,\n  \"hv\",\n  0x0195,\n  \"hyphen\",\n  0x002d,\n  \"hypheninferior\",\n  0xf6e5,\n  \"hyphenmonospace\",\n  0xff0d,\n  \"hyphensmall\",\n  0xfe63,\n  \"hyphensuperior\",\n  0xf6e6,\n  \"hyphentwo\",\n  0x2010,\n  \"i\",\n  0x0069,\n  \"iacute\",\n  0x00ed,\n  \"iacyrillic\",\n  0x044f,\n  \"ibengali\",\n  0x0987,\n  \"ibopomofo\",\n  0x3127,\n  \"ibreve\",\n  0x012d,\n  \"icaron\",\n  0x01d0,\n  \"icircle\",\n  0x24d8,\n  \"icircumflex\",\n  0x00ee,\n  \"icyrillic\",\n  0x0456,\n  \"idblgrave\",\n  0x0209,\n  \"ideographearthcircle\",\n  0x328f,\n  \"ideographfirecircle\",\n  0x328b,\n  \"ideographicallianceparen\",\n  0x323f,\n  \"ideographiccallparen\",\n  0x323a,\n  \"ideographiccentrecircle\",\n  0x32a5,\n  \"ideographicclose\",\n  0x3006,\n  \"ideographiccomma\",\n  0x3001,\n  \"ideographiccommaleft\",\n  0xff64,\n  \"ideographiccongratulationparen\",\n  0x3237,\n  \"ideographiccorrectcircle\",\n  0x32a3,\n  \"ideographicearthparen\",\n  0x322f,\n  \"ideographicenterpriseparen\",\n  0x323d,\n  \"ideographicexcellentcircle\",\n  0x329d,\n  \"ideographicfestivalparen\",\n  0x3240,\n  \"ideographicfinancialcircle\",\n  0x3296,\n  \"ideographicfinancialparen\",\n  0x3236,\n  \"ideographicfireparen\",\n  0x322b,\n  \"ideographichaveparen\",\n  0x3232,\n  \"ideographichighcircle\",\n  0x32a4,\n  \"ideographiciterationmark\",\n  0x3005,\n  \"ideographiclaborcircle\",\n  0x3298,\n  \"ideographiclaborparen\",\n  0x3238,\n  \"ideographicleftcircle\",\n  0x32a7,\n  \"ideographiclowcircle\",\n  0x32a6,\n  \"ideographicmedicinecircle\",\n  0x32a9,\n  \"ideographicmetalparen\",\n  0x322e,\n  \"ideographicmoonparen\",\n  0x322a,\n  \"ideographicnameparen\",\n  0x3234,\n  \"ideographicperiod\",\n  0x3002,\n  \"ideographicprintcircle\",\n  0x329e,\n  \"ideographicreachparen\",\n  0x3243,\n  \"ideographicrepresentparen\",\n  0x3239,\n  \"ideographicresourceparen\",\n  0x323e,\n  \"ideographicrightcircle\",\n  0x32a8,\n  \"ideographicsecretcircle\",\n  0x3299,\n  \"ideographicselfparen\",\n  0x3242,\n  \"ideographicsocietyparen\",\n  0x3233,\n  \"ideographicspace\",\n  0x3000,\n  \"ideographicspecialparen\",\n  0x3235,\n  \"ideographicstockparen\",\n  0x3231,\n  \"ideographicstudyparen\",\n  0x323b,\n  \"ideographicsunparen\",\n  0x3230,\n  \"ideographicsuperviseparen\",\n  0x323c,\n  \"ideographicwaterparen\",\n  0x322c,\n  \"ideographicwoodparen\",\n  0x322d,\n  \"ideographiczero\",\n  0x3007,\n  \"ideographmetalcircle\",\n  0x328e,\n  \"ideographmooncircle\",\n  0x328a,\n  \"ideographnamecircle\",\n  0x3294,\n  \"ideographsuncircle\",\n  0x3290,\n  \"ideographwatercircle\",\n  0x328c,\n  \"ideographwoodcircle\",\n  0x328d,\n  \"ideva\",\n  0x0907,\n  \"idieresis\",\n  0x00ef,\n  \"idieresisacute\",\n  0x1e2f,\n  \"idieresiscyrillic\",\n  0x04e5,\n  \"idotbelow\",\n  0x1ecb,\n  \"iebrevecyrillic\",\n  0x04d7,\n  \"iecyrillic\",\n  0x0435,\n  \"ieungacirclekorean\",\n  0x3275,\n  \"ieungaparenkorean\",\n  0x3215,\n  \"ieungcirclekorean\",\n  0x3267,\n  \"ieungkorean\",\n  0x3147,\n  \"ieungparenkorean\",\n  0x3207,\n  \"igrave\",\n  0x00ec,\n  \"igujarati\",\n  0x0a87,\n  \"igurmukhi\",\n  0x0a07,\n  \"ihiragana\",\n  0x3044,\n  \"ihookabove\",\n  0x1ec9,\n  \"iibengali\",\n  0x0988,\n  \"iicyrillic\",\n  0x0438,\n  \"iideva\",\n  0x0908,\n  \"iigujarati\",\n  0x0a88,\n  \"iigurmukhi\",\n  0x0a08,\n  \"iimatragurmukhi\",\n  0x0a40,\n  \"iinvertedbreve\",\n  0x020b,\n  \"iishortcyrillic\",\n  0x0439,\n  \"iivowelsignbengali\",\n  0x09c0,\n  \"iivowelsigndeva\",\n  0x0940,\n  \"iivowelsigngujarati\",\n  0x0ac0,\n  \"ij\",\n  0x0133,\n  \"ikatakana\",\n  0x30a4,\n  \"ikatakanahalfwidth\",\n  0xff72,\n  \"ikorean\",\n  0x3163,\n  \"ilde\",\n  0x02dc,\n  \"iluyhebrew\",\n  0x05ac,\n  \"imacron\",\n  0x012b,\n  \"imacroncyrillic\",\n  0x04e3,\n  \"imageorapproximatelyequal\",\n  0x2253,\n  \"imatragurmukhi\",\n  0x0a3f,\n  \"imonospace\",\n  0xff49,\n  \"increment\",\n  0x2206,\n  \"infinity\",\n  0x221e,\n  \"iniarmenian\",\n  0x056b,\n  \"integral\",\n  0x222b,\n  \"integralbottom\",\n  0x2321,\n  \"integralbt\",\n  0x2321,\n  \"integralex\",\n  0xf8f5,\n  \"integraltop\",\n  0x2320,\n  \"integraltp\",\n  0x2320,\n  \"intersection\",\n  0x2229,\n  \"intisquare\",\n  0x3305,\n  \"invbullet\",\n  0x25d8,\n  \"invcircle\",\n  0x25d9,\n  \"invsmileface\",\n  0x263b,\n  \"iocyrillic\",\n  0x0451,\n  \"iogonek\",\n  0x012f,\n  \"iota\",\n  0x03b9,\n  \"iotadieresis\",\n  0x03ca,\n  \"iotadieresistonos\",\n  0x0390,\n  \"iotalatin\",\n  0x0269,\n  \"iotatonos\",\n  0x03af,\n  \"iparen\",\n  0x24a4,\n  \"irigurmukhi\",\n  0x0a72,\n  \"ismallhiragana\",\n  0x3043,\n  \"ismallkatakana\",\n  0x30a3,\n  \"ismallkatakanahalfwidth\",\n  0xff68,\n  \"issharbengali\",\n  0x09fa,\n  \"istroke\",\n  0x0268,\n  \"isuperior\",\n  0xf6ed,\n  \"iterationhiragana\",\n  0x309d,\n  \"iterationkatakana\",\n  0x30fd,\n  \"itilde\",\n  0x0129,\n  \"itildebelow\",\n  0x1e2d,\n  \"iubopomofo\",\n  0x3129,\n  \"iucyrillic\",\n  0x044e,\n  \"ivowelsignbengali\",\n  0x09bf,\n  \"ivowelsigndeva\",\n  0x093f,\n  \"ivowelsigngujarati\",\n  0x0abf,\n  \"izhitsacyrillic\",\n  0x0475,\n  \"izhitsadblgravecyrillic\",\n  0x0477,\n  \"j\",\n  0x006a,\n  \"jaarmenian\",\n  0x0571,\n  \"jabengali\",\n  0x099c,\n  \"jadeva\",\n  0x091c,\n  \"jagujarati\",\n  0x0a9c,\n  \"jagurmukhi\",\n  0x0a1c,\n  \"jbopomofo\",\n  0x3110,\n  \"jcaron\",\n  0x01f0,\n  \"jcircle\",\n  0x24d9,\n  \"jcircumflex\",\n  0x0135,\n  \"jcrossedtail\",\n  0x029d,\n  \"jdotlessstroke\",\n  0x025f,\n  \"jecyrillic\",\n  0x0458,\n  \"jeemarabic\",\n  0x062c,\n  \"jeemfinalarabic\",\n  0xfe9e,\n  \"jeeminitialarabic\",\n  0xfe9f,\n  \"jeemmedialarabic\",\n  0xfea0,\n  \"jeharabic\",\n  0x0698,\n  \"jehfinalarabic\",\n  0xfb8b,\n  \"jhabengali\",\n  0x099d,\n  \"jhadeva\",\n  0x091d,\n  \"jhagujarati\",\n  0x0a9d,\n  \"jhagurmukhi\",\n  0x0a1d,\n  \"jheharmenian\",\n  0x057b,\n  \"jis\",\n  0x3004,\n  \"jmonospace\",\n  0xff4a,\n  \"jparen\",\n  0x24a5,\n  \"jsuperior\",\n  0x02b2,\n  \"k\",\n  0x006b,\n  \"kabashkircyrillic\",\n  0x04a1,\n  \"kabengali\",\n  0x0995,\n  \"kacute\",\n  0x1e31,\n  \"kacyrillic\",\n  0x043a,\n  \"kadescendercyrillic\",\n  0x049b,\n  \"kadeva\",\n  0x0915,\n  \"kaf\",\n  0x05db,\n  \"kafarabic\",\n  0x0643,\n  \"kafdagesh\",\n  0xfb3b,\n  \"kafdageshhebrew\",\n  0xfb3b,\n  \"kaffinalarabic\",\n  0xfeda,\n  \"kafhebrew\",\n  0x05db,\n  \"kafinitialarabic\",\n  0xfedb,\n  \"kafmedialarabic\",\n  0xfedc,\n  \"kafrafehebrew\",\n  0xfb4d,\n  \"kagujarati\",\n  0x0a95,\n  \"kagurmukhi\",\n  0x0a15,\n  \"kahiragana\",\n  0x304b,\n  \"kahookcyrillic\",\n  0x04c4,\n  \"kakatakana\",\n  0x30ab,\n  \"kakatakanahalfwidth\",\n  0xff76,\n  \"kappa\",\n  0x03ba,\n  \"kappasymbolgreek\",\n  0x03f0,\n  \"kapyeounmieumkorean\",\n  0x3171,\n  \"kapyeounphieuphkorean\",\n  0x3184,\n  \"kapyeounpieupkorean\",\n  0x3178,\n  \"kapyeounssangpieupkorean\",\n  0x3179,\n  \"karoriisquare\",\n  0x330d,\n  \"kashidaautoarabic\",\n  0x0640,\n  \"kashidaautonosidebearingarabic\",\n  0x0640,\n  \"kasmallkatakana\",\n  0x30f5,\n  \"kasquare\",\n  0x3384,\n  \"kasraarabic\",\n  0x0650,\n  \"kasratanarabic\",\n  0x064d,\n  \"kastrokecyrillic\",\n  0x049f,\n  \"katahiraprolongmarkhalfwidth\",\n  0xff70,\n  \"kaverticalstrokecyrillic\",\n  0x049d,\n  \"kbopomofo\",\n  0x310e,\n  \"kcalsquare\",\n  0x3389,\n  \"kcaron\",\n  0x01e9,\n  \"kcedilla\",\n  0x0137,\n  \"kcircle\",\n  0x24da,\n  \"kcommaaccent\",\n  0x0137,\n  \"kdotbelow\",\n  0x1e33,\n  \"keharmenian\",\n  0x0584,\n  \"kehiragana\",\n  0x3051,\n  \"kekatakana\",\n  0x30b1,\n  \"kekatakanahalfwidth\",\n  0xff79,\n  \"kenarmenian\",\n  0x056f,\n  \"kesmallkatakana\",\n  0x30f6,\n  \"kgreenlandic\",\n  0x0138,\n  \"khabengali\",\n  0x0996,\n  \"khacyrillic\",\n  0x0445,\n  \"khadeva\",\n  0x0916,\n  \"khagujarati\",\n  0x0a96,\n  \"khagurmukhi\",\n  0x0a16,\n  \"khaharabic\",\n  0x062e,\n  \"khahfinalarabic\",\n  0xfea6,\n  \"khahinitialarabic\",\n  0xfea7,\n  \"khahmedialarabic\",\n  0xfea8,\n  \"kheicoptic\",\n  0x03e7,\n  \"khhadeva\",\n  0x0959,\n  \"khhagurmukhi\",\n  0x0a59,\n  \"khieukhacirclekorean\",\n  0x3278,\n  \"khieukhaparenkorean\",\n  0x3218,\n  \"khieukhcirclekorean\",\n  0x326a,\n  \"khieukhkorean\",\n  0x314b,\n  \"khieukhparenkorean\",\n  0x320a,\n  \"khokhaithai\",\n  0x0e02,\n  \"khokhonthai\",\n  0x0e05,\n  \"khokhuatthai\",\n  0x0e03,\n  \"khokhwaithai\",\n  0x0e04,\n  \"khomutthai\",\n  0x0e5b,\n  \"khook\",\n  0x0199,\n  \"khorakhangthai\",\n  0x0e06,\n  \"khzsquare\",\n  0x3391,\n  \"kihiragana\",\n  0x304d,\n  \"kikatakana\",\n  0x30ad,\n  \"kikatakanahalfwidth\",\n  0xff77,\n  \"kiroguramusquare\",\n  0x3315,\n  \"kiromeetorusquare\",\n  0x3316,\n  \"kirosquare\",\n  0x3314,\n  \"kiyeokacirclekorean\",\n  0x326e,\n  \"kiyeokaparenkorean\",\n  0x320e,\n  \"kiyeokcirclekorean\",\n  0x3260,\n  \"kiyeokkorean\",\n  0x3131,\n  \"kiyeokparenkorean\",\n  0x3200,\n  \"kiyeoksioskorean\",\n  0x3133,\n  \"kjecyrillic\",\n  0x045c,\n  \"klinebelow\",\n  0x1e35,\n  \"klsquare\",\n  0x3398,\n  \"kmcubedsquare\",\n  0x33a6,\n  \"kmonospace\",\n  0xff4b,\n  \"kmsquaredsquare\",\n  0x33a2,\n  \"kohiragana\",\n  0x3053,\n  \"kohmsquare\",\n  0x33c0,\n  \"kokaithai\",\n  0x0e01,\n  \"kokatakana\",\n  0x30b3,\n  \"kokatakanahalfwidth\",\n  0xff7a,\n  \"kooposquare\",\n  0x331e,\n  \"koppacyrillic\",\n  0x0481,\n  \"koreanstandardsymbol\",\n  0x327f,\n  \"koroniscmb\",\n  0x0343,\n  \"kparen\",\n  0x24a6,\n  \"kpasquare\",\n  0x33aa,\n  \"ksicyrillic\",\n  0x046f,\n  \"ktsquare\",\n  0x33cf,\n  \"kturned\",\n  0x029e,\n  \"kuhiragana\",\n  0x304f,\n  \"kukatakana\",\n  0x30af,\n  \"kukatakanahalfwidth\",\n  0xff78,\n  \"kvsquare\",\n  0x33b8,\n  \"kwsquare\",\n  0x33be,\n  \"l\",\n  0x006c,\n  \"labengali\",\n  0x09b2,\n  \"lacute\",\n  0x013a,\n  \"ladeva\",\n  0x0932,\n  \"lagujarati\",\n  0x0ab2,\n  \"lagurmukhi\",\n  0x0a32,\n  \"lakkhangyaothai\",\n  0x0e45,\n  \"lamaleffinalarabic\",\n  0xfefc,\n  \"lamalefhamzaabovefinalarabic\",\n  0xfef8,\n  \"lamalefhamzaaboveisolatedarabic\",\n  0xfef7,\n  \"lamalefhamzabelowfinalarabic\",\n  0xfefa,\n  \"lamalefhamzabelowisolatedarabic\",\n  0xfef9,\n  \"lamalefisolatedarabic\",\n  0xfefb,\n  \"lamalefmaddaabovefinalarabic\",\n  0xfef6,\n  \"lamalefmaddaaboveisolatedarabic\",\n  0xfef5,\n  \"lamarabic\",\n  0x0644,\n  \"lambda\",\n  0x03bb,\n  \"lambdastroke\",\n  0x019b,\n  \"lamed\",\n  0x05dc,\n  \"lameddagesh\",\n  0xfb3c,\n  \"lameddageshhebrew\",\n  0xfb3c,\n  \"lamedhebrew\",\n  0x05dc,\n  \"lamfinalarabic\",\n  0xfede,\n  \"lamhahinitialarabic\",\n  0xfcca,\n  \"laminitialarabic\",\n  0xfedf,\n  \"lamjeeminitialarabic\",\n  0xfcc9,\n  \"lamkhahinitialarabic\",\n  0xfccb,\n  \"lamlamhehisolatedarabic\",\n  0xfdf2,\n  \"lammedialarabic\",\n  0xfee0,\n  \"lammeemhahinitialarabic\",\n  0xfd88,\n  \"lammeeminitialarabic\",\n  0xfccc,\n  \"largecircle\",\n  0x25ef,\n  \"lbar\",\n  0x019a,\n  \"lbelt\",\n  0x026c,\n  \"lbopomofo\",\n  0x310c,\n  \"lcaron\",\n  0x013e,\n  \"lcedilla\",\n  0x013c,\n  \"lcircle\",\n  0x24db,\n  \"lcircumflexbelow\",\n  0x1e3d,\n  \"lcommaaccent\",\n  0x013c,\n  \"ldot\",\n  0x0140,\n  \"ldotaccent\",\n  0x0140,\n  \"ldotbelow\",\n  0x1e37,\n  \"ldotbelowmacron\",\n  0x1e39,\n  \"leftangleabovecmb\",\n  0x031a,\n  \"lefttackbelowcmb\",\n  0x0318,\n  \"less\",\n  0x003c,\n  \"lessequal\",\n  0x2264,\n  \"lessequalorgreater\",\n  0x22da,\n  \"lessmonospace\",\n  0xff1c,\n  \"lessorequivalent\",\n  0x2272,\n  \"lessorgreater\",\n  0x2276,\n  \"lessoverequal\",\n  0x2266,\n  \"lesssmall\",\n  0xfe64,\n  \"lezh\",\n  0x026e,\n  \"lfblock\",\n  0x258c,\n  \"lhookretroflex\",\n  0x026d,\n  \"lira\",\n  0x20a4,\n  \"liwnarmenian\",\n  0x056c,\n  \"lj\",\n  0x01c9,\n  \"ljecyrillic\",\n  0x0459,\n  \"ll\",\n  0xf6c0,\n  \"lladeva\",\n  0x0933,\n  \"llagujarati\",\n  0x0ab3,\n  \"llinebelow\",\n  0x1e3b,\n  \"llladeva\",\n  0x0934,\n  \"llvocalicbengali\",\n  0x09e1,\n  \"llvocalicdeva\",\n  0x0961,\n  \"llvocalicvowelsignbengali\",\n  0x09e3,\n  \"llvocalicvowelsigndeva\",\n  0x0963,\n  \"lmiddletilde\",\n  0x026b,\n  \"lmonospace\",\n  0xff4c,\n  \"lmsquare\",\n  0x33d0,\n  \"lochulathai\",\n  0x0e2c,\n  \"logicaland\",\n  0x2227,\n  \"logicalnot\",\n  0x00ac,\n  \"logicalnotreversed\",\n  0x2310,\n  \"logicalor\",\n  0x2228,\n  \"lolingthai\",\n  0x0e25,\n  \"longs\",\n  0x017f,\n  \"lowlinecenterline\",\n  0xfe4e,\n  \"lowlinecmb\",\n  0x0332,\n  \"lowlinedashed\",\n  0xfe4d,\n  \"lozenge\",\n  0x25ca,\n  \"lparen\",\n  0x24a7,\n  \"lslash\",\n  0x0142,\n  \"lsquare\",\n  0x2113,\n  \"lsuperior\",\n  0xf6ee,\n  \"ltshade\",\n  0x2591,\n  \"luthai\",\n  0x0e26,\n  \"lvocalicbengali\",\n  0x098c,\n  \"lvocalicdeva\",\n  0x090c,\n  \"lvocalicvowelsignbengali\",\n  0x09e2,\n  \"lvocalicvowelsigndeva\",\n  0x0962,\n  \"lxsquare\",\n  0x33d3,\n  \"m\",\n  0x006d,\n  \"mabengali\",\n  0x09ae,\n  \"macron\",\n  0x00af,\n  \"macronbelowcmb\",\n  0x0331,\n  \"macroncmb\",\n  0x0304,\n  \"macronlowmod\",\n  0x02cd,\n  \"macronmonospace\",\n  0xffe3,\n  \"macute\",\n  0x1e3f,\n  \"madeva\",\n  0x092e,\n  \"magujarati\",\n  0x0aae,\n  \"magurmukhi\",\n  0x0a2e,\n  \"mahapakhhebrew\",\n  0x05a4,\n  \"mahapakhlefthebrew\",\n  0x05a4,\n  \"mahiragana\",\n  0x307e,\n  \"maichattawalowleftthai\",\n  0xf895,\n  \"maichattawalowrightthai\",\n  0xf894,\n  \"maichattawathai\",\n  0x0e4b,\n  \"maichattawaupperleftthai\",\n  0xf893,\n  \"maieklowleftthai\",\n  0xf88c,\n  \"maieklowrightthai\",\n  0xf88b,\n  \"maiekthai\",\n  0x0e48,\n  \"maiekupperleftthai\",\n  0xf88a,\n  \"maihanakatleftthai\",\n  0xf884,\n  \"maihanakatthai\",\n  0x0e31,\n  \"maitaikhuleftthai\",\n  0xf889,\n  \"maitaikhuthai\",\n  0x0e47,\n  \"maitholowleftthai\",\n  0xf88f,\n  \"maitholowrightthai\",\n  0xf88e,\n  \"maithothai\",\n  0x0e49,\n  \"maithoupperleftthai\",\n  0xf88d,\n  \"maitrilowleftthai\",\n  0xf892,\n  \"maitrilowrightthai\",\n  0xf891,\n  \"maitrithai\",\n  0x0e4a,\n  \"maitriupperleftthai\",\n  0xf890,\n  \"maiyamokthai\",\n  0x0e46,\n  \"makatakana\",\n  0x30de,\n  \"makatakanahalfwidth\",\n  0xff8f,\n  \"male\",\n  0x2642,\n  \"mansyonsquare\",\n  0x3347,\n  \"maqafhebrew\",\n  0x05be,\n  \"mars\",\n  0x2642,\n  \"masoracirclehebrew\",\n  0x05af,\n  \"masquare\",\n  0x3383,\n  \"mbopomofo\",\n  0x3107,\n  \"mbsquare\",\n  0x33d4,\n  \"mcircle\",\n  0x24dc,\n  \"mcubedsquare\",\n  0x33a5,\n  \"mdotaccent\",\n  0x1e41,\n  \"mdotbelow\",\n  0x1e43,\n  \"meemarabic\",\n  0x0645,\n  \"meemfinalarabic\",\n  0xfee2,\n  \"meeminitialarabic\",\n  0xfee3,\n  \"meemmedialarabic\",\n  0xfee4,\n  \"meemmeeminitialarabic\",\n  0xfcd1,\n  \"meemmeemisolatedarabic\",\n  0xfc48,\n  \"meetorusquare\",\n  0x334d,\n  \"mehiragana\",\n  0x3081,\n  \"meizierasquare\",\n  0x337e,\n  \"mekatakana\",\n  0x30e1,\n  \"mekatakanahalfwidth\",\n  0xff92,\n  \"mem\",\n  0x05de,\n  \"memdagesh\",\n  0xfb3e,\n  \"memdageshhebrew\",\n  0xfb3e,\n  \"memhebrew\",\n  0x05de,\n  \"menarmenian\",\n  0x0574,\n  \"merkhahebrew\",\n  0x05a5,\n  \"merkhakefulahebrew\",\n  0x05a6,\n  \"merkhakefulalefthebrew\",\n  0x05a6,\n  \"merkhalefthebrew\",\n  0x05a5,\n  \"mhook\",\n  0x0271,\n  \"mhzsquare\",\n  0x3392,\n  \"middledotkatakanahalfwidth\",\n  0xff65,\n  \"middot\",\n  0x00b7,\n  \"mieumacirclekorean\",\n  0x3272,\n  \"mieumaparenkorean\",\n  0x3212,\n  \"mieumcirclekorean\",\n  0x3264,\n  \"mieumkorean\",\n  0x3141,\n  \"mieumpansioskorean\",\n  0x3170,\n  \"mieumparenkorean\",\n  0x3204,\n  \"mieumpieupkorean\",\n  0x316e,\n  \"mieumsioskorean\",\n  0x316f,\n  \"mihiragana\",\n  0x307f,\n  \"mikatakana\",\n  0x30df,\n  \"mikatakanahalfwidth\",\n  0xff90,\n  \"minus\",\n  0x2212,\n  \"minusbelowcmb\",\n  0x0320,\n  \"minuscircle\",\n  0x2296,\n  \"minusmod\",\n  0x02d7,\n  \"minusplus\",\n  0x2213,\n  \"minute\",\n  0x2032,\n  \"miribaarusquare\",\n  0x334a,\n  \"mirisquare\",\n  0x3349,\n  \"mlonglegturned\",\n  0x0270,\n  \"mlsquare\",\n  0x3396,\n  \"mmcubedsquare\",\n  0x33a3,\n  \"mmonospace\",\n  0xff4d,\n  \"mmsquaredsquare\",\n  0x339f,\n  \"mohiragana\",\n  0x3082,\n  \"mohmsquare\",\n  0x33c1,\n  \"mokatakana\",\n  0x30e2,\n  \"mokatakanahalfwidth\",\n  0xff93,\n  \"molsquare\",\n  0x33d6,\n  \"momathai\",\n  0x0e21,\n  \"moverssquare\",\n  0x33a7,\n  \"moverssquaredsquare\",\n  0x33a8,\n  \"mparen\",\n  0x24a8,\n  \"mpasquare\",\n  0x33ab,\n  \"mssquare\",\n  0x33b3,\n  \"msuperior\",\n  0xf6ef,\n  \"mturned\",\n  0x026f,\n  \"mu\",\n  0x00b5,\n  \"mu1\",\n  0x00b5,\n  \"muasquare\",\n  0x3382,\n  \"muchgreater\",\n  0x226b,\n  \"muchless\",\n  0x226a,\n  \"mufsquare\",\n  0x338c,\n  \"mugreek\",\n  0x03bc,\n  \"mugsquare\",\n  0x338d,\n  \"muhiragana\",\n  0x3080,\n  \"mukatakana\",\n  0x30e0,\n  \"mukatakanahalfwidth\",\n  0xff91,\n  \"mulsquare\",\n  0x3395,\n  \"multiply\",\n  0x00d7,\n  \"mumsquare\",\n  0x339b,\n  \"munahhebrew\",\n  0x05a3,\n  \"munahlefthebrew\",\n  0x05a3,\n  \"musicalnote\",\n  0x266a,\n  \"musicalnotedbl\",\n  0x266b,\n  \"musicflatsign\",\n  0x266d,\n  \"musicsharpsign\",\n  0x266f,\n  \"mussquare\",\n  0x33b2,\n  \"muvsquare\",\n  0x33b6,\n  \"muwsquare\",\n  0x33bc,\n  \"mvmegasquare\",\n  0x33b9,\n  \"mvsquare\",\n  0x33b7,\n  \"mwmegasquare\",\n  0x33bf,\n  \"mwsquare\",\n  0x33bd,\n  \"n\",\n  0x006e,\n  \"nabengali\",\n  0x09a8,\n  \"nabla\",\n  0x2207,\n  \"nacute\",\n  0x0144,\n  \"nadeva\",\n  0x0928,\n  \"nagujarati\",\n  0x0aa8,\n  \"nagurmukhi\",\n  0x0a28,\n  \"nahiragana\",\n  0x306a,\n  \"nakatakana\",\n  0x30ca,\n  \"nakatakanahalfwidth\",\n  0xff85,\n  \"napostrophe\",\n  0x0149,\n  \"nasquare\",\n  0x3381,\n  \"nbopomofo\",\n  0x310b,\n  \"nbspace\",\n  0x00a0,\n  \"ncaron\",\n  0x0148,\n  \"ncedilla\",\n  0x0146,\n  \"ncircle\",\n  0x24dd,\n  \"ncircumflexbelow\",\n  0x1e4b,\n  \"ncommaaccent\",\n  0x0146,\n  \"ndotaccent\",\n  0x1e45,\n  \"ndotbelow\",\n  0x1e47,\n  \"nehiragana\",\n  0x306d,\n  \"nekatakana\",\n  0x30cd,\n  \"nekatakanahalfwidth\",\n  0xff88,\n  \"newsheqelsign\",\n  0x20aa,\n  \"nfsquare\",\n  0x338b,\n  \"ngabengali\",\n  0x0999,\n  \"ngadeva\",\n  0x0919,\n  \"ngagujarati\",\n  0x0a99,\n  \"ngagurmukhi\",\n  0x0a19,\n  \"ngonguthai\",\n  0x0e07,\n  \"nhiragana\",\n  0x3093,\n  \"nhookleft\",\n  0x0272,\n  \"nhookretroflex\",\n  0x0273,\n  \"nieunacirclekorean\",\n  0x326f,\n  \"nieunaparenkorean\",\n  0x320f,\n  \"nieuncieuckorean\",\n  0x3135,\n  \"nieuncirclekorean\",\n  0x3261,\n  \"nieunhieuhkorean\",\n  0x3136,\n  \"nieunkorean\",\n  0x3134,\n  \"nieunpansioskorean\",\n  0x3168,\n  \"nieunparenkorean\",\n  0x3201,\n  \"nieunsioskorean\",\n  0x3167,\n  \"nieuntikeutkorean\",\n  0x3166,\n  \"nihiragana\",\n  0x306b,\n  \"nikatakana\",\n  0x30cb,\n  \"nikatakanahalfwidth\",\n  0xff86,\n  \"nikhahitleftthai\",\n  0xf899,\n  \"nikhahitthai\",\n  0x0e4d,\n  \"nine\",\n  0x0039,\n  \"ninearabic\",\n  0x0669,\n  \"ninebengali\",\n  0x09ef,\n  \"ninecircle\",\n  0x2468,\n  \"ninecircleinversesansserif\",\n  0x2792,\n  \"ninedeva\",\n  0x096f,\n  \"ninegujarati\",\n  0x0aef,\n  \"ninegurmukhi\",\n  0x0a6f,\n  \"ninehackarabic\",\n  0x0669,\n  \"ninehangzhou\",\n  0x3029,\n  \"nineideographicparen\",\n  0x3228,\n  \"nineinferior\",\n  0x2089,\n  \"ninemonospace\",\n  0xff19,\n  \"nineoldstyle\",\n  0xf739,\n  \"nineparen\",\n  0x247c,\n  \"nineperiod\",\n  0x2490,\n  \"ninepersian\",\n  0x06f9,\n  \"nineroman\",\n  0x2178,\n  \"ninesuperior\",\n  0x2079,\n  \"nineteencircle\",\n  0x2472,\n  \"nineteenparen\",\n  0x2486,\n  \"nineteenperiod\",\n  0x249a,\n  \"ninethai\",\n  0x0e59,\n  \"nj\",\n  0x01cc,\n  \"njecyrillic\",\n  0x045a,\n  \"nkatakana\",\n  0x30f3,\n  \"nkatakanahalfwidth\",\n  0xff9d,\n  \"nlegrightlong\",\n  0x019e,\n  \"nlinebelow\",\n  0x1e49,\n  \"nmonospace\",\n  0xff4e,\n  \"nmsquare\",\n  0x339a,\n  \"nnabengali\",\n  0x09a3,\n  \"nnadeva\",\n  0x0923,\n  \"nnagujarati\",\n  0x0aa3,\n  \"nnagurmukhi\",\n  0x0a23,\n  \"nnnadeva\",\n  0x0929,\n  \"nohiragana\",\n  0x306e,\n  \"nokatakana\",\n  0x30ce,\n  \"nokatakanahalfwidth\",\n  0xff89,\n  \"nonbreakingspace\",\n  0x00a0,\n  \"nonenthai\",\n  0x0e13,\n  \"nonuthai\",\n  0x0e19,\n  \"noonarabic\",\n  0x0646,\n  \"noonfinalarabic\",\n  0xfee6,\n  \"noonghunnaarabic\",\n  0x06ba,\n  \"noonghunnafinalarabic\",\n  0xfb9f,\n  \"nooninitialarabic\",\n  0xfee7,\n  \"noonjeeminitialarabic\",\n  0xfcd2,\n  \"noonjeemisolatedarabic\",\n  0xfc4b,\n  \"noonmedialarabic\",\n  0xfee8,\n  \"noonmeeminitialarabic\",\n  0xfcd5,\n  \"noonmeemisolatedarabic\",\n  0xfc4e,\n  \"noonnoonfinalarabic\",\n  0xfc8d,\n  \"notcontains\",\n  0x220c,\n  \"notelement\",\n  0x2209,\n  \"notelementof\",\n  0x2209,\n  \"notequal\",\n  0x2260,\n  \"notgreater\",\n  0x226f,\n  \"notgreaternorequal\",\n  0x2271,\n  \"notgreaternorless\",\n  0x2279,\n  \"notidentical\",\n  0x2262,\n  \"notless\",\n  0x226e,\n  \"notlessnorequal\",\n  0x2270,\n  \"notparallel\",\n  0x2226,\n  \"notprecedes\",\n  0x2280,\n  \"notsubset\",\n  0x2284,\n  \"notsucceeds\",\n  0x2281,\n  \"notsuperset\",\n  0x2285,\n  \"nowarmenian\",\n  0x0576,\n  \"nparen\",\n  0x24a9,\n  \"nssquare\",\n  0x33b1,\n  \"nsuperior\",\n  0x207f,\n  \"ntilde\",\n  0x00f1,\n  \"nu\",\n  0x03bd,\n  \"nuhiragana\",\n  0x306c,\n  \"nukatakana\",\n  0x30cc,\n  \"nukatakanahalfwidth\",\n  0xff87,\n  \"nuktabengali\",\n  0x09bc,\n  \"nuktadeva\",\n  0x093c,\n  \"nuktagujarati\",\n  0x0abc,\n  \"nuktagurmukhi\",\n  0x0a3c,\n  \"numbersign\",\n  0x0023,\n  \"numbersignmonospace\",\n  0xff03,\n  \"numbersignsmall\",\n  0xfe5f,\n  \"numeralsigngreek\",\n  0x0374,\n  \"numeralsignlowergreek\",\n  0x0375,\n  \"numero\",\n  0x2116,\n  \"nun\",\n  0x05e0,\n  \"nundagesh\",\n  0xfb40,\n  \"nundageshhebrew\",\n  0xfb40,\n  \"nunhebrew\",\n  0x05e0,\n  \"nvsquare\",\n  0x33b5,\n  \"nwsquare\",\n  0x33bb,\n  \"nyabengali\",\n  0x099e,\n  \"nyadeva\",\n  0x091e,\n  \"nyagujarati\",\n  0x0a9e,\n  \"nyagurmukhi\",\n  0x0a1e,\n  \"o\",\n  0x006f,\n  \"oacute\",\n  0x00f3,\n  \"oangthai\",\n  0x0e2d,\n  \"obarred\",\n  0x0275,\n  \"obarredcyrillic\",\n  0x04e9,\n  \"obarreddieresiscyrillic\",\n  0x04eb,\n  \"obengali\",\n  0x0993,\n  \"obopomofo\",\n  0x311b,\n  \"obreve\",\n  0x014f,\n  \"ocandradeva\",\n  0x0911,\n  \"ocandragujarati\",\n  0x0a91,\n  \"ocandravowelsigndeva\",\n  0x0949,\n  \"ocandravowelsigngujarati\",\n  0x0ac9,\n  \"ocaron\",\n  0x01d2,\n  \"ocircle\",\n  0x24de,\n  \"ocircumflex\",\n  0x00f4,\n  \"ocircumflexacute\",\n  0x1ed1,\n  \"ocircumflexdotbelow\",\n  0x1ed9,\n  \"ocircumflexgrave\",\n  0x1ed3,\n  \"ocircumflexhookabove\",\n  0x1ed5,\n  \"ocircumflextilde\",\n  0x1ed7,\n  \"ocyrillic\",\n  0x043e,\n  \"odblacute\",\n  0x0151,\n  \"odblgrave\",\n  0x020d,\n  \"odeva\",\n  0x0913,\n  \"odieresis\",\n  0x00f6,\n  \"odieresiscyrillic\",\n  0x04e7,\n  \"odotbelow\",\n  0x1ecd,\n  \"oe\",\n  0x0153,\n  \"oekorean\",\n  0x315a,\n  \"ogonek\",\n  0x02db,\n  \"ogonekcmb\",\n  0x0328,\n  \"ograve\",\n  0x00f2,\n  \"ogujarati\",\n  0x0a93,\n  \"oharmenian\",\n  0x0585,\n  \"ohiragana\",\n  0x304a,\n  \"ohookabove\",\n  0x1ecf,\n  \"ohorn\",\n  0x01a1,\n  \"ohornacute\",\n  0x1edb,\n  \"ohorndotbelow\",\n  0x1ee3,\n  \"ohorngrave\",\n  0x1edd,\n  \"ohornhookabove\",\n  0x1edf,\n  \"ohorntilde\",\n  0x1ee1,\n  \"ohungarumlaut\",\n  0x0151,\n  \"oi\",\n  0x01a3,\n  \"oinvertedbreve\",\n  0x020f,\n  \"okatakana\",\n  0x30aa,\n  \"okatakanahalfwidth\",\n  0xff75,\n  \"okorean\",\n  0x3157,\n  \"olehebrew\",\n  0x05ab,\n  \"omacron\",\n  0x014d,\n  \"omacronacute\",\n  0x1e53,\n  \"omacrongrave\",\n  0x1e51,\n  \"omdeva\",\n  0x0950,\n  \"omega\",\n  0x03c9,\n  \"omega1\",\n  0x03d6,\n  \"omegacyrillic\",\n  0x0461,\n  \"omegalatinclosed\",\n  0x0277,\n  \"omegaroundcyrillic\",\n  0x047b,\n  \"omegatitlocyrillic\",\n  0x047d,\n  \"omegatonos\",\n  0x03ce,\n  \"omgujarati\",\n  0x0ad0,\n  \"omicron\",\n  0x03bf,\n  \"omicrontonos\",\n  0x03cc,\n  \"omonospace\",\n  0xff4f,\n  \"one\",\n  0x0031,\n  \"onearabic\",\n  0x0661,\n  \"onebengali\",\n  0x09e7,\n  \"onecircle\",\n  0x2460,\n  \"onecircleinversesansserif\",\n  0x278a,\n  \"onedeva\",\n  0x0967,\n  \"onedotenleader\",\n  0x2024,\n  \"oneeighth\",\n  0x215b,\n  \"onefitted\",\n  0xf6dc,\n  \"onegujarati\",\n  0x0ae7,\n  \"onegurmukhi\",\n  0x0a67,\n  \"onehackarabic\",\n  0x0661,\n  \"onehalf\",\n  0x00bd,\n  \"onehangzhou\",\n  0x3021,\n  \"oneideographicparen\",\n  0x3220,\n  \"oneinferior\",\n  0x2081,\n  \"onemonospace\",\n  0xff11,\n  \"onenumeratorbengali\",\n  0x09f4,\n  \"oneoldstyle\",\n  0xf731,\n  \"oneparen\",\n  0x2474,\n  \"oneperiod\",\n  0x2488,\n  \"onepersian\",\n  0x06f1,\n  \"onequarter\",\n  0x00bc,\n  \"oneroman\",\n  0x2170,\n  \"onesuperior\",\n  0x00b9,\n  \"onethai\",\n  0x0e51,\n  \"onethird\",\n  0x2153,\n  \"oogonek\",\n  0x01eb,\n  \"oogonekmacron\",\n  0x01ed,\n  \"oogurmukhi\",\n  0x0a13,\n  \"oomatragurmukhi\",\n  0x0a4b,\n  \"oopen\",\n  0x0254,\n  \"oparen\",\n  0x24aa,\n  \"openbullet\",\n  0x25e6,\n  \"option\",\n  0x2325,\n  \"ordfeminine\",\n  0x00aa,\n  \"ordmasculine\",\n  0x00ba,\n  \"orthogonal\",\n  0x221f,\n  \"oshortdeva\",\n  0x0912,\n  \"oshortvowelsigndeva\",\n  0x094a,\n  \"oslash\",\n  0x00f8,\n  \"oslashacute\",\n  0x01ff,\n  \"osmallhiragana\",\n  0x3049,\n  \"osmallkatakana\",\n  0x30a9,\n  \"osmallkatakanahalfwidth\",\n  0xff6b,\n  \"ostrokeacute\",\n  0x01ff,\n  \"osuperior\",\n  0xf6f0,\n  \"otcyrillic\",\n  0x047f,\n  \"otilde\",\n  0x00f5,\n  \"otildeacute\",\n  0x1e4d,\n  \"otildedieresis\",\n  0x1e4f,\n  \"oubopomofo\",\n  0x3121,\n  \"overline\",\n  0x203e,\n  \"overlinecenterline\",\n  0xfe4a,\n  \"overlinecmb\",\n  0x0305,\n  \"overlinedashed\",\n  0xfe49,\n  \"overlinedblwavy\",\n  0xfe4c,\n  \"overlinewavy\",\n  0xfe4b,\n  \"overscore\",\n  0x00af,\n  \"ovowelsignbengali\",\n  0x09cb,\n  \"ovowelsigndeva\",\n  0x094b,\n  \"ovowelsigngujarati\",\n  0x0acb,\n  \"p\",\n  0x0070,\n  \"paampssquare\",\n  0x3380,\n  \"paasentosquare\",\n  0x332b,\n  \"pabengali\",\n  0x09aa,\n  \"pacute\",\n  0x1e55,\n  \"padeva\",\n  0x092a,\n  \"pagedown\",\n  0x21df,\n  \"pageup\",\n  0x21de,\n  \"pagujarati\",\n  0x0aaa,\n  \"pagurmukhi\",\n  0x0a2a,\n  \"pahiragana\",\n  0x3071,\n  \"paiyannoithai\",\n  0x0e2f,\n  \"pakatakana\",\n  0x30d1,\n  \"palatalizationcyrilliccmb\",\n  0x0484,\n  \"palochkacyrillic\",\n  0x04c0,\n  \"pansioskorean\",\n  0x317f,\n  \"paragraph\",\n  0x00b6,\n  \"parallel\",\n  0x2225,\n  \"parenleft\",\n  0x0028,\n  \"parenleftaltonearabic\",\n  0xfd3e,\n  \"parenleftbt\",\n  0xf8ed,\n  \"parenleftex\",\n  0xf8ec,\n  \"parenleftinferior\",\n  0x208d,\n  \"parenleftmonospace\",\n  0xff08,\n  \"parenleftsmall\",\n  0xfe59,\n  \"parenleftsuperior\",\n  0x207d,\n  \"parenlefttp\",\n  0xf8eb,\n  \"parenleftvertical\",\n  0xfe35,\n  \"parenright\",\n  0x0029,\n  \"parenrightaltonearabic\",\n  0xfd3f,\n  \"parenrightbt\",\n  0xf8f8,\n  \"parenrightex\",\n  0xf8f7,\n  \"parenrightinferior\",\n  0x208e,\n  \"parenrightmonospace\",\n  0xff09,\n  \"parenrightsmall\",\n  0xfe5a,\n  \"parenrightsuperior\",\n  0x207e,\n  \"parenrighttp\",\n  0xf8f6,\n  \"parenrightvertical\",\n  0xfe36,\n  \"partialdiff\",\n  0x2202,\n  \"paseqhebrew\",\n  0x05c0,\n  \"pashtahebrew\",\n  0x0599,\n  \"pasquare\",\n  0x33a9,\n  \"patah\",\n  0x05b7,\n  \"patah11\",\n  0x05b7,\n  \"patah1d\",\n  0x05b7,\n  \"patah2a\",\n  0x05b7,\n  \"patahhebrew\",\n  0x05b7,\n  \"patahnarrowhebrew\",\n  0x05b7,\n  \"patahquarterhebrew\",\n  0x05b7,\n  \"patahwidehebrew\",\n  0x05b7,\n  \"pazerhebrew\",\n  0x05a1,\n  \"pbopomofo\",\n  0x3106,\n  \"pcircle\",\n  0x24df,\n  \"pdotaccent\",\n  0x1e57,\n  \"pe\",\n  0x05e4,\n  \"pecyrillic\",\n  0x043f,\n  \"pedagesh\",\n  0xfb44,\n  \"pedageshhebrew\",\n  0xfb44,\n  \"peezisquare\",\n  0x333b,\n  \"pefinaldageshhebrew\",\n  0xfb43,\n  \"peharabic\",\n  0x067e,\n  \"peharmenian\",\n  0x057a,\n  \"pehebrew\",\n  0x05e4,\n  \"pehfinalarabic\",\n  0xfb57,\n  \"pehinitialarabic\",\n  0xfb58,\n  \"pehiragana\",\n  0x307a,\n  \"pehmedialarabic\",\n  0xfb59,\n  \"pekatakana\",\n  0x30da,\n  \"pemiddlehookcyrillic\",\n  0x04a7,\n  \"perafehebrew\",\n  0xfb4e,\n  \"percent\",\n  0x0025,\n  \"percentarabic\",\n  0x066a,\n  \"percentmonospace\",\n  0xff05,\n  \"percentsmall\",\n  0xfe6a,\n  \"period\",\n  0x002e,\n  \"periodarmenian\",\n  0x0589,\n  \"periodcentered\",\n  0x00b7,\n  \"periodhalfwidth\",\n  0xff61,\n  \"periodinferior\",\n  0xf6e7,\n  \"periodmonospace\",\n  0xff0e,\n  \"periodsmall\",\n  0xfe52,\n  \"periodsuperior\",\n  0xf6e8,\n  \"perispomenigreekcmb\",\n  0x0342,\n  \"perpendicular\",\n  0x22a5,\n  \"perthousand\",\n  0x2030,\n  \"peseta\",\n  0x20a7,\n  \"pfsquare\",\n  0x338a,\n  \"phabengali\",\n  0x09ab,\n  \"phadeva\",\n  0x092b,\n  \"phagujarati\",\n  0x0aab,\n  \"phagurmukhi\",\n  0x0a2b,\n  \"phi\",\n  0x03c6,\n  \"phi1\",\n  0x03d5,\n  \"phieuphacirclekorean\",\n  0x327a,\n  \"phieuphaparenkorean\",\n  0x321a,\n  \"phieuphcirclekorean\",\n  0x326c,\n  \"phieuphkorean\",\n  0x314d,\n  \"phieuphparenkorean\",\n  0x320c,\n  \"philatin\",\n  0x0278,\n  \"phinthuthai\",\n  0x0e3a,\n  \"phisymbolgreek\",\n  0x03d5,\n  \"phook\",\n  0x01a5,\n  \"phophanthai\",\n  0x0e1e,\n  \"phophungthai\",\n  0x0e1c,\n  \"phosamphaothai\",\n  0x0e20,\n  \"pi\",\n  0x03c0,\n  \"pieupacirclekorean\",\n  0x3273,\n  \"pieupaparenkorean\",\n  0x3213,\n  \"pieupcieuckorean\",\n  0x3176,\n  \"pieupcirclekorean\",\n  0x3265,\n  \"pieupkiyeokkorean\",\n  0x3172,\n  \"pieupkorean\",\n  0x3142,\n  \"pieupparenkorean\",\n  0x3205,\n  \"pieupsioskiyeokkorean\",\n  0x3174,\n  \"pieupsioskorean\",\n  0x3144,\n  \"pieupsiostikeutkorean\",\n  0x3175,\n  \"pieupthieuthkorean\",\n  0x3177,\n  \"pieuptikeutkorean\",\n  0x3173,\n  \"pihiragana\",\n  0x3074,\n  \"pikatakana\",\n  0x30d4,\n  \"pisymbolgreek\",\n  0x03d6,\n  \"piwrarmenian\",\n  0x0583,\n  \"plus\",\n  0x002b,\n  \"plusbelowcmb\",\n  0x031f,\n  \"pluscircle\",\n  0x2295,\n  \"plusminus\",\n  0x00b1,\n  \"plusmod\",\n  0x02d6,\n  \"plusmonospace\",\n  0xff0b,\n  \"plussmall\",\n  0xfe62,\n  \"plussuperior\",\n  0x207a,\n  \"pmonospace\",\n  0xff50,\n  \"pmsquare\",\n  0x33d8,\n  \"pohiragana\",\n  0x307d,\n  \"pointingindexdownwhite\",\n  0x261f,\n  \"pointingindexleftwhite\",\n  0x261c,\n  \"pointingindexrightwhite\",\n  0x261e,\n  \"pointingindexupwhite\",\n  0x261d,\n  \"pokatakana\",\n  0x30dd,\n  \"poplathai\",\n  0x0e1b,\n  \"postalmark\",\n  0x3012,\n  \"postalmarkface\",\n  0x3020,\n  \"pparen\",\n  0x24ab,\n  \"precedes\",\n  0x227a,\n  \"prescription\",\n  0x211e,\n  \"primemod\",\n  0x02b9,\n  \"primereversed\",\n  0x2035,\n  \"product\",\n  0x220f,\n  \"projective\",\n  0x2305,\n  \"prolongedkana\",\n  0x30fc,\n  \"propellor\",\n  0x2318,\n  \"propersubset\",\n  0x2282,\n  \"propersuperset\",\n  0x2283,\n  \"proportion\",\n  0x2237,\n  \"proportional\",\n  0x221d,\n  \"psi\",\n  0x03c8,\n  \"psicyrillic\",\n  0x0471,\n  \"psilipneumatacyrilliccmb\",\n  0x0486,\n  \"pssquare\",\n  0x33b0,\n  \"puhiragana\",\n  0x3077,\n  \"pukatakana\",\n  0x30d7,\n  \"pvsquare\",\n  0x33b4,\n  \"pwsquare\",\n  0x33ba,\n  \"q\",\n  0x0071,\n  \"qadeva\",\n  0x0958,\n  \"qadmahebrew\",\n  0x05a8,\n  \"qafarabic\",\n  0x0642,\n  \"qaffinalarabic\",\n  0xfed6,\n  \"qafinitialarabic\",\n  0xfed7,\n  \"qafmedialarabic\",\n  0xfed8,\n  \"qamats\",\n  0x05b8,\n  \"qamats10\",\n  0x05b8,\n  \"qamats1a\",\n  0x05b8,\n  \"qamats1c\",\n  0x05b8,\n  \"qamats27\",\n  0x05b8,\n  \"qamats29\",\n  0x05b8,\n  \"qamats33\",\n  0x05b8,\n  \"qamatsde\",\n  0x05b8,\n  \"qamatshebrew\",\n  0x05b8,\n  \"qamatsnarrowhebrew\",\n  0x05b8,\n  \"qamatsqatanhebrew\",\n  0x05b8,\n  \"qamatsqatannarrowhebrew\",\n  0x05b8,\n  \"qamatsqatanquarterhebrew\",\n  0x05b8,\n  \"qamatsqatanwidehebrew\",\n  0x05b8,\n  \"qamatsquarterhebrew\",\n  0x05b8,\n  \"qamatswidehebrew\",\n  0x05b8,\n  \"qarneyparahebrew\",\n  0x059f,\n  \"qbopomofo\",\n  0x3111,\n  \"qcircle\",\n  0x24e0,\n  \"qhook\",\n  0x02a0,\n  \"qmonospace\",\n  0xff51,\n  \"qof\",\n  0x05e7,\n  \"qofdagesh\",\n  0xfb47,\n  \"qofdageshhebrew\",\n  0xfb47,\n  \"qofhebrew\",\n  0x05e7,\n  \"qparen\",\n  0x24ac,\n  \"quarternote\",\n  0x2669,\n  \"qubuts\",\n  0x05bb,\n  \"qubuts18\",\n  0x05bb,\n  \"qubuts25\",\n  0x05bb,\n  \"qubuts31\",\n  0x05bb,\n  \"qubutshebrew\",\n  0x05bb,\n  \"qubutsnarrowhebrew\",\n  0x05bb,\n  \"qubutsquarterhebrew\",\n  0x05bb,\n  \"qubutswidehebrew\",\n  0x05bb,\n  \"question\",\n  0x003f,\n  \"questionarabic\",\n  0x061f,\n  \"questionarmenian\",\n  0x055e,\n  \"questiondown\",\n  0x00bf,\n  \"questiondownsmall\",\n  0xf7bf,\n  \"questiongreek\",\n  0x037e,\n  \"questionmonospace\",\n  0xff1f,\n  \"questionsmall\",\n  0xf73f,\n  \"quotedbl\",\n  0x0022,\n  \"quotedblbase\",\n  0x201e,\n  \"quotedblleft\",\n  0x201c,\n  \"quotedblmonospace\",\n  0xff02,\n  \"quotedblprime\",\n  0x301e,\n  \"quotedblprimereversed\",\n  0x301d,\n  \"quotedblright\",\n  0x201d,\n  \"quoteleft\",\n  0x2018,\n  \"quoteleftreversed\",\n  0x201b,\n  \"quotereversed\",\n  0x201b,\n  \"quoteright\",\n  0x2019,\n  \"quoterightn\",\n  0x0149,\n  \"quotesinglbase\",\n  0x201a,\n  \"quotesingle\",\n  0x0027,\n  \"quotesinglemonospace\",\n  0xff07,\n  \"r\",\n  0x0072,\n  \"raarmenian\",\n  0x057c,\n  \"rabengali\",\n  0x09b0,\n  \"racute\",\n  0x0155,\n  \"radeva\",\n  0x0930,\n  \"radical\",\n  0x221a,\n  \"radicalex\",\n  0xf8e5,\n  \"radoverssquare\",\n  0x33ae,\n  \"radoverssquaredsquare\",\n  0x33af,\n  \"radsquare\",\n  0x33ad,\n  \"rafe\",\n  0x05bf,\n  \"rafehebrew\",\n  0x05bf,\n  \"ragujarati\",\n  0x0ab0,\n  \"ragurmukhi\",\n  0x0a30,\n  \"rahiragana\",\n  0x3089,\n  \"rakatakana\",\n  0x30e9,\n  \"rakatakanahalfwidth\",\n  0xff97,\n  \"ralowerdiagonalbengali\",\n  0x09f1,\n  \"ramiddlediagonalbengali\",\n  0x09f0,\n  \"ramshorn\",\n  0x0264,\n  \"ratio\",\n  0x2236,\n  \"rbopomofo\",\n  0x3116,\n  \"rcaron\",\n  0x0159,\n  \"rcedilla\",\n  0x0157,\n  \"rcircle\",\n  0x24e1,\n  \"rcommaaccent\",\n  0x0157,\n  \"rdblgrave\",\n  0x0211,\n  \"rdotaccent\",\n  0x1e59,\n  \"rdotbelow\",\n  0x1e5b,\n  \"rdotbelowmacron\",\n  0x1e5d,\n  \"referencemark\",\n  0x203b,\n  \"reflexsubset\",\n  0x2286,\n  \"reflexsuperset\",\n  0x2287,\n  \"registered\",\n  0x00ae,\n  \"registersans\",\n  0xf8e8,\n  \"registerserif\",\n  0xf6da,\n  \"reharabic\",\n  0x0631,\n  \"reharmenian\",\n  0x0580,\n  \"rehfinalarabic\",\n  0xfeae,\n  \"rehiragana\",\n  0x308c,\n  \"rekatakana\",\n  0x30ec,\n  \"rekatakanahalfwidth\",\n  0xff9a,\n  \"resh\",\n  0x05e8,\n  \"reshdageshhebrew\",\n  0xfb48,\n  \"reshhebrew\",\n  0x05e8,\n  \"reversedtilde\",\n  0x223d,\n  \"reviahebrew\",\n  0x0597,\n  \"reviamugrashhebrew\",\n  0x0597,\n  \"revlogicalnot\",\n  0x2310,\n  \"rfishhook\",\n  0x027e,\n  \"rfishhookreversed\",\n  0x027f,\n  \"rhabengali\",\n  0x09dd,\n  \"rhadeva\",\n  0x095d,\n  \"rho\",\n  0x03c1,\n  \"rhook\",\n  0x027d,\n  \"rhookturned\",\n  0x027b,\n  \"rhookturnedsuperior\",\n  0x02b5,\n  \"rhosymbolgreek\",\n  0x03f1,\n  \"rhotichookmod\",\n  0x02de,\n  \"rieulacirclekorean\",\n  0x3271,\n  \"rieulaparenkorean\",\n  0x3211,\n  \"rieulcirclekorean\",\n  0x3263,\n  \"rieulhieuhkorean\",\n  0x3140,\n  \"rieulkiyeokkorean\",\n  0x313a,\n  \"rieulkiyeoksioskorean\",\n  0x3169,\n  \"rieulkorean\",\n  0x3139,\n  \"rieulmieumkorean\",\n  0x313b,\n  \"rieulpansioskorean\",\n  0x316c,\n  \"rieulparenkorean\",\n  0x3203,\n  \"rieulphieuphkorean\",\n  0x313f,\n  \"rieulpieupkorean\",\n  0x313c,\n  \"rieulpieupsioskorean\",\n  0x316b,\n  \"rieulsioskorean\",\n  0x313d,\n  \"rieulthieuthkorean\",\n  0x313e,\n  \"rieultikeutkorean\",\n  0x316a,\n  \"rieulyeorinhieuhkorean\",\n  0x316d,\n  \"rightangle\",\n  0x221f,\n  \"righttackbelowcmb\",\n  0x0319,\n  \"righttriangle\",\n  0x22bf,\n  \"rihiragana\",\n  0x308a,\n  \"rikatakana\",\n  0x30ea,\n  \"rikatakanahalfwidth\",\n  0xff98,\n  \"ring\",\n  0x02da,\n  \"ringbelowcmb\",\n  0x0325,\n  \"ringcmb\",\n  0x030a,\n  \"ringhalfleft\",\n  0x02bf,\n  \"ringhalfleftarmenian\",\n  0x0559,\n  \"ringhalfleftbelowcmb\",\n  0x031c,\n  \"ringhalfleftcentered\",\n  0x02d3,\n  \"ringhalfright\",\n  0x02be,\n  \"ringhalfrightbelowcmb\",\n  0x0339,\n  \"ringhalfrightcentered\",\n  0x02d2,\n  \"rinvertedbreve\",\n  0x0213,\n  \"rittorusquare\",\n  0x3351,\n  \"rlinebelow\",\n  0x1e5f,\n  \"rlongleg\",\n  0x027c,\n  \"rlonglegturned\",\n  0x027a,\n  \"rmonospace\",\n  0xff52,\n  \"rohiragana\",\n  0x308d,\n  \"rokatakana\",\n  0x30ed,\n  \"rokatakanahalfwidth\",\n  0xff9b,\n  \"roruathai\",\n  0x0e23,\n  \"rparen\",\n  0x24ad,\n  \"rrabengali\",\n  0x09dc,\n  \"rradeva\",\n  0x0931,\n  \"rragurmukhi\",\n  0x0a5c,\n  \"rreharabic\",\n  0x0691,\n  \"rrehfinalarabic\",\n  0xfb8d,\n  \"rrvocalicbengali\",\n  0x09e0,\n  \"rrvocalicdeva\",\n  0x0960,\n  \"rrvocalicgujarati\",\n  0x0ae0,\n  \"rrvocalicvowelsignbengali\",\n  0x09c4,\n  \"rrvocalicvowelsigndeva\",\n  0x0944,\n  \"rrvocalicvowelsigngujarati\",\n  0x0ac4,\n  \"rsuperior\",\n  0xf6f1,\n  \"rtblock\",\n  0x2590,\n  \"rturned\",\n  0x0279,\n  \"rturnedsuperior\",\n  0x02b4,\n  \"ruhiragana\",\n  0x308b,\n  \"rukatakana\",\n  0x30eb,\n  \"rukatakanahalfwidth\",\n  0xff99,\n  \"rupeemarkbengali\",\n  0x09f2,\n  \"rupeesignbengali\",\n  0x09f3,\n  \"rupiah\",\n  0xf6dd,\n  \"ruthai\",\n  0x0e24,\n  \"rvocalicbengali\",\n  0x098b,\n  \"rvocalicdeva\",\n  0x090b,\n  \"rvocalicgujarati\",\n  0x0a8b,\n  \"rvocalicvowelsignbengali\",\n  0x09c3,\n  \"rvocalicvowelsigndeva\",\n  0x0943,\n  \"rvocalicvowelsigngujarati\",\n  0x0ac3,\n  \"s\",\n  0x0073,\n  \"sabengali\",\n  0x09b8,\n  \"sacute\",\n  0x015b,\n  \"sacutedotaccent\",\n  0x1e65,\n  \"sadarabic\",\n  0x0635,\n  \"sadeva\",\n  0x0938,\n  \"sadfinalarabic\",\n  0xfeba,\n  \"sadinitialarabic\",\n  0xfebb,\n  \"sadmedialarabic\",\n  0xfebc,\n  \"sagujarati\",\n  0x0ab8,\n  \"sagurmukhi\",\n  0x0a38,\n  \"sahiragana\",\n  0x3055,\n  \"sakatakana\",\n  0x30b5,\n  \"sakatakanahalfwidth\",\n  0xff7b,\n  \"sallallahoualayhewasallamarabic\",\n  0xfdfa,\n  \"samekh\",\n  0x05e1,\n  \"samekhdagesh\",\n  0xfb41,\n  \"samekhdageshhebrew\",\n  0xfb41,\n  \"samekhhebrew\",\n  0x05e1,\n  \"saraaathai\",\n  0x0e32,\n  \"saraaethai\",\n  0x0e41,\n  \"saraaimaimalaithai\",\n  0x0e44,\n  \"saraaimaimuanthai\",\n  0x0e43,\n  \"saraamthai\",\n  0x0e33,\n  \"saraathai\",\n  0x0e30,\n  \"saraethai\",\n  0x0e40,\n  \"saraiileftthai\",\n  0xf886,\n  \"saraiithai\",\n  0x0e35,\n  \"saraileftthai\",\n  0xf885,\n  \"saraithai\",\n  0x0e34,\n  \"saraothai\",\n  0x0e42,\n  \"saraueeleftthai\",\n  0xf888,\n  \"saraueethai\",\n  0x0e37,\n  \"saraueleftthai\",\n  0xf887,\n  \"sarauethai\",\n  0x0e36,\n  \"sarauthai\",\n  0x0e38,\n  \"sarauuthai\",\n  0x0e39,\n  \"sbopomofo\",\n  0x3119,\n  \"scaron\",\n  0x0161,\n  \"scarondotaccent\",\n  0x1e67,\n  \"scedilla\",\n  0x015f,\n  \"schwa\",\n  0x0259,\n  \"schwacyrillic\",\n  0x04d9,\n  \"schwadieresiscyrillic\",\n  0x04db,\n  \"schwahook\",\n  0x025a,\n  \"scircle\",\n  0x24e2,\n  \"scircumflex\",\n  0x015d,\n  \"scommaaccent\",\n  0x0219,\n  \"sdotaccent\",\n  0x1e61,\n  \"sdotbelow\",\n  0x1e63,\n  \"sdotbelowdotaccent\",\n  0x1e69,\n  \"seagullbelowcmb\",\n  0x033c,\n  \"second\",\n  0x2033,\n  \"secondtonechinese\",\n  0x02ca,\n  \"section\",\n  0x00a7,\n  \"seenarabic\",\n  0x0633,\n  \"seenfinalarabic\",\n  0xfeb2,\n  \"seeninitialarabic\",\n  0xfeb3,\n  \"seenmedialarabic\",\n  0xfeb4,\n  \"segol\",\n  0x05b6,\n  \"segol13\",\n  0x05b6,\n  \"segol1f\",\n  0x05b6,\n  \"segol2c\",\n  0x05b6,\n  \"segolhebrew\",\n  0x05b6,\n  \"segolnarrowhebrew\",\n  0x05b6,\n  \"segolquarterhebrew\",\n  0x05b6,\n  \"segoltahebrew\",\n  0x0592,\n  \"segolwidehebrew\",\n  0x05b6,\n  \"seharmenian\",\n  0x057d,\n  \"sehiragana\",\n  0x305b,\n  \"sekatakana\",\n  0x30bb,\n  \"sekatakanahalfwidth\",\n  0xff7e,\n  \"semicolon\",\n  0x003b,\n  \"semicolonarabic\",\n  0x061b,\n  \"semicolonmonospace\",\n  0xff1b,\n  \"semicolonsmall\",\n  0xfe54,\n  \"semivoicedmarkkana\",\n  0x309c,\n  \"semivoicedmarkkanahalfwidth\",\n  0xff9f,\n  \"sentisquare\",\n  0x3322,\n  \"sentosquare\",\n  0x3323,\n  \"seven\",\n  0x0037,\n  \"sevenarabic\",\n  0x0667,\n  \"sevenbengali\",\n  0x09ed,\n  \"sevencircle\",\n  0x2466,\n  \"sevencircleinversesansserif\",\n  0x2790,\n  \"sevendeva\",\n  0x096d,\n  \"seveneighths\",\n  0x215e,\n  \"sevengujarati\",\n  0x0aed,\n  \"sevengurmukhi\",\n  0x0a6d,\n  \"sevenhackarabic\",\n  0x0667,\n  \"sevenhangzhou\",\n  0x3027,\n  \"sevenideographicparen\",\n  0x3226,\n  \"seveninferior\",\n  0x2087,\n  \"sevenmonospace\",\n  0xff17,\n  \"sevenoldstyle\",\n  0xf737,\n  \"sevenparen\",\n  0x247a,\n  \"sevenperiod\",\n  0x248e,\n  \"sevenpersian\",\n  0x06f7,\n  \"sevenroman\",\n  0x2176,\n  \"sevensuperior\",\n  0x2077,\n  \"seventeencircle\",\n  0x2470,\n  \"seventeenparen\",\n  0x2484,\n  \"seventeenperiod\",\n  0x2498,\n  \"seventhai\",\n  0x0e57,\n  \"sfthyphen\",\n  0x00ad,\n  \"shaarmenian\",\n  0x0577,\n  \"shabengali\",\n  0x09b6,\n  \"shacyrillic\",\n  0x0448,\n  \"shaddaarabic\",\n  0x0651,\n  \"shaddadammaarabic\",\n  0xfc61,\n  \"shaddadammatanarabic\",\n  0xfc5e,\n  \"shaddafathaarabic\",\n  0xfc60,\n  \"shaddakasraarabic\",\n  0xfc62,\n  \"shaddakasratanarabic\",\n  0xfc5f,\n  \"shade\",\n  0x2592,\n  \"shadedark\",\n  0x2593,\n  \"shadelight\",\n  0x2591,\n  \"shademedium\",\n  0x2592,\n  \"shadeva\",\n  0x0936,\n  \"shagujarati\",\n  0x0ab6,\n  \"shagurmukhi\",\n  0x0a36,\n  \"shalshelethebrew\",\n  0x0593,\n  \"shbopomofo\",\n  0x3115,\n  \"shchacyrillic\",\n  0x0449,\n  \"sheenarabic\",\n  0x0634,\n  \"sheenfinalarabic\",\n  0xfeb6,\n  \"sheeninitialarabic\",\n  0xfeb7,\n  \"sheenmedialarabic\",\n  0xfeb8,\n  \"sheicoptic\",\n  0x03e3,\n  \"sheqel\",\n  0x20aa,\n  \"sheqelhebrew\",\n  0x20aa,\n  \"sheva\",\n  0x05b0,\n  \"sheva115\",\n  0x05b0,\n  \"sheva15\",\n  0x05b0,\n  \"sheva22\",\n  0x05b0,\n  \"sheva2e\",\n  0x05b0,\n  \"shevahebrew\",\n  0x05b0,\n  \"shevanarrowhebrew\",\n  0x05b0,\n  \"shevaquarterhebrew\",\n  0x05b0,\n  \"shevawidehebrew\",\n  0x05b0,\n  \"shhacyrillic\",\n  0x04bb,\n  \"shimacoptic\",\n  0x03ed,\n  \"shin\",\n  0x05e9,\n  \"shindagesh\",\n  0xfb49,\n  \"shindageshhebrew\",\n  0xfb49,\n  \"shindageshshindot\",\n  0xfb2c,\n  \"shindageshshindothebrew\",\n  0xfb2c,\n  \"shindageshsindot\",\n  0xfb2d,\n  \"shindageshsindothebrew\",\n  0xfb2d,\n  \"shindothebrew\",\n  0x05c1,\n  \"shinhebrew\",\n  0x05e9,\n  \"shinshindot\",\n  0xfb2a,\n  \"shinshindothebrew\",\n  0xfb2a,\n  \"shinsindot\",\n  0xfb2b,\n  \"shinsindothebrew\",\n  0xfb2b,\n  \"shook\",\n  0x0282,\n  \"sigma\",\n  0x03c3,\n  \"sigma1\",\n  0x03c2,\n  \"sigmafinal\",\n  0x03c2,\n  \"sigmalunatesymbolgreek\",\n  0x03f2,\n  \"sihiragana\",\n  0x3057,\n  \"sikatakana\",\n  0x30b7,\n  \"sikatakanahalfwidth\",\n  0xff7c,\n  \"siluqhebrew\",\n  0x05bd,\n  \"siluqlefthebrew\",\n  0x05bd,\n  \"similar\",\n  0x223c,\n  \"sindothebrew\",\n  0x05c2,\n  \"siosacirclekorean\",\n  0x3274,\n  \"siosaparenkorean\",\n  0x3214,\n  \"sioscieuckorean\",\n  0x317e,\n  \"sioscirclekorean\",\n  0x3266,\n  \"sioskiyeokkorean\",\n  0x317a,\n  \"sioskorean\",\n  0x3145,\n  \"siosnieunkorean\",\n  0x317b,\n  \"siosparenkorean\",\n  0x3206,\n  \"siospieupkorean\",\n  0x317d,\n  \"siostikeutkorean\",\n  0x317c,\n  \"six\",\n  0x0036,\n  \"sixarabic\",\n  0x0666,\n  \"sixbengali\",\n  0x09ec,\n  \"sixcircle\",\n  0x2465,\n  \"sixcircleinversesansserif\",\n  0x278f,\n  \"sixdeva\",\n  0x096c,\n  \"sixgujarati\",\n  0x0aec,\n  \"sixgurmukhi\",\n  0x0a6c,\n  \"sixhackarabic\",\n  0x0666,\n  \"sixhangzhou\",\n  0x3026,\n  \"sixideographicparen\",\n  0x3225,\n  \"sixinferior\",\n  0x2086,\n  \"sixmonospace\",\n  0xff16,\n  \"sixoldstyle\",\n  0xf736,\n  \"sixparen\",\n  0x2479,\n  \"sixperiod\",\n  0x248d,\n  \"sixpersian\",\n  0x06f6,\n  \"sixroman\",\n  0x2175,\n  \"sixsuperior\",\n  0x2076,\n  \"sixteencircle\",\n  0x246f,\n  \"sixteencurrencydenominatorbengali\",\n  0x09f9,\n  \"sixteenparen\",\n  0x2483,\n  \"sixteenperiod\",\n  0x2497,\n  \"sixthai\",\n  0x0e56,\n  \"slash\",\n  0x002f,\n  \"slashmonospace\",\n  0xff0f,\n  \"slong\",\n  0x017f,\n  \"slongdotaccent\",\n  0x1e9b,\n  \"smileface\",\n  0x263a,\n  \"smonospace\",\n  0xff53,\n  \"sofpasuqhebrew\",\n  0x05c3,\n  \"softhyphen\",\n  0x00ad,\n  \"softsigncyrillic\",\n  0x044c,\n  \"sohiragana\",\n  0x305d,\n  \"sokatakana\",\n  0x30bd,\n  \"sokatakanahalfwidth\",\n  0xff7f,\n  \"soliduslongoverlaycmb\",\n  0x0338,\n  \"solidusshortoverlaycmb\",\n  0x0337,\n  \"sorusithai\",\n  0x0e29,\n  \"sosalathai\",\n  0x0e28,\n  \"sosothai\",\n  0x0e0b,\n  \"sosuathai\",\n  0x0e2a,\n  \"space\",\n  0x0020,\n  \"spacehackarabic\",\n  0x0020,\n  \"spade\",\n  0x2660,\n  \"spadesuitblack\",\n  0x2660,\n  \"spadesuitwhite\",\n  0x2664,\n  \"sparen\",\n  0x24ae,\n  \"squarebelowcmb\",\n  0x033b,\n  \"squarecc\",\n  0x33c4,\n  \"squarecm\",\n  0x339d,\n  \"squarediagonalcrosshatchfill\",\n  0x25a9,\n  \"squarehorizontalfill\",\n  0x25a4,\n  \"squarekg\",\n  0x338f,\n  \"squarekm\",\n  0x339e,\n  \"squarekmcapital\",\n  0x33ce,\n  \"squareln\",\n  0x33d1,\n  \"squarelog\",\n  0x33d2,\n  \"squaremg\",\n  0x338e,\n  \"squaremil\",\n  0x33d5,\n  \"squaremm\",\n  0x339c,\n  \"squaremsquared\",\n  0x33a1,\n  \"squareorthogonalcrosshatchfill\",\n  0x25a6,\n  \"squareupperlefttolowerrightfill\",\n  0x25a7,\n  \"squareupperrighttolowerleftfill\",\n  0x25a8,\n  \"squareverticalfill\",\n  0x25a5,\n  \"squarewhitewithsmallblack\",\n  0x25a3,\n  \"srsquare\",\n  0x33db,\n  \"ssabengali\",\n  0x09b7,\n  \"ssadeva\",\n  0x0937,\n  \"ssagujarati\",\n  0x0ab7,\n  \"ssangcieuckorean\",\n  0x3149,\n  \"ssanghieuhkorean\",\n  0x3185,\n  \"ssangieungkorean\",\n  0x3180,\n  \"ssangkiyeokkorean\",\n  0x3132,\n  \"ssangnieunkorean\",\n  0x3165,\n  \"ssangpieupkorean\",\n  0x3143,\n  \"ssangsioskorean\",\n  0x3146,\n  \"ssangtikeutkorean\",\n  0x3138,\n  \"ssuperior\",\n  0xf6f2,\n  \"sterling\",\n  0x00a3,\n  \"sterlingmonospace\",\n  0xffe1,\n  \"strokelongoverlaycmb\",\n  0x0336,\n  \"strokeshortoverlaycmb\",\n  0x0335,\n  \"subset\",\n  0x2282,\n  \"subsetnotequal\",\n  0x228a,\n  \"subsetorequal\",\n  0x2286,\n  \"succeeds\",\n  0x227b,\n  \"suchthat\",\n  0x220b,\n  \"suhiragana\",\n  0x3059,\n  \"sukatakana\",\n  0x30b9,\n  \"sukatakanahalfwidth\",\n  0xff7d,\n  \"sukunarabic\",\n  0x0652,\n  \"summation\",\n  0x2211,\n  \"sun\",\n  0x263c,\n  \"superset\",\n  0x2283,\n  \"supersetnotequal\",\n  0x228b,\n  \"supersetorequal\",\n  0x2287,\n  \"svsquare\",\n  0x33dc,\n  \"syouwaerasquare\",\n  0x337c,\n  \"t\",\n  0x0074,\n  \"tabengali\",\n  0x09a4,\n  \"tackdown\",\n  0x22a4,\n  \"tackleft\",\n  0x22a3,\n  \"tadeva\",\n  0x0924,\n  \"tagujarati\",\n  0x0aa4,\n  \"tagurmukhi\",\n  0x0a24,\n  \"taharabic\",\n  0x0637,\n  \"tahfinalarabic\",\n  0xfec2,\n  \"tahinitialarabic\",\n  0xfec3,\n  \"tahiragana\",\n  0x305f,\n  \"tahmedialarabic\",\n  0xfec4,\n  \"taisyouerasquare\",\n  0x337d,\n  \"takatakana\",\n  0x30bf,\n  \"takatakanahalfwidth\",\n  0xff80,\n  \"tatweelarabic\",\n  0x0640,\n  \"tau\",\n  0x03c4,\n  \"tav\",\n  0x05ea,\n  \"tavdages\",\n  0xfb4a,\n  \"tavdagesh\",\n  0xfb4a,\n  \"tavdageshhebrew\",\n  0xfb4a,\n  \"tavhebrew\",\n  0x05ea,\n  \"tbar\",\n  0x0167,\n  \"tbopomofo\",\n  0x310a,\n  \"tcaron\",\n  0x0165,\n  \"tccurl\",\n  0x02a8,\n  \"tcedilla\",\n  0x0163,\n  \"tcheharabic\",\n  0x0686,\n  \"tchehfinalarabic\",\n  0xfb7b,\n  \"tchehinitialarabic\",\n  0xfb7c,\n  \"tchehmedialarabic\",\n  0xfb7d,\n  \"tcircle\",\n  0x24e3,\n  \"tcircumflexbelow\",\n  0x1e71,\n  \"tcommaaccent\",\n  0x0163,\n  \"tdieresis\",\n  0x1e97,\n  \"tdotaccent\",\n  0x1e6b,\n  \"tdotbelow\",\n  0x1e6d,\n  \"tecyrillic\",\n  0x0442,\n  \"tedescendercyrillic\",\n  0x04ad,\n  \"teharabic\",\n  0x062a,\n  \"tehfinalarabic\",\n  0xfe96,\n  \"tehhahinitialarabic\",\n  0xfca2,\n  \"tehhahisolatedarabic\",\n  0xfc0c,\n  \"tehinitialarabic\",\n  0xfe97,\n  \"tehiragana\",\n  0x3066,\n  \"tehjeeminitialarabic\",\n  0xfca1,\n  \"tehjeemisolatedarabic\",\n  0xfc0b,\n  \"tehmarbutaarabic\",\n  0x0629,\n  \"tehmarbutafinalarabic\",\n  0xfe94,\n  \"tehmedialarabic\",\n  0xfe98,\n  \"tehmeeminitialarabic\",\n  0xfca4,\n  \"tehmeemisolatedarabic\",\n  0xfc0e,\n  \"tehnoonfinalarabic\",\n  0xfc73,\n  \"tekatakana\",\n  0x30c6,\n  \"tekatakanahalfwidth\",\n  0xff83,\n  \"telephone\",\n  0x2121,\n  \"telephoneblack\",\n  0x260e,\n  \"telishagedolahebrew\",\n  0x05a0,\n  \"telishaqetanahebrew\",\n  0x05a9,\n  \"tencircle\",\n  0x2469,\n  \"tenideographicparen\",\n  0x3229,\n  \"tenparen\",\n  0x247d,\n  \"tenperiod\",\n  0x2491,\n  \"tenroman\",\n  0x2179,\n  \"tesh\",\n  0x02a7,\n  \"tet\",\n  0x05d8,\n  \"tetdagesh\",\n  0xfb38,\n  \"tetdageshhebrew\",\n  0xfb38,\n  \"tethebrew\",\n  0x05d8,\n  \"tetsecyrillic\",\n  0x04b5,\n  \"tevirhebrew\",\n  0x059b,\n  \"tevirlefthebrew\",\n  0x059b,\n  \"thabengali\",\n  0x09a5,\n  \"thadeva\",\n  0x0925,\n  \"thagujarati\",\n  0x0aa5,\n  \"thagurmukhi\",\n  0x0a25,\n  \"thalarabic\",\n  0x0630,\n  \"thalfinalarabic\",\n  0xfeac,\n  \"thanthakhatlowleftthai\",\n  0xf898,\n  \"thanthakhatlowrightthai\",\n  0xf897,\n  \"thanthakhatthai\",\n  0x0e4c,\n  \"thanthakhatupperleftthai\",\n  0xf896,\n  \"theharabic\",\n  0x062b,\n  \"thehfinalarabic\",\n  0xfe9a,\n  \"thehinitialarabic\",\n  0xfe9b,\n  \"thehmedialarabic\",\n  0xfe9c,\n  \"thereexists\",\n  0x2203,\n  \"therefore\",\n  0x2234,\n  \"theta\",\n  0x03b8,\n  \"theta1\",\n  0x03d1,\n  \"thetasymbolgreek\",\n  0x03d1,\n  \"thieuthacirclekorean\",\n  0x3279,\n  \"thieuthaparenkorean\",\n  0x3219,\n  \"thieuthcirclekorean\",\n  0x326b,\n  \"thieuthkorean\",\n  0x314c,\n  \"thieuthparenkorean\",\n  0x320b,\n  \"thirteencircle\",\n  0x246c,\n  \"thirteenparen\",\n  0x2480,\n  \"thirteenperiod\",\n  0x2494,\n  \"thonangmonthothai\",\n  0x0e11,\n  \"thook\",\n  0x01ad,\n  \"thophuthaothai\",\n  0x0e12,\n  \"thorn\",\n  0x00fe,\n  \"thothahanthai\",\n  0x0e17,\n  \"thothanthai\",\n  0x0e10,\n  \"thothongthai\",\n  0x0e18,\n  \"thothungthai\",\n  0x0e16,\n  \"thousandcyrillic\",\n  0x0482,\n  \"thousandsseparatorarabic\",\n  0x066c,\n  \"thousandsseparatorpersian\",\n  0x066c,\n  \"three\",\n  0x0033,\n  \"threearabic\",\n  0x0663,\n  \"threebengali\",\n  0x09e9,\n  \"threecircle\",\n  0x2462,\n  \"threecircleinversesansserif\",\n  0x278c,\n  \"threedeva\",\n  0x0969,\n  \"threeeighths\",\n  0x215c,\n  \"threegujarati\",\n  0x0ae9,\n  \"threegurmukhi\",\n  0x0a69,\n  \"threehackarabic\",\n  0x0663,\n  \"threehangzhou\",\n  0x3023,\n  \"threeideographicparen\",\n  0x3222,\n  \"threeinferior\",\n  0x2083,\n  \"threemonospace\",\n  0xff13,\n  \"threenumeratorbengali\",\n  0x09f6,\n  \"threeoldstyle\",\n  0xf733,\n  \"threeparen\",\n  0x2476,\n  \"threeperiod\",\n  0x248a,\n  \"threepersian\",\n  0x06f3,\n  \"threequarters\",\n  0x00be,\n  \"threequartersemdash\",\n  0xf6de,\n  \"threeroman\",\n  0x2172,\n  \"threesuperior\",\n  0x00b3,\n  \"threethai\",\n  0x0e53,\n  \"thzsquare\",\n  0x3394,\n  \"tihiragana\",\n  0x3061,\n  \"tikatakana\",\n  0x30c1,\n  \"tikatakanahalfwidth\",\n  0xff81,\n  \"tikeutacirclekorean\",\n  0x3270,\n  \"tikeutaparenkorean\",\n  0x3210,\n  \"tikeutcirclekorean\",\n  0x3262,\n  \"tikeutkorean\",\n  0x3137,\n  \"tikeutparenkorean\",\n  0x3202,\n  \"tilde\",\n  0x02dc,\n  \"tildebelowcmb\",\n  0x0330,\n  \"tildecmb\",\n  0x0303,\n  \"tildecomb\",\n  0x0303,\n  \"tildedoublecmb\",\n  0x0360,\n  \"tildeoperator\",\n  0x223c,\n  \"tildeoverlaycmb\",\n  0x0334,\n  \"tildeverticalcmb\",\n  0x033e,\n  \"timescircle\",\n  0x2297,\n  \"tipehahebrew\",\n  0x0596,\n  \"tipehalefthebrew\",\n  0x0596,\n  \"tippigurmukhi\",\n  0x0a70,\n  \"titlocyrilliccmb\",\n  0x0483,\n  \"tiwnarmenian\",\n  0x057f,\n  \"tlinebelow\",\n  0x1e6f,\n  \"tmonospace\",\n  0xff54,\n  \"toarmenian\",\n  0x0569,\n  \"tohiragana\",\n  0x3068,\n  \"tokatakana\",\n  0x30c8,\n  \"tokatakanahalfwidth\",\n  0xff84,\n  \"tonebarextrahighmod\",\n  0x02e5,\n  \"tonebarextralowmod\",\n  0x02e9,\n  \"tonebarhighmod\",\n  0x02e6,\n  \"tonebarlowmod\",\n  0x02e8,\n  \"tonebarmidmod\",\n  0x02e7,\n  \"tonefive\",\n  0x01bd,\n  \"tonesix\",\n  0x0185,\n  \"tonetwo\",\n  0x01a8,\n  \"tonos\",\n  0x0384,\n  \"tonsquare\",\n  0x3327,\n  \"topatakthai\",\n  0x0e0f,\n  \"tortoiseshellbracketleft\",\n  0x3014,\n  \"tortoiseshellbracketleftsmall\",\n  0xfe5d,\n  \"tortoiseshellbracketleftvertical\",\n  0xfe39,\n  \"tortoiseshellbracketright\",\n  0x3015,\n  \"tortoiseshellbracketrightsmall\",\n  0xfe5e,\n  \"tortoiseshellbracketrightvertical\",\n  0xfe3a,\n  \"totaothai\",\n  0x0e15,\n  \"tpalatalhook\",\n  0x01ab,\n  \"tparen\",\n  0x24af,\n  \"trademark\",\n  0x2122,\n  \"trademarksans\",\n  0xf8ea,\n  \"trademarkserif\",\n  0xf6db,\n  \"tretroflexhook\",\n  0x0288,\n  \"triagdn\",\n  0x25bc,\n  \"triaglf\",\n  0x25c4,\n  \"triagrt\",\n  0x25ba,\n  \"triagup\",\n  0x25b2,\n  \"ts\",\n  0x02a6,\n  \"tsadi\",\n  0x05e6,\n  \"tsadidagesh\",\n  0xfb46,\n  \"tsadidageshhebrew\",\n  0xfb46,\n  \"tsadihebrew\",\n  0x05e6,\n  \"tsecyrillic\",\n  0x0446,\n  \"tsere\",\n  0x05b5,\n  \"tsere12\",\n  0x05b5,\n  \"tsere1e\",\n  0x05b5,\n  \"tsere2b\",\n  0x05b5,\n  \"tserehebrew\",\n  0x05b5,\n  \"tserenarrowhebrew\",\n  0x05b5,\n  \"tserequarterhebrew\",\n  0x05b5,\n  \"tserewidehebrew\",\n  0x05b5,\n  \"tshecyrillic\",\n  0x045b,\n  \"tsuperior\",\n  0xf6f3,\n  \"ttabengali\",\n  0x099f,\n  \"ttadeva\",\n  0x091f,\n  \"ttagujarati\",\n  0x0a9f,\n  \"ttagurmukhi\",\n  0x0a1f,\n  \"tteharabic\",\n  0x0679,\n  \"ttehfinalarabic\",\n  0xfb67,\n  \"ttehinitialarabic\",\n  0xfb68,\n  \"ttehmedialarabic\",\n  0xfb69,\n  \"tthabengali\",\n  0x09a0,\n  \"tthadeva\",\n  0x0920,\n  \"tthagujarati\",\n  0x0aa0,\n  \"tthagurmukhi\",\n  0x0a20,\n  \"tturned\",\n  0x0287,\n  \"tuhiragana\",\n  0x3064,\n  \"tukatakana\",\n  0x30c4,\n  \"tukatakanahalfwidth\",\n  0xff82,\n  \"tusmallhiragana\",\n  0x3063,\n  \"tusmallkatakana\",\n  0x30c3,\n  \"tusmallkatakanahalfwidth\",\n  0xff6f,\n  \"twelvecircle\",\n  0x246b,\n  \"twelveparen\",\n  0x247f,\n  \"twelveperiod\",\n  0x2493,\n  \"twelveroman\",\n  0x217b,\n  \"twentycircle\",\n  0x2473,\n  \"twentyhangzhou\",\n  0x5344,\n  \"twentyparen\",\n  0x2487,\n  \"twentyperiod\",\n  0x249b,\n  \"two\",\n  0x0032,\n  \"twoarabic\",\n  0x0662,\n  \"twobengali\",\n  0x09e8,\n  \"twocircle\",\n  0x2461,\n  \"twocircleinversesansserif\",\n  0x278b,\n  \"twodeva\",\n  0x0968,\n  \"twodotenleader\",\n  0x2025,\n  \"twodotleader\",\n  0x2025,\n  \"twodotleadervertical\",\n  0xfe30,\n  \"twogujarati\",\n  0x0ae8,\n  \"twogurmukhi\",\n  0x0a68,\n  \"twohackarabic\",\n  0x0662,\n  \"twohangzhou\",\n  0x3022,\n  \"twoideographicparen\",\n  0x3221,\n  \"twoinferior\",\n  0x2082,\n  \"twomonospace\",\n  0xff12,\n  \"twonumeratorbengali\",\n  0x09f5,\n  \"twooldstyle\",\n  0xf732,\n  \"twoparen\",\n  0x2475,\n  \"twoperiod\",\n  0x2489,\n  \"twopersian\",\n  0x06f2,\n  \"tworoman\",\n  0x2171,\n  \"twostroke\",\n  0x01bb,\n  \"twosuperior\",\n  0x00b2,\n  \"twothai\",\n  0x0e52,\n  \"twothirds\",\n  0x2154,\n  \"u\",\n  0x0075,\n  \"uacute\",\n  0x00fa,\n  \"ubar\",\n  0x0289,\n  \"ubengali\",\n  0x0989,\n  \"ubopomofo\",\n  0x3128,\n  \"ubreve\",\n  0x016d,\n  \"ucaron\",\n  0x01d4,\n  \"ucircle\",\n  0x24e4,\n  \"ucircumflex\",\n  0x00fb,\n  \"ucircumflexbelow\",\n  0x1e77,\n  \"ucyrillic\",\n  0x0443,\n  \"udattadeva\",\n  0x0951,\n  \"udblacute\",\n  0x0171,\n  \"udblgrave\",\n  0x0215,\n  \"udeva\",\n  0x0909,\n  \"udieresis\",\n  0x00fc,\n  \"udieresisacute\",\n  0x01d8,\n  \"udieresisbelow\",\n  0x1e73,\n  \"udieresiscaron\",\n  0x01da,\n  \"udieresiscyrillic\",\n  0x04f1,\n  \"udieresisgrave\",\n  0x01dc,\n  \"udieresismacron\",\n  0x01d6,\n  \"udotbelow\",\n  0x1ee5,\n  \"ugrave\",\n  0x00f9,\n  \"ugujarati\",\n  0x0a89,\n  \"ugurmukhi\",\n  0x0a09,\n  \"uhiragana\",\n  0x3046,\n  \"uhookabove\",\n  0x1ee7,\n  \"uhorn\",\n  0x01b0,\n  \"uhornacute\",\n  0x1ee9,\n  \"uhorndotbelow\",\n  0x1ef1,\n  \"uhorngrave\",\n  0x1eeb,\n  \"uhornhookabove\",\n  0x1eed,\n  \"uhorntilde\",\n  0x1eef,\n  \"uhungarumlaut\",\n  0x0171,\n  \"uhungarumlautcyrillic\",\n  0x04f3,\n  \"uinvertedbreve\",\n  0x0217,\n  \"ukatakana\",\n  0x30a6,\n  \"ukatakanahalfwidth\",\n  0xff73,\n  \"ukcyrillic\",\n  0x0479,\n  \"ukorean\",\n  0x315c,\n  \"umacron\",\n  0x016b,\n  \"umacroncyrillic\",\n  0x04ef,\n  \"umacrondieresis\",\n  0x1e7b,\n  \"umatragurmukhi\",\n  0x0a41,\n  \"umonospace\",\n  0xff55,\n  \"underscore\",\n  0x005f,\n  \"underscoredbl\",\n  0x2017,\n  \"underscoremonospace\",\n  0xff3f,\n  \"underscorevertical\",\n  0xfe33,\n  \"underscorewavy\",\n  0xfe4f,\n  \"union\",\n  0x222a,\n  \"universal\",\n  0x2200,\n  \"uogonek\",\n  0x0173,\n  \"uparen\",\n  0x24b0,\n  \"upblock\",\n  0x2580,\n  \"upperdothebrew\",\n  0x05c4,\n  \"upsilon\",\n  0x03c5,\n  \"upsilondieresis\",\n  0x03cb,\n  \"upsilondieresistonos\",\n  0x03b0,\n  \"upsilonlatin\",\n  0x028a,\n  \"upsilontonos\",\n  0x03cd,\n  \"uptackbelowcmb\",\n  0x031d,\n  \"uptackmod\",\n  0x02d4,\n  \"uragurmukhi\",\n  0x0a73,\n  \"uring\",\n  0x016f,\n  \"ushortcyrillic\",\n  0x045e,\n  \"usmallhiragana\",\n  0x3045,\n  \"usmallkatakana\",\n  0x30a5,\n  \"usmallkatakanahalfwidth\",\n  0xff69,\n  \"ustraightcyrillic\",\n  0x04af,\n  \"ustraightstrokecyrillic\",\n  0x04b1,\n  \"utilde\",\n  0x0169,\n  \"utildeacute\",\n  0x1e79,\n  \"utildebelow\",\n  0x1e75,\n  \"uubengali\",\n  0x098a,\n  \"uudeva\",\n  0x090a,\n  \"uugujarati\",\n  0x0a8a,\n  \"uugurmukhi\",\n  0x0a0a,\n  \"uumatragurmukhi\",\n  0x0a42,\n  \"uuvowelsignbengali\",\n  0x09c2,\n  \"uuvowelsigndeva\",\n  0x0942,\n  \"uuvowelsigngujarati\",\n  0x0ac2,\n  \"uvowelsignbengali\",\n  0x09c1,\n  \"uvowelsigndeva\",\n  0x0941,\n  \"uvowelsigngujarati\",\n  0x0ac1,\n  \"v\",\n  0x0076,\n  \"vadeva\",\n  0x0935,\n  \"vagujarati\",\n  0x0ab5,\n  \"vagurmukhi\",\n  0x0a35,\n  \"vakatakana\",\n  0x30f7,\n  \"vav\",\n  0x05d5,\n  \"vavdagesh\",\n  0xfb35,\n  \"vavdagesh65\",\n  0xfb35,\n  \"vavdageshhebrew\",\n  0xfb35,\n  \"vavhebrew\",\n  0x05d5,\n  \"vavholam\",\n  0xfb4b,\n  \"vavholamhebrew\",\n  0xfb4b,\n  \"vavvavhebrew\",\n  0x05f0,\n  \"vavyodhebrew\",\n  0x05f1,\n  \"vcircle\",\n  0x24e5,\n  \"vdotbelow\",\n  0x1e7f,\n  \"vecyrillic\",\n  0x0432,\n  \"veharabic\",\n  0x06a4,\n  \"vehfinalarabic\",\n  0xfb6b,\n  \"vehinitialarabic\",\n  0xfb6c,\n  \"vehmedialarabic\",\n  0xfb6d,\n  \"vekatakana\",\n  0x30f9,\n  \"venus\",\n  0x2640,\n  \"verticalbar\",\n  0x007c,\n  \"verticallineabovecmb\",\n  0x030d,\n  \"verticallinebelowcmb\",\n  0x0329,\n  \"verticallinelowmod\",\n  0x02cc,\n  \"verticallinemod\",\n  0x02c8,\n  \"vewarmenian\",\n  0x057e,\n  \"vhook\",\n  0x028b,\n  \"vikatakana\",\n  0x30f8,\n  \"viramabengali\",\n  0x09cd,\n  \"viramadeva\",\n  0x094d,\n  \"viramagujarati\",\n  0x0acd,\n  \"visargabengali\",\n  0x0983,\n  \"visargadeva\",\n  0x0903,\n  \"visargagujarati\",\n  0x0a83,\n  \"vmonospace\",\n  0xff56,\n  \"voarmenian\",\n  0x0578,\n  \"voicediterationhiragana\",\n  0x309e,\n  \"voicediterationkatakana\",\n  0x30fe,\n  \"voicedmarkkana\",\n  0x309b,\n  \"voicedmarkkanahalfwidth\",\n  0xff9e,\n  \"vokatakana\",\n  0x30fa,\n  \"vparen\",\n  0x24b1,\n  \"vtilde\",\n  0x1e7d,\n  \"vturned\",\n  0x028c,\n  \"vuhiragana\",\n  0x3094,\n  \"vukatakana\",\n  0x30f4,\n  \"w\",\n  0x0077,\n  \"wacute\",\n  0x1e83,\n  \"waekorean\",\n  0x3159,\n  \"wahiragana\",\n  0x308f,\n  \"wakatakana\",\n  0x30ef,\n  \"wakatakanahalfwidth\",\n  0xff9c,\n  \"wakorean\",\n  0x3158,\n  \"wasmallhiragana\",\n  0x308e,\n  \"wasmallkatakana\",\n  0x30ee,\n  \"wattosquare\",\n  0x3357,\n  \"wavedash\",\n  0x301c,\n  \"wavyunderscorevertical\",\n  0xfe34,\n  \"wawarabic\",\n  0x0648,\n  \"wawfinalarabic\",\n  0xfeee,\n  \"wawhamzaabovearabic\",\n  0x0624,\n  \"wawhamzaabovefinalarabic\",\n  0xfe86,\n  \"wbsquare\",\n  0x33dd,\n  \"wcircle\",\n  0x24e6,\n  \"wcircumflex\",\n  0x0175,\n  \"wdieresis\",\n  0x1e85,\n  \"wdotaccent\",\n  0x1e87,\n  \"wdotbelow\",\n  0x1e89,\n  \"wehiragana\",\n  0x3091,\n  \"weierstrass\",\n  0x2118,\n  \"wekatakana\",\n  0x30f1,\n  \"wekorean\",\n  0x315e,\n  \"weokorean\",\n  0x315d,\n  \"wgrave\",\n  0x1e81,\n  \"whitebullet\",\n  0x25e6,\n  \"whitecircle\",\n  0x25cb,\n  \"whitecircleinverse\",\n  0x25d9,\n  \"whitecornerbracketleft\",\n  0x300e,\n  \"whitecornerbracketleftvertical\",\n  0xfe43,\n  \"whitecornerbracketright\",\n  0x300f,\n  \"whitecornerbracketrightvertical\",\n  0xfe44,\n  \"whitediamond\",\n  0x25c7,\n  \"whitediamondcontainingblacksmalldiamond\",\n  0x25c8,\n  \"whitedownpointingsmalltriangle\",\n  0x25bf,\n  \"whitedownpointingtriangle\",\n  0x25bd,\n  \"whiteleftpointingsmalltriangle\",\n  0x25c3,\n  \"whiteleftpointingtriangle\",\n  0x25c1,\n  \"whitelenticularbracketleft\",\n  0x3016,\n  \"whitelenticularbracketright\",\n  0x3017,\n  \"whiterightpointingsmalltriangle\",\n  0x25b9,\n  \"whiterightpointingtriangle\",\n  0x25b7,\n  \"whitesmallsquare\",\n  0x25ab,\n  \"whitesmilingface\",\n  0x263a,\n  \"whitesquare\",\n  0x25a1,\n  \"whitestar\",\n  0x2606,\n  \"whitetelephone\",\n  0x260f,\n  \"whitetortoiseshellbracketleft\",\n  0x3018,\n  \"whitetortoiseshellbracketright\",\n  0x3019,\n  \"whiteuppointingsmalltriangle\",\n  0x25b5,\n  \"whiteuppointingtriangle\",\n  0x25b3,\n  \"wihiragana\",\n  0x3090,\n  \"wikatakana\",\n  0x30f0,\n  \"wikorean\",\n  0x315f,\n  \"wmonospace\",\n  0xff57,\n  \"wohiragana\",\n  0x3092,\n  \"wokatakana\",\n  0x30f2,\n  \"wokatakanahalfwidth\",\n  0xff66,\n  \"won\",\n  0x20a9,\n  \"wonmonospace\",\n  0xffe6,\n  \"wowaenthai\",\n  0x0e27,\n  \"wparen\",\n  0x24b2,\n  \"wring\",\n  0x1e98,\n  \"wsuperior\",\n  0x02b7,\n  \"wturned\",\n  0x028d,\n  \"wynn\",\n  0x01bf,\n  \"x\",\n  0x0078,\n  \"xabovecmb\",\n  0x033d,\n  \"xbopomofo\",\n  0x3112,\n  \"xcircle\",\n  0x24e7,\n  \"xdieresis\",\n  0x1e8d,\n  \"xdotaccent\",\n  0x1e8b,\n  \"xeharmenian\",\n  0x056d,\n  \"xi\",\n  0x03be,\n  \"xmonospace\",\n  0xff58,\n  \"xparen\",\n  0x24b3,\n  \"xsuperior\",\n  0x02e3,\n  \"y\",\n  0x0079,\n  \"yaadosquare\",\n  0x334e,\n  \"yabengali\",\n  0x09af,\n  \"yacute\",\n  0x00fd,\n  \"yadeva\",\n  0x092f,\n  \"yaekorean\",\n  0x3152,\n  \"yagujarati\",\n  0x0aaf,\n  \"yagurmukhi\",\n  0x0a2f,\n  \"yahiragana\",\n  0x3084,\n  \"yakatakana\",\n  0x30e4,\n  \"yakatakanahalfwidth\",\n  0xff94,\n  \"yakorean\",\n  0x3151,\n  \"yamakkanthai\",\n  0x0e4e,\n  \"yasmallhiragana\",\n  0x3083,\n  \"yasmallkatakana\",\n  0x30e3,\n  \"yasmallkatakanahalfwidth\",\n  0xff6c,\n  \"yatcyrillic\",\n  0x0463,\n  \"ycircle\",\n  0x24e8,\n  \"ycircumflex\",\n  0x0177,\n  \"ydieresis\",\n  0x00ff,\n  \"ydotaccent\",\n  0x1e8f,\n  \"ydotbelow\",\n  0x1ef5,\n  \"yeharabic\",\n  0x064a,\n  \"yehbarreearabic\",\n  0x06d2,\n  \"yehbarreefinalarabic\",\n  0xfbaf,\n  \"yehfinalarabic\",\n  0xfef2,\n  \"yehhamzaabovearabic\",\n  0x0626,\n  \"yehhamzaabovefinalarabic\",\n  0xfe8a,\n  \"yehhamzaaboveinitialarabic\",\n  0xfe8b,\n  \"yehhamzaabovemedialarabic\",\n  0xfe8c,\n  \"yehinitialarabic\",\n  0xfef3,\n  \"yehmedialarabic\",\n  0xfef4,\n  \"yehmeeminitialarabic\",\n  0xfcdd,\n  \"yehmeemisolatedarabic\",\n  0xfc58,\n  \"yehnoonfinalarabic\",\n  0xfc94,\n  \"yehthreedotsbelowarabic\",\n  0x06d1,\n  \"yekorean\",\n  0x3156,\n  \"yen\",\n  0x00a5,\n  \"yenmonospace\",\n  0xffe5,\n  \"yeokorean\",\n  0x3155,\n  \"yeorinhieuhkorean\",\n  0x3186,\n  \"yerahbenyomohebrew\",\n  0x05aa,\n  \"yerahbenyomolefthebrew\",\n  0x05aa,\n  \"yericyrillic\",\n  0x044b,\n  \"yerudieresiscyrillic\",\n  0x04f9,\n  \"yesieungkorean\",\n  0x3181,\n  \"yesieungpansioskorean\",\n  0x3183,\n  \"yesieungsioskorean\",\n  0x3182,\n  \"yetivhebrew\",\n  0x059a,\n  \"ygrave\",\n  0x1ef3,\n  \"yhook\",\n  0x01b4,\n  \"yhookabove\",\n  0x1ef7,\n  \"yiarmenian\",\n  0x0575,\n  \"yicyrillic\",\n  0x0457,\n  \"yikorean\",\n  0x3162,\n  \"yinyang\",\n  0x262f,\n  \"yiwnarmenian\",\n  0x0582,\n  \"ymonospace\",\n  0xff59,\n  \"yod\",\n  0x05d9,\n  \"yoddagesh\",\n  0xfb39,\n  \"yoddageshhebrew\",\n  0xfb39,\n  \"yodhebrew\",\n  0x05d9,\n  \"yodyodhebrew\",\n  0x05f2,\n  \"yodyodpatahhebrew\",\n  0xfb1f,\n  \"yohiragana\",\n  0x3088,\n  \"yoikorean\",\n  0x3189,\n  \"yokatakana\",\n  0x30e8,\n  \"yokatakanahalfwidth\",\n  0xff96,\n  \"yokorean\",\n  0x315b,\n  \"yosmallhiragana\",\n  0x3087,\n  \"yosmallkatakana\",\n  0x30e7,\n  \"yosmallkatakanahalfwidth\",\n  0xff6e,\n  \"yotgreek\",\n  0x03f3,\n  \"yoyaekorean\",\n  0x3188,\n  \"yoyakorean\",\n  0x3187,\n  \"yoyakthai\",\n  0x0e22,\n  \"yoyingthai\",\n  0x0e0d,\n  \"yparen\",\n  0x24b4,\n  \"ypogegrammeni\",\n  0x037a,\n  \"ypogegrammenigreekcmb\",\n  0x0345,\n  \"yr\",\n  0x01a6,\n  \"yring\",\n  0x1e99,\n  \"ysuperior\",\n  0x02b8,\n  \"ytilde\",\n  0x1ef9,\n  \"yturned\",\n  0x028e,\n  \"yuhiragana\",\n  0x3086,\n  \"yuikorean\",\n  0x318c,\n  \"yukatakana\",\n  0x30e6,\n  \"yukatakanahalfwidth\",\n  0xff95,\n  \"yukorean\",\n  0x3160,\n  \"yusbigcyrillic\",\n  0x046b,\n  \"yusbigiotifiedcyrillic\",\n  0x046d,\n  \"yuslittlecyrillic\",\n  0x0467,\n  \"yuslittleiotifiedcyrillic\",\n  0x0469,\n  \"yusmallhiragana\",\n  0x3085,\n  \"yusmallkatakana\",\n  0x30e5,\n  \"yusmallkatakanahalfwidth\",\n  0xff6d,\n  \"yuyekorean\",\n  0x318b,\n  \"yuyeokorean\",\n  0x318a,\n  \"yyabengali\",\n  0x09df,\n  \"yyadeva\",\n  0x095f,\n  \"z\",\n  0x007a,\n  \"zaarmenian\",\n  0x0566,\n  \"zacute\",\n  0x017a,\n  \"zadeva\",\n  0x095b,\n  \"zagurmukhi\",\n  0x0a5b,\n  \"zaharabic\",\n  0x0638,\n  \"zahfinalarabic\",\n  0xfec6,\n  \"zahinitialarabic\",\n  0xfec7,\n  \"zahiragana\",\n  0x3056,\n  \"zahmedialarabic\",\n  0xfec8,\n  \"zainarabic\",\n  0x0632,\n  \"zainfinalarabic\",\n  0xfeb0,\n  \"zakatakana\",\n  0x30b6,\n  \"zaqefgadolhebrew\",\n  0x0595,\n  \"zaqefqatanhebrew\",\n  0x0594,\n  \"zarqahebrew\",\n  0x0598,\n  \"zayin\",\n  0x05d6,\n  \"zayindagesh\",\n  0xfb36,\n  \"zayindageshhebrew\",\n  0xfb36,\n  \"zayinhebrew\",\n  0x05d6,\n  \"zbopomofo\",\n  0x3117,\n  \"zcaron\",\n  0x017e,\n  \"zcircle\",\n  0x24e9,\n  \"zcircumflex\",\n  0x1e91,\n  \"zcurl\",\n  0x0291,\n  \"zdot\",\n  0x017c,\n  \"zdotaccent\",\n  0x017c,\n  \"zdotbelow\",\n  0x1e93,\n  \"zecyrillic\",\n  0x0437,\n  \"zedescendercyrillic\",\n  0x0499,\n  \"zedieresiscyrillic\",\n  0x04df,\n  \"zehiragana\",\n  0x305c,\n  \"zekatakana\",\n  0x30bc,\n  \"zero\",\n  0x0030,\n  \"zeroarabic\",\n  0x0660,\n  \"zerobengali\",\n  0x09e6,\n  \"zerodeva\",\n  0x0966,\n  \"zerogujarati\",\n  0x0ae6,\n  \"zerogurmukhi\",\n  0x0a66,\n  \"zerohackarabic\",\n  0x0660,\n  \"zeroinferior\",\n  0x2080,\n  \"zeromonospace\",\n  0xff10,\n  \"zerooldstyle\",\n  0xf730,\n  \"zeropersian\",\n  0x06f0,\n  \"zerosuperior\",\n  0x2070,\n  \"zerothai\",\n  0x0e50,\n  \"zerowidthjoiner\",\n  0xfeff,\n  \"zerowidthnonjoiner\",\n  0x200c,\n  \"zerowidthspace\",\n  0x200b,\n  \"zeta\",\n  0x03b6,\n  \"zhbopomofo\",\n  0x3113,\n  \"zhearmenian\",\n  0x056a,\n  \"zhebrevecyrillic\",\n  0x04c2,\n  \"zhecyrillic\",\n  0x0436,\n  \"zhedescendercyrillic\",\n  0x0497,\n  \"zhedieresiscyrillic\",\n  0x04dd,\n  \"zihiragana\",\n  0x3058,\n  \"zikatakana\",\n  0x30b8,\n  \"zinorhebrew\",\n  0x05ae,\n  \"zlinebelow\",\n  0x1e95,\n  \"zmonospace\",\n  0xff5a,\n  \"zohiragana\",\n  0x305e,\n  \"zokatakana\",\n  0x30be,\n  \"zparen\",\n  0x24b5,\n  \"zretroflexhook\",\n  0x0290,\n  \"zstroke\",\n  0x01b6,\n  \"zuhiragana\",\n  0x305a,\n  \"zukatakana\",\n  0x30ba,\n  \".notdef\",\n  0x0000,\n  \"angbracketleftbig\",\n  0x2329,\n  \"angbracketleftBig\",\n  0x2329,\n  \"angbracketleftbigg\",\n  0x2329,\n  \"angbracketleftBigg\",\n  0x2329,\n  \"angbracketrightBig\",\n  0x232a,\n  \"angbracketrightbig\",\n  0x232a,\n  \"angbracketrightBigg\",\n  0x232a,\n  \"angbracketrightbigg\",\n  0x232a,\n  \"arrowhookleft\",\n  0x21aa,\n  \"arrowhookright\",\n  0x21a9,\n  \"arrowlefttophalf\",\n  0x21bc,\n  \"arrowleftbothalf\",\n  0x21bd,\n  \"arrownortheast\",\n  0x2197,\n  \"arrownorthwest\",\n  0x2196,\n  \"arrowrighttophalf\",\n  0x21c0,\n  \"arrowrightbothalf\",\n  0x21c1,\n  \"arrowsoutheast\",\n  0x2198,\n  \"arrowsouthwest\",\n  0x2199,\n  \"backslashbig\",\n  0x2216,\n  \"backslashBig\",\n  0x2216,\n  \"backslashBigg\",\n  0x2216,\n  \"backslashbigg\",\n  0x2216,\n  \"bardbl\",\n  0x2016,\n  \"bracehtipdownleft\",\n  0xfe37,\n  \"bracehtipdownright\",\n  0xfe37,\n  \"bracehtipupleft\",\n  0xfe38,\n  \"bracehtipupright\",\n  0xfe38,\n  \"braceleftBig\",\n  0x007b,\n  \"braceleftbig\",\n  0x007b,\n  \"braceleftbigg\",\n  0x007b,\n  \"braceleftBigg\",\n  0x007b,\n  \"bracerightBig\",\n  0x007d,\n  \"bracerightbig\",\n  0x007d,\n  \"bracerightbigg\",\n  0x007d,\n  \"bracerightBigg\",\n  0x007d,\n  \"bracketleftbig\",\n  0x005b,\n  \"bracketleftBig\",\n  0x005b,\n  \"bracketleftbigg\",\n  0x005b,\n  \"bracketleftBigg\",\n  0x005b,\n  \"bracketrightBig\",\n  0x005d,\n  \"bracketrightbig\",\n  0x005d,\n  \"bracketrightbigg\",\n  0x005d,\n  \"bracketrightBigg\",\n  0x005d,\n  \"ceilingleftbig\",\n  0x2308,\n  \"ceilingleftBig\",\n  0x2308,\n  \"ceilingleftBigg\",\n  0x2308,\n  \"ceilingleftbigg\",\n  0x2308,\n  \"ceilingrightbig\",\n  0x2309,\n  \"ceilingrightBig\",\n  0x2309,\n  \"ceilingrightbigg\",\n  0x2309,\n  \"ceilingrightBigg\",\n  0x2309,\n  \"circledotdisplay\",\n  0x2299,\n  \"circledottext\",\n  0x2299,\n  \"circlemultiplydisplay\",\n  0x2297,\n  \"circlemultiplytext\",\n  0x2297,\n  \"circleplusdisplay\",\n  0x2295,\n  \"circleplustext\",\n  0x2295,\n  \"contintegraldisplay\",\n  0x222e,\n  \"contintegraltext\",\n  0x222e,\n  \"coproductdisplay\",\n  0x2210,\n  \"coproducttext\",\n  0x2210,\n  \"floorleftBig\",\n  0x230a,\n  \"floorleftbig\",\n  0x230a,\n  \"floorleftbigg\",\n  0x230a,\n  \"floorleftBigg\",\n  0x230a,\n  \"floorrightbig\",\n  0x230b,\n  \"floorrightBig\",\n  0x230b,\n  \"floorrightBigg\",\n  0x230b,\n  \"floorrightbigg\",\n  0x230b,\n  \"hatwide\",\n  0x0302,\n  \"hatwider\",\n  0x0302,\n  \"hatwidest\",\n  0x0302,\n  \"intercal\",\n  0x1d40,\n  \"integraldisplay\",\n  0x222b,\n  \"integraltext\",\n  0x222b,\n  \"intersectiondisplay\",\n  0x22c2,\n  \"intersectiontext\",\n  0x22c2,\n  \"logicalanddisplay\",\n  0x2227,\n  \"logicalandtext\",\n  0x2227,\n  \"logicalordisplay\",\n  0x2228,\n  \"logicalortext\",\n  0x2228,\n  \"parenleftBig\",\n  0x0028,\n  \"parenleftbig\",\n  0x0028,\n  \"parenleftBigg\",\n  0x0028,\n  \"parenleftbigg\",\n  0x0028,\n  \"parenrightBig\",\n  0x0029,\n  \"parenrightbig\",\n  0x0029,\n  \"parenrightBigg\",\n  0x0029,\n  \"parenrightbigg\",\n  0x0029,\n  \"prime\",\n  0x2032,\n  \"productdisplay\",\n  0x220f,\n  \"producttext\",\n  0x220f,\n  \"radicalbig\",\n  0x221a,\n  \"radicalBig\",\n  0x221a,\n  \"radicalBigg\",\n  0x221a,\n  \"radicalbigg\",\n  0x221a,\n  \"radicalbt\",\n  0x221a,\n  \"radicaltp\",\n  0x221a,\n  \"radicalvertex\",\n  0x221a,\n  \"slashbig\",\n  0x002f,\n  \"slashBig\",\n  0x002f,\n  \"slashBigg\",\n  0x002f,\n  \"slashbigg\",\n  0x002f,\n  \"summationdisplay\",\n  0x2211,\n  \"summationtext\",\n  0x2211,\n  \"tildewide\",\n  0x02dc,\n  \"tildewider\",\n  0x02dc,\n  \"tildewidest\",\n  0x02dc,\n  \"uniondisplay\",\n  0x22c3,\n  \"unionmultidisplay\",\n  0x228e,\n  \"unionmultitext\",\n  0x228e,\n  \"unionsqdisplay\",\n  0x2294,\n  \"unionsqtext\",\n  0x2294,\n  \"uniontext\",\n  0x22c3,\n  \"vextenddouble\",\n  0x2225,\n  \"vextendsingle\",\n  0x2223\n ];\n});\nvar getDingbatsGlyphsUnicode = (0,_core_utils_js__WEBPACK_IMPORTED_MODULE_0__.getArrayLookupTableFactory)(function () {\n return [\n  \"space\",\n  0x0020,\n  \"a1\",\n  0x2701,\n  \"a2\",\n  0x2702,\n  \"a202\",\n  0x2703,\n  \"a3\",\n  0x2704,\n  \"a4\",\n  0x260e,\n  \"a5\",\n  0x2706,\n  \"a119\",\n  0x2707,\n  \"a118\",\n  0x2708,\n  \"a117\",\n  0x2709,\n  \"a11\",\n  0x261b,\n  \"a12\",\n  0x261e,\n  \"a13\",\n  0x270c,\n  \"a14\",\n  0x270d,\n  \"a15\",\n  0x270e,\n  \"a16\",\n  0x270f,\n  \"a105\",\n  0x2710,\n  \"a17\",\n  0x2711,\n  \"a18\",\n  0x2712,\n  \"a19\",\n  0x2713,\n  \"a20\",\n  0x2714,\n  \"a21\",\n  0x2715,\n  \"a22\",\n  0x2716,\n  \"a23\",\n  0x2717,\n  \"a24\",\n  0x2718,\n  \"a25\",\n  0x2719,\n  \"a26\",\n  0x271a,\n  \"a27\",\n  0x271b,\n  \"a28\",\n  0x271c,\n  \"a6\",\n  0x271d,\n  \"a7\",\n  0x271e,\n  \"a8\",\n  0x271f,\n  \"a9\",\n  0x2720,\n  \"a10\",\n  0x2721,\n  \"a29\",\n  0x2722,\n  \"a30\",\n  0x2723,\n  \"a31\",\n  0x2724,\n  \"a32\",\n  0x2725,\n  \"a33\",\n  0x2726,\n  \"a34\",\n  0x2727,\n  \"a35\",\n  0x2605,\n  \"a36\",\n  0x2729,\n  \"a37\",\n  0x272a,\n  \"a38\",\n  0x272b,\n  \"a39\",\n  0x272c,\n  \"a40\",\n  0x272d,\n  \"a41\",\n  0x272e,\n  \"a42\",\n  0x272f,\n  \"a43\",\n  0x2730,\n  \"a44\",\n  0x2731,\n  \"a45\",\n  0x2732,\n  \"a46\",\n  0x2733,\n  \"a47\",\n  0x2734,\n  \"a48\",\n  0x2735,\n  \"a49\",\n  0x2736,\n  \"a50\",\n  0x2737,\n  \"a51\",\n  0x2738,\n  \"a52\",\n  0x2739,\n  \"a53\",\n  0x273a,\n  \"a54\",\n  0x273b,\n  \"a55\",\n  0x273c,\n  \"a56\",\n  0x273d,\n  \"a57\",\n  0x273e,\n  \"a58\",\n  0x273f,\n  \"a59\",\n  0x2740,\n  \"a60\",\n  0x2741,\n  \"a61\",\n  0x2742,\n  \"a62\",\n  0x2743,\n  \"a63\",\n  0x2744,\n  \"a64\",\n  0x2745,\n  \"a65\",\n  0x2746,\n  \"a66\",\n  0x2747,\n  \"a67\",\n  0x2748,\n  \"a68\",\n  0x2749,\n  \"a69\",\n  0x274a,\n  \"a70\",\n  0x274b,\n  \"a71\",\n  0x25cf,\n  \"a72\",\n  0x274d,\n  \"a73\",\n  0x25a0,\n  \"a74\",\n  0x274f,\n  \"a203\",\n  0x2750,\n  \"a75\",\n  0x2751,\n  \"a204\",\n  0x2752,\n  \"a76\",\n  0x25b2,\n  \"a77\",\n  0x25bc,\n  \"a78\",\n  0x25c6,\n  \"a79\",\n  0x2756,\n  \"a81\",\n  0x25d7,\n  \"a82\",\n  0x2758,\n  \"a83\",\n  0x2759,\n  \"a84\",\n  0x275a,\n  \"a97\",\n  0x275b,\n  \"a98\",\n  0x275c,\n  \"a99\",\n  0x275d,\n  \"a100\",\n  0x275e,\n  \"a101\",\n  0x2761,\n  \"a102\",\n  0x2762,\n  \"a103\",\n  0x2763,\n  \"a104\",\n  0x2764,\n  \"a106\",\n  0x2765,\n  \"a107\",\n  0x2766,\n  \"a108\",\n  0x2767,\n  \"a112\",\n  0x2663,\n  \"a111\",\n  0x2666,\n  \"a110\",\n  0x2665,\n  \"a109\",\n  0x2660,\n  \"a120\",\n  0x2460,\n  \"a121\",\n  0x2461,\n  \"a122\",\n  0x2462,\n  \"a123\",\n  0x2463,\n  \"a124\",\n  0x2464,\n  \"a125\",\n  0x2465,\n  \"a126\",\n  0x2466,\n  \"a127\",\n  0x2467,\n  \"a128\",\n  0x2468,\n  \"a129\",\n  0x2469,\n  \"a130\",\n  0x2776,\n  \"a131\",\n  0x2777,\n  \"a132\",\n  0x2778,\n  \"a133\",\n  0x2779,\n  \"a134\",\n  0x277a,\n  \"a135\",\n  0x277b,\n  \"a136\",\n  0x277c,\n  \"a137\",\n  0x277d,\n  \"a138\",\n  0x277e,\n  \"a139\",\n  0x277f,\n  \"a140\",\n  0x2780,\n  \"a141\",\n  0x2781,\n  \"a142\",\n  0x2782,\n  \"a143\",\n  0x2783,\n  \"a144\",\n  0x2784,\n  \"a145\",\n  0x2785,\n  \"a146\",\n  0x2786,\n  \"a147\",\n  0x2787,\n  \"a148\",\n  0x2788,\n  \"a149\",\n  0x2789,\n  \"a150\",\n  0x278a,\n  \"a151\",\n  0x278b,\n  \"a152\",\n  0x278c,\n  \"a153\",\n  0x278d,\n  \"a154\",\n  0x278e,\n  \"a155\",\n  0x278f,\n  \"a156\",\n  0x2790,\n  \"a157\",\n  0x2791,\n  \"a158\",\n  0x2792,\n  \"a159\",\n  0x2793,\n  \"a160\",\n  0x2794,\n  \"a161\",\n  0x2192,\n  \"a163\",\n  0x2194,\n  \"a164\",\n  0x2195,\n  \"a196\",\n  0x2798,\n  \"a165\",\n  0x2799,\n  \"a192\",\n  0x279a,\n  \"a166\",\n  0x279b,\n  \"a167\",\n  0x279c,\n  \"a168\",\n  0x279d,\n  \"a169\",\n  0x279e,\n  \"a170\",\n  0x279f,\n  \"a171\",\n  0x27a0,\n  \"a172\",\n  0x27a1,\n  \"a173\",\n  0x27a2,\n  \"a162\",\n  0x27a3,\n  \"a174\",\n  0x27a4,\n  \"a175\",\n  0x27a5,\n  \"a176\",\n  0x27a6,\n  \"a177\",\n  0x27a7,\n  \"a178\",\n  0x27a8,\n  \"a179\",\n  0x27a9,\n  \"a193\",\n  0x27aa,\n  \"a180\",\n  0x27ab,\n  \"a199\",\n  0x27ac,\n  \"a181\",\n  0x27ad,\n  \"a200\",\n  0x27ae,\n  \"a182\",\n  0x27af,\n  \"a201\",\n  0x27b1,\n  \"a183\",\n  0x27b2,\n  \"a184\",\n  0x27b3,\n  \"a197\",\n  0x27b4,\n  \"a185\",\n  0x27b5,\n  \"a194\",\n  0x27b6,\n  \"a198\",\n  0x27b7,\n  \"a186\",\n  0x27b8,\n  \"a195\",\n  0x27b9,\n  \"a187\",\n  0x27ba,\n  \"a188\",\n  0x27bb,\n  \"a189\",\n  0x27bc,\n  \"a190\",\n  0x27bd,\n  \"a191\",\n  0x27be,\n  \"a89\",\n  0x2768,\n  \"a90\",\n  0x2769,\n  \"a93\",\n  0x276a,\n  \"a94\",\n  0x276b,\n  \"a91\",\n  0x276c,\n  \"a92\",\n  0x276d,\n  \"a205\",\n  0x276e,\n  \"a85\",\n  0x276f,\n  \"a206\",\n  0x2770,\n  \"a86\",\n  0x2771,\n  \"a87\",\n  0x2772,\n  \"a88\",\n  0x2773,\n  \"a95\",\n  0x2774,\n  \"a96\",\n  0x2775,\n  \".notdef\",\n  0x0000\n ];\n});\n\n\n/***/ }),\n/* 164 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getSymbolsFonts = exports.getSupplementalGlyphMapForCalibri = exports.getSupplementalGlyphMapForArialBlack = exports.getStdFontMap = exports.getSerifFonts = exports.getNonStdFontMap = exports.getGlyphMapForStandardFonts = void 0;\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar getStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.ArialNarrow = \"Helvetica\";\n  t[\"ArialNarrow-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialNarrow-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialNarrow-Italic\"] = \"Helvetica-Oblique\";\n  t.ArialBlack = \"Helvetica\";\n  t[\"ArialBlack-Bold\"] = \"Helvetica-Bold\";\n  t[\"ArialBlack-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"ArialBlack-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-Black\"] = \"Helvetica\";\n  t[\"Arial-Black-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-Black-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Black-Italic\"] = \"Helvetica-Oblique\";\n  t.Arial = \"Helvetica\";\n  t[\"Arial-Bold\"] = \"Helvetica-Bold\";\n  t[\"Arial-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Arial-BoldItalicMT\"] = \"Helvetica-BoldOblique\";\n  t[\"Arial-BoldMT\"] = \"Helvetica-Bold\";\n  t[\"Arial-ItalicMT\"] = \"Helvetica-Oblique\";\n  t.ArialMT = \"Helvetica\";\n  t[\"Courier-Bold\"] = \"Courier-Bold\";\n  t[\"Courier-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"Courier-Italic\"] = \"Courier-Oblique\";\n  t.CourierNew = \"Courier\";\n  t[\"CourierNew-Bold\"] = \"Courier-Bold\";\n  t[\"CourierNew-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"CourierNew-Italic\"] = \"Courier-Oblique\";\n  t[\"CourierNewPS-BoldItalicMT\"] = \"Courier-BoldOblique\";\n  t[\"CourierNewPS-BoldMT\"] = \"Courier-Bold\";\n  t[\"CourierNewPS-ItalicMT\"] = \"Courier-Oblique\";\n  t.CourierNewPSMT = \"Courier\";\n  t.Helvetica = \"Helvetica\";\n  t[\"Helvetica-Bold\"] = \"Helvetica-Bold\";\n  t[\"Helvetica-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-BoldOblique\"] = \"Helvetica-BoldOblique\";\n  t[\"Helvetica-Italic\"] = \"Helvetica-Oblique\";\n  t[\"Helvetica-Oblique\"] = \"Helvetica-Oblique\";\n  t[\"Symbol-Bold\"] = \"Symbol\";\n  t[\"Symbol-BoldItalic\"] = \"Symbol\";\n  t[\"Symbol-Italic\"] = \"Symbol\";\n  t.TimesNewRoman = \"Times-Roman\";\n  t[\"TimesNewRoman-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRoman-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRoman-Italic\"] = \"Times-Italic\";\n  t.TimesNewRomanPS = \"Times-Roman\";\n  t[\"TimesNewRomanPS-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldItalicMT\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPS-BoldMT\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPS-Italic\"] = \"Times-Italic\";\n  t[\"TimesNewRomanPS-ItalicMT\"] = \"Times-Italic\";\n  t.TimesNewRomanPSMT = \"Times-Roman\";\n  t[\"TimesNewRomanPSMT-Bold\"] = \"Times-Bold\";\n  t[\"TimesNewRomanPSMT-BoldItalic\"] = \"Times-BoldItalic\";\n  t[\"TimesNewRomanPSMT-Italic\"] = \"Times-Italic\";\n});\nexports.getStdFontMap = getStdFontMap;\nvar getNonStdFontMap = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Calibri = \"Helvetica\";\n  t[\"Calibri-Bold\"] = \"Helvetica-Bold\";\n  t[\"Calibri-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"Calibri-Italic\"] = \"Helvetica-Oblique\";\n  t.CenturyGothic = \"Helvetica\";\n  t[\"CenturyGothic-Bold\"] = \"Helvetica-Bold\";\n  t[\"CenturyGothic-BoldItalic\"] = \"Helvetica-BoldOblique\";\n  t[\"CenturyGothic-Italic\"] = \"Helvetica-Oblique\";\n  t.ComicSansMS = \"Comic Sans MS\";\n  t[\"ComicSansMS-Bold\"] = \"Comic Sans MS-Bold\";\n  t[\"ComicSansMS-BoldItalic\"] = \"Comic Sans MS-BoldItalic\";\n  t[\"ComicSansMS-Italic\"] = \"Comic Sans MS-Italic\";\n  t.LucidaConsole = \"Courier\";\n  t[\"LucidaConsole-Bold\"] = \"Courier-Bold\";\n  t[\"LucidaConsole-BoldItalic\"] = \"Courier-BoldOblique\";\n  t[\"LucidaConsole-Italic\"] = \"Courier-Oblique\";\n  t[\"LucidaSans-Demi\"] = \"Helvetica-Bold\";\n  t[\"MS-Gothic\"] = \"MS Gothic\";\n  t[\"MS-Gothic-Bold\"] = \"MS Gothic-Bold\";\n  t[\"MS-Gothic-BoldItalic\"] = \"MS Gothic-BoldItalic\";\n  t[\"MS-Gothic-Italic\"] = \"MS Gothic-Italic\";\n  t[\"MS-Mincho\"] = \"MS Mincho\";\n  t[\"MS-Mincho-Bold\"] = \"MS Mincho-Bold\";\n  t[\"MS-Mincho-BoldItalic\"] = \"MS Mincho-BoldItalic\";\n  t[\"MS-Mincho-Italic\"] = \"MS Mincho-Italic\";\n  t[\"MS-PGothic\"] = \"MS PGothic\";\n  t[\"MS-PGothic-Bold\"] = \"MS PGothic-Bold\";\n  t[\"MS-PGothic-BoldItalic\"] = \"MS PGothic-BoldItalic\";\n  t[\"MS-PGothic-Italic\"] = \"MS PGothic-Italic\";\n  t[\"MS-PMincho\"] = \"MS PMincho\";\n  t[\"MS-PMincho-Bold\"] = \"MS PMincho-Bold\";\n  t[\"MS-PMincho-BoldItalic\"] = \"MS PMincho-BoldItalic\";\n  t[\"MS-PMincho-Italic\"] = \"MS PMincho-Italic\";\n  t.NuptialScript = \"Times-Italic\";\n  t.SegoeUISymbol = \"Helvetica\";\n  t.Wingdings = \"ZapfDingbats\";\n  t[\"Wingdings-Regular\"] = \"ZapfDingbats\";\n});\nexports.getNonStdFontMap = getNonStdFontMap;\nvar getSerifFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[\"Adobe Jenson\"] = true;\n  t[\"Adobe Text\"] = true;\n  t.Albertus = true;\n  t.Aldus = true;\n  t.Alexandria = true;\n  t.Algerian = true;\n  t[\"American Typewriter\"] = true;\n  t.Antiqua = true;\n  t.Apex = true;\n  t.Arno = true;\n  t.Aster = true;\n  t.Aurora = true;\n  t.Baskerville = true;\n  t.Bell = true;\n  t.Bembo = true;\n  t[\"Bembo Schoolbook\"] = true;\n  t.Benguiat = true;\n  t[\"Berkeley Old Style\"] = true;\n  t[\"Bernhard Modern\"] = true;\n  t[\"Berthold City\"] = true;\n  t.Bodoni = true;\n  t[\"Bauer Bodoni\"] = true;\n  t[\"Book Antiqua\"] = true;\n  t.Bookman = true;\n  t[\"Bordeaux Roman\"] = true;\n  t[\"Californian FB\"] = true;\n  t.Calisto = true;\n  t.Calvert = true;\n  t.Capitals = true;\n  t.Cambria = true;\n  t.Cartier = true;\n  t.Caslon = true;\n  t.Catull = true;\n  t.Centaur = true;\n  t[\"Century Old Style\"] = true;\n  t[\"Century Schoolbook\"] = true;\n  t.Chaparral = true;\n  t[\"Charis SIL\"] = true;\n  t.Cheltenham = true;\n  t[\"Cholla Slab\"] = true;\n  t.Clarendon = true;\n  t.Clearface = true;\n  t.Cochin = true;\n  t.Colonna = true;\n  t[\"Computer Modern\"] = true;\n  t[\"Concrete Roman\"] = true;\n  t.Constantia = true;\n  t[\"Cooper Black\"] = true;\n  t.Corona = true;\n  t.Ecotype = true;\n  t.Egyptienne = true;\n  t.Elephant = true;\n  t.Excelsior = true;\n  t.Fairfield = true;\n  t[\"FF Scala\"] = true;\n  t.Folkard = true;\n  t.Footlight = true;\n  t.FreeSerif = true;\n  t[\"Friz Quadrata\"] = true;\n  t.Garamond = true;\n  t.Gentium = true;\n  t.Georgia = true;\n  t.Gloucester = true;\n  t[\"Goudy Old Style\"] = true;\n  t[\"Goudy Schoolbook\"] = true;\n  t[\"Goudy Pro Font\"] = true;\n  t.Granjon = true;\n  t[\"Guardian Egyptian\"] = true;\n  t.Heather = true;\n  t.Hercules = true;\n  t[\"High Tower Text\"] = true;\n  t.Hiroshige = true;\n  t[\"Hoefler Text\"] = true;\n  t[\"Humana Serif\"] = true;\n  t.Imprint = true;\n  t[\"Ionic No. 5\"] = true;\n  t.Janson = true;\n  t.Joanna = true;\n  t.Korinna = true;\n  t.Lexicon = true;\n  t[\"Liberation Serif\"] = true;\n  t[\"Linux Libertine\"] = true;\n  t.Literaturnaya = true;\n  t.Lucida = true;\n  t[\"Lucida Bright\"] = true;\n  t.Melior = true;\n  t.Memphis = true;\n  t.Miller = true;\n  t.Minion = true;\n  t.Modern = true;\n  t[\"Mona Lisa\"] = true;\n  t[\"Mrs Eaves\"] = true;\n  t[\"MS Serif\"] = true;\n  t[\"Museo Slab\"] = true;\n  t[\"New York\"] = true;\n  t[\"Nimbus Roman\"] = true;\n  t[\"NPS Rawlinson Roadway\"] = true;\n  t.NuptialScript = true;\n  t.Palatino = true;\n  t.Perpetua = true;\n  t.Plantin = true;\n  t[\"Plantin Schoolbook\"] = true;\n  t.Playbill = true;\n  t[\"Poor Richard\"] = true;\n  t[\"Rawlinson Roadway\"] = true;\n  t.Renault = true;\n  t.Requiem = true;\n  t.Rockwell = true;\n  t.Roman = true;\n  t[\"Rotis Serif\"] = true;\n  t.Sabon = true;\n  t.Scala = true;\n  t.Seagull = true;\n  t.Sistina = true;\n  t.Souvenir = true;\n  t.STIX = true;\n  t[\"Stone Informal\"] = true;\n  t[\"Stone Serif\"] = true;\n  t.Sylfaen = true;\n  t.Times = true;\n  t.Trajan = true;\n  t[\"Trinité\"] = true;\n  t[\"Trump Mediaeval\"] = true;\n  t.Utopia = true;\n  t[\"Vale Type\"] = true;\n  t[\"Bitstream Vera\"] = true;\n  t[\"Vera Serif\"] = true;\n  t.Versailles = true;\n  t.Wanted = true;\n  t.Weiss = true;\n  t[\"Wide Latin\"] = true;\n  t.Windsor = true;\n  t.XITS = true;\n});\nexports.getSerifFonts = getSerifFonts;\nvar getSymbolsFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Dingbats = true;\n  t.Symbol = true;\n  t.ZapfDingbats = true;\n});\nexports.getSymbolsFonts = getSymbolsFonts;\nvar getGlyphMapForStandardFonts = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[2] = 10;\n  t[3] = 32;\n  t[4] = 33;\n  t[5] = 34;\n  t[6] = 35;\n  t[7] = 36;\n  t[8] = 37;\n  t[9] = 38;\n  t[10] = 39;\n  t[11] = 40;\n  t[12] = 41;\n  t[13] = 42;\n  t[14] = 43;\n  t[15] = 44;\n  t[16] = 45;\n  t[17] = 46;\n  t[18] = 47;\n  t[19] = 48;\n  t[20] = 49;\n  t[21] = 50;\n  t[22] = 51;\n  t[23] = 52;\n  t[24] = 53;\n  t[25] = 54;\n  t[26] = 55;\n  t[27] = 56;\n  t[28] = 57;\n  t[29] = 58;\n  t[30] = 894;\n  t[31] = 60;\n  t[32] = 61;\n  t[33] = 62;\n  t[34] = 63;\n  t[35] = 64;\n  t[36] = 65;\n  t[37] = 66;\n  t[38] = 67;\n  t[39] = 68;\n  t[40] = 69;\n  t[41] = 70;\n  t[42] = 71;\n  t[43] = 72;\n  t[44] = 73;\n  t[45] = 74;\n  t[46] = 75;\n  t[47] = 76;\n  t[48] = 77;\n  t[49] = 78;\n  t[50] = 79;\n  t[51] = 80;\n  t[52] = 81;\n  t[53] = 82;\n  t[54] = 83;\n  t[55] = 84;\n  t[56] = 85;\n  t[57] = 86;\n  t[58] = 87;\n  t[59] = 88;\n  t[60] = 89;\n  t[61] = 90;\n  t[62] = 91;\n  t[63] = 92;\n  t[64] = 93;\n  t[65] = 94;\n  t[66] = 95;\n  t[67] = 96;\n  t[68] = 97;\n  t[69] = 98;\n  t[70] = 99;\n  t[71] = 100;\n  t[72] = 101;\n  t[73] = 102;\n  t[74] = 103;\n  t[75] = 104;\n  t[76] = 105;\n  t[77] = 106;\n  t[78] = 107;\n  t[79] = 108;\n  t[80] = 109;\n  t[81] = 110;\n  t[82] = 111;\n  t[83] = 112;\n  t[84] = 113;\n  t[85] = 114;\n  t[86] = 115;\n  t[87] = 116;\n  t[88] = 117;\n  t[89] = 118;\n  t[90] = 119;\n  t[91] = 120;\n  t[92] = 121;\n  t[93] = 122;\n  t[94] = 123;\n  t[95] = 124;\n  t[96] = 125;\n  t[97] = 126;\n  t[98] = 196;\n  t[99] = 197;\n  t[100] = 199;\n  t[101] = 201;\n  t[102] = 209;\n  t[103] = 214;\n  t[104] = 220;\n  t[105] = 225;\n  t[106] = 224;\n  t[107] = 226;\n  t[108] = 228;\n  t[109] = 227;\n  t[110] = 229;\n  t[111] = 231;\n  t[112] = 233;\n  t[113] = 232;\n  t[114] = 234;\n  t[115] = 235;\n  t[116] = 237;\n  t[117] = 236;\n  t[118] = 238;\n  t[119] = 239;\n  t[120] = 241;\n  t[121] = 243;\n  t[122] = 242;\n  t[123] = 244;\n  t[124] = 246;\n  t[125] = 245;\n  t[126] = 250;\n  t[127] = 249;\n  t[128] = 251;\n  t[129] = 252;\n  t[130] = 8224;\n  t[131] = 176;\n  t[132] = 162;\n  t[133] = 163;\n  t[134] = 167;\n  t[135] = 8226;\n  t[136] = 182;\n  t[137] = 223;\n  t[138] = 174;\n  t[139] = 169;\n  t[140] = 8482;\n  t[141] = 180;\n  t[142] = 168;\n  t[143] = 8800;\n  t[144] = 198;\n  t[145] = 216;\n  t[146] = 8734;\n  t[147] = 177;\n  t[148] = 8804;\n  t[149] = 8805;\n  t[150] = 165;\n  t[151] = 181;\n  t[152] = 8706;\n  t[153] = 8721;\n  t[154] = 8719;\n  t[156] = 8747;\n  t[157] = 170;\n  t[158] = 186;\n  t[159] = 8486;\n  t[160] = 230;\n  t[161] = 248;\n  t[162] = 191;\n  t[163] = 161;\n  t[164] = 172;\n  t[165] = 8730;\n  t[166] = 402;\n  t[167] = 8776;\n  t[168] = 8710;\n  t[169] = 171;\n  t[170] = 187;\n  t[171] = 8230;\n  t[210] = 218;\n  t[223] = 711;\n  t[224] = 321;\n  t[225] = 322;\n  t[227] = 353;\n  t[229] = 382;\n  t[234] = 253;\n  t[252] = 263;\n  t[253] = 268;\n  t[254] = 269;\n  t[258] = 258;\n  t[260] = 260;\n  t[261] = 261;\n  t[265] = 280;\n  t[266] = 281;\n  t[268] = 283;\n  t[269] = 313;\n  t[275] = 323;\n  t[276] = 324;\n  t[278] = 328;\n  t[284] = 345;\n  t[285] = 346;\n  t[286] = 347;\n  t[292] = 367;\n  t[295] = 377;\n  t[296] = 378;\n  t[298] = 380;\n  t[305] = 963;\n  t[306] = 964;\n  t[307] = 966;\n  t[308] = 8215;\n  t[309] = 8252;\n  t[310] = 8319;\n  t[311] = 8359;\n  t[312] = 8592;\n  t[313] = 8593;\n  t[337] = 9552;\n  t[493] = 1039;\n  t[494] = 1040;\n  t[705] = 1524;\n  t[706] = 8362;\n  t[710] = 64288;\n  t[711] = 64298;\n  t[759] = 1617;\n  t[761] = 1776;\n  t[763] = 1778;\n  t[775] = 1652;\n  t[777] = 1764;\n  t[778] = 1780;\n  t[779] = 1781;\n  t[780] = 1782;\n  t[782] = 771;\n  t[783] = 64726;\n  t[786] = 8363;\n  t[788] = 8532;\n  t[790] = 768;\n  t[791] = 769;\n  t[792] = 768;\n  t[795] = 803;\n  t[797] = 64336;\n  t[798] = 64337;\n  t[799] = 64342;\n  t[800] = 64343;\n  t[801] = 64344;\n  t[802] = 64345;\n  t[803] = 64362;\n  t[804] = 64363;\n  t[805] = 64364;\n  t[2424] = 7821;\n  t[2425] = 7822;\n  t[2426] = 7823;\n  t[2427] = 7824;\n  t[2428] = 7825;\n  t[2429] = 7826;\n  t[2430] = 7827;\n  t[2433] = 7682;\n  t[2678] = 8045;\n  t[2679] = 8046;\n  t[2830] = 1552;\n  t[2838] = 686;\n  t[2840] = 751;\n  t[2842] = 753;\n  t[2843] = 754;\n  t[2844] = 755;\n  t[2846] = 757;\n  t[2856] = 767;\n  t[2857] = 848;\n  t[2858] = 849;\n  t[2862] = 853;\n  t[2863] = 854;\n  t[2864] = 855;\n  t[2865] = 861;\n  t[2866] = 862;\n  t[2906] = 7460;\n  t[2908] = 7462;\n  t[2909] = 7463;\n  t[2910] = 7464;\n  t[2912] = 7466;\n  t[2913] = 7467;\n  t[2914] = 7468;\n  t[2916] = 7470;\n  t[2917] = 7471;\n  t[2918] = 7472;\n  t[2920] = 7474;\n  t[2921] = 7475;\n  t[2922] = 7476;\n  t[2924] = 7478;\n  t[2925] = 7479;\n  t[2926] = 7480;\n  t[2928] = 7482;\n  t[2929] = 7483;\n  t[2930] = 7484;\n  t[2932] = 7486;\n  t[2933] = 7487;\n  t[2934] = 7488;\n  t[2936] = 7490;\n  t[2937] = 7491;\n  t[2938] = 7492;\n  t[2940] = 7494;\n  t[2941] = 7495;\n  t[2942] = 7496;\n  t[2944] = 7498;\n  t[2946] = 7500;\n  t[2948] = 7502;\n  t[2950] = 7504;\n  t[2951] = 7505;\n  t[2952] = 7506;\n  t[2954] = 7508;\n  t[2955] = 7509;\n  t[2956] = 7510;\n  t[2958] = 7512;\n  t[2959] = 7513;\n  t[2960] = 7514;\n  t[2962] = 7516;\n  t[2963] = 7517;\n  t[2964] = 7518;\n  t[2966] = 7520;\n  t[2967] = 7521;\n  t[2968] = 7522;\n  t[2970] = 7524;\n  t[2971] = 7525;\n  t[2972] = 7526;\n  t[2974] = 7528;\n  t[2975] = 7529;\n  t[2976] = 7530;\n  t[2978] = 1537;\n  t[2979] = 1538;\n  t[2980] = 1539;\n  t[2982] = 1549;\n  t[2983] = 1551;\n  t[2984] = 1552;\n  t[2986] = 1554;\n  t[2987] = 1555;\n  t[2988] = 1556;\n  t[2990] = 1623;\n  t[2991] = 1624;\n  t[2995] = 1775;\n  t[2999] = 1791;\n  t[3002] = 64290;\n  t[3003] = 64291;\n  t[3004] = 64292;\n  t[3006] = 64294;\n  t[3007] = 64295;\n  t[3008] = 64296;\n  t[3011] = 1900;\n  t[3014] = 8223;\n  t[3015] = 8244;\n  t[3017] = 7532;\n  t[3018] = 7533;\n  t[3019] = 7534;\n  t[3075] = 7590;\n  t[3076] = 7591;\n  t[3079] = 7594;\n  t[3080] = 7595;\n  t[3083] = 7598;\n  t[3084] = 7599;\n  t[3087] = 7602;\n  t[3088] = 7603;\n  t[3091] = 7606;\n  t[3092] = 7607;\n  t[3095] = 7610;\n  t[3096] = 7611;\n  t[3099] = 7614;\n  t[3100] = 7615;\n  t[3103] = 7618;\n  t[3104] = 7619;\n  t[3107] = 8337;\n  t[3108] = 8338;\n  t[3116] = 1884;\n  t[3119] = 1885;\n  t[3120] = 1885;\n  t[3123] = 1886;\n  t[3124] = 1886;\n  t[3127] = 1887;\n  t[3128] = 1887;\n  t[3131] = 1888;\n  t[3132] = 1888;\n  t[3135] = 1889;\n  t[3136] = 1889;\n  t[3139] = 1890;\n  t[3140] = 1890;\n  t[3143] = 1891;\n  t[3144] = 1891;\n  t[3147] = 1892;\n  t[3148] = 1892;\n  t[3153] = 580;\n  t[3154] = 581;\n  t[3157] = 584;\n  t[3158] = 585;\n  t[3161] = 588;\n  t[3162] = 589;\n  t[3165] = 891;\n  t[3166] = 892;\n  t[3169] = 1274;\n  t[3170] = 1275;\n  t[3173] = 1278;\n  t[3174] = 1279;\n  t[3181] = 7622;\n  t[3182] = 7623;\n  t[3282] = 11799;\n  t[3316] = 578;\n  t[3379] = 42785;\n  t[3393] = 1159;\n  t[3416] = 8377;\n});\nexports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts;\nvar getSupplementalGlyphMapForArialBlack = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[227] = 322;\n  t[264] = 261;\n  t[291] = 346;\n});\nexports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack;\nvar getSupplementalGlyphMapForCalibri = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t[1] = 32;\n  t[4] = 65;\n  t[17] = 66;\n  t[18] = 67;\n  t[24] = 68;\n  t[28] = 69;\n  t[38] = 70;\n  t[39] = 71;\n  t[44] = 72;\n  t[47] = 73;\n  t[58] = 74;\n  t[60] = 75;\n  t[62] = 76;\n  t[68] = 77;\n  t[69] = 78;\n  t[75] = 79;\n  t[87] = 80;\n  t[89] = 81;\n  t[90] = 82;\n  t[94] = 83;\n  t[100] = 84;\n  t[104] = 85;\n  t[115] = 86;\n  t[116] = 87;\n  t[121] = 88;\n  t[122] = 89;\n  t[127] = 90;\n  t[258] = 97;\n  t[268] = 261;\n  t[271] = 98;\n  t[272] = 99;\n  t[273] = 263;\n  t[282] = 100;\n  t[286] = 101;\n  t[295] = 281;\n  t[296] = 102;\n  t[336] = 103;\n  t[346] = 104;\n  t[349] = 105;\n  t[361] = 106;\n  t[364] = 107;\n  t[367] = 108;\n  t[371] = 322;\n  t[373] = 109;\n  t[374] = 110;\n  t[381] = 111;\n  t[383] = 243;\n  t[393] = 112;\n  t[395] = 113;\n  t[396] = 114;\n  t[400] = 115;\n  t[401] = 347;\n  t[410] = 116;\n  t[437] = 117;\n  t[448] = 118;\n  t[449] = 119;\n  t[454] = 120;\n  t[455] = 121;\n  t[460] = 122;\n  t[463] = 380;\n  t[853] = 44;\n  t[855] = 58;\n  t[856] = 46;\n  t[876] = 47;\n  t[878] = 45;\n  t[882] = 45;\n  t[894] = 40;\n  t[895] = 41;\n  t[896] = 91;\n  t[897] = 93;\n  t[923] = 64;\n  t[1004] = 48;\n  t[1005] = 49;\n  t[1006] = 50;\n  t[1007] = 51;\n  t[1008] = 52;\n  t[1009] = 53;\n  t[1010] = 54;\n  t[1011] = 55;\n  t[1012] = 56;\n  t[1013] = 57;\n  t[1081] = 37;\n  t[1085] = 43;\n  t[1086] = 45;\n});\nexports.getSupplementalGlyphMapForCalibri = getSupplementalGlyphMapForCalibri;\n\n/***/ }),\n/* 165 */\n/***/ ((__unused_webpack_module, __webpack_exports__, __w_pdfjs_require__) => {\n\n\"use strict\";\n__w_pdfjs_require__.r(__webpack_exports__);\n/* harmony export */ __w_pdfjs_require__.d(__webpack_exports__, {\n/* harmony export */   \"getNormalizedUnicodes\": () => /* binding */ getNormalizedUnicodes,\n/* harmony export */   \"getUnicodeForGlyph\": () => /* binding */ getUnicodeForGlyph,\n/* harmony export */   \"getUnicodeRangeFor\": () => /* binding */ getUnicodeRangeFor,\n/* harmony export */   \"mapSpecialUnicodeValues\": () => /* binding */ mapSpecialUnicodeValues,\n/* harmony export */   \"reverseIfRtl\": () => /* binding */ reverseIfRtl\n/* harmony export */ });\n/* harmony import */ var _core_utils_js__WEBPACK_IMPORTED_MODULE_0__ = __w_pdfjs_require__(138);\n\nvar getSpecialPUASymbols = (0,_core_utils_js__WEBPACK_IMPORTED_MODULE_0__.getLookupTableFactory)(function (t) {\n t[63721] = 0x00a9;\n t[63193] = 0x00a9;\n t[63720] = 0x00ae;\n t[63194] = 0x00ae;\n t[63722] = 0x2122;\n t[63195] = 0x2122;\n t[63729] = 0x23a7;\n t[63730] = 0x23a8;\n t[63731] = 0x23a9;\n t[63740] = 0x23ab;\n t[63741] = 0x23ac;\n t[63742] = 0x23ad;\n t[63726] = 0x23a1;\n t[63727] = 0x23a2;\n t[63728] = 0x23a3;\n t[63737] = 0x23a4;\n t[63738] = 0x23a5;\n t[63739] = 0x23a6;\n t[63723] = 0x239b;\n t[63724] = 0x239c;\n t[63725] = 0x239d;\n t[63734] = 0x239e;\n t[63735] = 0x239f;\n t[63736] = 0x23a0;\n});\nfunction mapSpecialUnicodeValues(code) {\n if (code >= 0xfff0 && code <= 0xffff) {\n  return 0;\n } else if (code >= 0xf600 && code <= 0xf8ff) {\n  return getSpecialPUASymbols()[code] || code;\n } else if (code === 0x00ad) {\n  return 0x002d;\n }\n return code;\n}\nfunction getUnicodeForGlyph(name, glyphsUnicodeMap) {\n var unicode = glyphsUnicodeMap[name];\n if (unicode !== undefined) {\n  return unicode;\n }\n if (!name) {\n  return -1;\n }\n if (name[0] === \"u\") {\n  var nameLen = name.length, hexStr;\n  if (nameLen === 7 && name[1] === \"n\" && name[2] === \"i\") {\n   hexStr = name.substring(3);\n  } else if (nameLen >= 5 && nameLen <= 7) {\n   hexStr = name.substring(1);\n  } else {\n   return -1;\n  }\n  if (hexStr === hexStr.toUpperCase()) {\n   unicode = parseInt(hexStr, 16);\n   if (unicode >= 0) {\n    return unicode;\n   }\n  }\n }\n return -1;\n}\nvar UnicodeRanges = [\n {\n  begin: 0x0000,\n  end: 0x007f\n },\n {\n  begin: 0x0080,\n  end: 0x00ff\n },\n {\n  begin: 0x0100,\n  end: 0x017f\n },\n {\n  begin: 0x0180,\n  end: 0x024f\n },\n {\n  begin: 0x0250,\n  end: 0x02af\n },\n {\n  begin: 0x02b0,\n  end: 0x02ff\n },\n {\n  begin: 0x0300,\n  end: 0x036f\n },\n {\n  begin: 0x0370,\n  end: 0x03ff\n },\n {\n  begin: 0x2c80,\n  end: 0x2cff\n },\n {\n  begin: 0x0400,\n  end: 0x04ff\n },\n {\n  begin: 0x0530,\n  end: 0x058f\n },\n {\n  begin: 0x0590,\n  end: 0x05ff\n },\n {\n  begin: 0xa500,\n  end: 0xa63f\n },\n {\n  begin: 0x0600,\n  end: 0x06ff\n },\n {\n  begin: 0x07c0,\n  end: 0x07ff\n },\n {\n  begin: 0x0900,\n  end: 0x097f\n },\n {\n  begin: 0x0980,\n  end: 0x09ff\n },\n {\n  begin: 0x0a00,\n  end: 0x0a7f\n },\n {\n  begin: 0x0a80,\n  end: 0x0aff\n },\n {\n  begin: 0x0b00,\n  end: 0x0b7f\n },\n {\n  begin: 0x0b80,\n  end: 0x0bff\n },\n {\n  begin: 0x0c00,\n  end: 0x0c7f\n },\n {\n  begin: 0x0c80,\n  end: 0x0cff\n },\n {\n  begin: 0x0d00,\n  end: 0x0d7f\n },\n {\n  begin: 0x0e00,\n  end: 0x0e7f\n },\n {\n  begin: 0x0e80,\n  end: 0x0eff\n },\n {\n  begin: 0x10a0,\n  end: 0x10ff\n },\n {\n  begin: 0x1b00,\n  end: 0x1b7f\n },\n {\n  begin: 0x1100,\n  end: 0x11ff\n },\n {\n  begin: 0x1e00,\n  end: 0x1eff\n },\n {\n  begin: 0x1f00,\n  end: 0x1fff\n },\n {\n  begin: 0x2000,\n  end: 0x206f\n },\n {\n  begin: 0x2070,\n  end: 0x209f\n },\n {\n  begin: 0x20a0,\n  end: 0x20cf\n },\n {\n  begin: 0x20d0,\n  end: 0x20ff\n },\n {\n  begin: 0x2100,\n  end: 0x214f\n },\n {\n  begin: 0x2150,\n  end: 0x218f\n },\n {\n  begin: 0x2190,\n  end: 0x21ff\n },\n {\n  begin: 0x2200,\n  end: 0x22ff\n },\n {\n  begin: 0x2300,\n  end: 0x23ff\n },\n {\n  begin: 0x2400,\n  end: 0x243f\n },\n {\n  begin: 0x2440,\n  end: 0x245f\n },\n {\n  begin: 0x2460,\n  end: 0x24ff\n },\n {\n  begin: 0x2500,\n  end: 0x257f\n },\n {\n  begin: 0x2580,\n  end: 0x259f\n },\n {\n  begin: 0x25a0,\n  end: 0x25ff\n },\n {\n  begin: 0x2600,\n  end: 0x26ff\n },\n {\n  begin: 0x2700,\n  end: 0x27bf\n },\n {\n  begin: 0x3000,\n  end: 0x303f\n },\n {\n  begin: 0x3040,\n  end: 0x309f\n },\n {\n  begin: 0x30a0,\n  end: 0x30ff\n },\n {\n  begin: 0x3100,\n  end: 0x312f\n },\n {\n  begin: 0x3130,\n  end: 0x318f\n },\n {\n  begin: 0xa840,\n  end: 0xa87f\n },\n {\n  begin: 0x3200,\n  end: 0x32ff\n },\n {\n  begin: 0x3300,\n  end: 0x33ff\n },\n {\n  begin: 0xac00,\n  end: 0xd7af\n },\n {\n  begin: 0xd800,\n  end: 0xdfff\n },\n {\n  begin: 0x10900,\n  end: 0x1091f\n },\n {\n  begin: 0x4e00,\n  end: 0x9fff\n },\n {\n  begin: 0xe000,\n  end: 0xf8ff\n },\n {\n  begin: 0x31c0,\n  end: 0x31ef\n },\n {\n  begin: 0xfb00,\n  end: 0xfb4f\n },\n {\n  begin: 0xfb50,\n  end: 0xfdff\n },\n {\n  begin: 0xfe20,\n  end: 0xfe2f\n },\n {\n  begin: 0xfe10,\n  end: 0xfe1f\n },\n {\n  begin: 0xfe50,\n  end: 0xfe6f\n },\n {\n  begin: 0xfe70,\n  end: 0xfeff\n },\n {\n  begin: 0xff00,\n  end: 0xffef\n },\n {\n  begin: 0xfff0,\n  end: 0xffff\n },\n {\n  begin: 0x0f00,\n  end: 0x0fff\n },\n {\n  begin: 0x0700,\n  end: 0x074f\n },\n {\n  begin: 0x0780,\n  end: 0x07bf\n },\n {\n  begin: 0x0d80,\n  end: 0x0dff\n },\n {\n  begin: 0x1000,\n  end: 0x109f\n },\n {\n  begin: 0x1200,\n  end: 0x137f\n },\n {\n  begin: 0x13a0,\n  end: 0x13ff\n },\n {\n  begin: 0x1400,\n  end: 0x167f\n },\n {\n  begin: 0x1680,\n  end: 0x169f\n },\n {\n  begin: 0x16a0,\n  end: 0x16ff\n },\n {\n  begin: 0x1780,\n  end: 0x17ff\n },\n {\n  begin: 0x1800,\n  end: 0x18af\n },\n {\n  begin: 0x2800,\n  end: 0x28ff\n },\n {\n  begin: 0xa000,\n  end: 0xa48f\n },\n {\n  begin: 0x1700,\n  end: 0x171f\n },\n {\n  begin: 0x10300,\n  end: 0x1032f\n },\n {\n  begin: 0x10330,\n  end: 0x1034f\n },\n {\n  begin: 0x10400,\n  end: 0x1044f\n },\n {\n  begin: 0x1d000,\n  end: 0x1d0ff\n },\n {\n  begin: 0x1d400,\n  end: 0x1d7ff\n },\n {\n  begin: 0xff000,\n  end: 0xffffd\n },\n {\n  begin: 0xfe00,\n  end: 0xfe0f\n },\n {\n  begin: 0xe0000,\n  end: 0xe007f\n },\n {\n  begin: 0x1900,\n  end: 0x194f\n },\n {\n  begin: 0x1950,\n  end: 0x197f\n },\n {\n  begin: 0x1980,\n  end: 0x19df\n },\n {\n  begin: 0x1a00,\n  end: 0x1a1f\n },\n {\n  begin: 0x2c00,\n  end: 0x2c5f\n },\n {\n  begin: 0x2d30,\n  end: 0x2d7f\n },\n {\n  begin: 0x4dc0,\n  end: 0x4dff\n },\n {\n  begin: 0xa800,\n  end: 0xa82f\n },\n {\n  begin: 0x10000,\n  end: 0x1007f\n },\n {\n  begin: 0x10140,\n  end: 0x1018f\n },\n {\n  begin: 0x10380,\n  end: 0x1039f\n },\n {\n  begin: 0x103a0,\n  end: 0x103df\n },\n {\n  begin: 0x10450,\n  end: 0x1047f\n },\n {\n  begin: 0x10480,\n  end: 0x104af\n },\n {\n  begin: 0x10800,\n  end: 0x1083f\n },\n {\n  begin: 0x10a00,\n  end: 0x10a5f\n },\n {\n  begin: 0x1d300,\n  end: 0x1d35f\n },\n {\n  begin: 0x12000,\n  end: 0x123ff\n },\n {\n  begin: 0x1d360,\n  end: 0x1d37f\n },\n {\n  begin: 0x1b80,\n  end: 0x1bbf\n },\n {\n  begin: 0x1c00,\n  end: 0x1c4f\n },\n {\n  begin: 0x1c50,\n  end: 0x1c7f\n },\n {\n  begin: 0xa880,\n  end: 0xa8df\n },\n {\n  begin: 0xa900,\n  end: 0xa92f\n },\n {\n  begin: 0xa930,\n  end: 0xa95f\n },\n {\n  begin: 0xaa00,\n  end: 0xaa5f\n },\n {\n  begin: 0x10190,\n  end: 0x101cf\n },\n {\n  begin: 0x101d0,\n  end: 0x101ff\n },\n {\n  begin: 0x102a0,\n  end: 0x102df\n },\n {\n  begin: 0x1f030,\n  end: 0x1f09f\n }\n];\nfunction getUnicodeRangeFor(value) {\n for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) {\n  var range = UnicodeRanges[i];\n  if (value >= range.begin && value < range.end) {\n   return i;\n  }\n }\n return -1;\n}\nfunction isRTLRangeFor(value) {\n var range = UnicodeRanges[13];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n range = UnicodeRanges[11];\n if (value >= range.begin && value < range.end) {\n  return true;\n }\n return false;\n}\nvar getNormalizedUnicodes = (0,_core_utils_js__WEBPACK_IMPORTED_MODULE_0__.getArrayLookupTableFactory)(function () {\n return [\n  \"\\u00A8\",\n  \"\\u0020\\u0308\",\n  \"\\u00AF\",\n  \"\\u0020\\u0304\",\n  \"\\u00B4\",\n  \"\\u0020\\u0301\",\n  \"\\u00B5\",\n  \"\\u03BC\",\n  \"\\u00B8\",\n  \"\\u0020\\u0327\",\n  \"\\u0132\",\n  \"\\u0049\\u004A\",\n  \"\\u0133\",\n  \"\\u0069\\u006A\",\n  \"\\u013F\",\n  \"\\u004C\\u00B7\",\n  \"\\u0140\",\n  \"\\u006C\\u00B7\",\n  \"\\u0149\",\n  \"\\u02BC\\u006E\",\n  \"\\u017F\",\n  \"\\u0073\",\n  \"\\u01C4\",\n  \"\\u0044\\u017D\",\n  \"\\u01C5\",\n  \"\\u0044\\u017E\",\n  \"\\u01C6\",\n  \"\\u0064\\u017E\",\n  \"\\u01C7\",\n  \"\\u004C\\u004A\",\n  \"\\u01C8\",\n  \"\\u004C\\u006A\",\n  \"\\u01C9\",\n  \"\\u006C\\u006A\",\n  \"\\u01CA\",\n  \"\\u004E\\u004A\",\n  \"\\u01CB\",\n  \"\\u004E\\u006A\",\n  \"\\u01CC\",\n  \"\\u006E\\u006A\",\n  \"\\u01F1\",\n  \"\\u0044\\u005A\",\n  \"\\u01F2\",\n  \"\\u0044\\u007A\",\n  \"\\u01F3\",\n  \"\\u0064\\u007A\",\n  \"\\u02D8\",\n  \"\\u0020\\u0306\",\n  \"\\u02D9\",\n  \"\\u0020\\u0307\",\n  \"\\u02DA\",\n  \"\\u0020\\u030A\",\n  \"\\u02DB\",\n  \"\\u0020\\u0328\",\n  \"\\u02DC\",\n  \"\\u0020\\u0303\",\n  \"\\u02DD\",\n  \"\\u0020\\u030B\",\n  \"\\u037A\",\n  \"\\u0020\\u0345\",\n  \"\\u0384\",\n  \"\\u0020\\u0301\",\n  \"\\u03D0\",\n  \"\\u03B2\",\n  \"\\u03D1\",\n  \"\\u03B8\",\n  \"\\u03D2\",\n  \"\\u03A5\",\n  \"\\u03D5\",\n  \"\\u03C6\",\n  \"\\u03D6\",\n  \"\\u03C0\",\n  \"\\u03F0\",\n  \"\\u03BA\",\n  \"\\u03F1\",\n  \"\\u03C1\",\n  \"\\u03F2\",\n  \"\\u03C2\",\n  \"\\u03F4\",\n  \"\\u0398\",\n  \"\\u03F5\",\n  \"\\u03B5\",\n  \"\\u03F9\",\n  \"\\u03A3\",\n  \"\\u0587\",\n  \"\\u0565\\u0582\",\n  \"\\u0675\",\n  \"\\u0627\\u0674\",\n  \"\\u0676\",\n  \"\\u0648\\u0674\",\n  \"\\u0677\",\n  \"\\u06C7\\u0674\",\n  \"\\u0678\",\n  \"\\u064A\\u0674\",\n  \"\\u0E33\",\n  \"\\u0E4D\\u0E32\",\n  \"\\u0EB3\",\n  \"\\u0ECD\\u0EB2\",\n  \"\\u0EDC\",\n  \"\\u0EAB\\u0E99\",\n  \"\\u0EDD\",\n  \"\\u0EAB\\u0EA1\",\n  \"\\u0F77\",\n  \"\\u0FB2\\u0F81\",\n  \"\\u0F79\",\n  \"\\u0FB3\\u0F81\",\n  \"\\u1E9A\",\n  \"\\u0061\\u02BE\",\n  \"\\u1FBD\",\n  \"\\u0020\\u0313\",\n  \"\\u1FBF\",\n  \"\\u0020\\u0313\",\n  \"\\u1FC0\",\n  \"\\u0020\\u0342\",\n  \"\\u1FFE\",\n  \"\\u0020\\u0314\",\n  \"\\u2002\",\n  \"\\u0020\",\n  \"\\u2003\",\n  \"\\u0020\",\n  \"\\u2004\",\n  \"\\u0020\",\n  \"\\u2005\",\n  \"\\u0020\",\n  \"\\u2006\",\n  \"\\u0020\",\n  \"\\u2008\",\n  \"\\u0020\",\n  \"\\u2009\",\n  \"\\u0020\",\n  \"\\u200A\",\n  \"\\u0020\",\n  \"\\u2017\",\n  \"\\u0020\\u0333\",\n  \"\\u2024\",\n  \"\\u002E\",\n  \"\\u2025\",\n  \"\\u002E\\u002E\",\n  \"\\u2026\",\n  \"\\u002E\\u002E\\u002E\",\n  \"\\u2033\",\n  \"\\u2032\\u2032\",\n  \"\\u2034\",\n  \"\\u2032\\u2032\\u2032\",\n  \"\\u2036\",\n  \"\\u2035\\u2035\",\n  \"\\u2037\",\n  \"\\u2035\\u2035\\u2035\",\n  \"\\u203C\",\n  \"\\u0021\\u0021\",\n  \"\\u203E\",\n  \"\\u0020\\u0305\",\n  \"\\u2047\",\n  \"\\u003F\\u003F\",\n  \"\\u2048\",\n  \"\\u003F\\u0021\",\n  \"\\u2049\",\n  \"\\u0021\\u003F\",\n  \"\\u2057\",\n  \"\\u2032\\u2032\\u2032\\u2032\",\n  \"\\u205F\",\n  \"\\u0020\",\n  \"\\u20A8\",\n  \"\\u0052\\u0073\",\n  \"\\u2100\",\n  \"\\u0061\\u002F\\u0063\",\n  \"\\u2101\",\n  \"\\u0061\\u002F\\u0073\",\n  \"\\u2103\",\n  \"\\u00B0\\u0043\",\n  \"\\u2105\",\n  \"\\u0063\\u002F\\u006F\",\n  \"\\u2106\",\n  \"\\u0063\\u002F\\u0075\",\n  \"\\u2107\",\n  \"\\u0190\",\n  \"\\u2109\",\n  \"\\u00B0\\u0046\",\n  \"\\u2116\",\n  \"\\u004E\\u006F\",\n  \"\\u2121\",\n  \"\\u0054\\u0045\\u004C\",\n  \"\\u2135\",\n  \"\\u05D0\",\n  \"\\u2136\",\n  \"\\u05D1\",\n  \"\\u2137\",\n  \"\\u05D2\",\n  \"\\u2138\",\n  \"\\u05D3\",\n  \"\\u213B\",\n  \"\\u0046\\u0041\\u0058\",\n  \"\\u2160\",\n  \"\\u0049\",\n  \"\\u2161\",\n  \"\\u0049\\u0049\",\n  \"\\u2162\",\n  \"\\u0049\\u0049\\u0049\",\n  \"\\u2163\",\n  \"\\u0049\\u0056\",\n  \"\\u2164\",\n  \"\\u0056\",\n  \"\\u2165\",\n  \"\\u0056\\u0049\",\n  \"\\u2166\",\n  \"\\u0056\\u0049\\u0049\",\n  \"\\u2167\",\n  \"\\u0056\\u0049\\u0049\\u0049\",\n  \"\\u2168\",\n  \"\\u0049\\u0058\",\n  \"\\u2169\",\n  \"\\u0058\",\n  \"\\u216A\",\n  \"\\u0058\\u0049\",\n  \"\\u216B\",\n  \"\\u0058\\u0049\\u0049\",\n  \"\\u216C\",\n  \"\\u004C\",\n  \"\\u216D\",\n  \"\\u0043\",\n  \"\\u216E\",\n  \"\\u0044\",\n  \"\\u216F\",\n  \"\\u004D\",\n  \"\\u2170\",\n  \"\\u0069\",\n  \"\\u2171\",\n  \"\\u0069\\u0069\",\n  \"\\u2172\",\n  \"\\u0069\\u0069\\u0069\",\n  \"\\u2173\",\n  \"\\u0069\\u0076\",\n  \"\\u2174\",\n  \"\\u0076\",\n  \"\\u2175\",\n  \"\\u0076\\u0069\",\n  \"\\u2176\",\n  \"\\u0076\\u0069\\u0069\",\n  \"\\u2177\",\n  \"\\u0076\\u0069\\u0069\\u0069\",\n  \"\\u2178\",\n  \"\\u0069\\u0078\",\n  \"\\u2179\",\n  \"\\u0078\",\n  \"\\u217A\",\n  \"\\u0078\\u0069\",\n  \"\\u217B\",\n  \"\\u0078\\u0069\\u0069\",\n  \"\\u217C\",\n  \"\\u006C\",\n  \"\\u217D\",\n  \"\\u0063\",\n  \"\\u217E\",\n  \"\\u0064\",\n  \"\\u217F\",\n  \"\\u006D\",\n  \"\\u222C\",\n  \"\\u222B\\u222B\",\n  \"\\u222D\",\n  \"\\u222B\\u222B\\u222B\",\n  \"\\u222F\",\n  \"\\u222E\\u222E\",\n  \"\\u2230\",\n  \"\\u222E\\u222E\\u222E\",\n  \"\\u2474\",\n  \"\\u0028\\u0031\\u0029\",\n  \"\\u2475\",\n  \"\\u0028\\u0032\\u0029\",\n  \"\\u2476\",\n  \"\\u0028\\u0033\\u0029\",\n  \"\\u2477\",\n  \"\\u0028\\u0034\\u0029\",\n  \"\\u2478\",\n  \"\\u0028\\u0035\\u0029\",\n  \"\\u2479\",\n  \"\\u0028\\u0036\\u0029\",\n  \"\\u247A\",\n  \"\\u0028\\u0037\\u0029\",\n  \"\\u247B\",\n  \"\\u0028\\u0038\\u0029\",\n  \"\\u247C\",\n  \"\\u0028\\u0039\\u0029\",\n  \"\\u247D\",\n  \"\\u0028\\u0031\\u0030\\u0029\",\n  \"\\u247E\",\n  \"\\u0028\\u0031\\u0031\\u0029\",\n  \"\\u247F\",\n  \"\\u0028\\u0031\\u0032\\u0029\",\n  \"\\u2480\",\n  \"\\u0028\\u0031\\u0033\\u0029\",\n  \"\\u2481\",\n  \"\\u0028\\u0031\\u0034\\u0029\",\n  \"\\u2482\",\n  \"\\u0028\\u0031\\u0035\\u0029\",\n  \"\\u2483\",\n  \"\\u0028\\u0031\\u0036\\u0029\",\n  \"\\u2484\",\n  \"\\u0028\\u0031\\u0037\\u0029\",\n  \"\\u2485\",\n  \"\\u0028\\u0031\\u0038\\u0029\",\n  \"\\u2486\",\n  \"\\u0028\\u0031\\u0039\\u0029\",\n  \"\\u2487\",\n  \"\\u0028\\u0032\\u0030\\u0029\",\n  \"\\u2488\",\n  \"\\u0031\\u002E\",\n  \"\\u2489\",\n  \"\\u0032\\u002E\",\n  \"\\u248A\",\n  \"\\u0033\\u002E\",\n  \"\\u248B\",\n  \"\\u0034\\u002E\",\n  \"\\u248C\",\n  \"\\u0035\\u002E\",\n  \"\\u248D\",\n  \"\\u0036\\u002E\",\n  \"\\u248E\",\n  \"\\u0037\\u002E\",\n  \"\\u248F\",\n  \"\\u0038\\u002E\",\n  \"\\u2490\",\n  \"\\u0039\\u002E\",\n  \"\\u2491\",\n  \"\\u0031\\u0030\\u002E\",\n  \"\\u2492\",\n  \"\\u0031\\u0031\\u002E\",\n  \"\\u2493\",\n  \"\\u0031\\u0032\\u002E\",\n  \"\\u2494\",\n  \"\\u0031\\u0033\\u002E\",\n  \"\\u2495\",\n  \"\\u0031\\u0034\\u002E\",\n  \"\\u2496\",\n  \"\\u0031\\u0035\\u002E\",\n  \"\\u2497\",\n  \"\\u0031\\u0036\\u002E\",\n  \"\\u2498\",\n  \"\\u0031\\u0037\\u002E\",\n  \"\\u2499\",\n  \"\\u0031\\u0038\\u002E\",\n  \"\\u249A\",\n  \"\\u0031\\u0039\\u002E\",\n  \"\\u249B\",\n  \"\\u0032\\u0030\\u002E\",\n  \"\\u249C\",\n  \"\\u0028\\u0061\\u0029\",\n  \"\\u249D\",\n  \"\\u0028\\u0062\\u0029\",\n  \"\\u249E\",\n  \"\\u0028\\u0063\\u0029\",\n  \"\\u249F\",\n  \"\\u0028\\u0064\\u0029\",\n  \"\\u24A0\",\n  \"\\u0028\\u0065\\u0029\",\n  \"\\u24A1\",\n  \"\\u0028\\u0066\\u0029\",\n  \"\\u24A2\",\n  \"\\u0028\\u0067\\u0029\",\n  \"\\u24A3\",\n  \"\\u0028\\u0068\\u0029\",\n  \"\\u24A4\",\n  \"\\u0028\\u0069\\u0029\",\n  \"\\u24A5\",\n  \"\\u0028\\u006A\\u0029\",\n  \"\\u24A6\",\n  \"\\u0028\\u006B\\u0029\",\n  \"\\u24A7\",\n  \"\\u0028\\u006C\\u0029\",\n  \"\\u24A8\",\n  \"\\u0028\\u006D\\u0029\",\n  \"\\u24A9\",\n  \"\\u0028\\u006E\\u0029\",\n  \"\\u24AA\",\n  \"\\u0028\\u006F\\u0029\",\n  \"\\u24AB\",\n  \"\\u0028\\u0070\\u0029\",\n  \"\\u24AC\",\n  \"\\u0028\\u0071\\u0029\",\n  \"\\u24AD\",\n  \"\\u0028\\u0072\\u0029\",\n  \"\\u24AE\",\n  \"\\u0028\\u0073\\u0029\",\n  \"\\u24AF\",\n  \"\\u0028\\u0074\\u0029\",\n  \"\\u24B0\",\n  \"\\u0028\\u0075\\u0029\",\n  \"\\u24B1\",\n  \"\\u0028\\u0076\\u0029\",\n  \"\\u24B2\",\n  \"\\u0028\\u0077\\u0029\",\n  \"\\u24B3\",\n  \"\\u0028\\u0078\\u0029\",\n  \"\\u24B4\",\n  \"\\u0028\\u0079\\u0029\",\n  \"\\u24B5\",\n  \"\\u0028\\u007A\\u0029\",\n  \"\\u2A0C\",\n  \"\\u222B\\u222B\\u222B\\u222B\",\n  \"\\u2A74\",\n  \"\\u003A\\u003A\\u003D\",\n  \"\\u2A75\",\n  \"\\u003D\\u003D\",\n  \"\\u2A76\",\n  \"\\u003D\\u003D\\u003D\",\n  \"\\u2E9F\",\n  \"\\u6BCD\",\n  \"\\u2EF3\",\n  \"\\u9F9F\",\n  \"\\u2F00\",\n  \"\\u4E00\",\n  \"\\u2F01\",\n  \"\\u4E28\",\n  \"\\u2F02\",\n  \"\\u4E36\",\n  \"\\u2F03\",\n  \"\\u4E3F\",\n  \"\\u2F04\",\n  \"\\u4E59\",\n  \"\\u2F05\",\n  \"\\u4E85\",\n  \"\\u2F06\",\n  \"\\u4E8C\",\n  \"\\u2F07\",\n  \"\\u4EA0\",\n  \"\\u2F08\",\n  \"\\u4EBA\",\n  \"\\u2F09\",\n  \"\\u513F\",\n  \"\\u2F0A\",\n  \"\\u5165\",\n  \"\\u2F0B\",\n  \"\\u516B\",\n  \"\\u2F0C\",\n  \"\\u5182\",\n  \"\\u2F0D\",\n  \"\\u5196\",\n  \"\\u2F0E\",\n  \"\\u51AB\",\n  \"\\u2F0F\",\n  \"\\u51E0\",\n  \"\\u2F10\",\n  \"\\u51F5\",\n  \"\\u2F11\",\n  \"\\u5200\",\n  \"\\u2F12\",\n  \"\\u529B\",\n  \"\\u2F13\",\n  \"\\u52F9\",\n  \"\\u2F14\",\n  \"\\u5315\",\n  \"\\u2F15\",\n  \"\\u531A\",\n  \"\\u2F16\",\n  \"\\u5338\",\n  \"\\u2F17\",\n  \"\\u5341\",\n  \"\\u2F18\",\n  \"\\u535C\",\n  \"\\u2F19\",\n  \"\\u5369\",\n  \"\\u2F1A\",\n  \"\\u5382\",\n  \"\\u2F1B\",\n  \"\\u53B6\",\n  \"\\u2F1C\",\n  \"\\u53C8\",\n  \"\\u2F1D\",\n  \"\\u53E3\",\n  \"\\u2F1E\",\n  \"\\u56D7\",\n  \"\\u2F1F\",\n  \"\\u571F\",\n  \"\\u2F20\",\n  \"\\u58EB\",\n  \"\\u2F21\",\n  \"\\u5902\",\n  \"\\u2F22\",\n  \"\\u590A\",\n  \"\\u2F23\",\n  \"\\u5915\",\n  \"\\u2F24\",\n  \"\\u5927\",\n  \"\\u2F25\",\n  \"\\u5973\",\n  \"\\u2F26\",\n  \"\\u5B50\",\n  \"\\u2F27\",\n  \"\\u5B80\",\n  \"\\u2F28\",\n  \"\\u5BF8\",\n  \"\\u2F29\",\n  \"\\u5C0F\",\n  \"\\u2F2A\",\n  \"\\u5C22\",\n  \"\\u2F2B\",\n  \"\\u5C38\",\n  \"\\u2F2C\",\n  \"\\u5C6E\",\n  \"\\u2F2D\",\n  \"\\u5C71\",\n  \"\\u2F2E\",\n  \"\\u5DDB\",\n  \"\\u2F2F\",\n  \"\\u5DE5\",\n  \"\\u2F30\",\n  \"\\u5DF1\",\n  \"\\u2F31\",\n  \"\\u5DFE\",\n  \"\\u2F32\",\n  \"\\u5E72\",\n  \"\\u2F33\",\n  \"\\u5E7A\",\n  \"\\u2F34\",\n  \"\\u5E7F\",\n  \"\\u2F35\",\n  \"\\u5EF4\",\n  \"\\u2F36\",\n  \"\\u5EFE\",\n  \"\\u2F37\",\n  \"\\u5F0B\",\n  \"\\u2F38\",\n  \"\\u5F13\",\n  \"\\u2F39\",\n  \"\\u5F50\",\n  \"\\u2F3A\",\n  \"\\u5F61\",\n  \"\\u2F3B\",\n  \"\\u5F73\",\n  \"\\u2F3C\",\n  \"\\u5FC3\",\n  \"\\u2F3D\",\n  \"\\u6208\",\n  \"\\u2F3E\",\n  \"\\u6236\",\n  \"\\u2F3F\",\n  \"\\u624B\",\n  \"\\u2F40\",\n  \"\\u652F\",\n  \"\\u2F41\",\n  \"\\u6534\",\n  \"\\u2F42\",\n  \"\\u6587\",\n  \"\\u2F43\",\n  \"\\u6597\",\n  \"\\u2F44\",\n  \"\\u65A4\",\n  \"\\u2F45\",\n  \"\\u65B9\",\n  \"\\u2F46\",\n  \"\\u65E0\",\n  \"\\u2F47\",\n  \"\\u65E5\",\n  \"\\u2F48\",\n  \"\\u66F0\",\n  \"\\u2F49\",\n  \"\\u6708\",\n  \"\\u2F4A\",\n  \"\\u6728\",\n  \"\\u2F4B\",\n  \"\\u6B20\",\n  \"\\u2F4C\",\n  \"\\u6B62\",\n  \"\\u2F4D\",\n  \"\\u6B79\",\n  \"\\u2F4E\",\n  \"\\u6BB3\",\n  \"\\u2F4F\",\n  \"\\u6BCB\",\n  \"\\u2F50\",\n  \"\\u6BD4\",\n  \"\\u2F51\",\n  \"\\u6BDB\",\n  \"\\u2F52\",\n  \"\\u6C0F\",\n  \"\\u2F53\",\n  \"\\u6C14\",\n  \"\\u2F54\",\n  \"\\u6C34\",\n  \"\\u2F55\",\n  \"\\u706B\",\n  \"\\u2F56\",\n  \"\\u722A\",\n  \"\\u2F57\",\n  \"\\u7236\",\n  \"\\u2F58\",\n  \"\\u723B\",\n  \"\\u2F59\",\n  \"\\u723F\",\n  \"\\u2F5A\",\n  \"\\u7247\",\n  \"\\u2F5B\",\n  \"\\u7259\",\n  \"\\u2F5C\",\n  \"\\u725B\",\n  \"\\u2F5D\",\n  \"\\u72AC\",\n  \"\\u2F5E\",\n  \"\\u7384\",\n  \"\\u2F5F\",\n  \"\\u7389\",\n  \"\\u2F60\",\n  \"\\u74DC\",\n  \"\\u2F61\",\n  \"\\u74E6\",\n  \"\\u2F62\",\n  \"\\u7518\",\n  \"\\u2F63\",\n  \"\\u751F\",\n  \"\\u2F64\",\n  \"\\u7528\",\n  \"\\u2F65\",\n  \"\\u7530\",\n  \"\\u2F66\",\n  \"\\u758B\",\n  \"\\u2F67\",\n  \"\\u7592\",\n  \"\\u2F68\",\n  \"\\u7676\",\n  \"\\u2F69\",\n  \"\\u767D\",\n  \"\\u2F6A\",\n  \"\\u76AE\",\n  \"\\u2F6B\",\n  \"\\u76BF\",\n  \"\\u2F6C\",\n  \"\\u76EE\",\n  \"\\u2F6D\",\n  \"\\u77DB\",\n  \"\\u2F6E\",\n  \"\\u77E2\",\n  \"\\u2F6F\",\n  \"\\u77F3\",\n  \"\\u2F70\",\n  \"\\u793A\",\n  \"\\u2F71\",\n  \"\\u79B8\",\n  \"\\u2F72\",\n  \"\\u79BE\",\n  \"\\u2F73\",\n  \"\\u7A74\",\n  \"\\u2F74\",\n  \"\\u7ACB\",\n  \"\\u2F75\",\n  \"\\u7AF9\",\n  \"\\u2F76\",\n  \"\\u7C73\",\n  \"\\u2F77\",\n  \"\\u7CF8\",\n  \"\\u2F78\",\n  \"\\u7F36\",\n  \"\\u2F79\",\n  \"\\u7F51\",\n  \"\\u2F7A\",\n  \"\\u7F8A\",\n  \"\\u2F7B\",\n  \"\\u7FBD\",\n  \"\\u2F7C\",\n  \"\\u8001\",\n  \"\\u2F7D\",\n  \"\\u800C\",\n  \"\\u2F7E\",\n  \"\\u8012\",\n  \"\\u2F7F\",\n  \"\\u8033\",\n  \"\\u2F80\",\n  \"\\u807F\",\n  \"\\u2F81\",\n  \"\\u8089\",\n  \"\\u2F82\",\n  \"\\u81E3\",\n  \"\\u2F83\",\n  \"\\u81EA\",\n  \"\\u2F84\",\n  \"\\u81F3\",\n  \"\\u2F85\",\n  \"\\u81FC\",\n  \"\\u2F86\",\n  \"\\u820C\",\n  \"\\u2F87\",\n  \"\\u821B\",\n  \"\\u2F88\",\n  \"\\u821F\",\n  \"\\u2F89\",\n  \"\\u826E\",\n  \"\\u2F8A\",\n  \"\\u8272\",\n  \"\\u2F8B\",\n  \"\\u8278\",\n  \"\\u2F8C\",\n  \"\\u864D\",\n  \"\\u2F8D\",\n  \"\\u866B\",\n  \"\\u2F8E\",\n  \"\\u8840\",\n  \"\\u2F8F\",\n  \"\\u884C\",\n  \"\\u2F90\",\n  \"\\u8863\",\n  \"\\u2F91\",\n  \"\\u897E\",\n  \"\\u2F92\",\n  \"\\u898B\",\n  \"\\u2F93\",\n  \"\\u89D2\",\n  \"\\u2F94\",\n  \"\\u8A00\",\n  \"\\u2F95\",\n  \"\\u8C37\",\n  \"\\u2F96\",\n  \"\\u8C46\",\n  \"\\u2F97\",\n  \"\\u8C55\",\n  \"\\u2F98\",\n  \"\\u8C78\",\n  \"\\u2F99\",\n  \"\\u8C9D\",\n  \"\\u2F9A\",\n  \"\\u8D64\",\n  \"\\u2F9B\",\n  \"\\u8D70\",\n  \"\\u2F9C\",\n  \"\\u8DB3\",\n  \"\\u2F9D\",\n  \"\\u8EAB\",\n  \"\\u2F9E\",\n  \"\\u8ECA\",\n  \"\\u2F9F\",\n  \"\\u8F9B\",\n  \"\\u2FA0\",\n  \"\\u8FB0\",\n  \"\\u2FA1\",\n  \"\\u8FB5\",\n  \"\\u2FA2\",\n  \"\\u9091\",\n  \"\\u2FA3\",\n  \"\\u9149\",\n  \"\\u2FA4\",\n  \"\\u91C6\",\n  \"\\u2FA5\",\n  \"\\u91CC\",\n  \"\\u2FA6\",\n  \"\\u91D1\",\n  \"\\u2FA7\",\n  \"\\u9577\",\n  \"\\u2FA8\",\n  \"\\u9580\",\n  \"\\u2FA9\",\n  \"\\u961C\",\n  \"\\u2FAA\",\n  \"\\u96B6\",\n  \"\\u2FAB\",\n  \"\\u96B9\",\n  \"\\u2FAC\",\n  \"\\u96E8\",\n  \"\\u2FAD\",\n  \"\\u9751\",\n  \"\\u2FAE\",\n  \"\\u975E\",\n  \"\\u2FAF\",\n  \"\\u9762\",\n  \"\\u2FB0\",\n  \"\\u9769\",\n  \"\\u2FB1\",\n  \"\\u97CB\",\n  \"\\u2FB2\",\n  \"\\u97ED\",\n  \"\\u2FB3\",\n  \"\\u97F3\",\n  \"\\u2FB4\",\n  \"\\u9801\",\n  \"\\u2FB5\",\n  \"\\u98A8\",\n  \"\\u2FB6\",\n  \"\\u98DB\",\n  \"\\u2FB7\",\n  \"\\u98DF\",\n  \"\\u2FB8\",\n  \"\\u9996\",\n  \"\\u2FB9\",\n  \"\\u9999\",\n  \"\\u2FBA\",\n  \"\\u99AC\",\n  \"\\u2FBB\",\n  \"\\u9AA8\",\n  \"\\u2FBC\",\n  \"\\u9AD8\",\n  \"\\u2FBD\",\n  \"\\u9ADF\",\n  \"\\u2FBE\",\n  \"\\u9B25\",\n  \"\\u2FBF\",\n  \"\\u9B2F\",\n  \"\\u2FC0\",\n  \"\\u9B32\",\n  \"\\u2FC1\",\n  \"\\u9B3C\",\n  \"\\u2FC2\",\n  \"\\u9B5A\",\n  \"\\u2FC3\",\n  \"\\u9CE5\",\n  \"\\u2FC4\",\n  \"\\u9E75\",\n  \"\\u2FC5\",\n  \"\\u9E7F\",\n  \"\\u2FC6\",\n  \"\\u9EA5\",\n  \"\\u2FC7\",\n  \"\\u9EBB\",\n  \"\\u2FC8\",\n  \"\\u9EC3\",\n  \"\\u2FC9\",\n  \"\\u9ECD\",\n  \"\\u2FCA\",\n  \"\\u9ED1\",\n  \"\\u2FCB\",\n  \"\\u9EF9\",\n  \"\\u2FCC\",\n  \"\\u9EFD\",\n  \"\\u2FCD\",\n  \"\\u9F0E\",\n  \"\\u2FCE\",\n  \"\\u9F13\",\n  \"\\u2FCF\",\n  \"\\u9F20\",\n  \"\\u2FD0\",\n  \"\\u9F3B\",\n  \"\\u2FD1\",\n  \"\\u9F4A\",\n  \"\\u2FD2\",\n  \"\\u9F52\",\n  \"\\u2FD3\",\n  \"\\u9F8D\",\n  \"\\u2FD4\",\n  \"\\u9F9C\",\n  \"\\u2FD5\",\n  \"\\u9FA0\",\n  \"\\u3036\",\n  \"\\u3012\",\n  \"\\u3038\",\n  \"\\u5341\",\n  \"\\u3039\",\n  \"\\u5344\",\n  \"\\u303A\",\n  \"\\u5345\",\n  \"\\u309B\",\n  \"\\u0020\\u3099\",\n  \"\\u309C\",\n  \"\\u0020\\u309A\",\n  \"\\u3131\",\n  \"\\u1100\",\n  \"\\u3132\",\n  \"\\u1101\",\n  \"\\u3133\",\n  \"\\u11AA\",\n  \"\\u3134\",\n  \"\\u1102\",\n  \"\\u3135\",\n  \"\\u11AC\",\n  \"\\u3136\",\n  \"\\u11AD\",\n  \"\\u3137\",\n  \"\\u1103\",\n  \"\\u3138\",\n  \"\\u1104\",\n  \"\\u3139\",\n  \"\\u1105\",\n  \"\\u313A\",\n  \"\\u11B0\",\n  \"\\u313B\",\n  \"\\u11B1\",\n  \"\\u313C\",\n  \"\\u11B2\",\n  \"\\u313D\",\n  \"\\u11B3\",\n  \"\\u313E\",\n  \"\\u11B4\",\n  \"\\u313F\",\n  \"\\u11B5\",\n  \"\\u3140\",\n  \"\\u111A\",\n  \"\\u3141\",\n  \"\\u1106\",\n  \"\\u3142\",\n  \"\\u1107\",\n  \"\\u3143\",\n  \"\\u1108\",\n  \"\\u3144\",\n  \"\\u1121\",\n  \"\\u3145\",\n  \"\\u1109\",\n  \"\\u3146\",\n  \"\\u110A\",\n  \"\\u3147\",\n  \"\\u110B\",\n  \"\\u3148\",\n  \"\\u110C\",\n  \"\\u3149\",\n  \"\\u110D\",\n  \"\\u314A\",\n  \"\\u110E\",\n  \"\\u314B\",\n  \"\\u110F\",\n  \"\\u314C\",\n  \"\\u1110\",\n  \"\\u314D\",\n  \"\\u1111\",\n  \"\\u314E\",\n  \"\\u1112\",\n  \"\\u314F\",\n  \"\\u1161\",\n  \"\\u3150\",\n  \"\\u1162\",\n  \"\\u3151\",\n  \"\\u1163\",\n  \"\\u3152\",\n  \"\\u1164\",\n  \"\\u3153\",\n  \"\\u1165\",\n  \"\\u3154\",\n  \"\\u1166\",\n  \"\\u3155\",\n  \"\\u1167\",\n  \"\\u3156\",\n  \"\\u1168\",\n  \"\\u3157\",\n  \"\\u1169\",\n  \"\\u3158\",\n  \"\\u116A\",\n  \"\\u3159\",\n  \"\\u116B\",\n  \"\\u315A\",\n  \"\\u116C\",\n  \"\\u315B\",\n  \"\\u116D\",\n  \"\\u315C\",\n  \"\\u116E\",\n  \"\\u315D\",\n  \"\\u116F\",\n  \"\\u315E\",\n  \"\\u1170\",\n  \"\\u315F\",\n  \"\\u1171\",\n  \"\\u3160\",\n  \"\\u1172\",\n  \"\\u3161\",\n  \"\\u1173\",\n  \"\\u3162\",\n  \"\\u1174\",\n  \"\\u3163\",\n  \"\\u1175\",\n  \"\\u3164\",\n  \"\\u1160\",\n  \"\\u3165\",\n  \"\\u1114\",\n  \"\\u3166\",\n  \"\\u1115\",\n  \"\\u3167\",\n  \"\\u11C7\",\n  \"\\u3168\",\n  \"\\u11C8\",\n  \"\\u3169\",\n  \"\\u11CC\",\n  \"\\u316A\",\n  \"\\u11CE\",\n  \"\\u316B\",\n  \"\\u11D3\",\n  \"\\u316C\",\n  \"\\u11D7\",\n  \"\\u316D\",\n  \"\\u11D9\",\n  \"\\u316E\",\n  \"\\u111C\",\n  \"\\u316F\",\n  \"\\u11DD\",\n  \"\\u3170\",\n  \"\\u11DF\",\n  \"\\u3171\",\n  \"\\u111D\",\n  \"\\u3172\",\n  \"\\u111E\",\n  \"\\u3173\",\n  \"\\u1120\",\n  \"\\u3174\",\n  \"\\u1122\",\n  \"\\u3175\",\n  \"\\u1123\",\n  \"\\u3176\",\n  \"\\u1127\",\n  \"\\u3177\",\n  \"\\u1129\",\n  \"\\u3178\",\n  \"\\u112B\",\n  \"\\u3179\",\n  \"\\u112C\",\n  \"\\u317A\",\n  \"\\u112D\",\n  \"\\u317B\",\n  \"\\u112E\",\n  \"\\u317C\",\n  \"\\u112F\",\n  \"\\u317D\",\n  \"\\u1132\",\n  \"\\u317E\",\n  \"\\u1136\",\n  \"\\u317F\",\n  \"\\u1140\",\n  \"\\u3180\",\n  \"\\u1147\",\n  \"\\u3181\",\n  \"\\u114C\",\n  \"\\u3182\",\n  \"\\u11F1\",\n  \"\\u3183\",\n  \"\\u11F2\",\n  \"\\u3184\",\n  \"\\u1157\",\n  \"\\u3185\",\n  \"\\u1158\",\n  \"\\u3186\",\n  \"\\u1159\",\n  \"\\u3187\",\n  \"\\u1184\",\n  \"\\u3188\",\n  \"\\u1185\",\n  \"\\u3189\",\n  \"\\u1188\",\n  \"\\u318A\",\n  \"\\u1191\",\n  \"\\u318B\",\n  \"\\u1192\",\n  \"\\u318C\",\n  \"\\u1194\",\n  \"\\u318D\",\n  \"\\u119E\",\n  \"\\u318E\",\n  \"\\u11A1\",\n  \"\\u3200\",\n  \"\\u0028\\u1100\\u0029\",\n  \"\\u3201\",\n  \"\\u0028\\u1102\\u0029\",\n  \"\\u3202\",\n  \"\\u0028\\u1103\\u0029\",\n  \"\\u3203\",\n  \"\\u0028\\u1105\\u0029\",\n  \"\\u3204\",\n  \"\\u0028\\u1106\\u0029\",\n  \"\\u3205\",\n  \"\\u0028\\u1107\\u0029\",\n  \"\\u3206\",\n  \"\\u0028\\u1109\\u0029\",\n  \"\\u3207\",\n  \"\\u0028\\u110B\\u0029\",\n  \"\\u3208\",\n  \"\\u0028\\u110C\\u0029\",\n  \"\\u3209\",\n  \"\\u0028\\u110E\\u0029\",\n  \"\\u320A\",\n  \"\\u0028\\u110F\\u0029\",\n  \"\\u320B\",\n  \"\\u0028\\u1110\\u0029\",\n  \"\\u320C\",\n  \"\\u0028\\u1111\\u0029\",\n  \"\\u320D\",\n  \"\\u0028\\u1112\\u0029\",\n  \"\\u320E\",\n  \"\\u0028\\u1100\\u1161\\u0029\",\n  \"\\u320F\",\n  \"\\u0028\\u1102\\u1161\\u0029\",\n  \"\\u3210\",\n  \"\\u0028\\u1103\\u1161\\u0029\",\n  \"\\u3211\",\n  \"\\u0028\\u1105\\u1161\\u0029\",\n  \"\\u3212\",\n  \"\\u0028\\u1106\\u1161\\u0029\",\n  \"\\u3213\",\n  \"\\u0028\\u1107\\u1161\\u0029\",\n  \"\\u3214\",\n  \"\\u0028\\u1109\\u1161\\u0029\",\n  \"\\u3215\",\n  \"\\u0028\\u110B\\u1161\\u0029\",\n  \"\\u3216\",\n  \"\\u0028\\u110C\\u1161\\u0029\",\n  \"\\u3217\",\n  \"\\u0028\\u110E\\u1161\\u0029\",\n  \"\\u3218\",\n  \"\\u0028\\u110F\\u1161\\u0029\",\n  \"\\u3219\",\n  \"\\u0028\\u1110\\u1161\\u0029\",\n  \"\\u321A\",\n  \"\\u0028\\u1111\\u1161\\u0029\",\n  \"\\u321B\",\n  \"\\u0028\\u1112\\u1161\\u0029\",\n  \"\\u321C\",\n  \"\\u0028\\u110C\\u116E\\u0029\",\n  \"\\u321D\",\n  \"\\u0028\\u110B\\u1169\\u110C\\u1165\\u11AB\\u0029\",\n  \"\\u321E\",\n  \"\\u0028\\u110B\\u1169\\u1112\\u116E\\u0029\",\n  \"\\u3220\",\n  \"\\u0028\\u4E00\\u0029\",\n  \"\\u3221\",\n  \"\\u0028\\u4E8C\\u0029\",\n  \"\\u3222\",\n  \"\\u0028\\u4E09\\u0029\",\n  \"\\u3223\",\n  \"\\u0028\\u56DB\\u0029\",\n  \"\\u3224\",\n  \"\\u0028\\u4E94\\u0029\",\n  \"\\u3225\",\n  \"\\u0028\\u516D\\u0029\",\n  \"\\u3226\",\n  \"\\u0028\\u4E03\\u0029\",\n  \"\\u3227\",\n  \"\\u0028\\u516B\\u0029\",\n  \"\\u3228\",\n  \"\\u0028\\u4E5D\\u0029\",\n  \"\\u3229\",\n  \"\\u0028\\u5341\\u0029\",\n  \"\\u322A\",\n  \"\\u0028\\u6708\\u0029\",\n  \"\\u322B\",\n  \"\\u0028\\u706B\\u0029\",\n  \"\\u322C\",\n  \"\\u0028\\u6C34\\u0029\",\n  \"\\u322D\",\n  \"\\u0028\\u6728\\u0029\",\n  \"\\u322E\",\n  \"\\u0028\\u91D1\\u0029\",\n  \"\\u322F\",\n  \"\\u0028\\u571F\\u0029\",\n  \"\\u3230\",\n  \"\\u0028\\u65E5\\u0029\",\n  \"\\u3231\",\n  \"\\u0028\\u682A\\u0029\",\n  \"\\u3232\",\n  \"\\u0028\\u6709\\u0029\",\n  \"\\u3233\",\n  \"\\u0028\\u793E\\u0029\",\n  \"\\u3234\",\n  \"\\u0028\\u540D\\u0029\",\n  \"\\u3235\",\n  \"\\u0028\\u7279\\u0029\",\n  \"\\u3236\",\n  \"\\u0028\\u8CA1\\u0029\",\n  \"\\u3237\",\n  \"\\u0028\\u795D\\u0029\",\n  \"\\u3238\",\n  \"\\u0028\\u52B4\\u0029\",\n  \"\\u3239\",\n  \"\\u0028\\u4EE3\\u0029\",\n  \"\\u323A\",\n  \"\\u0028\\u547C\\u0029\",\n  \"\\u323B\",\n  \"\\u0028\\u5B66\\u0029\",\n  \"\\u323C\",\n  \"\\u0028\\u76E3\\u0029\",\n  \"\\u323D\",\n  \"\\u0028\\u4F01\\u0029\",\n  \"\\u323E\",\n  \"\\u0028\\u8CC7\\u0029\",\n  \"\\u323F\",\n  \"\\u0028\\u5354\\u0029\",\n  \"\\u3240\",\n  \"\\u0028\\u796D\\u0029\",\n  \"\\u3241\",\n  \"\\u0028\\u4F11\\u0029\",\n  \"\\u3242\",\n  \"\\u0028\\u81EA\\u0029\",\n  \"\\u3243\",\n  \"\\u0028\\u81F3\\u0029\",\n  \"\\u32C0\",\n  \"\\u0031\\u6708\",\n  \"\\u32C1\",\n  \"\\u0032\\u6708\",\n  \"\\u32C2\",\n  \"\\u0033\\u6708\",\n  \"\\u32C3\",\n  \"\\u0034\\u6708\",\n  \"\\u32C4\",\n  \"\\u0035\\u6708\",\n  \"\\u32C5\",\n  \"\\u0036\\u6708\",\n  \"\\u32C6\",\n  \"\\u0037\\u6708\",\n  \"\\u32C7\",\n  \"\\u0038\\u6708\",\n  \"\\u32C8\",\n  \"\\u0039\\u6708\",\n  \"\\u32C9\",\n  \"\\u0031\\u0030\\u6708\",\n  \"\\u32CA\",\n  \"\\u0031\\u0031\\u6708\",\n  \"\\u32CB\",\n  \"\\u0031\\u0032\\u6708\",\n  \"\\u3358\",\n  \"\\u0030\\u70B9\",\n  \"\\u3359\",\n  \"\\u0031\\u70B9\",\n  \"\\u335A\",\n  \"\\u0032\\u70B9\",\n  \"\\u335B\",\n  \"\\u0033\\u70B9\",\n  \"\\u335C\",\n  \"\\u0034\\u70B9\",\n  \"\\u335D\",\n  \"\\u0035\\u70B9\",\n  \"\\u335E\",\n  \"\\u0036\\u70B9\",\n  \"\\u335F\",\n  \"\\u0037\\u70B9\",\n  \"\\u3360\",\n  \"\\u0038\\u70B9\",\n  \"\\u3361\",\n  \"\\u0039\\u70B9\",\n  \"\\u3362\",\n  \"\\u0031\\u0030\\u70B9\",\n  \"\\u3363\",\n  \"\\u0031\\u0031\\u70B9\",\n  \"\\u3364\",\n  \"\\u0031\\u0032\\u70B9\",\n  \"\\u3365\",\n  \"\\u0031\\u0033\\u70B9\",\n  \"\\u3366\",\n  \"\\u0031\\u0034\\u70B9\",\n  \"\\u3367\",\n  \"\\u0031\\u0035\\u70B9\",\n  \"\\u3368\",\n  \"\\u0031\\u0036\\u70B9\",\n  \"\\u3369\",\n  \"\\u0031\\u0037\\u70B9\",\n  \"\\u336A\",\n  \"\\u0031\\u0038\\u70B9\",\n  \"\\u336B\",\n  \"\\u0031\\u0039\\u70B9\",\n  \"\\u336C\",\n  \"\\u0032\\u0030\\u70B9\",\n  \"\\u336D\",\n  \"\\u0032\\u0031\\u70B9\",\n  \"\\u336E\",\n  \"\\u0032\\u0032\\u70B9\",\n  \"\\u336F\",\n  \"\\u0032\\u0033\\u70B9\",\n  \"\\u3370\",\n  \"\\u0032\\u0034\\u70B9\",\n  \"\\u33E0\",\n  \"\\u0031\\u65E5\",\n  \"\\u33E1\",\n  \"\\u0032\\u65E5\",\n  \"\\u33E2\",\n  \"\\u0033\\u65E5\",\n  \"\\u33E3\",\n  \"\\u0034\\u65E5\",\n  \"\\u33E4\",\n  \"\\u0035\\u65E5\",\n  \"\\u33E5\",\n  \"\\u0036\\u65E5\",\n  \"\\u33E6\",\n  \"\\u0037\\u65E5\",\n  \"\\u33E7\",\n  \"\\u0038\\u65E5\",\n  \"\\u33E8\",\n  \"\\u0039\\u65E5\",\n  \"\\u33E9\",\n  \"\\u0031\\u0030\\u65E5\",\n  \"\\u33EA\",\n  \"\\u0031\\u0031\\u65E5\",\n  \"\\u33EB\",\n  \"\\u0031\\u0032\\u65E5\",\n  \"\\u33EC\",\n  \"\\u0031\\u0033\\u65E5\",\n  \"\\u33ED\",\n  \"\\u0031\\u0034\\u65E5\",\n  \"\\u33EE\",\n  \"\\u0031\\u0035\\u65E5\",\n  \"\\u33EF\",\n  \"\\u0031\\u0036\\u65E5\",\n  \"\\u33F0\",\n  \"\\u0031\\u0037\\u65E5\",\n  \"\\u33F1\",\n  \"\\u0031\\u0038\\u65E5\",\n  \"\\u33F2\",\n  \"\\u0031\\u0039\\u65E5\",\n  \"\\u33F3\",\n  \"\\u0032\\u0030\\u65E5\",\n  \"\\u33F4\",\n  \"\\u0032\\u0031\\u65E5\",\n  \"\\u33F5\",\n  \"\\u0032\\u0032\\u65E5\",\n  \"\\u33F6\",\n  \"\\u0032\\u0033\\u65E5\",\n  \"\\u33F7\",\n  \"\\u0032\\u0034\\u65E5\",\n  \"\\u33F8\",\n  \"\\u0032\\u0035\\u65E5\",\n  \"\\u33F9\",\n  \"\\u0032\\u0036\\u65E5\",\n  \"\\u33FA\",\n  \"\\u0032\\u0037\\u65E5\",\n  \"\\u33FB\",\n  \"\\u0032\\u0038\\u65E5\",\n  \"\\u33FC\",\n  \"\\u0032\\u0039\\u65E5\",\n  \"\\u33FD\",\n  \"\\u0033\\u0030\\u65E5\",\n  \"\\u33FE\",\n  \"\\u0033\\u0031\\u65E5\",\n  \"\\uFB00\",\n  \"\\u0066\\u0066\",\n  \"\\uFB01\",\n  \"\\u0066\\u0069\",\n  \"\\uFB02\",\n  \"\\u0066\\u006C\",\n  \"\\uFB03\",\n  \"\\u0066\\u0066\\u0069\",\n  \"\\uFB04\",\n  \"\\u0066\\u0066\\u006C\",\n  \"\\uFB05\",\n  \"\\u017F\\u0074\",\n  \"\\uFB06\",\n  \"\\u0073\\u0074\",\n  \"\\uFB13\",\n  \"\\u0574\\u0576\",\n  \"\\uFB14\",\n  \"\\u0574\\u0565\",\n  \"\\uFB15\",\n  \"\\u0574\\u056B\",\n  \"\\uFB16\",\n  \"\\u057E\\u0576\",\n  \"\\uFB17\",\n  \"\\u0574\\u056D\",\n  \"\\uFB4F\",\n  \"\\u05D0\\u05DC\",\n  \"\\uFB50\",\n  \"\\u0671\",\n  \"\\uFB51\",\n  \"\\u0671\",\n  \"\\uFB52\",\n  \"\\u067B\",\n  \"\\uFB53\",\n  \"\\u067B\",\n  \"\\uFB54\",\n  \"\\u067B\",\n  \"\\uFB55\",\n  \"\\u067B\",\n  \"\\uFB56\",\n  \"\\u067E\",\n  \"\\uFB57\",\n  \"\\u067E\",\n  \"\\uFB58\",\n  \"\\u067E\",\n  \"\\uFB59\",\n  \"\\u067E\",\n  \"\\uFB5A\",\n  \"\\u0680\",\n  \"\\uFB5B\",\n  \"\\u0680\",\n  \"\\uFB5C\",\n  \"\\u0680\",\n  \"\\uFB5D\",\n  \"\\u0680\",\n  \"\\uFB5E\",\n  \"\\u067A\",\n  \"\\uFB5F\",\n  \"\\u067A\",\n  \"\\uFB60\",\n  \"\\u067A\",\n  \"\\uFB61\",\n  \"\\u067A\",\n  \"\\uFB62\",\n  \"\\u067F\",\n  \"\\uFB63\",\n  \"\\u067F\",\n  \"\\uFB64\",\n  \"\\u067F\",\n  \"\\uFB65\",\n  \"\\u067F\",\n  \"\\uFB66\",\n  \"\\u0679\",\n  \"\\uFB67\",\n  \"\\u0679\",\n  \"\\uFB68\",\n  \"\\u0679\",\n  \"\\uFB69\",\n  \"\\u0679\",\n  \"\\uFB6A\",\n  \"\\u06A4\",\n  \"\\uFB6B\",\n  \"\\u06A4\",\n  \"\\uFB6C\",\n  \"\\u06A4\",\n  \"\\uFB6D\",\n  \"\\u06A4\",\n  \"\\uFB6E\",\n  \"\\u06A6\",\n  \"\\uFB6F\",\n  \"\\u06A6\",\n  \"\\uFB70\",\n  \"\\u06A6\",\n  \"\\uFB71\",\n  \"\\u06A6\",\n  \"\\uFB72\",\n  \"\\u0684\",\n  \"\\uFB73\",\n  \"\\u0684\",\n  \"\\uFB74\",\n  \"\\u0684\",\n  \"\\uFB75\",\n  \"\\u0684\",\n  \"\\uFB76\",\n  \"\\u0683\",\n  \"\\uFB77\",\n  \"\\u0683\",\n  \"\\uFB78\",\n  \"\\u0683\",\n  \"\\uFB79\",\n  \"\\u0683\",\n  \"\\uFB7A\",\n  \"\\u0686\",\n  \"\\uFB7B\",\n  \"\\u0686\",\n  \"\\uFB7C\",\n  \"\\u0686\",\n  \"\\uFB7D\",\n  \"\\u0686\",\n  \"\\uFB7E\",\n  \"\\u0687\",\n  \"\\uFB7F\",\n  \"\\u0687\",\n  \"\\uFB80\",\n  \"\\u0687\",\n  \"\\uFB81\",\n  \"\\u0687\",\n  \"\\uFB82\",\n  \"\\u068D\",\n  \"\\uFB83\",\n  \"\\u068D\",\n  \"\\uFB84\",\n  \"\\u068C\",\n  \"\\uFB85\",\n  \"\\u068C\",\n  \"\\uFB86\",\n  \"\\u068E\",\n  \"\\uFB87\",\n  \"\\u068E\",\n  \"\\uFB88\",\n  \"\\u0688\",\n  \"\\uFB89\",\n  \"\\u0688\",\n  \"\\uFB8A\",\n  \"\\u0698\",\n  \"\\uFB8B\",\n  \"\\u0698\",\n  \"\\uFB8C\",\n  \"\\u0691\",\n  \"\\uFB8D\",\n  \"\\u0691\",\n  \"\\uFB8E\",\n  \"\\u06A9\",\n  \"\\uFB8F\",\n  \"\\u06A9\",\n  \"\\uFB90\",\n  \"\\u06A9\",\n  \"\\uFB91\",\n  \"\\u06A9\",\n  \"\\uFB92\",\n  \"\\u06AF\",\n  \"\\uFB93\",\n  \"\\u06AF\",\n  \"\\uFB94\",\n  \"\\u06AF\",\n  \"\\uFB95\",\n  \"\\u06AF\",\n  \"\\uFB96\",\n  \"\\u06B3\",\n  \"\\uFB97\",\n  \"\\u06B3\",\n  \"\\uFB98\",\n  \"\\u06B3\",\n  \"\\uFB99\",\n  \"\\u06B3\",\n  \"\\uFB9A\",\n  \"\\u06B1\",\n  \"\\uFB9B\",\n  \"\\u06B1\",\n  \"\\uFB9C\",\n  \"\\u06B1\",\n  \"\\uFB9D\",\n  \"\\u06B1\",\n  \"\\uFB9E\",\n  \"\\u06BA\",\n  \"\\uFB9F\",\n  \"\\u06BA\",\n  \"\\uFBA0\",\n  \"\\u06BB\",\n  \"\\uFBA1\",\n  \"\\u06BB\",\n  \"\\uFBA2\",\n  \"\\u06BB\",\n  \"\\uFBA3\",\n  \"\\u06BB\",\n  \"\\uFBA4\",\n  \"\\u06C0\",\n  \"\\uFBA5\",\n  \"\\u06C0\",\n  \"\\uFBA6\",\n  \"\\u06C1\",\n  \"\\uFBA7\",\n  \"\\u06C1\",\n  \"\\uFBA8\",\n  \"\\u06C1\",\n  \"\\uFBA9\",\n  \"\\u06C1\",\n  \"\\uFBAA\",\n  \"\\u06BE\",\n  \"\\uFBAB\",\n  \"\\u06BE\",\n  \"\\uFBAC\",\n  \"\\u06BE\",\n  \"\\uFBAD\",\n  \"\\u06BE\",\n  \"\\uFBAE\",\n  \"\\u06D2\",\n  \"\\uFBAF\",\n  \"\\u06D2\",\n  \"\\uFBB0\",\n  \"\\u06D3\",\n  \"\\uFBB1\",\n  \"\\u06D3\",\n  \"\\uFBD3\",\n  \"\\u06AD\",\n  \"\\uFBD4\",\n  \"\\u06AD\",\n  \"\\uFBD5\",\n  \"\\u06AD\",\n  \"\\uFBD6\",\n  \"\\u06AD\",\n  \"\\uFBD7\",\n  \"\\u06C7\",\n  \"\\uFBD8\",\n  \"\\u06C7\",\n  \"\\uFBD9\",\n  \"\\u06C6\",\n  \"\\uFBDA\",\n  \"\\u06C6\",\n  \"\\uFBDB\",\n  \"\\u06C8\",\n  \"\\uFBDC\",\n  \"\\u06C8\",\n  \"\\uFBDD\",\n  \"\\u0677\",\n  \"\\uFBDE\",\n  \"\\u06CB\",\n  \"\\uFBDF\",\n  \"\\u06CB\",\n  \"\\uFBE0\",\n  \"\\u06C5\",\n  \"\\uFBE1\",\n  \"\\u06C5\",\n  \"\\uFBE2\",\n  \"\\u06C9\",\n  \"\\uFBE3\",\n  \"\\u06C9\",\n  \"\\uFBE4\",\n  \"\\u06D0\",\n  \"\\uFBE5\",\n  \"\\u06D0\",\n  \"\\uFBE6\",\n  \"\\u06D0\",\n  \"\\uFBE7\",\n  \"\\u06D0\",\n  \"\\uFBE8\",\n  \"\\u0649\",\n  \"\\uFBE9\",\n  \"\\u0649\",\n  \"\\uFBEA\",\n  \"\\u0626\\u0627\",\n  \"\\uFBEB\",\n  \"\\u0626\\u0627\",\n  \"\\uFBEC\",\n  \"\\u0626\\u06D5\",\n  \"\\uFBED\",\n  \"\\u0626\\u06D5\",\n  \"\\uFBEE\",\n  \"\\u0626\\u0648\",\n  \"\\uFBEF\",\n  \"\\u0626\\u0648\",\n  \"\\uFBF0\",\n  \"\\u0626\\u06C7\",\n  \"\\uFBF1\",\n  \"\\u0626\\u06C7\",\n  \"\\uFBF2\",\n  \"\\u0626\\u06C6\",\n  \"\\uFBF3\",\n  \"\\u0626\\u06C6\",\n  \"\\uFBF4\",\n  \"\\u0626\\u06C8\",\n  \"\\uFBF5\",\n  \"\\u0626\\u06C8\",\n  \"\\uFBF6\",\n  \"\\u0626\\u06D0\",\n  \"\\uFBF7\",\n  \"\\u0626\\u06D0\",\n  \"\\uFBF8\",\n  \"\\u0626\\u06D0\",\n  \"\\uFBF9\",\n  \"\\u0626\\u0649\",\n  \"\\uFBFA\",\n  \"\\u0626\\u0649\",\n  \"\\uFBFB\",\n  \"\\u0626\\u0649\",\n  \"\\uFBFC\",\n  \"\\u06CC\",\n  \"\\uFBFD\",\n  \"\\u06CC\",\n  \"\\uFBFE\",\n  \"\\u06CC\",\n  \"\\uFBFF\",\n  \"\\u06CC\",\n  \"\\uFC00\",\n  \"\\u0626\\u062C\",\n  \"\\uFC01\",\n  \"\\u0626\\u062D\",\n  \"\\uFC02\",\n  \"\\u0626\\u0645\",\n  \"\\uFC03\",\n  \"\\u0626\\u0649\",\n  \"\\uFC04\",\n  \"\\u0626\\u064A\",\n  \"\\uFC05\",\n  \"\\u0628\\u062C\",\n  \"\\uFC06\",\n  \"\\u0628\\u062D\",\n  \"\\uFC07\",\n  \"\\u0628\\u062E\",\n  \"\\uFC08\",\n  \"\\u0628\\u0645\",\n  \"\\uFC09\",\n  \"\\u0628\\u0649\",\n  \"\\uFC0A\",\n  \"\\u0628\\u064A\",\n  \"\\uFC0B\",\n  \"\\u062A\\u062C\",\n  \"\\uFC0C\",\n  \"\\u062A\\u062D\",\n  \"\\uFC0D\",\n  \"\\u062A\\u062E\",\n  \"\\uFC0E\",\n  \"\\u062A\\u0645\",\n  \"\\uFC0F\",\n  \"\\u062A\\u0649\",\n  \"\\uFC10\",\n  \"\\u062A\\u064A\",\n  \"\\uFC11\",\n  \"\\u062B\\u062C\",\n  \"\\uFC12\",\n  \"\\u062B\\u0645\",\n  \"\\uFC13\",\n  \"\\u062B\\u0649\",\n  \"\\uFC14\",\n  \"\\u062B\\u064A\",\n  \"\\uFC15\",\n  \"\\u062C\\u062D\",\n  \"\\uFC16\",\n  \"\\u062C\\u0645\",\n  \"\\uFC17\",\n  \"\\u062D\\u062C\",\n  \"\\uFC18\",\n  \"\\u062D\\u0645\",\n  \"\\uFC19\",\n  \"\\u062E\\u062C\",\n  \"\\uFC1A\",\n  \"\\u062E\\u062D\",\n  \"\\uFC1B\",\n  \"\\u062E\\u0645\",\n  \"\\uFC1C\",\n  \"\\u0633\\u062C\",\n  \"\\uFC1D\",\n  \"\\u0633\\u062D\",\n  \"\\uFC1E\",\n  \"\\u0633\\u062E\",\n  \"\\uFC1F\",\n  \"\\u0633\\u0645\",\n  \"\\uFC20\",\n  \"\\u0635\\u062D\",\n  \"\\uFC21\",\n  \"\\u0635\\u0645\",\n  \"\\uFC22\",\n  \"\\u0636\\u062C\",\n  \"\\uFC23\",\n  \"\\u0636\\u062D\",\n  \"\\uFC24\",\n  \"\\u0636\\u062E\",\n  \"\\uFC25\",\n  \"\\u0636\\u0645\",\n  \"\\uFC26\",\n  \"\\u0637\\u062D\",\n  \"\\uFC27\",\n  \"\\u0637\\u0645\",\n  \"\\uFC28\",\n  \"\\u0638\\u0645\",\n  \"\\uFC29\",\n  \"\\u0639\\u062C\",\n  \"\\uFC2A\",\n  \"\\u0639\\u0645\",\n  \"\\uFC2B\",\n  \"\\u063A\\u062C\",\n  \"\\uFC2C\",\n  \"\\u063A\\u0645\",\n  \"\\uFC2D\",\n  \"\\u0641\\u062C\",\n  \"\\uFC2E\",\n  \"\\u0641\\u062D\",\n  \"\\uFC2F\",\n  \"\\u0641\\u062E\",\n  \"\\uFC30\",\n  \"\\u0641\\u0645\",\n  \"\\uFC31\",\n  \"\\u0641\\u0649\",\n  \"\\uFC32\",\n  \"\\u0641\\u064A\",\n  \"\\uFC33\",\n  \"\\u0642\\u062D\",\n  \"\\uFC34\",\n  \"\\u0642\\u0645\",\n  \"\\uFC35\",\n  \"\\u0642\\u0649\",\n  \"\\uFC36\",\n  \"\\u0642\\u064A\",\n  \"\\uFC37\",\n  \"\\u0643\\u0627\",\n  \"\\uFC38\",\n  \"\\u0643\\u062C\",\n  \"\\uFC39\",\n  \"\\u0643\\u062D\",\n  \"\\uFC3A\",\n  \"\\u0643\\u062E\",\n  \"\\uFC3B\",\n  \"\\u0643\\u0644\",\n  \"\\uFC3C\",\n  \"\\u0643\\u0645\",\n  \"\\uFC3D\",\n  \"\\u0643\\u0649\",\n  \"\\uFC3E\",\n  \"\\u0643\\u064A\",\n  \"\\uFC3F\",\n  \"\\u0644\\u062C\",\n  \"\\uFC40\",\n  \"\\u0644\\u062D\",\n  \"\\uFC41\",\n  \"\\u0644\\u062E\",\n  \"\\uFC42\",\n  \"\\u0644\\u0645\",\n  \"\\uFC43\",\n  \"\\u0644\\u0649\",\n  \"\\uFC44\",\n  \"\\u0644\\u064A\",\n  \"\\uFC45\",\n  \"\\u0645\\u062C\",\n  \"\\uFC46\",\n  \"\\u0645\\u062D\",\n  \"\\uFC47\",\n  \"\\u0645\\u062E\",\n  \"\\uFC48\",\n  \"\\u0645\\u0645\",\n  \"\\uFC49\",\n  \"\\u0645\\u0649\",\n  \"\\uFC4A\",\n  \"\\u0645\\u064A\",\n  \"\\uFC4B\",\n  \"\\u0646\\u062C\",\n  \"\\uFC4C\",\n  \"\\u0646\\u062D\",\n  \"\\uFC4D\",\n  \"\\u0646\\u062E\",\n  \"\\uFC4E\",\n  \"\\u0646\\u0645\",\n  \"\\uFC4F\",\n  \"\\u0646\\u0649\",\n  \"\\uFC50\",\n  \"\\u0646\\u064A\",\n  \"\\uFC51\",\n  \"\\u0647\\u062C\",\n  \"\\uFC52\",\n  \"\\u0647\\u0645\",\n  \"\\uFC53\",\n  \"\\u0647\\u0649\",\n  \"\\uFC54\",\n  \"\\u0647\\u064A\",\n  \"\\uFC55\",\n  \"\\u064A\\u062C\",\n  \"\\uFC56\",\n  \"\\u064A\\u062D\",\n  \"\\uFC57\",\n  \"\\u064A\\u062E\",\n  \"\\uFC58\",\n  \"\\u064A\\u0645\",\n  \"\\uFC59\",\n  \"\\u064A\\u0649\",\n  \"\\uFC5A\",\n  \"\\u064A\\u064A\",\n  \"\\uFC5B\",\n  \"\\u0630\\u0670\",\n  \"\\uFC5C\",\n  \"\\u0631\\u0670\",\n  \"\\uFC5D\",\n  \"\\u0649\\u0670\",\n  \"\\uFC5E\",\n  \"\\u0020\\u064C\\u0651\",\n  \"\\uFC5F\",\n  \"\\u0020\\u064D\\u0651\",\n  \"\\uFC60\",\n  \"\\u0020\\u064E\\u0651\",\n  \"\\uFC61\",\n  \"\\u0020\\u064F\\u0651\",\n  \"\\uFC62\",\n  \"\\u0020\\u0650\\u0651\",\n  \"\\uFC63\",\n  \"\\u0020\\u0651\\u0670\",\n  \"\\uFC64\",\n  \"\\u0626\\u0631\",\n  \"\\uFC65\",\n  \"\\u0626\\u0632\",\n  \"\\uFC66\",\n  \"\\u0626\\u0645\",\n  \"\\uFC67\",\n  \"\\u0626\\u0646\",\n  \"\\uFC68\",\n  \"\\u0626\\u0649\",\n  \"\\uFC69\",\n  \"\\u0626\\u064A\",\n  \"\\uFC6A\",\n  \"\\u0628\\u0631\",\n  \"\\uFC6B\",\n  \"\\u0628\\u0632\",\n  \"\\uFC6C\",\n  \"\\u0628\\u0645\",\n  \"\\uFC6D\",\n  \"\\u0628\\u0646\",\n  \"\\uFC6E\",\n  \"\\u0628\\u0649\",\n  \"\\uFC6F\",\n  \"\\u0628\\u064A\",\n  \"\\uFC70\",\n  \"\\u062A\\u0631\",\n  \"\\uFC71\",\n  \"\\u062A\\u0632\",\n  \"\\uFC72\",\n  \"\\u062A\\u0645\",\n  \"\\uFC73\",\n  \"\\u062A\\u0646\",\n  \"\\uFC74\",\n  \"\\u062A\\u0649\",\n  \"\\uFC75\",\n  \"\\u062A\\u064A\",\n  \"\\uFC76\",\n  \"\\u062B\\u0631\",\n  \"\\uFC77\",\n  \"\\u062B\\u0632\",\n  \"\\uFC78\",\n  \"\\u062B\\u0645\",\n  \"\\uFC79\",\n  \"\\u062B\\u0646\",\n  \"\\uFC7A\",\n  \"\\u062B\\u0649\",\n  \"\\uFC7B\",\n  \"\\u062B\\u064A\",\n  \"\\uFC7C\",\n  \"\\u0641\\u0649\",\n  \"\\uFC7D\",\n  \"\\u0641\\u064A\",\n  \"\\uFC7E\",\n  \"\\u0642\\u0649\",\n  \"\\uFC7F\",\n  \"\\u0642\\u064A\",\n  \"\\uFC80\",\n  \"\\u0643\\u0627\",\n  \"\\uFC81\",\n  \"\\u0643\\u0644\",\n  \"\\uFC82\",\n  \"\\u0643\\u0645\",\n  \"\\uFC83\",\n  \"\\u0643\\u0649\",\n  \"\\uFC84\",\n  \"\\u0643\\u064A\",\n  \"\\uFC85\",\n  \"\\u0644\\u0645\",\n  \"\\uFC86\",\n  \"\\u0644\\u0649\",\n  \"\\uFC87\",\n  \"\\u0644\\u064A\",\n  \"\\uFC88\",\n  \"\\u0645\\u0627\",\n  \"\\uFC89\",\n  \"\\u0645\\u0645\",\n  \"\\uFC8A\",\n  \"\\u0646\\u0631\",\n  \"\\uFC8B\",\n  \"\\u0646\\u0632\",\n  \"\\uFC8C\",\n  \"\\u0646\\u0645\",\n  \"\\uFC8D\",\n  \"\\u0646\\u0646\",\n  \"\\uFC8E\",\n  \"\\u0646\\u0649\",\n  \"\\uFC8F\",\n  \"\\u0646\\u064A\",\n  \"\\uFC90\",\n  \"\\u0649\\u0670\",\n  \"\\uFC91\",\n  \"\\u064A\\u0631\",\n  \"\\uFC92\",\n  \"\\u064A\\u0632\",\n  \"\\uFC93\",\n  \"\\u064A\\u0645\",\n  \"\\uFC94\",\n  \"\\u064A\\u0646\",\n  \"\\uFC95\",\n  \"\\u064A\\u0649\",\n  \"\\uFC96\",\n  \"\\u064A\\u064A\",\n  \"\\uFC97\",\n  \"\\u0626\\u062C\",\n  \"\\uFC98\",\n  \"\\u0626\\u062D\",\n  \"\\uFC99\",\n  \"\\u0626\\u062E\",\n  \"\\uFC9A\",\n  \"\\u0626\\u0645\",\n  \"\\uFC9B\",\n  \"\\u0626\\u0647\",\n  \"\\uFC9C\",\n  \"\\u0628\\u062C\",\n  \"\\uFC9D\",\n  \"\\u0628\\u062D\",\n  \"\\uFC9E\",\n  \"\\u0628\\u062E\",\n  \"\\uFC9F\",\n  \"\\u0628\\u0645\",\n  \"\\uFCA0\",\n  \"\\u0628\\u0647\",\n  \"\\uFCA1\",\n  \"\\u062A\\u062C\",\n  \"\\uFCA2\",\n  \"\\u062A\\u062D\",\n  \"\\uFCA3\",\n  \"\\u062A\\u062E\",\n  \"\\uFCA4\",\n  \"\\u062A\\u0645\",\n  \"\\uFCA5\",\n  \"\\u062A\\u0647\",\n  \"\\uFCA6\",\n  \"\\u062B\\u0645\",\n  \"\\uFCA7\",\n  \"\\u062C\\u062D\",\n  \"\\uFCA8\",\n  \"\\u062C\\u0645\",\n  \"\\uFCA9\",\n  \"\\u062D\\u062C\",\n  \"\\uFCAA\",\n  \"\\u062D\\u0645\",\n  \"\\uFCAB\",\n  \"\\u062E\\u062C\",\n  \"\\uFCAC\",\n  \"\\u062E\\u0645\",\n  \"\\uFCAD\",\n  \"\\u0633\\u062C\",\n  \"\\uFCAE\",\n  \"\\u0633\\u062D\",\n  \"\\uFCAF\",\n  \"\\u0633\\u062E\",\n  \"\\uFCB0\",\n  \"\\u0633\\u0645\",\n  \"\\uFCB1\",\n  \"\\u0635\\u062D\",\n  \"\\uFCB2\",\n  \"\\u0635\\u062E\",\n  \"\\uFCB3\",\n  \"\\u0635\\u0645\",\n  \"\\uFCB4\",\n  \"\\u0636\\u062C\",\n  \"\\uFCB5\",\n  \"\\u0636\\u062D\",\n  \"\\uFCB6\",\n  \"\\u0636\\u062E\",\n  \"\\uFCB7\",\n  \"\\u0636\\u0645\",\n  \"\\uFCB8\",\n  \"\\u0637\\u062D\",\n  \"\\uFCB9\",\n  \"\\u0638\\u0645\",\n  \"\\uFCBA\",\n  \"\\u0639\\u062C\",\n  \"\\uFCBB\",\n  \"\\u0639\\u0645\",\n  \"\\uFCBC\",\n  \"\\u063A\\u062C\",\n  \"\\uFCBD\",\n  \"\\u063A\\u0645\",\n  \"\\uFCBE\",\n  \"\\u0641\\u062C\",\n  \"\\uFCBF\",\n  \"\\u0641\\u062D\",\n  \"\\uFCC0\",\n  \"\\u0641\\u062E\",\n  \"\\uFCC1\",\n  \"\\u0641\\u0645\",\n  \"\\uFCC2\",\n  \"\\u0642\\u062D\",\n  \"\\uFCC3\",\n  \"\\u0642\\u0645\",\n  \"\\uFCC4\",\n  \"\\u0643\\u062C\",\n  \"\\uFCC5\",\n  \"\\u0643\\u062D\",\n  \"\\uFCC6\",\n  \"\\u0643\\u062E\",\n  \"\\uFCC7\",\n  \"\\u0643\\u0644\",\n  \"\\uFCC8\",\n  \"\\u0643\\u0645\",\n  \"\\uFCC9\",\n  \"\\u0644\\u062C\",\n  \"\\uFCCA\",\n  \"\\u0644\\u062D\",\n  \"\\uFCCB\",\n  \"\\u0644\\u062E\",\n  \"\\uFCCC\",\n  \"\\u0644\\u0645\",\n  \"\\uFCCD\",\n  \"\\u0644\\u0647\",\n  \"\\uFCCE\",\n  \"\\u0645\\u062C\",\n  \"\\uFCCF\",\n  \"\\u0645\\u062D\",\n  \"\\uFCD0\",\n  \"\\u0645\\u062E\",\n  \"\\uFCD1\",\n  \"\\u0645\\u0645\",\n  \"\\uFCD2\",\n  \"\\u0646\\u062C\",\n  \"\\uFCD3\",\n  \"\\u0646\\u062D\",\n  \"\\uFCD4\",\n  \"\\u0646\\u062E\",\n  \"\\uFCD5\",\n  \"\\u0646\\u0645\",\n  \"\\uFCD6\",\n  \"\\u0646\\u0647\",\n  \"\\uFCD7\",\n  \"\\u0647\\u062C\",\n  \"\\uFCD8\",\n  \"\\u0647\\u0645\",\n  \"\\uFCD9\",\n  \"\\u0647\\u0670\",\n  \"\\uFCDA\",\n  \"\\u064A\\u062C\",\n  \"\\uFCDB\",\n  \"\\u064A\\u062D\",\n  \"\\uFCDC\",\n  \"\\u064A\\u062E\",\n  \"\\uFCDD\",\n  \"\\u064A\\u0645\",\n  \"\\uFCDE\",\n  \"\\u064A\\u0647\",\n  \"\\uFCDF\",\n  \"\\u0626\\u0645\",\n  \"\\uFCE0\",\n  \"\\u0626\\u0647\",\n  \"\\uFCE1\",\n  \"\\u0628\\u0645\",\n  \"\\uFCE2\",\n  \"\\u0628\\u0647\",\n  \"\\uFCE3\",\n  \"\\u062A\\u0645\",\n  \"\\uFCE4\",\n  \"\\u062A\\u0647\",\n  \"\\uFCE5\",\n  \"\\u062B\\u0645\",\n  \"\\uFCE6\",\n  \"\\u062B\\u0647\",\n  \"\\uFCE7\",\n  \"\\u0633\\u0645\",\n  \"\\uFCE8\",\n  \"\\u0633\\u0647\",\n  \"\\uFCE9\",\n  \"\\u0634\\u0645\",\n  \"\\uFCEA\",\n  \"\\u0634\\u0647\",\n  \"\\uFCEB\",\n  \"\\u0643\\u0644\",\n  \"\\uFCEC\",\n  \"\\u0643\\u0645\",\n  \"\\uFCED\",\n  \"\\u0644\\u0645\",\n  \"\\uFCEE\",\n  \"\\u0646\\u0645\",\n  \"\\uFCEF\",\n  \"\\u0646\\u0647\",\n  \"\\uFCF0\",\n  \"\\u064A\\u0645\",\n  \"\\uFCF1\",\n  \"\\u064A\\u0647\",\n  \"\\uFCF2\",\n  \"\\u0640\\u064E\\u0651\",\n  \"\\uFCF3\",\n  \"\\u0640\\u064F\\u0651\",\n  \"\\uFCF4\",\n  \"\\u0640\\u0650\\u0651\",\n  \"\\uFCF5\",\n  \"\\u0637\\u0649\",\n  \"\\uFCF6\",\n  \"\\u0637\\u064A\",\n  \"\\uFCF7\",\n  \"\\u0639\\u0649\",\n  \"\\uFCF8\",\n  \"\\u0639\\u064A\",\n  \"\\uFCF9\",\n  \"\\u063A\\u0649\",\n  \"\\uFCFA\",\n  \"\\u063A\\u064A\",\n  \"\\uFCFB\",\n  \"\\u0633\\u0649\",\n  \"\\uFCFC\",\n  \"\\u0633\\u064A\",\n  \"\\uFCFD\",\n  \"\\u0634\\u0649\",\n  \"\\uFCFE\",\n  \"\\u0634\\u064A\",\n  \"\\uFCFF\",\n  \"\\u062D\\u0649\",\n  \"\\uFD00\",\n  \"\\u062D\\u064A\",\n  \"\\uFD01\",\n  \"\\u062C\\u0649\",\n  \"\\uFD02\",\n  \"\\u062C\\u064A\",\n  \"\\uFD03\",\n  \"\\u062E\\u0649\",\n  \"\\uFD04\",\n  \"\\u062E\\u064A\",\n  \"\\uFD05\",\n  \"\\u0635\\u0649\",\n  \"\\uFD06\",\n  \"\\u0635\\u064A\",\n  \"\\uFD07\",\n  \"\\u0636\\u0649\",\n  \"\\uFD08\",\n  \"\\u0636\\u064A\",\n  \"\\uFD09\",\n  \"\\u0634\\u062C\",\n  \"\\uFD0A\",\n  \"\\u0634\\u062D\",\n  \"\\uFD0B\",\n  \"\\u0634\\u062E\",\n  \"\\uFD0C\",\n  \"\\u0634\\u0645\",\n  \"\\uFD0D\",\n  \"\\u0634\\u0631\",\n  \"\\uFD0E\",\n  \"\\u0633\\u0631\",\n  \"\\uFD0F\",\n  \"\\u0635\\u0631\",\n  \"\\uFD10\",\n  \"\\u0636\\u0631\",\n  \"\\uFD11\",\n  \"\\u0637\\u0649\",\n  \"\\uFD12\",\n  \"\\u0637\\u064A\",\n  \"\\uFD13\",\n  \"\\u0639\\u0649\",\n  \"\\uFD14\",\n  \"\\u0639\\u064A\",\n  \"\\uFD15\",\n  \"\\u063A\\u0649\",\n  \"\\uFD16\",\n  \"\\u063A\\u064A\",\n  \"\\uFD17\",\n  \"\\u0633\\u0649\",\n  \"\\uFD18\",\n  \"\\u0633\\u064A\",\n  \"\\uFD19\",\n  \"\\u0634\\u0649\",\n  \"\\uFD1A\",\n  \"\\u0634\\u064A\",\n  \"\\uFD1B\",\n  \"\\u062D\\u0649\",\n  \"\\uFD1C\",\n  \"\\u062D\\u064A\",\n  \"\\uFD1D\",\n  \"\\u062C\\u0649\",\n  \"\\uFD1E\",\n  \"\\u062C\\u064A\",\n  \"\\uFD1F\",\n  \"\\u062E\\u0649\",\n  \"\\uFD20\",\n  \"\\u062E\\u064A\",\n  \"\\uFD21\",\n  \"\\u0635\\u0649\",\n  \"\\uFD22\",\n  \"\\u0635\\u064A\",\n  \"\\uFD23\",\n  \"\\u0636\\u0649\",\n  \"\\uFD24\",\n  \"\\u0636\\u064A\",\n  \"\\uFD25\",\n  \"\\u0634\\u062C\",\n  \"\\uFD26\",\n  \"\\u0634\\u062D\",\n  \"\\uFD27\",\n  \"\\u0634\\u062E\",\n  \"\\uFD28\",\n  \"\\u0634\\u0645\",\n  \"\\uFD29\",\n  \"\\u0634\\u0631\",\n  \"\\uFD2A\",\n  \"\\u0633\\u0631\",\n  \"\\uFD2B\",\n  \"\\u0635\\u0631\",\n  \"\\uFD2C\",\n  \"\\u0636\\u0631\",\n  \"\\uFD2D\",\n  \"\\u0634\\u062C\",\n  \"\\uFD2E\",\n  \"\\u0634\\u062D\",\n  \"\\uFD2F\",\n  \"\\u0634\\u062E\",\n  \"\\uFD30\",\n  \"\\u0634\\u0645\",\n  \"\\uFD31\",\n  \"\\u0633\\u0647\",\n  \"\\uFD32\",\n  \"\\u0634\\u0647\",\n  \"\\uFD33\",\n  \"\\u0637\\u0645\",\n  \"\\uFD34\",\n  \"\\u0633\\u062C\",\n  \"\\uFD35\",\n  \"\\u0633\\u062D\",\n  \"\\uFD36\",\n  \"\\u0633\\u062E\",\n  \"\\uFD37\",\n  \"\\u0634\\u062C\",\n  \"\\uFD38\",\n  \"\\u0634\\u062D\",\n  \"\\uFD39\",\n  \"\\u0634\\u062E\",\n  \"\\uFD3A\",\n  \"\\u0637\\u0645\",\n  \"\\uFD3B\",\n  \"\\u0638\\u0645\",\n  \"\\uFD3C\",\n  \"\\u0627\\u064B\",\n  \"\\uFD3D\",\n  \"\\u0627\\u064B\",\n  \"\\uFD50\",\n  \"\\u062A\\u062C\\u0645\",\n  \"\\uFD51\",\n  \"\\u062A\\u062D\\u062C\",\n  \"\\uFD52\",\n  \"\\u062A\\u062D\\u062C\",\n  \"\\uFD53\",\n  \"\\u062A\\u062D\\u0645\",\n  \"\\uFD54\",\n  \"\\u062A\\u062E\\u0645\",\n  \"\\uFD55\",\n  \"\\u062A\\u0645\\u062C\",\n  \"\\uFD56\",\n  \"\\u062A\\u0645\\u062D\",\n  \"\\uFD57\",\n  \"\\u062A\\u0645\\u062E\",\n  \"\\uFD58\",\n  \"\\u062C\\u0645\\u062D\",\n  \"\\uFD59\",\n  \"\\u062C\\u0645\\u062D\",\n  \"\\uFD5A\",\n  \"\\u062D\\u0645\\u064A\",\n  \"\\uFD5B\",\n  \"\\u062D\\u0645\\u0649\",\n  \"\\uFD5C\",\n  \"\\u0633\\u062D\\u062C\",\n  \"\\uFD5D\",\n  \"\\u0633\\u062C\\u062D\",\n  \"\\uFD5E\",\n  \"\\u0633\\u062C\\u0649\",\n  \"\\uFD5F\",\n  \"\\u0633\\u0645\\u062D\",\n  \"\\uFD60\",\n  \"\\u0633\\u0645\\u062D\",\n  \"\\uFD61\",\n  \"\\u0633\\u0645\\u062C\",\n  \"\\uFD62\",\n  \"\\u0633\\u0645\\u0645\",\n  \"\\uFD63\",\n  \"\\u0633\\u0645\\u0645\",\n  \"\\uFD64\",\n  \"\\u0635\\u062D\\u062D\",\n  \"\\uFD65\",\n  \"\\u0635\\u062D\\u062D\",\n  \"\\uFD66\",\n  \"\\u0635\\u0645\\u0645\",\n  \"\\uFD67\",\n  \"\\u0634\\u062D\\u0645\",\n  \"\\uFD68\",\n  \"\\u0634\\u062D\\u0645\",\n  \"\\uFD69\",\n  \"\\u0634\\u062C\\u064A\",\n  \"\\uFD6A\",\n  \"\\u0634\\u0645\\u062E\",\n  \"\\uFD6B\",\n  \"\\u0634\\u0645\\u062E\",\n  \"\\uFD6C\",\n  \"\\u0634\\u0645\\u0645\",\n  \"\\uFD6D\",\n  \"\\u0634\\u0645\\u0645\",\n  \"\\uFD6E\",\n  \"\\u0636\\u062D\\u0649\",\n  \"\\uFD6F\",\n  \"\\u0636\\u062E\\u0645\",\n  \"\\uFD70\",\n  \"\\u0636\\u062E\\u0645\",\n  \"\\uFD71\",\n  \"\\u0637\\u0645\\u062D\",\n  \"\\uFD72\",\n  \"\\u0637\\u0645\\u062D\",\n  \"\\uFD73\",\n  \"\\u0637\\u0645\\u0645\",\n  \"\\uFD74\",\n  \"\\u0637\\u0645\\u064A\",\n  \"\\uFD75\",\n  \"\\u0639\\u062C\\u0645\",\n  \"\\uFD76\",\n  \"\\u0639\\u0645\\u0645\",\n  \"\\uFD77\",\n  \"\\u0639\\u0645\\u0645\",\n  \"\\uFD78\",\n  \"\\u0639\\u0645\\u0649\",\n  \"\\uFD79\",\n  \"\\u063A\\u0645\\u0645\",\n  \"\\uFD7A\",\n  \"\\u063A\\u0645\\u064A\",\n  \"\\uFD7B\",\n  \"\\u063A\\u0645\\u0649\",\n  \"\\uFD7C\",\n  \"\\u0641\\u062E\\u0645\",\n  \"\\uFD7D\",\n  \"\\u0641\\u062E\\u0645\",\n  \"\\uFD7E\",\n  \"\\u0642\\u0645\\u062D\",\n  \"\\uFD7F\",\n  \"\\u0642\\u0645\\u0645\",\n  \"\\uFD80\",\n  \"\\u0644\\u062D\\u0645\",\n  \"\\uFD81\",\n  \"\\u0644\\u062D\\u064A\",\n  \"\\uFD82\",\n  \"\\u0644\\u062D\\u0649\",\n  \"\\uFD83\",\n  \"\\u0644\\u062C\\u062C\",\n  \"\\uFD84\",\n  \"\\u0644\\u062C\\u062C\",\n  \"\\uFD85\",\n  \"\\u0644\\u062E\\u0645\",\n  \"\\uFD86\",\n  \"\\u0644\\u062E\\u0645\",\n  \"\\uFD87\",\n  \"\\u0644\\u0645\\u062D\",\n  \"\\uFD88\",\n  \"\\u0644\\u0645\\u062D\",\n  \"\\uFD89\",\n  \"\\u0645\\u062D\\u062C\",\n  \"\\uFD8A\",\n  \"\\u0645\\u062D\\u0645\",\n  \"\\uFD8B\",\n  \"\\u0645\\u062D\\u064A\",\n  \"\\uFD8C\",\n  \"\\u0645\\u062C\\u062D\",\n  \"\\uFD8D\",\n  \"\\u0645\\u062C\\u0645\",\n  \"\\uFD8E\",\n  \"\\u0645\\u062E\\u062C\",\n  \"\\uFD8F\",\n  \"\\u0645\\u062E\\u0645\",\n  \"\\uFD92\",\n  \"\\u0645\\u062C\\u062E\",\n  \"\\uFD93\",\n  \"\\u0647\\u0645\\u062C\",\n  \"\\uFD94\",\n  \"\\u0647\\u0645\\u0645\",\n  \"\\uFD95\",\n  \"\\u0646\\u062D\\u0645\",\n  \"\\uFD96\",\n  \"\\u0646\\u062D\\u0649\",\n  \"\\uFD97\",\n  \"\\u0646\\u062C\\u0645\",\n  \"\\uFD98\",\n  \"\\u0646\\u062C\\u0645\",\n  \"\\uFD99\",\n  \"\\u0646\\u062C\\u0649\",\n  \"\\uFD9A\",\n  \"\\u0646\\u0645\\u064A\",\n  \"\\uFD9B\",\n  \"\\u0646\\u0645\\u0649\",\n  \"\\uFD9C\",\n  \"\\u064A\\u0645\\u0645\",\n  \"\\uFD9D\",\n  \"\\u064A\\u0645\\u0645\",\n  \"\\uFD9E\",\n  \"\\u0628\\u062E\\u064A\",\n  \"\\uFD9F\",\n  \"\\u062A\\u062C\\u064A\",\n  \"\\uFDA0\",\n  \"\\u062A\\u062C\\u0649\",\n  \"\\uFDA1\",\n  \"\\u062A\\u062E\\u064A\",\n  \"\\uFDA2\",\n  \"\\u062A\\u062E\\u0649\",\n  \"\\uFDA3\",\n  \"\\u062A\\u0645\\u064A\",\n  \"\\uFDA4\",\n  \"\\u062A\\u0645\\u0649\",\n  \"\\uFDA5\",\n  \"\\u062C\\u0645\\u064A\",\n  \"\\uFDA6\",\n  \"\\u062C\\u062D\\u0649\",\n  \"\\uFDA7\",\n  \"\\u062C\\u0645\\u0649\",\n  \"\\uFDA8\",\n  \"\\u0633\\u062E\\u0649\",\n  \"\\uFDA9\",\n  \"\\u0635\\u062D\\u064A\",\n  \"\\uFDAA\",\n  \"\\u0634\\u062D\\u064A\",\n  \"\\uFDAB\",\n  \"\\u0636\\u062D\\u064A\",\n  \"\\uFDAC\",\n  \"\\u0644\\u062C\\u064A\",\n  \"\\uFDAD\",\n  \"\\u0644\\u0645\\u064A\",\n  \"\\uFDAE\",\n  \"\\u064A\\u062D\\u064A\",\n  \"\\uFDAF\",\n  \"\\u064A\\u062C\\u064A\",\n  \"\\uFDB0\",\n  \"\\u064A\\u0645\\u064A\",\n  \"\\uFDB1\",\n  \"\\u0645\\u0645\\u064A\",\n  \"\\uFDB2\",\n  \"\\u0642\\u0645\\u064A\",\n  \"\\uFDB3\",\n  \"\\u0646\\u062D\\u064A\",\n  \"\\uFDB4\",\n  \"\\u0642\\u0645\\u062D\",\n  \"\\uFDB5\",\n  \"\\u0644\\u062D\\u0645\",\n  \"\\uFDB6\",\n  \"\\u0639\\u0645\\u064A\",\n  \"\\uFDB7\",\n  \"\\u0643\\u0645\\u064A\",\n  \"\\uFDB8\",\n  \"\\u0646\\u062C\\u062D\",\n  \"\\uFDB9\",\n  \"\\u0645\\u062E\\u064A\",\n  \"\\uFDBA\",\n  \"\\u0644\\u062C\\u0645\",\n  \"\\uFDBB\",\n  \"\\u0643\\u0645\\u0645\",\n  \"\\uFDBC\",\n  \"\\u0644\\u062C\\u0645\",\n  \"\\uFDBD\",\n  \"\\u0646\\u062C\\u062D\",\n  \"\\uFDBE\",\n  \"\\u062C\\u062D\\u064A\",\n  \"\\uFDBF\",\n  \"\\u062D\\u062C\\u064A\",\n  \"\\uFDC0\",\n  \"\\u0645\\u062C\\u064A\",\n  \"\\uFDC1\",\n  \"\\u0641\\u0645\\u064A\",\n  \"\\uFDC2\",\n  \"\\u0628\\u062D\\u064A\",\n  \"\\uFDC3\",\n  \"\\u0643\\u0645\\u0645\",\n  \"\\uFDC4\",\n  \"\\u0639\\u062C\\u0645\",\n  \"\\uFDC5\",\n  \"\\u0635\\u0645\\u0645\",\n  \"\\uFDC6\",\n  \"\\u0633\\u062E\\u064A\",\n  \"\\uFDC7\",\n  \"\\u0646\\u062C\\u064A\",\n  \"\\uFE49\",\n  \"\\u203E\",\n  \"\\uFE4A\",\n  \"\\u203E\",\n  \"\\uFE4B\",\n  \"\\u203E\",\n  \"\\uFE4C\",\n  \"\\u203E\",\n  \"\\uFE4D\",\n  \"\\u005F\",\n  \"\\uFE4E\",\n  \"\\u005F\",\n  \"\\uFE4F\",\n  \"\\u005F\",\n  \"\\uFE80\",\n  \"\\u0621\",\n  \"\\uFE81\",\n  \"\\u0622\",\n  \"\\uFE82\",\n  \"\\u0622\",\n  \"\\uFE83\",\n  \"\\u0623\",\n  \"\\uFE84\",\n  \"\\u0623\",\n  \"\\uFE85\",\n  \"\\u0624\",\n  \"\\uFE86\",\n  \"\\u0624\",\n  \"\\uFE87\",\n  \"\\u0625\",\n  \"\\uFE88\",\n  \"\\u0625\",\n  \"\\uFE89\",\n  \"\\u0626\",\n  \"\\uFE8A\",\n  \"\\u0626\",\n  \"\\uFE8B\",\n  \"\\u0626\",\n  \"\\uFE8C\",\n  \"\\u0626\",\n  \"\\uFE8D\",\n  \"\\u0627\",\n  \"\\uFE8E\",\n  \"\\u0627\",\n  \"\\uFE8F\",\n  \"\\u0628\",\n  \"\\uFE90\",\n  \"\\u0628\",\n  \"\\uFE91\",\n  \"\\u0628\",\n  \"\\uFE92\",\n  \"\\u0628\",\n  \"\\uFE93\",\n  \"\\u0629\",\n  \"\\uFE94\",\n  \"\\u0629\",\n  \"\\uFE95\",\n  \"\\u062A\",\n  \"\\uFE96\",\n  \"\\u062A\",\n  \"\\uFE97\",\n  \"\\u062A\",\n  \"\\uFE98\",\n  \"\\u062A\",\n  \"\\uFE99\",\n  \"\\u062B\",\n  \"\\uFE9A\",\n  \"\\u062B\",\n  \"\\uFE9B\",\n  \"\\u062B\",\n  \"\\uFE9C\",\n  \"\\u062B\",\n  \"\\uFE9D\",\n  \"\\u062C\",\n  \"\\uFE9E\",\n  \"\\u062C\",\n  \"\\uFE9F\",\n  \"\\u062C\",\n  \"\\uFEA0\",\n  \"\\u062C\",\n  \"\\uFEA1\",\n  \"\\u062D\",\n  \"\\uFEA2\",\n  \"\\u062D\",\n  \"\\uFEA3\",\n  \"\\u062D\",\n  \"\\uFEA4\",\n  \"\\u062D\",\n  \"\\uFEA5\",\n  \"\\u062E\",\n  \"\\uFEA6\",\n  \"\\u062E\",\n  \"\\uFEA7\",\n  \"\\u062E\",\n  \"\\uFEA8\",\n  \"\\u062E\",\n  \"\\uFEA9\",\n  \"\\u062F\",\n  \"\\uFEAA\",\n  \"\\u062F\",\n  \"\\uFEAB\",\n  \"\\u0630\",\n  \"\\uFEAC\",\n  \"\\u0630\",\n  \"\\uFEAD\",\n  \"\\u0631\",\n  \"\\uFEAE\",\n  \"\\u0631\",\n  \"\\uFEAF\",\n  \"\\u0632\",\n  \"\\uFEB0\",\n  \"\\u0632\",\n  \"\\uFEB1\",\n  \"\\u0633\",\n  \"\\uFEB2\",\n  \"\\u0633\",\n  \"\\uFEB3\",\n  \"\\u0633\",\n  \"\\uFEB4\",\n  \"\\u0633\",\n  \"\\uFEB5\",\n  \"\\u0634\",\n  \"\\uFEB6\",\n  \"\\u0634\",\n  \"\\uFEB7\",\n  \"\\u0634\",\n  \"\\uFEB8\",\n  \"\\u0634\",\n  \"\\uFEB9\",\n  \"\\u0635\",\n  \"\\uFEBA\",\n  \"\\u0635\",\n  \"\\uFEBB\",\n  \"\\u0635\",\n  \"\\uFEBC\",\n  \"\\u0635\",\n  \"\\uFEBD\",\n  \"\\u0636\",\n  \"\\uFEBE\",\n  \"\\u0636\",\n  \"\\uFEBF\",\n  \"\\u0636\",\n  \"\\uFEC0\",\n  \"\\u0636\",\n  \"\\uFEC1\",\n  \"\\u0637\",\n  \"\\uFEC2\",\n  \"\\u0637\",\n  \"\\uFEC3\",\n  \"\\u0637\",\n  \"\\uFEC4\",\n  \"\\u0637\",\n  \"\\uFEC5\",\n  \"\\u0638\",\n  \"\\uFEC6\",\n  \"\\u0638\",\n  \"\\uFEC7\",\n  \"\\u0638\",\n  \"\\uFEC8\",\n  \"\\u0638\",\n  \"\\uFEC9\",\n  \"\\u0639\",\n  \"\\uFECA\",\n  \"\\u0639\",\n  \"\\uFECB\",\n  \"\\u0639\",\n  \"\\uFECC\",\n  \"\\u0639\",\n  \"\\uFECD\",\n  \"\\u063A\",\n  \"\\uFECE\",\n  \"\\u063A\",\n  \"\\uFECF\",\n  \"\\u063A\",\n  \"\\uFED0\",\n  \"\\u063A\",\n  \"\\uFED1\",\n  \"\\u0641\",\n  \"\\uFED2\",\n  \"\\u0641\",\n  \"\\uFED3\",\n  \"\\u0641\",\n  \"\\uFED4\",\n  \"\\u0641\",\n  \"\\uFED5\",\n  \"\\u0642\",\n  \"\\uFED6\",\n  \"\\u0642\",\n  \"\\uFED7\",\n  \"\\u0642\",\n  \"\\uFED8\",\n  \"\\u0642\",\n  \"\\uFED9\",\n  \"\\u0643\",\n  \"\\uFEDA\",\n  \"\\u0643\",\n  \"\\uFEDB\",\n  \"\\u0643\",\n  \"\\uFEDC\",\n  \"\\u0643\",\n  \"\\uFEDD\",\n  \"\\u0644\",\n  \"\\uFEDE\",\n  \"\\u0644\",\n  \"\\uFEDF\",\n  \"\\u0644\",\n  \"\\uFEE0\",\n  \"\\u0644\",\n  \"\\uFEE1\",\n  \"\\u0645\",\n  \"\\uFEE2\",\n  \"\\u0645\",\n  \"\\uFEE3\",\n  \"\\u0645\",\n  \"\\uFEE4\",\n  \"\\u0645\",\n  \"\\uFEE5\",\n  \"\\u0646\",\n  \"\\uFEE6\",\n  \"\\u0646\",\n  \"\\uFEE7\",\n  \"\\u0646\",\n  \"\\uFEE8\",\n  \"\\u0646\",\n  \"\\uFEE9\",\n  \"\\u0647\",\n  \"\\uFEEA\",\n  \"\\u0647\",\n  \"\\uFEEB\",\n  \"\\u0647\",\n  \"\\uFEEC\",\n  \"\\u0647\",\n  \"\\uFEED\",\n  \"\\u0648\",\n  \"\\uFEEE\",\n  \"\\u0648\",\n  \"\\uFEEF\",\n  \"\\u0649\",\n  \"\\uFEF0\",\n  \"\\u0649\",\n  \"\\uFEF1\",\n  \"\\u064A\",\n  \"\\uFEF2\",\n  \"\\u064A\",\n  \"\\uFEF3\",\n  \"\\u064A\",\n  \"\\uFEF4\",\n  \"\\u064A\",\n  \"\\uFEF5\",\n  \"\\u0644\\u0622\",\n  \"\\uFEF6\",\n  \"\\u0644\\u0622\",\n  \"\\uFEF7\",\n  \"\\u0644\\u0623\",\n  \"\\uFEF8\",\n  \"\\u0644\\u0623\",\n  \"\\uFEF9\",\n  \"\\u0644\\u0625\",\n  \"\\uFEFA\",\n  \"\\u0644\\u0625\",\n  \"\\uFEFB\",\n  \"\\u0644\\u0627\",\n  \"\\uFEFC\",\n  \"\\u0644\\u0627\"\n ];\n});\nfunction reverseIfRtl(chars) {\n var charsLength = chars.length;\n if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) {\n  return chars;\n }\n var s = \"\";\n for (var ii = charsLength - 1; ii >= 0; ii--) {\n  s += chars[ii];\n }\n return s;\n}\n\n\n/***/ }),\n/* 166 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.FontRendererFactory = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _cff_parser = __w_pdfjs_require__(160);\n\nvar _glyphlist = __w_pdfjs_require__(163);\n\nvar _encodings = __w_pdfjs_require__(162);\n\nvar _stream = __w_pdfjs_require__(142);\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar FontRendererFactory = function FontRendererFactoryClosure() {\n  function getLong(data, offset) {\n    return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n  }\n\n  function getUshort(data, offset) {\n    return data[offset] << 8 | data[offset + 1];\n  }\n\n  function getSubroutineBias(subrs) {\n    var numSubrs = subrs.length;\n    var bias = 32768;\n\n    if (numSubrs < 1240) {\n      bias = 107;\n    } else if (numSubrs < 33900) {\n      bias = 1131;\n    }\n\n    return bias;\n  }\n\n  function parseCmap(data, start, end) {\n    var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16);\n    var format = getUshort(data, start + offset);\n    var ranges, p, i;\n\n    if (format === 4) {\n      getUshort(data, start + offset + 2);\n      var segCount = getUshort(data, start + offset + 6) >> 1;\n      p = start + offset + 14;\n      ranges = [];\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i] = {\n          end: getUshort(data, p)\n        };\n      }\n\n      p += 2;\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].start = getUshort(data, p);\n      }\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        ranges[i].idDelta = getUshort(data, p);\n      }\n\n      for (i = 0; i < segCount; i++, p += 2) {\n        var idOffset = getUshort(data, p);\n\n        if (idOffset === 0) {\n          continue;\n        }\n\n        ranges[i].ids = [];\n\n        for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) {\n          ranges[i].ids[j] = getUshort(data, p + idOffset);\n          idOffset += 2;\n        }\n      }\n\n      return ranges;\n    } else if (format === 12) {\n      getLong(data, start + offset + 4);\n      var groups = getLong(data, start + offset + 12);\n      p = start + offset + 16;\n      ranges = [];\n\n      for (i = 0; i < groups; i++) {\n        ranges.push({\n          start: getLong(data, p),\n          end: getLong(data, p + 4),\n          idDelta: getLong(data, p + 8) - getLong(data, p)\n        });\n        p += 12;\n      }\n\n      return ranges;\n    }\n\n    throw new _util.FormatError(\"unsupported cmap: \".concat(format));\n  }\n\n  function parseCff(data, start, end, seacAnalysisEnabled) {\n    var properties = {};\n    var parser = new _cff_parser.CFFParser(new _stream.Stream(data, start, end - start), properties, seacAnalysisEnabled);\n    var cff = parser.parse();\n    return {\n      glyphs: cff.charStrings.objects,\n      subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects,\n      gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects,\n      isCFFCIDFont: cff.isCIDFont,\n      fdSelect: cff.fdSelect,\n      fdArray: cff.fdArray\n    };\n  }\n\n  function parseGlyfTable(glyf, loca, isGlyphLocationsLong) {\n    var itemSize, itemDecode;\n\n    if (isGlyphLocationsLong) {\n      itemSize = 4;\n\n      itemDecode = function fontItemDecodeLong(data, offset) {\n        return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3];\n      };\n    } else {\n      itemSize = 2;\n\n      itemDecode = function fontItemDecode(data, offset) {\n        return data[offset] << 9 | data[offset + 1] << 1;\n      };\n    }\n\n    var glyphs = [];\n    var startOffset = itemDecode(loca, 0);\n\n    for (var j = itemSize; j < loca.length; j += itemSize) {\n      var endOffset = itemDecode(loca, j);\n      glyphs.push(glyf.subarray(startOffset, endOffset));\n      startOffset = endOffset;\n    }\n\n    return glyphs;\n  }\n\n  function lookupCmap(ranges, unicode) {\n    var code = unicode.codePointAt(0),\n        gid = 0;\n    var l = 0,\n        r = ranges.length - 1;\n\n    while (l < r) {\n      var c = l + r + 1 >> 1;\n\n      if (code < ranges[c].start) {\n        r = c - 1;\n      } else {\n        l = c;\n      }\n    }\n\n    if (ranges[l].start <= code && code <= ranges[l].end) {\n      gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xffff;\n    }\n\n    return {\n      charCode: code,\n      glyphId: gid\n    };\n  }\n\n  function compileGlyf(code, cmds, font) {\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: \"moveTo\",\n        args: [x, y]\n      });\n    }\n\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: \"lineTo\",\n        args: [x, y]\n      });\n    }\n\n    function quadraticCurveTo(xa, ya, x, y) {\n      cmds.push({\n        cmd: \"quadraticCurveTo\",\n        args: [xa, ya, x, y]\n      });\n    }\n\n    var i = 0;\n    var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16;\n    var flags;\n    var x = 0,\n        y = 0;\n    i += 10;\n\n    if (numberOfContours < 0) {\n      do {\n        flags = code[i] << 8 | code[i + 1];\n        var glyphIndex = code[i + 2] << 8 | code[i + 3];\n        i += 4;\n        var arg1, arg2;\n\n        if (flags & 0x01) {\n          arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16;\n          arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16;\n          i += 4;\n        } else {\n          arg1 = code[i++];\n          arg2 = code[i++];\n        }\n\n        if (flags & 0x02) {\n          x = arg1;\n          y = arg2;\n        } else {\n          x = 0;\n          y = 0;\n        }\n\n        var scaleX = 1,\n            scaleY = 1,\n            scale01 = 0,\n            scale10 = 0;\n\n        if (flags & 0x08) {\n          scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          i += 2;\n        } else if (flags & 0x40) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          i += 4;\n        } else if (flags & 0x80) {\n          scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824;\n          scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824;\n          scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824;\n          scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824;\n          i += 8;\n        }\n\n        var subglyph = font.glyphs[glyphIndex];\n\n        if (subglyph) {\n          cmds.push({\n            cmd: \"save\"\n          });\n          cmds.push({\n            cmd: \"transform\",\n            args: [scaleX, scale01, scale10, scaleY, x, y]\n          });\n          compileGlyf(subglyph, cmds, font);\n          cmds.push({\n            cmd: \"restore\"\n          });\n        }\n      } while (flags & 0x20);\n    } else {\n      var endPtsOfContours = [];\n      var j, jj;\n\n      for (j = 0; j < numberOfContours; j++) {\n        endPtsOfContours.push(code[i] << 8 | code[i + 1]);\n        i += 2;\n      }\n\n      var instructionLength = code[i] << 8 | code[i + 1];\n      i += 2 + instructionLength;\n      var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1;\n      var points = [];\n\n      while (points.length < numberOfPoints) {\n        flags = code[i++];\n        var repeat = 1;\n\n        if (flags & 0x08) {\n          repeat += code[i++];\n        }\n\n        while (repeat-- > 0) {\n          points.push({\n            flags: flags\n          });\n        }\n      }\n\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x12) {\n          case 0x00:\n            x += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n\n          case 0x02:\n            x -= code[i++];\n            break;\n\n          case 0x12:\n            x += code[i++];\n            break;\n        }\n\n        points[j].x = x;\n      }\n\n      for (j = 0; j < numberOfPoints; j++) {\n        switch (points[j].flags & 0x24) {\n          case 0x00:\n            y += (code[i] << 24 | code[i + 1] << 16) >> 16;\n            i += 2;\n            break;\n\n          case 0x04:\n            y -= code[i++];\n            break;\n\n          case 0x24:\n            y += code[i++];\n            break;\n        }\n\n        points[j].y = y;\n      }\n\n      var startPoint = 0;\n\n      for (i = 0; i < numberOfContours; i++) {\n        var endPoint = endPtsOfContours[i];\n        var contour = points.slice(startPoint, endPoint + 1);\n\n        if (contour[0].flags & 1) {\n          contour.push(contour[0]);\n        } else if (contour[contour.length - 1].flags & 1) {\n          contour.unshift(contour[contour.length - 1]);\n        } else {\n          var p = {\n            flags: 1,\n            x: (contour[0].x + contour[contour.length - 1].x) / 2,\n            y: (contour[0].y + contour[contour.length - 1].y) / 2\n          };\n          contour.unshift(p);\n          contour.push(p);\n        }\n\n        moveTo(contour[0].x, contour[0].y);\n\n        for (j = 1, jj = contour.length; j < jj; j++) {\n          if (contour[j].flags & 1) {\n            lineTo(contour[j].x, contour[j].y);\n          } else if (contour[j + 1].flags & 1) {\n            quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y);\n            j++;\n          } else {\n            quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2);\n          }\n        }\n\n        startPoint = endPoint + 1;\n      }\n    }\n  }\n\n  function compileCharString(charStringCode, cmds, font, glyphId) {\n    function moveTo(x, y) {\n      cmds.push({\n        cmd: \"moveTo\",\n        args: [x, y]\n      });\n    }\n\n    function lineTo(x, y) {\n      cmds.push({\n        cmd: \"lineTo\",\n        args: [x, y]\n      });\n    }\n\n    function bezierCurveTo(x1, y1, x2, y2, x, y) {\n      cmds.push({\n        cmd: \"bezierCurveTo\",\n        args: [x1, y1, x2, y2, x, y]\n      });\n    }\n\n    var stack = [];\n    var x = 0,\n        y = 0;\n    var stems = 0;\n\n    function parse(code) {\n      var i = 0;\n\n      while (i < code.length) {\n        var stackClean = false;\n        var v = code[i++];\n        var xa, xb, ya, yb, y1, y2, y3, n, subrCode;\n\n        switch (v) {\n          case 1:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 3:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 4:\n            y += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 5:\n            while (stack.length > 0) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 6:\n            while (stack.length > 0) {\n              x += stack.shift();\n              lineTo(x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 7:\n            while (stack.length > 0) {\n              y += stack.shift();\n              lineTo(x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              x += stack.shift();\n              lineTo(x, y);\n            }\n\n            break;\n\n          case 8:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 10:\n            n = stack.pop();\n            subrCode = null;\n\n            if (font.isCFFCIDFont) {\n              var fdIndex = font.fdSelect.getFDIndex(glyphId);\n\n              if (fdIndex >= 0 && fdIndex < font.fdArray.length) {\n                var fontDict = font.fdArray[fdIndex];\n                var subrs = void 0;\n\n                if (fontDict.privateDict && fontDict.privateDict.subrsIndex) {\n                  subrs = fontDict.privateDict.subrsIndex.objects;\n                }\n\n                if (subrs) {\n                  n += getSubroutineBias(subrs);\n                  subrCode = subrs[n];\n                }\n              } else {\n                (0, _util.warn)(\"Invalid fd index for glyph index.\");\n              }\n            } else {\n              subrCode = font.subrs[n + font.subrsBias];\n            }\n\n            if (subrCode) {\n              parse(subrCode);\n            }\n\n            break;\n\n          case 11:\n            return;\n\n          case 12:\n            v = code[i++];\n\n            switch (v) {\n              case 34:\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y1 = y + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y, xb, y1, x, y1);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y, x, y);\n                break;\n\n              case 35:\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                stack.pop();\n                break;\n\n              case 36:\n                xa = x + stack.shift();\n                y1 = y + stack.shift();\n                xb = xa + stack.shift();\n                y2 = y1 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y1, xb, y2, x, y2);\n                xa = x + stack.shift();\n                xb = xa + stack.shift();\n                y3 = y2 + stack.shift();\n                x = xb + stack.shift();\n                bezierCurveTo(xa, y2, xb, y3, x, y);\n                break;\n\n              case 37:\n                var x0 = x,\n                    y0 = y;\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb + stack.shift();\n                y = yb + stack.shift();\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                xa = x + stack.shift();\n                ya = y + stack.shift();\n                xb = xa + stack.shift();\n                yb = ya + stack.shift();\n                x = xb;\n                y = yb;\n\n                if (Math.abs(x - x0) > Math.abs(y - y0)) {\n                  x += stack.shift();\n                } else {\n                  y += stack.shift();\n                }\n\n                bezierCurveTo(xa, ya, xb, yb, x, y);\n                break;\n\n              default:\n                throw new _util.FormatError(\"unknown operator: 12 \".concat(v));\n            }\n\n            break;\n\n          case 14:\n            if (stack.length >= 4) {\n              var achar = stack.pop();\n              var bchar = stack.pop();\n              y = stack.pop();\n              x = stack.pop();\n              cmds.push({\n                cmd: \"save\"\n              });\n              cmds.push({\n                cmd: \"translate\",\n                args: [x, y]\n              });\n              var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[achar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n              cmds.push({\n                cmd: \"restore\"\n              });\n              cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[_encodings.StandardEncoding[bchar]]));\n              compileCharString(font.glyphs[cmap.glyphId], cmds, font, cmap.glyphId);\n            }\n\n            return;\n\n          case 18:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 19:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n\n          case 20:\n            stems += stack.length >> 1;\n            i += stems + 7 >> 3;\n            stackClean = true;\n            break;\n\n          case 21:\n            y += stack.pop();\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 22:\n            x += stack.pop();\n            moveTo(x, y);\n            stackClean = true;\n            break;\n\n          case 23:\n            stems += stack.length >> 1;\n            stackClean = true;\n            break;\n\n          case 24:\n            while (stack.length > 2) {\n              xa = x + stack.shift();\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            x += stack.shift();\n            y += stack.shift();\n            lineTo(x, y);\n            break;\n\n          case 25:\n            while (stack.length > 6) {\n              x += stack.shift();\n              y += stack.shift();\n              lineTo(x, y);\n            }\n\n            xa = x + stack.shift();\n            ya = y + stack.shift();\n            xb = xa + stack.shift();\n            yb = ya + stack.shift();\n            x = xb + stack.shift();\n            y = yb + stack.shift();\n            bezierCurveTo(xa, ya, xb, yb, x, y);\n            break;\n\n          case 26:\n            if (stack.length % 2) {\n              x += stack.shift();\n            }\n\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb;\n              y = yb + stack.shift();\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 27:\n            if (stack.length % 2) {\n              y += stack.shift();\n            }\n\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb;\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 28:\n            stack.push((code[i] << 24 | code[i + 1] << 16) >> 16);\n            i += 2;\n            break;\n\n          case 29:\n            n = stack.pop() + font.gsubrsBias;\n            subrCode = font.gsubrs[n];\n\n            if (subrCode) {\n              parse(subrCode);\n            }\n\n            break;\n\n          case 30:\n            while (stack.length > 0) {\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          case 31:\n            while (stack.length > 0) {\n              xa = x + stack.shift();\n              ya = y;\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              y = yb + stack.shift();\n              x = xb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n\n              if (stack.length === 0) {\n                break;\n              }\n\n              xa = x;\n              ya = y + stack.shift();\n              xb = xa + stack.shift();\n              yb = ya + stack.shift();\n              x = xb + stack.shift();\n              y = yb + (stack.length === 1 ? stack.shift() : 0);\n              bezierCurveTo(xa, ya, xb, yb, x, y);\n            }\n\n            break;\n\n          default:\n            if (v < 32) {\n              throw new _util.FormatError(\"unknown operator: \".concat(v));\n            }\n\n            if (v < 247) {\n              stack.push(v - 139);\n            } else if (v < 251) {\n              stack.push((v - 247) * 256 + code[i++] + 108);\n            } else if (v < 255) {\n              stack.push(-(v - 251) * 256 - code[i++] - 108);\n            } else {\n              stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536);\n              i += 4;\n            }\n\n            break;\n        }\n\n        if (stackClean) {\n          stack.length = 0;\n        }\n      }\n    }\n\n    parse(charStringCode);\n  }\n\n  var NOOP = [];\n\n  var CompiledFont = /*#__PURE__*/function () {\n    function CompiledFont(fontMatrix) {\n      _classCallCheck(this, CompiledFont);\n\n      if (this.constructor === CompiledFont) {\n        (0, _util.unreachable)(\"Cannot initialize CompiledFont.\");\n      }\n\n      this.fontMatrix = fontMatrix;\n      this.compiledGlyphs = Object.create(null);\n      this.compiledCharCodeToGlyphId = Object.create(null);\n    }\n\n    _createClass(CompiledFont, [{\n      key: \"getPathJs\",\n      value: function getPathJs(unicode) {\n        var cmap = lookupCmap(this.cmap, unicode);\n        var fn = this.compiledGlyphs[cmap.glyphId];\n\n        if (!fn) {\n          fn = this.compileGlyph(this.glyphs[cmap.glyphId], cmap.glyphId);\n          this.compiledGlyphs[cmap.glyphId] = fn;\n        }\n\n        if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) {\n          this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId;\n        }\n\n        return fn;\n      }\n    }, {\n      key: \"compileGlyph\",\n      value: function compileGlyph(code, glyphId) {\n        if (!code || code.length === 0 || code[0] === 14) {\n          return NOOP;\n        }\n\n        var fontMatrix = this.fontMatrix;\n\n        if (this.isCFFCIDFont) {\n          var fdIndex = this.fdSelect.getFDIndex(glyphId);\n\n          if (fdIndex >= 0 && fdIndex < this.fdArray.length) {\n            var fontDict = this.fdArray[fdIndex];\n            fontMatrix = fontDict.getByName(\"FontMatrix\") || _util.FONT_IDENTITY_MATRIX;\n          } else {\n            (0, _util.warn)(\"Invalid fd index for glyph index.\");\n          }\n        }\n\n        var cmds = [];\n        cmds.push({\n          cmd: \"save\"\n        });\n        cmds.push({\n          cmd: \"transform\",\n          args: fontMatrix.slice()\n        });\n        cmds.push({\n          cmd: \"scale\",\n          args: [\"size\", \"-size\"]\n        });\n        this.compileGlyphImpl(code, cmds, glyphId);\n        cmds.push({\n          cmd: \"restore\"\n        });\n        return cmds;\n      }\n    }, {\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl() {\n        (0, _util.unreachable)(\"Children classes should implement this.\");\n      }\n    }, {\n      key: \"hasBuiltPath\",\n      value: function hasBuiltPath(unicode) {\n        var cmap = lookupCmap(this.cmap, unicode);\n        return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined;\n      }\n    }]);\n\n    return CompiledFont;\n  }();\n\n  var TrueTypeCompiled = /*#__PURE__*/function (_CompiledFont) {\n    _inherits(TrueTypeCompiled, _CompiledFont);\n\n    var _super = _createSuper(TrueTypeCompiled);\n\n    function TrueTypeCompiled(glyphs, cmap, fontMatrix) {\n      var _this;\n\n      _classCallCheck(this, TrueTypeCompiled);\n\n      _this = _super.call(this, fontMatrix || [0.000488, 0, 0, 0.000488, 0, 0]);\n      _this.glyphs = glyphs;\n      _this.cmap = cmap;\n      return _this;\n    }\n\n    _createClass(TrueTypeCompiled, [{\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl(code, cmds) {\n        compileGlyf(code, cmds, this);\n      }\n    }]);\n\n    return TrueTypeCompiled;\n  }(CompiledFont);\n\n  var Type2Compiled = /*#__PURE__*/function (_CompiledFont2) {\n    _inherits(Type2Compiled, _CompiledFont2);\n\n    var _super2 = _createSuper(Type2Compiled);\n\n    function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) {\n      var _this2;\n\n      _classCallCheck(this, Type2Compiled);\n\n      _this2 = _super2.call(this, fontMatrix || [0.001, 0, 0, 0.001, 0, 0]);\n      _this2.glyphs = cffInfo.glyphs;\n      _this2.gsubrs = cffInfo.gsubrs || [];\n      _this2.subrs = cffInfo.subrs || [];\n      _this2.cmap = cmap;\n      _this2.glyphNameMap = glyphNameMap || (0, _glyphlist.getGlyphsUnicode)();\n      _this2.gsubrsBias = getSubroutineBias(_this2.gsubrs);\n      _this2.subrsBias = getSubroutineBias(_this2.subrs);\n      _this2.isCFFCIDFont = cffInfo.isCFFCIDFont;\n      _this2.fdSelect = cffInfo.fdSelect;\n      _this2.fdArray = cffInfo.fdArray;\n      return _this2;\n    }\n\n    _createClass(Type2Compiled, [{\n      key: \"compileGlyphImpl\",\n      value: function compileGlyphImpl(code, cmds, glyphId) {\n        compileCharString(code, cmds, this, glyphId);\n      }\n    }]);\n\n    return Type2Compiled;\n  }(CompiledFont);\n\n  return {\n    create: function FontRendererFactory_create(font, seacAnalysisEnabled) {\n      var data = new Uint8Array(font.data);\n      var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm;\n      var numTables = getUshort(data, 4);\n\n      for (var i = 0, p = 12; i < numTables; i++, p += 16) {\n        var tag = (0, _util.bytesToString)(data.subarray(p, p + 4));\n        var offset = getLong(data, p + 8);\n        var length = getLong(data, p + 12);\n\n        switch (tag) {\n          case \"cmap\":\n            cmap = parseCmap(data, offset, offset + length);\n            break;\n\n          case \"glyf\":\n            glyf = data.subarray(offset, offset + length);\n            break;\n\n          case \"loca\":\n            loca = data.subarray(offset, offset + length);\n            break;\n\n          case \"head\":\n            unitsPerEm = getUshort(data, offset + 18);\n            indexToLocFormat = getUshort(data, offset + 50);\n            break;\n\n          case \"CFF \":\n            cff = parseCff(data, offset, offset + length, seacAnalysisEnabled);\n            break;\n        }\n      }\n\n      if (glyf) {\n        var fontMatrix = !unitsPerEm ? font.fontMatrix : [1 / unitsPerEm, 0, 0, 1 / unitsPerEm, 0, 0];\n        return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix);\n      }\n\n      return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap);\n    }\n  };\n}();\n\nexports.FontRendererFactory = FontRendererFactory;\n\n/***/ }),\n/* 167 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.Type1Parser = void 0;\n\nvar _encodings = __w_pdfjs_require__(162);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar HINTING_ENABLED = false;\n\nvar Type1CharString = function Type1CharStringClosure() {\n  var COMMAND_MAP = {\n    hstem: [1],\n    vstem: [3],\n    vmoveto: [4],\n    rlineto: [5],\n    hlineto: [6],\n    vlineto: [7],\n    rrcurveto: [8],\n    callsubr: [10],\n    flex: [12, 35],\n    drop: [12, 18],\n    endchar: [14],\n    rmoveto: [21],\n    hmoveto: [22],\n    vhcurveto: [30],\n    hvcurveto: [31]\n  };\n\n  function Type1CharString() {\n    this.width = 0;\n    this.lsb = 0;\n    this.flexing = false;\n    this.output = [];\n    this.stack = [];\n  }\n\n  Type1CharString.prototype = {\n    convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) {\n      var count = encoded.length;\n      var error = false;\n      var wx, sbx, subrNumber;\n\n      for (var i = 0; i < count; i++) {\n        var value = encoded[i];\n\n        if (value < 32) {\n          if (value === 12) {\n            value = (value << 8) + encoded[++i];\n          }\n\n          switch (value) {\n            case 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n\n            case 3:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n\n            case 4:\n              if (this.flexing) {\n                if (this.stack.length < 1) {\n                  error = true;\n                  break;\n                }\n\n                var dy = this.stack.pop();\n                this.stack.push(0, dy);\n                break;\n              }\n\n              error = this.executeCommand(1, COMMAND_MAP.vmoveto);\n              break;\n\n            case 5:\n              error = this.executeCommand(2, COMMAND_MAP.rlineto);\n              break;\n\n            case 6:\n              error = this.executeCommand(1, COMMAND_MAP.hlineto);\n              break;\n\n            case 7:\n              error = this.executeCommand(1, COMMAND_MAP.vlineto);\n              break;\n\n            case 8:\n              error = this.executeCommand(6, COMMAND_MAP.rrcurveto);\n              break;\n\n            case 9:\n              this.stack = [];\n              break;\n\n            case 10:\n              if (this.stack.length < 1) {\n                error = true;\n                break;\n              }\n\n              subrNumber = this.stack.pop();\n\n              if (!subrs[subrNumber]) {\n                error = true;\n                break;\n              }\n\n              error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled);\n              break;\n\n            case 11:\n              return error;\n\n            case 13:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              wx = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx);\n              error = this.executeCommand(2, COMMAND_MAP.hmoveto);\n              break;\n\n            case 14:\n              this.output.push(COMMAND_MAP.endchar[0]);\n              break;\n\n            case 21:\n              if (this.flexing) {\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.rmoveto);\n              break;\n\n            case 22:\n              if (this.flexing) {\n                this.stack.push(0);\n                break;\n              }\n\n              error = this.executeCommand(1, COMMAND_MAP.hmoveto);\n              break;\n\n            case 30:\n              error = this.executeCommand(4, COMMAND_MAP.vhcurveto);\n              break;\n\n            case 31:\n              error = this.executeCommand(4, COMMAND_MAP.hvcurveto);\n              break;\n\n            case (12 << 8) + 0:\n              this.stack = [];\n              break;\n\n            case (12 << 8) + 1:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.vstem);\n              break;\n\n            case (12 << 8) + 2:\n              if (!HINTING_ENABLED) {\n                this.stack = [];\n                break;\n              }\n\n              error = this.executeCommand(2, COMMAND_MAP.hstem);\n              break;\n\n            case (12 << 8) + 6:\n              if (seacAnalysisEnabled) {\n                var asb = this.stack[this.stack.length - 5];\n                this.seac = this.stack.splice(-4, 4);\n                this.seac[0] += this.lsb - asb;\n                error = this.executeCommand(0, COMMAND_MAP.endchar);\n              } else {\n                error = this.executeCommand(4, COMMAND_MAP.endchar);\n              }\n\n              break;\n\n            case (12 << 8) + 7:\n              if (this.stack.length < 4) {\n                error = true;\n                break;\n              }\n\n              this.stack.pop();\n              wx = this.stack.pop();\n              var sby = this.stack.pop();\n              sbx = this.stack.pop();\n              this.lsb = sbx;\n              this.width = wx;\n              this.stack.push(wx, sbx, sby);\n              error = this.executeCommand(3, COMMAND_MAP.rmoveto);\n              break;\n\n            case (12 << 8) + 12:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              var num2 = this.stack.pop();\n              var num1 = this.stack.pop();\n              this.stack.push(num1 / num2);\n              break;\n\n            case (12 << 8) + 16:\n              if (this.stack.length < 2) {\n                error = true;\n                break;\n              }\n\n              subrNumber = this.stack.pop();\n              var numArgs = this.stack.pop();\n\n              if (subrNumber === 0 && numArgs === 3) {\n                var flexArgs = this.stack.splice(this.stack.length - 17, 17);\n                this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]);\n                error = this.executeCommand(13, COMMAND_MAP.flex, true);\n                this.flexing = false;\n                this.stack.push(flexArgs[15], flexArgs[16]);\n              } else if (subrNumber === 1 && numArgs === 0) {\n                this.flexing = true;\n              }\n\n              break;\n\n            case (12 << 8) + 17:\n              break;\n\n            case (12 << 8) + 33:\n              this.stack = [];\n              break;\n\n            default:\n              (0, _util.warn)('Unknown type 1 charstring command of \"' + value + '\"');\n              break;\n          }\n\n          if (error) {\n            break;\n          }\n\n          continue;\n        } else if (value <= 246) {\n          value = value - 139;\n        } else if (value <= 250) {\n          value = (value - 247) * 256 + encoded[++i] + 108;\n        } else if (value <= 254) {\n          value = -((value - 251) * 256) - encoded[++i] - 108;\n        } else {\n          value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0;\n        }\n\n        this.stack.push(value);\n      }\n\n      return error;\n    },\n    executeCommand: function executeCommand(howManyArgs, command, keepStack) {\n      var stackLength = this.stack.length;\n\n      if (howManyArgs > stackLength) {\n        return true;\n      }\n\n      var start = stackLength - howManyArgs;\n\n      for (var i = start; i < stackLength; i++) {\n        var value = this.stack[i];\n\n        if (Number.isInteger(value)) {\n          this.output.push(28, value >> 8 & 0xff, value & 0xff);\n        } else {\n          value = 65536 * value | 0;\n          this.output.push(255, value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n        }\n      }\n\n      this.output.push.apply(this.output, command);\n\n      if (keepStack) {\n        this.stack.splice(start, howManyArgs);\n      } else {\n        this.stack.length = 0;\n      }\n\n      return false;\n    }\n  };\n  return Type1CharString;\n}();\n\nvar Type1Parser = function Type1ParserClosure() {\n  var EEXEC_ENCRYPT_KEY = 55665;\n  var CHAR_STRS_ENCRYPT_KEY = 4330;\n\n  function isHexDigit(code) {\n    return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102;\n  }\n\n  function decrypt(data, key, discardNumber) {\n    if (discardNumber >= data.length) {\n      return new Uint8Array(0);\n    }\n\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719,\n        i,\n        j;\n\n    for (i = 0; i < discardNumber; i++) {\n      r = (data[i] + r) * c1 + c2 & (1 << 16) - 1;\n    }\n\n    var count = data.length - discardNumber;\n    var decrypted = new Uint8Array(count);\n\n    for (i = discardNumber, j = 0; j < count; i++, j++) {\n      var value = data[i];\n      decrypted[j] = value ^ r >> 8;\n      r = (value + r) * c1 + c2 & (1 << 16) - 1;\n    }\n\n    return decrypted;\n  }\n\n  function decryptAscii(data, key, discardNumber) {\n    var r = key | 0,\n        c1 = 52845,\n        c2 = 22719;\n    var count = data.length,\n        maybeLength = count >>> 1;\n    var decrypted = new Uint8Array(maybeLength);\n    var i, j;\n\n    for (i = 0, j = 0; i < count; i++) {\n      var digit1 = data[i];\n\n      if (!isHexDigit(digit1)) {\n        continue;\n      }\n\n      i++;\n      var digit2;\n\n      while (i < count && !isHexDigit(digit2 = data[i])) {\n        i++;\n      }\n\n      if (i < count) {\n        var value = parseInt(String.fromCharCode(digit1, digit2), 16);\n        decrypted[j++] = value ^ r >> 8;\n        r = (value + r) * c1 + c2 & (1 << 16) - 1;\n      }\n    }\n\n    return decrypted.slice(discardNumber, j);\n  }\n\n  function isSpecial(c) {\n    return c === 0x2f || c === 0x5b || c === 0x5d || c === 0x7b || c === 0x7d || c === 0x28 || c === 0x29;\n  }\n\n  function Type1Parser(stream, encrypted, seacAnalysisEnabled) {\n    if (encrypted) {\n      var data = stream.getBytes();\n      var isBinary = !((isHexDigit(data[0]) || (0, _core_utils.isWhiteSpace)(data[0])) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3]) && isHexDigit(data[4]) && isHexDigit(data[5]) && isHexDigit(data[6]) && isHexDigit(data[7]));\n      stream = new _stream.Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4));\n    }\n\n    this.seacAnalysisEnabled = !!seacAnalysisEnabled;\n    this.stream = stream;\n    this.nextChar();\n  }\n\n  Type1Parser.prototype = {\n    readNumberArray: function Type1Parser_readNumberArray() {\n      this.getToken();\n      var array = [];\n\n      while (true) {\n        var token = this.getToken();\n\n        if (token === null || token === \"]\" || token === \"}\") {\n          break;\n        }\n\n        array.push(parseFloat(token || 0));\n      }\n\n      return array;\n    },\n    readNumber: function Type1Parser_readNumber() {\n      var token = this.getToken();\n      return parseFloat(token || 0);\n    },\n    readInt: function Type1Parser_readInt() {\n      var token = this.getToken();\n      return parseInt(token || 0, 10) | 0;\n    },\n    readBoolean: function Type1Parser_readBoolean() {\n      var token = this.getToken();\n      return token === \"true\" ? 1 : 0;\n    },\n    nextChar: function Type1_nextChar() {\n      return this.currentChar = this.stream.getByte();\n    },\n    getToken: function Type1Parser_getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch === -1) {\n          return null;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      if (isSpecial(ch)) {\n        this.nextChar();\n        return String.fromCharCode(ch);\n      }\n\n      var token = \"\";\n\n      do {\n        token += String.fromCharCode(ch);\n        ch = this.nextChar();\n      } while (ch >= 0 && !(0, _core_utils.isWhiteSpace)(ch) && !isSpecial(ch));\n\n      return token;\n    },\n    readCharStrings: function Type1Parser_readCharStrings(bytes, lenIV) {\n      if (lenIV === -1) {\n        return bytes;\n      }\n\n      return decrypt(bytes, CHAR_STRS_ENCRYPT_KEY, lenIV);\n    },\n    extractFontProgram: function Type1Parser_extractFontProgram(properties) {\n      var stream = this.stream;\n      var subrs = [],\n          charstrings = [];\n      var privateData = Object.create(null);\n      privateData.lenIV = 4;\n      var program = {\n        subrs: [],\n        charstrings: [],\n        properties: {\n          privateData: privateData\n        }\n      };\n      var token, length, data, lenIV, encoded;\n\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n\n        token = this.getToken();\n\n        switch (token) {\n          case \"CharStrings\":\n            this.getToken();\n            this.getToken();\n            this.getToken();\n            this.getToken();\n\n            while (true) {\n              token = this.getToken();\n\n              if (token === null || token === \"end\") {\n                break;\n              }\n\n              if (token !== \"/\") {\n                continue;\n              }\n\n              var glyph = this.getToken();\n              length = this.readInt();\n              this.getToken();\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData.lenIV;\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken();\n\n              if (token === \"noaccess\") {\n                this.getToken();\n              }\n\n              charstrings.push({\n                glyph: glyph,\n                encoded: encoded\n              });\n            }\n\n            break;\n\n          case \"Subrs\":\n            this.readInt();\n            this.getToken();\n\n            while (this.getToken() === \"dup\") {\n              var index = this.readInt();\n              length = this.readInt();\n              this.getToken();\n              data = length > 0 ? stream.getBytes(length) : new Uint8Array(0);\n              lenIV = program.properties.privateData.lenIV;\n              encoded = this.readCharStrings(data, lenIV);\n              this.nextChar();\n              token = this.getToken();\n\n              if (token === \"noaccess\") {\n                this.getToken();\n              }\n\n              subrs[index] = encoded;\n            }\n\n            break;\n\n          case \"BlueValues\":\n          case \"OtherBlues\":\n          case \"FamilyBlues\":\n          case \"FamilyOtherBlues\":\n            var blueArray = this.readNumberArray();\n\n            if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) {\n              program.properties.privateData[token] = blueArray;\n            }\n\n            break;\n\n          case \"StemSnapH\":\n          case \"StemSnapV\":\n            program.properties.privateData[token] = this.readNumberArray();\n            break;\n\n          case \"StdHW\":\n          case \"StdVW\":\n            program.properties.privateData[token] = this.readNumberArray()[0];\n            break;\n\n          case \"BlueShift\":\n          case \"lenIV\":\n          case \"BlueFuzz\":\n          case \"BlueScale\":\n          case \"LanguageGroup\":\n          case \"ExpansionFactor\":\n            program.properties.privateData[token] = this.readNumber();\n            break;\n\n          case \"ForceBold\":\n            program.properties.privateData[token] = this.readBoolean();\n            break;\n        }\n      }\n\n      for (var i = 0; i < charstrings.length; i++) {\n        glyph = charstrings[i].glyph;\n        encoded = charstrings[i].encoded;\n        var charString = new Type1CharString();\n        var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled);\n        var output = charString.output;\n\n        if (error) {\n          output = [14];\n        }\n\n        var charStringObject = {\n          glyphName: glyph,\n          charstring: output,\n          width: charString.width,\n          lsb: charString.lsb,\n          seac: charString.seac\n        };\n\n        if (glyph === \".notdef\") {\n          program.charstrings.unshift(charStringObject);\n        } else {\n          program.charstrings.push(charStringObject);\n        }\n\n        if (properties.builtInEncoding) {\n          var _index = properties.builtInEncoding.indexOf(glyph);\n\n          if (_index > -1 && properties.widths[_index] === undefined && _index >= properties.firstChar && _index <= properties.lastChar) {\n            properties.widths[_index] = charString.width;\n          }\n        }\n      }\n\n      return program;\n    },\n    extractFontHeader: function Type1Parser_extractFontHeader(properties) {\n      var token;\n\n      while ((token = this.getToken()) !== null) {\n        if (token !== \"/\") {\n          continue;\n        }\n\n        token = this.getToken();\n\n        switch (token) {\n          case \"FontMatrix\":\n            var matrix = this.readNumberArray();\n            properties.fontMatrix = matrix;\n            break;\n\n          case \"Encoding\":\n            var encodingArg = this.getToken();\n            var encoding;\n\n            if (!/^\\d+$/.test(encodingArg)) {\n              encoding = (0, _encodings.getEncoding)(encodingArg);\n            } else {\n              encoding = [];\n              var size = parseInt(encodingArg, 10) | 0;\n              this.getToken();\n\n              for (var j = 0; j < size; j++) {\n                token = this.getToken();\n\n                while (token !== \"dup\" && token !== \"def\") {\n                  token = this.getToken();\n\n                  if (token === null) {\n                    return;\n                  }\n                }\n\n                if (token === \"def\") {\n                  break;\n                }\n\n                var index = this.readInt();\n                this.getToken();\n                var glyph = this.getToken();\n                encoding[index] = glyph;\n                this.getToken();\n              }\n            }\n\n            properties.builtInEncoding = encoding;\n            break;\n\n          case \"FontBBox\":\n            var fontBBox = this.readNumberArray();\n            properties.ascent = Math.max(fontBBox[3], fontBBox[1]);\n            properties.descent = Math.min(fontBBox[1], fontBBox[3]);\n            properties.ascentScaled = true;\n            break;\n        }\n      }\n    }\n  };\n  return Type1Parser;\n}();\n\nexports.Type1Parser = Type1Parser;\n\n/***/ }),\n/* 168 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getTilingPatternIR = getTilingPatternIR;\nexports.Pattern = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar ShadingType = {\n  FUNCTION_BASED: 1,\n  AXIAL: 2,\n  RADIAL: 3,\n  FREE_FORM_MESH: 4,\n  LATTICE_FORM_MESH: 5,\n  COONS_PATCH_MESH: 6,\n  TENSOR_PATCH_MESH: 7\n};\n\nvar Pattern = function PatternClosure() {\n  function Pattern() {\n    (0, _util.unreachable)(\"should not call Pattern constructor\");\n  }\n\n  Pattern.prototype = {\n    getPattern: function Pattern_getPattern(ctx) {\n      (0, _util.unreachable)(\"Should not call Pattern.getStyle: \".concat(ctx));\n    }\n  };\n\n  Pattern.parseShading = function (shading, matrix, xref, res, handler, pdfFunctionFactory, localColorSpaceCache) {\n    var dict = (0, _primitives.isStream)(shading) ? shading.dict : shading;\n    var type = dict.get(\"ShadingType\");\n\n    try {\n      switch (type) {\n        case ShadingType.AXIAL:\n        case ShadingType.RADIAL:\n          return new Shadings.RadialAxial(dict, matrix, xref, res, pdfFunctionFactory, localColorSpaceCache);\n\n        case ShadingType.FREE_FORM_MESH:\n        case ShadingType.LATTICE_FORM_MESH:\n        case ShadingType.COONS_PATCH_MESH:\n        case ShadingType.TENSOR_PATCH_MESH:\n          return new Shadings.Mesh(shading, matrix, xref, res, pdfFunctionFactory, localColorSpaceCache);\n\n        default:\n          throw new _util.FormatError(\"Unsupported ShadingType: \" + type);\n      }\n    } catch (ex) {\n      if (ex instanceof _core_utils.MissingDataException) {\n        throw ex;\n      }\n\n      handler.send(\"UnsupportedFeature\", {\n        featureId: _util.UNSUPPORTED_FEATURES.shadingPattern\n      });\n      (0, _util.warn)(ex);\n      return new Shadings.Dummy();\n    }\n  };\n\n  return Pattern;\n}();\n\nexports.Pattern = Pattern;\nvar Shadings = {};\nShadings.SMALL_NUMBER = 1e-6;\n\nShadings.RadialAxial = function RadialAxialClosure() {\n  function RadialAxial(dict, matrix, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n    this.matrix = matrix;\n    this.coordsArr = dict.getArray(\"Coords\");\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n\n    var cs = _colorspace.ColorSpace.parse({\n      cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n      xref: xref,\n      resources: resources,\n      pdfFunctionFactory: pdfFunctionFactory,\n      localColorSpaceCache: localColorSpaceCache\n    });\n\n    this.cs = cs;\n    var bbox = dict.getArray(\"BBox\");\n\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = _util.Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n\n    var t0 = 0.0,\n        t1 = 1.0;\n\n    if (dict.has(\"Domain\")) {\n      var domainArr = dict.getArray(\"Domain\");\n      t0 = domainArr[0];\n      t1 = domainArr[1];\n    }\n\n    var extendStart = false,\n        extendEnd = false;\n\n    if (dict.has(\"Extend\")) {\n      var extendArr = dict.getArray(\"Extend\");\n      extendStart = extendArr[0];\n      extendEnd = extendArr[1];\n    }\n\n    if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) {\n      var x1 = this.coordsArr[0];\n      var y1 = this.coordsArr[1];\n      var r1 = this.coordsArr[2];\n      var x2 = this.coordsArr[3];\n      var y2 = this.coordsArr[4];\n      var r2 = this.coordsArr[5];\n      var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2));\n\n      if (r1 <= r2 + distance && r2 <= r1 + distance) {\n        (0, _util.warn)(\"Unsupported radial gradient.\");\n      }\n    }\n\n    this.extendStart = extendStart;\n    this.extendEnd = extendEnd;\n    var fnObj = dict.getRaw(\"Function\");\n    var fn = pdfFunctionFactory.createFromArray(fnObj);\n    var NUMBER_OF_SAMPLES = 10;\n    var step = (t1 - t0) / NUMBER_OF_SAMPLES;\n    var colorStops = this.colorStops = [];\n\n    if (t0 >= t1 || step <= 0) {\n      (0, _util.info)(\"Bad shading domain.\");\n      return;\n    }\n\n    var color = new Float32Array(cs.numComps),\n        ratio = new Float32Array(1);\n    var rgbColor;\n\n    for (var i = 0; i <= NUMBER_OF_SAMPLES; i++) {\n      ratio[0] = t0 + i * step;\n      fn(ratio, 0, color, 0);\n      rgbColor = cs.getRgb(color, 0);\n\n      var cssColor = _util.Util.makeHexColor(rgbColor[0], rgbColor[1], rgbColor[2]);\n\n      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);\n    }\n\n    var background = \"transparent\";\n\n    if (dict.has(\"Background\")) {\n      rgbColor = cs.getRgb(dict.get(\"Background\"), 0);\n      background = _util.Util.makeHexColor(rgbColor[0], rgbColor[1], rgbColor[2]);\n    }\n\n    if (!extendStart) {\n      colorStops.unshift([0, background]);\n      colorStops[1][0] += Shadings.SMALL_NUMBER;\n    }\n\n    if (!extendEnd) {\n      colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER;\n      colorStops.push([1, background]);\n    }\n\n    this.colorStops = colorStops;\n  }\n\n  RadialAxial.prototype = {\n    getIR: function RadialAxial_getIR() {\n      var coordsArr = this.coordsArr;\n      var shadingType = this.shadingType;\n      var type, p0, p1, r0, r1;\n\n      if (shadingType === ShadingType.AXIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[2], coordsArr[3]];\n        r0 = null;\n        r1 = null;\n        type = \"axial\";\n      } else if (shadingType === ShadingType.RADIAL) {\n        p0 = [coordsArr[0], coordsArr[1]];\n        p1 = [coordsArr[3], coordsArr[4]];\n        r0 = coordsArr[2];\n        r1 = coordsArr[5];\n        type = \"radial\";\n      } else {\n        (0, _util.unreachable)(\"getPattern type unknown: \".concat(shadingType));\n      }\n\n      var matrix = this.matrix;\n\n      if (matrix) {\n        p0 = _util.Util.applyTransform(p0, matrix);\n        p1 = _util.Util.applyTransform(p1, matrix);\n\n        if (shadingType === ShadingType.RADIAL) {\n          var scale = _util.Util.singularValueDecompose2dScale(matrix);\n\n          r0 *= scale[0];\n          r1 *= scale[1];\n        }\n      }\n\n      return [\"RadialAxial\", type, this.bbox, this.colorStops, p0, p1, r0, r1];\n    }\n  };\n  return RadialAxial;\n}();\n\nShadings.Mesh = function MeshClosure() {\n  function MeshStreamReader(stream, context) {\n    this.stream = stream;\n    this.context = context;\n    this.buffer = 0;\n    this.bufferLength = 0;\n    var numComps = context.numComps;\n    this.tmpCompsBuf = new Float32Array(numComps);\n    var csNumComps = context.colorSpace.numComps;\n    this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf;\n  }\n\n  MeshStreamReader.prototype = {\n    get hasData() {\n      if (this.stream.end) {\n        return this.stream.pos < this.stream.end;\n      }\n\n      if (this.bufferLength > 0) {\n        return true;\n      }\n\n      var nextByte = this.stream.getByte();\n\n      if (nextByte < 0) {\n        return false;\n      }\n\n      this.buffer = nextByte;\n      this.bufferLength = 8;\n      return true;\n    },\n\n    readBits: function MeshStreamReader_readBits(n) {\n      var buffer = this.buffer;\n      var bufferLength = this.bufferLength;\n\n      if (n === 32) {\n        if (bufferLength === 0) {\n          return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0;\n        }\n\n        buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte();\n        var nextByte = this.stream.getByte();\n        this.buffer = nextByte & (1 << bufferLength) - 1;\n        return (buffer << 8 - bufferLength | (nextByte & 0xff) >> bufferLength) >>> 0;\n      }\n\n      if (n === 8 && bufferLength === 0) {\n        return this.stream.getByte();\n      }\n\n      while (bufferLength < n) {\n        buffer = buffer << 8 | this.stream.getByte();\n        bufferLength += 8;\n      }\n\n      bufferLength -= n;\n      this.bufferLength = bufferLength;\n      this.buffer = buffer & (1 << bufferLength) - 1;\n      return buffer >> bufferLength;\n    },\n    align: function MeshStreamReader_align() {\n      this.buffer = 0;\n      this.bufferLength = 0;\n    },\n    readFlag: function MeshStreamReader_readFlag() {\n      return this.readBits(this.context.bitsPerFlag);\n    },\n    readCoordinate: function MeshStreamReader_readCoordinate() {\n      var bitsPerCoordinate = this.context.bitsPerCoordinate;\n      var xi = this.readBits(bitsPerCoordinate);\n      var yi = this.readBits(bitsPerCoordinate);\n      var decode = this.context.decode;\n      var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10;\n      return [xi * scale * (decode[1] - decode[0]) + decode[0], yi * scale * (decode[3] - decode[2]) + decode[2]];\n    },\n    readComponents: function MeshStreamReader_readComponents() {\n      var numComps = this.context.numComps;\n      var bitsPerComponent = this.context.bitsPerComponent;\n      var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10;\n      var decode = this.context.decode;\n      var components = this.tmpCompsBuf;\n\n      for (var i = 0, j = 4; i < numComps; i++, j += 2) {\n        var ci = this.readBits(bitsPerComponent);\n        components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j];\n      }\n\n      var color = this.tmpCsCompsBuf;\n\n      if (this.context.colorFn) {\n        this.context.colorFn(components, 0, color, 0);\n      }\n\n      return this.context.colorSpace.getRgb(color, 0);\n    }\n  };\n\n  function decodeType4Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var operators = [];\n    var ps = [];\n    var verticesLeft = 0;\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n\n      if (verticesLeft === 0) {\n        if (!(0 <= f && f <= 2)) {\n          throw new _util.FormatError(\"Unknown type4 flag\");\n        }\n\n        switch (f) {\n          case 0:\n            verticesLeft = 3;\n            break;\n\n          case 1:\n            ps.push(ps[ps.length - 2], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n\n          case 2:\n            ps.push(ps[ps.length - 3], ps[ps.length - 1]);\n            verticesLeft = 1;\n            break;\n        }\n\n        operators.push(f);\n      }\n\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n      verticesLeft--;\n      reader.align();\n    }\n\n    mesh.figures.push({\n      type: \"triangles\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps)\n    });\n  }\n\n  function decodeType5Shading(mesh, reader, verticesPerRow) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = [];\n\n    while (reader.hasData) {\n      var coord = reader.readCoordinate();\n      var color = reader.readComponents();\n      ps.push(coords.length);\n      coords.push(coord);\n      colors.push(color);\n    }\n\n    mesh.figures.push({\n      type: \"lattice\",\n      coords: new Int32Array(ps),\n      colors: new Int32Array(ps),\n      verticesPerRow: verticesPerRow\n    });\n  }\n\n  var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3;\n  var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20;\n  var TRIANGLE_DENSITY = 20;\n\n  var getB = function getBClosure() {\n    function buildB(count) {\n      var lut = [];\n\n      for (var i = 0; i <= count; i++) {\n        var t = i / count,\n            t_ = 1 - t;\n        lut.push(new Float32Array([t_ * t_ * t_, 3 * t * t_ * t_, 3 * t * t * t_, t * t * t]));\n      }\n\n      return lut;\n    }\n\n    var cache = [];\n    return function getB(count) {\n      if (!cache[count]) {\n        cache[count] = buildB(count);\n      }\n\n      return cache[count];\n    };\n  }();\n\n  function buildFigureFromPatch(mesh, index) {\n    var figure = mesh.figures[index];\n    (0, _util.assert)(figure.type === \"patch\", \"Unexpected patch mesh figure\");\n    var coords = mesh.coords,\n        colors = mesh.colors;\n    var pi = figure.coords;\n    var ci = figure.colors;\n    var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]);\n    var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]);\n    var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0]));\n    splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy));\n    var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1]));\n    splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy));\n    var verticesPerRow = splitXBy + 1;\n    var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow);\n    var k = 0;\n    var cl = new Uint8Array(3),\n        cr = new Uint8Array(3);\n    var c0 = colors[ci[0]],\n        c1 = colors[ci[1]],\n        c2 = colors[ci[2]],\n        c3 = colors[ci[3]];\n    var bRow = getB(splitYBy),\n        bCol = getB(splitXBy);\n\n    for (var row = 0; row <= splitYBy; row++) {\n      cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0;\n      cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0;\n      cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0;\n      cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0;\n      cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0;\n      cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0;\n\n      for (var col = 0; col <= splitXBy; col++, k++) {\n        if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) {\n          continue;\n        }\n\n        var x = 0,\n            y = 0;\n        var q = 0;\n\n        for (var i = 0; i <= 3; i++) {\n          for (var j = 0; j <= 3; j++, q++) {\n            var m = bRow[row][i] * bCol[col][j];\n            x += coords[pi[q]][0] * m;\n            y += coords[pi[q]][1] * m;\n          }\n        }\n\n        figureCoords[k] = coords.length;\n        coords.push([x, y]);\n        figureColors[k] = colors.length;\n        var newColor = new Uint8Array(3);\n        newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0;\n        newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0;\n        newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0;\n        colors.push(newColor);\n      }\n    }\n\n    figureCoords[0] = pi[0];\n    figureColors[0] = ci[0];\n    figureCoords[splitXBy] = pi[3];\n    figureColors[splitXBy] = ci[1];\n    figureCoords[verticesPerRow * splitYBy] = pi[12];\n    figureColors[verticesPerRow * splitYBy] = ci[2];\n    figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15];\n    figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3];\n    mesh.figures[index] = {\n      type: \"lattice\",\n      coords: figureCoords,\n      colors: figureColors,\n      verticesPerRow: verticesPerRow\n    };\n  }\n\n  function decodeType6Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError(\"Unknown type6 flag\");\n      }\n\n      var i, ii;\n      var pi = coords.length;\n\n      for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n\n      var ci = colors.length;\n\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n\n      var tmp1, tmp2, tmp3, tmp4;\n\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n\n      ps[5] = coords.length;\n      coords.push([(-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9]);\n      ps[6] = coords.length;\n      coords.push([(-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9]);\n      ps[9] = coords.length;\n      coords.push([(-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9]);\n      ps[10] = coords.length;\n      coords.push([(-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9]);\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n\n  function decodeType7Shading(mesh, reader) {\n    var coords = mesh.coords;\n    var colors = mesh.colors;\n    var ps = new Int32Array(16);\n    var cs = new Int32Array(4);\n\n    while (reader.hasData) {\n      var f = reader.readFlag();\n\n      if (!(0 <= f && f <= 3)) {\n        throw new _util.FormatError(\"Unknown type7 flag\");\n      }\n\n      var i, ii;\n      var pi = coords.length;\n\n      for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) {\n        coords.push(reader.readCoordinate());\n      }\n\n      var ci = colors.length;\n\n      for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) {\n        colors.push(reader.readComponents());\n      }\n\n      var tmp1, tmp2, tmp3, tmp4;\n\n      switch (f) {\n        case 0:\n          ps[12] = pi + 3;\n          ps[13] = pi + 4;\n          ps[14] = pi + 5;\n          ps[15] = pi + 6;\n          ps[8] = pi + 2;\n          ps[9] = pi + 13;\n          ps[10] = pi + 14;\n          ps[11] = pi + 7;\n          ps[4] = pi + 1;\n          ps[5] = pi + 12;\n          ps[6] = pi + 15;\n          ps[7] = pi + 8;\n          ps[0] = pi;\n          ps[1] = pi + 11;\n          ps[2] = pi + 10;\n          ps[3] = pi + 9;\n          cs[2] = ci + 1;\n          cs[3] = ci + 2;\n          cs[0] = ci;\n          cs[1] = ci + 3;\n          break;\n\n        case 1:\n          tmp1 = ps[12];\n          tmp2 = ps[13];\n          tmp3 = ps[14];\n          tmp4 = ps[15];\n          ps[12] = tmp4;\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = tmp3;\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[2];\n          tmp2 = cs[3];\n          cs[2] = tmp2;\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 2:\n          tmp1 = ps[15];\n          tmp2 = ps[11];\n          ps[12] = ps[3];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[7];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = tmp2;\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = tmp1;\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          tmp1 = cs[3];\n          cs[2] = cs[1];\n          cs[3] = ci;\n          cs[0] = tmp1;\n          cs[1] = ci + 1;\n          break;\n\n        case 3:\n          ps[12] = ps[0];\n          ps[13] = pi + 0;\n          ps[14] = pi + 1;\n          ps[15] = pi + 2;\n          ps[8] = ps[1];\n          ps[9] = pi + 9;\n          ps[10] = pi + 10;\n          ps[11] = pi + 3;\n          ps[4] = ps[2];\n          ps[5] = pi + 8;\n          ps[6] = pi + 11;\n          ps[7] = pi + 4;\n          ps[0] = ps[3];\n          ps[1] = pi + 7;\n          ps[2] = pi + 6;\n          ps[3] = pi + 5;\n          cs[2] = cs[0];\n          cs[3] = ci;\n          cs[0] = cs[1];\n          cs[1] = ci + 1;\n          break;\n      }\n\n      mesh.figures.push({\n        type: \"patch\",\n        coords: new Int32Array(ps),\n        colors: new Int32Array(cs)\n      });\n    }\n  }\n\n  function updateBounds(mesh) {\n    var minX = mesh.coords[0][0],\n        minY = mesh.coords[0][1],\n        maxX = minX,\n        maxY = minY;\n\n    for (var i = 1, ii = mesh.coords.length; i < ii; i++) {\n      var x = mesh.coords[i][0],\n          y = mesh.coords[i][1];\n      minX = minX > x ? x : minX;\n      minY = minY > y ? y : minY;\n      maxX = maxX < x ? x : maxX;\n      maxY = maxY < y ? y : maxY;\n    }\n\n    mesh.bounds = [minX, minY, maxX, maxY];\n  }\n\n  function packData(mesh) {\n    var i, ii, j, jj;\n    var coords = mesh.coords;\n    var coordsPacked = new Float32Array(coords.length * 2);\n\n    for (i = 0, j = 0, ii = coords.length; i < ii; i++) {\n      var xy = coords[i];\n      coordsPacked[j++] = xy[0];\n      coordsPacked[j++] = xy[1];\n    }\n\n    mesh.coords = coordsPacked;\n    var colors = mesh.colors;\n    var colorsPacked = new Uint8Array(colors.length * 3);\n\n    for (i = 0, j = 0, ii = colors.length; i < ii; i++) {\n      var c = colors[i];\n      colorsPacked[j++] = c[0];\n      colorsPacked[j++] = c[1];\n      colorsPacked[j++] = c[2];\n    }\n\n    mesh.colors = colorsPacked;\n    var figures = mesh.figures;\n\n    for (i = 0, ii = figures.length; i < ii; i++) {\n      var figure = figures[i],\n          ps = figure.coords,\n          cs = figure.colors;\n\n      for (j = 0, jj = ps.length; j < jj; j++) {\n        ps[j] *= 2;\n        cs[j] *= 3;\n      }\n    }\n  }\n\n  function Mesh(stream, matrix, xref, resources, pdfFunctionFactory, localColorSpaceCache) {\n    if (!(0, _primitives.isStream)(stream)) {\n      throw new _util.FormatError(\"Mesh data is not a stream\");\n    }\n\n    var dict = stream.dict;\n    this.matrix = matrix;\n    this.shadingType = dict.get(\"ShadingType\");\n    this.type = \"Pattern\";\n    var bbox = dict.getArray(\"BBox\");\n\n    if (Array.isArray(bbox) && bbox.length === 4) {\n      this.bbox = _util.Util.normalizeRect(bbox);\n    } else {\n      this.bbox = null;\n    }\n\n    var cs = _colorspace.ColorSpace.parse({\n      cs: dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\"),\n      xref: xref,\n      resources: resources,\n      pdfFunctionFactory: pdfFunctionFactory,\n      localColorSpaceCache: localColorSpaceCache\n    });\n\n    this.cs = cs;\n    this.background = dict.has(\"Background\") ? cs.getRgb(dict.get(\"Background\"), 0) : null;\n    var fnObj = dict.getRaw(\"Function\");\n    var fn = fnObj ? pdfFunctionFactory.createFromArray(fnObj) : null;\n    this.coords = [];\n    this.colors = [];\n    this.figures = [];\n    var decodeContext = {\n      bitsPerCoordinate: dict.get(\"BitsPerCoordinate\"),\n      bitsPerComponent: dict.get(\"BitsPerComponent\"),\n      bitsPerFlag: dict.get(\"BitsPerFlag\"),\n      decode: dict.getArray(\"Decode\"),\n      colorFn: fn,\n      colorSpace: cs,\n      numComps: fn ? 1 : cs.numComps\n    };\n    var reader = new MeshStreamReader(stream, decodeContext);\n    var patchMesh = false;\n\n    switch (this.shadingType) {\n      case ShadingType.FREE_FORM_MESH:\n        decodeType4Shading(this, reader);\n        break;\n\n      case ShadingType.LATTICE_FORM_MESH:\n        var verticesPerRow = dict.get(\"VerticesPerRow\") | 0;\n\n        if (verticesPerRow < 2) {\n          throw new _util.FormatError(\"Invalid VerticesPerRow\");\n        }\n\n        decodeType5Shading(this, reader, verticesPerRow);\n        break;\n\n      case ShadingType.COONS_PATCH_MESH:\n        decodeType6Shading(this, reader);\n        patchMesh = true;\n        break;\n\n      case ShadingType.TENSOR_PATCH_MESH:\n        decodeType7Shading(this, reader);\n        patchMesh = true;\n        break;\n\n      default:\n        (0, _util.unreachable)(\"Unsupported mesh type.\");\n        break;\n    }\n\n    if (patchMesh) {\n      updateBounds(this);\n\n      for (var i = 0, ii = this.figures.length; i < ii; i++) {\n        buildFigureFromPatch(this, i);\n      }\n    }\n\n    updateBounds(this);\n    packData(this);\n  }\n\n  Mesh.prototype = {\n    getIR: function Mesh_getIR() {\n      return [\"Mesh\", this.shadingType, this.coords, this.colors, this.figures, this.bounds, this.matrix, this.bbox, this.background];\n    }\n  };\n  return Mesh;\n}();\n\nShadings.Dummy = function DummyClosure() {\n  function Dummy() {\n    this.type = \"Pattern\";\n  }\n\n  Dummy.prototype = {\n    getIR: function Dummy_getIR() {\n      return [\"Dummy\"];\n    }\n  };\n  return Dummy;\n}();\n\nfunction getTilingPatternIR(operatorList, dict, color) {\n  var matrix = dict.getArray(\"Matrix\");\n\n  var bbox = _util.Util.normalizeRect(dict.getArray(\"BBox\"));\n\n  var xstep = dict.get(\"XStep\");\n  var ystep = dict.get(\"YStep\");\n  var paintType = dict.get(\"PaintType\");\n  var tilingType = dict.get(\"TilingType\");\n\n  if (bbox[2] - bbox[0] === 0 || bbox[3] - bbox[1] === 0) {\n    throw new _util.FormatError(\"Invalid getTilingPatternIR /BBox array: [\".concat(bbox, \"].\"));\n  }\n\n  return [\"TilingPattern\", color, operatorList, matrix, bbox, xstep, ystep, paintType, tilingType];\n}\n\n/***/ }),\n/* 169 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.isPDFFunction = isPDFFunction;\nexports.PostScriptEvaluator = exports.PostScriptCompiler = exports.PDFFunctionFactory = void 0;\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _ps_parser = __w_pdfjs_require__(170);\n\nvar _image_utils = __w_pdfjs_require__(154);\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFFunctionFactory = /*#__PURE__*/function () {\n  function PDFFunctionFactory(_ref) {\n    var xref = _ref.xref,\n        _ref$isEvalSupported = _ref.isEvalSupported,\n        isEvalSupported = _ref$isEvalSupported === void 0 ? true : _ref$isEvalSupported;\n\n    _classCallCheck(this, PDFFunctionFactory);\n\n    this.xref = xref;\n    this.isEvalSupported = isEvalSupported !== false;\n  }\n\n  _createClass(PDFFunctionFactory, [{\n    key: \"create\",\n    value: function create(fn) {\n      var cachedFunction = this.getCached(fn);\n\n      if (cachedFunction) {\n        return cachedFunction;\n      }\n\n      var parsedFunction = PDFFunction.parse({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fn: fn instanceof _primitives.Ref ? this.xref.fetch(fn) : fn\n      });\n\n      this._cache(fn, parsedFunction);\n\n      return parsedFunction;\n    }\n  }, {\n    key: \"createFromArray\",\n    value: function createFromArray(fnObj) {\n      var cachedFunction = this.getCached(fnObj);\n\n      if (cachedFunction) {\n        return cachedFunction;\n      }\n\n      var parsedFunction = PDFFunction.parseArray({\n        xref: this.xref,\n        isEvalSupported: this.isEvalSupported,\n        fnObj: fnObj instanceof _primitives.Ref ? this.xref.fetch(fnObj) : fnObj\n      });\n\n      this._cache(fnObj, parsedFunction);\n\n      return parsedFunction;\n    }\n  }, {\n    key: \"getCached\",\n    value: function getCached(cacheKey) {\n      var fnRef;\n\n      if (cacheKey instanceof _primitives.Ref) {\n        fnRef = cacheKey;\n      } else if (cacheKey instanceof _primitives.Dict) {\n        fnRef = cacheKey.objId;\n      } else if ((0, _primitives.isStream)(cacheKey)) {\n        fnRef = cacheKey.dict && cacheKey.dict.objId;\n      }\n\n      if (fnRef) {\n        var localFunction = this._localFunctionCache.getByRef(fnRef);\n\n        if (localFunction) {\n          return localFunction;\n        }\n      }\n\n      return null;\n    }\n  }, {\n    key: \"_cache\",\n    value: function _cache(cacheKey, parsedFunction) {\n      if (!parsedFunction) {\n        throw new Error('PDFFunctionFactory._cache - expected \"parsedFunction\" argument.');\n      }\n\n      var fnRef;\n\n      if (cacheKey instanceof _primitives.Ref) {\n        fnRef = cacheKey;\n      } else if (cacheKey instanceof _primitives.Dict) {\n        fnRef = cacheKey.objId;\n      } else if ((0, _primitives.isStream)(cacheKey)) {\n        fnRef = cacheKey.dict && cacheKey.dict.objId;\n      }\n\n      if (fnRef) {\n        this._localFunctionCache.set(null, fnRef, parsedFunction);\n      }\n    }\n  }, {\n    key: \"_localFunctionCache\",\n    get: function get() {\n      return (0, _util.shadow)(this, \"_localFunctionCache\", new _image_utils.LocalFunctionCache());\n    }\n  }]);\n\n  return PDFFunctionFactory;\n}();\n\nexports.PDFFunctionFactory = PDFFunctionFactory;\n\nfunction toNumberArray(arr) {\n  if (!Array.isArray(arr)) {\n    return null;\n  }\n\n  var length = arr.length;\n\n  for (var i = 0; i < length; i++) {\n    if (typeof arr[i] !== \"number\") {\n      var result = new Array(length);\n\n      for (var j = 0; j < length; j++) {\n        result[j] = +arr[j];\n      }\n\n      return result;\n    }\n  }\n\n  return arr;\n}\n\nvar PDFFunction = function PDFFunctionClosure() {\n  var CONSTRUCT_SAMPLED = 0;\n  var CONSTRUCT_INTERPOLATED = 2;\n  var CONSTRUCT_STICHED = 3;\n  var CONSTRUCT_POSTSCRIPT = 4;\n  return {\n    getSampleArray: function getSampleArray(size, outputSize, bps, stream) {\n      var i, ii;\n      var length = 1;\n\n      for (i = 0, ii = size.length; i < ii; i++) {\n        length *= size[i];\n      }\n\n      length *= outputSize;\n      var array = new Array(length);\n      var codeSize = 0;\n      var codeBuf = 0;\n      var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1);\n      var strBytes = stream.getBytes((length * bps + 7) / 8);\n      var strIdx = 0;\n\n      for (i = 0; i < length; i++) {\n        while (codeSize < bps) {\n          codeBuf <<= 8;\n          codeBuf |= strBytes[strIdx++];\n          codeSize += 8;\n        }\n\n        codeSize -= bps;\n        array[i] = (codeBuf >> codeSize) * sampleMul;\n        codeBuf &= (1 << codeSize) - 1;\n      }\n\n      return array;\n    },\n    getIR: function getIR(_ref2) {\n      var xref = _ref2.xref,\n          isEvalSupported = _ref2.isEvalSupported,\n          fn = _ref2.fn;\n      var dict = fn.dict;\n\n      if (!dict) {\n        dict = fn;\n      }\n\n      var types = [this.constructSampled, null, this.constructInterpolated, this.constructStiched, this.constructPostScript];\n      var typeNum = dict.get(\"FunctionType\");\n      var typeFn = types[typeNum];\n\n      if (!typeFn) {\n        throw new _util.FormatError(\"Unknown type of function\");\n      }\n\n      return typeFn.call(this, {\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn,\n        dict: dict\n      });\n    },\n    fromIR: function fromIR(_ref3) {\n      var xref = _ref3.xref,\n          isEvalSupported = _ref3.isEvalSupported,\n          IR = _ref3.IR;\n      var type = IR[0];\n\n      switch (type) {\n        case CONSTRUCT_SAMPLED:\n          return this.constructSampledFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        case CONSTRUCT_INTERPOLATED:\n          return this.constructInterpolatedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        case CONSTRUCT_STICHED:\n          return this.constructStichedFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n\n        default:\n          return this.constructPostScriptFromIR({\n            xref: xref,\n            isEvalSupported: isEvalSupported,\n            IR: IR\n          });\n      }\n    },\n    parse: function parse(_ref4) {\n      var xref = _ref4.xref,\n          isEvalSupported = _ref4.isEvalSupported,\n          fn = _ref4.fn;\n      var IR = this.getIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        fn: fn\n      });\n      return this.fromIR({\n        xref: xref,\n        isEvalSupported: isEvalSupported,\n        IR: IR\n      });\n    },\n    parseArray: function parseArray(_ref5) {\n      var xref = _ref5.xref,\n          isEvalSupported = _ref5.isEvalSupported,\n          fnObj = _ref5.fnObj;\n\n      if (!Array.isArray(fnObj)) {\n        return this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: fnObj\n        });\n      }\n\n      var fnArray = [];\n\n      for (var j = 0, jj = fnObj.length; j < jj; j++) {\n        fnArray.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnObj[j])\n        }));\n      }\n\n      return function (src, srcOffset, dest, destOffset) {\n        for (var i = 0, ii = fnArray.length; i < ii; i++) {\n          fnArray[i](src, srcOffset, dest, destOffset + i);\n        }\n      };\n    },\n    constructSampled: function constructSampled(_ref6) {\n      var xref = _ref6.xref,\n          isEvalSupported = _ref6.isEvalSupported,\n          fn = _ref6.fn,\n          dict = _ref6.dict;\n\n      function toMultiArray(arr) {\n        var inputLength = arr.length;\n        var out = [];\n        var index = 0;\n\n        for (var i = 0; i < inputLength; i += 2) {\n          out[index] = [arr[i], arr[i + 1]];\n          ++index;\n        }\n\n        return out;\n      }\n\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain || !range) {\n        throw new _util.FormatError(\"No domain or range\");\n      }\n\n      var inputSize = domain.length / 2;\n      var outputSize = range.length / 2;\n      domain = toMultiArray(domain);\n      range = toMultiArray(range);\n      var size = toNumberArray(dict.getArray(\"Size\"));\n      var bps = dict.get(\"BitsPerSample\");\n      var order = dict.get(\"Order\") || 1;\n\n      if (order !== 1) {\n        (0, _util.info)(\"No support for cubic spline interpolation: \" + order);\n      }\n\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n\n      if (!encode) {\n        encode = [];\n\n        for (var i = 0; i < inputSize; ++i) {\n          encode.push([0, size[i] - 1]);\n        }\n      } else {\n        encode = toMultiArray(encode);\n      }\n\n      var decode = toNumberArray(dict.getArray(\"Decode\"));\n\n      if (!decode) {\n        decode = range;\n      } else {\n        decode = toMultiArray(decode);\n      }\n\n      var samples = this.getSampleArray(size, outputSize, bps, fn);\n      return [CONSTRUCT_SAMPLED, inputSize, domain, encode, decode, samples, size, outputSize, Math.pow(2, bps) - 1, range];\n    },\n    constructSampledFromIR: function constructSampledFromIR(_ref7) {\n      var xref = _ref7.xref,\n          isEvalSupported = _ref7.isEvalSupported,\n          IR = _ref7.IR;\n\n      function interpolate(x, xmin, xmax, ymin, ymax) {\n        return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin));\n      }\n\n      return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) {\n        var m = IR[1];\n        var domain = IR[2];\n        var encode = IR[3];\n        var decode = IR[4];\n        var samples = IR[5];\n        var size = IR[6];\n        var n = IR[7];\n        var range = IR[9];\n        var cubeVertices = 1 << m;\n        var cubeN = new Float64Array(cubeVertices);\n        var cubeVertex = new Uint32Array(cubeVertices);\n        var i, j;\n\n        for (j = 0; j < cubeVertices; j++) {\n          cubeN[j] = 1;\n        }\n\n        var k = n,\n            pos = 1;\n\n        for (i = 0; i < m; ++i) {\n          var domain_2i = domain[i][0];\n          var domain_2i_1 = domain[i][1];\n          var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1);\n          var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]);\n          var size_i = size[i];\n          e = Math.min(Math.max(e, 0), size_i - 1);\n          var e0 = e < size_i - 1 ? Math.floor(e) : e - 1;\n          var n0 = e0 + 1 - e;\n          var n1 = e - e0;\n          var offset0 = e0 * k;\n          var offset1 = offset0 + k;\n\n          for (j = 0; j < cubeVertices; j++) {\n            if (j & pos) {\n              cubeN[j] *= n1;\n              cubeVertex[j] += offset1;\n            } else {\n              cubeN[j] *= n0;\n              cubeVertex[j] += offset0;\n            }\n          }\n\n          k *= size_i;\n          pos <<= 1;\n        }\n\n        for (j = 0; j < n; ++j) {\n          var rj = 0;\n\n          for (i = 0; i < cubeVertices; i++) {\n            rj += samples[cubeVertex[i] + j] * cubeN[i];\n          }\n\n          rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]);\n          dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]);\n        }\n      };\n    },\n    constructInterpolated: function constructInterpolated(_ref8) {\n      var xref = _ref8.xref,\n          isEvalSupported = _ref8.isEvalSupported,\n          fn = _ref8.fn,\n          dict = _ref8.dict;\n      var c0 = toNumberArray(dict.getArray(\"C0\")) || [0];\n      var c1 = toNumberArray(dict.getArray(\"C1\")) || [1];\n      var n = dict.get(\"N\");\n      var length = c0.length;\n      var diff = [];\n\n      for (var i = 0; i < length; ++i) {\n        diff.push(c1[i] - c0[i]);\n      }\n\n      return [CONSTRUCT_INTERPOLATED, c0, diff, n];\n    },\n    constructInterpolatedFromIR: function constructInterpolatedFromIR(_ref9) {\n      var xref = _ref9.xref,\n          isEvalSupported = _ref9.isEvalSupported,\n          IR = _ref9.IR;\n      var c0 = IR[1];\n      var diff = IR[2];\n      var n = IR[3];\n      var length = diff.length;\n      return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) {\n        var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n);\n\n        for (var j = 0; j < length; ++j) {\n          dest[destOffset + j] = c0[j] + x * diff[j];\n        }\n      };\n    },\n    constructStiched: function constructStiched(_ref10) {\n      var xref = _ref10.xref,\n          isEvalSupported = _ref10.isEvalSupported,\n          fn = _ref10.fn,\n          dict = _ref10.dict;\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n\n      if (!domain) {\n        throw new _util.FormatError(\"No domain\");\n      }\n\n      var inputSize = domain.length / 2;\n\n      if (inputSize !== 1) {\n        throw new _util.FormatError(\"Bad domain for stiched function\");\n      }\n\n      var fnRefs = dict.get(\"Functions\");\n      var fns = [];\n\n      for (var i = 0, ii = fnRefs.length; i < ii; ++i) {\n        fns.push(this.parse({\n          xref: xref,\n          isEvalSupported: isEvalSupported,\n          fn: xref.fetchIfRef(fnRefs[i])\n        }));\n      }\n\n      var bounds = toNumberArray(dict.getArray(\"Bounds\"));\n      var encode = toNumberArray(dict.getArray(\"Encode\"));\n      return [CONSTRUCT_STICHED, domain, bounds, encode, fns];\n    },\n    constructStichedFromIR: function constructStichedFromIR(_ref11) {\n      var xref = _ref11.xref,\n          isEvalSupported = _ref11.isEvalSupported,\n          IR = _ref11.IR;\n      var domain = IR[1];\n      var bounds = IR[2];\n      var encode = IR[3];\n      var fns = IR[4];\n      var tmpBuf = new Float32Array(1);\n      return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) {\n        var clip = function constructStichedFromIRClip(v, min, max) {\n          if (v > max) {\n            v = max;\n          } else if (v < min) {\n            v = min;\n          }\n\n          return v;\n        };\n\n        var v = clip(src[srcOffset], domain[0], domain[1]);\n\n        for (var i = 0, ii = bounds.length; i < ii; ++i) {\n          if (v < bounds[i]) {\n            break;\n          }\n        }\n\n        var dmin = domain[0];\n\n        if (i > 0) {\n          dmin = bounds[i - 1];\n        }\n\n        var dmax = domain[1];\n\n        if (i < bounds.length) {\n          dmax = bounds[i];\n        }\n\n        var rmin = encode[2 * i];\n        var rmax = encode[2 * i + 1];\n        tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin);\n        fns[i](tmpBuf, 0, dest, destOffset);\n      };\n    },\n    constructPostScript: function constructPostScript(_ref12) {\n      var xref = _ref12.xref,\n          isEvalSupported = _ref12.isEvalSupported,\n          fn = _ref12.fn,\n          dict = _ref12.dict;\n      var domain = toNumberArray(dict.getArray(\"Domain\"));\n      var range = toNumberArray(dict.getArray(\"Range\"));\n\n      if (!domain) {\n        throw new _util.FormatError(\"No domain.\");\n      }\n\n      if (!range) {\n        throw new _util.FormatError(\"No range.\");\n      }\n\n      var lexer = new _ps_parser.PostScriptLexer(fn);\n      var parser = new _ps_parser.PostScriptParser(lexer);\n      var code = parser.parse();\n      return [CONSTRUCT_POSTSCRIPT, domain, range, code];\n    },\n    constructPostScriptFromIR: function constructPostScriptFromIR(_ref13) {\n      var xref = _ref13.xref,\n          isEvalSupported = _ref13.isEvalSupported,\n          IR = _ref13.IR;\n      var domain = IR[1];\n      var range = IR[2];\n      var code = IR[3];\n\n      if (isEvalSupported && _util.IsEvalSupportedCached.value) {\n        var compiled = new PostScriptCompiler().compile(code, domain, range);\n\n        if (compiled) {\n          return new Function(\"src\", \"srcOffset\", \"dest\", \"destOffset\", compiled);\n        }\n      }\n\n      (0, _util.info)(\"Unable to compile PS function\");\n      var numOutputs = range.length >> 1;\n      var numInputs = domain.length >> 1;\n      var evaluator = new PostScriptEvaluator(code);\n      var cache = Object.create(null);\n      var MAX_CACHE_SIZE = 2048 * 4;\n      var cache_available = MAX_CACHE_SIZE;\n      var tmpBuf = new Float32Array(numInputs);\n      return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) {\n        var i, value;\n        var key = \"\";\n        var input = tmpBuf;\n\n        for (i = 0; i < numInputs; i++) {\n          value = src[srcOffset + i];\n          input[i] = value;\n          key += value + \"_\";\n        }\n\n        var cachedValue = cache[key];\n\n        if (cachedValue !== undefined) {\n          dest.set(cachedValue, destOffset);\n          return;\n        }\n\n        var output = new Float32Array(numOutputs);\n        var stack = evaluator.execute(input);\n        var stackIndex = stack.length - numOutputs;\n\n        for (i = 0; i < numOutputs; i++) {\n          value = stack[stackIndex + i];\n          var bound = range[i * 2];\n\n          if (value < bound) {\n            value = bound;\n          } else {\n            bound = range[i * 2 + 1];\n\n            if (value > bound) {\n              value = bound;\n            }\n          }\n\n          output[i] = value;\n        }\n\n        if (cache_available > 0) {\n          cache_available--;\n          cache[key] = output;\n        }\n\n        dest.set(output, destOffset);\n      };\n    }\n  };\n}();\n\nfunction isPDFFunction(v) {\n  var fnDict;\n\n  if (_typeof(v) !== \"object\") {\n    return false;\n  } else if ((0, _primitives.isDict)(v)) {\n    fnDict = v;\n  } else if ((0, _primitives.isStream)(v)) {\n    fnDict = v.dict;\n  } else {\n    return false;\n  }\n\n  return fnDict.has(\"FunctionType\");\n}\n\nvar PostScriptStack = function PostScriptStackClosure() {\n  var MAX_STACK_SIZE = 100;\n\n  function PostScriptStack(initialStack) {\n    this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0);\n  }\n\n  PostScriptStack.prototype = {\n    push: function PostScriptStack_push(value) {\n      if (this.stack.length >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n\n      this.stack.push(value);\n    },\n    pop: function PostScriptStack_pop() {\n      if (this.stack.length <= 0) {\n        throw new Error(\"PostScript function stack underflow.\");\n      }\n\n      return this.stack.pop();\n    },\n    copy: function PostScriptStack_copy(n) {\n      if (this.stack.length + n >= MAX_STACK_SIZE) {\n        throw new Error(\"PostScript function stack overflow.\");\n      }\n\n      var stack = this.stack;\n\n      for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) {\n        stack.push(stack[i]);\n      }\n    },\n    index: function PostScriptStack_index(n) {\n      this.push(this.stack[this.stack.length - n - 1]);\n    },\n    roll: function PostScriptStack_roll(n, p) {\n      var stack = this.stack;\n      var l = stack.length - n;\n      var r = stack.length - 1,\n          c = l + (p - Math.floor(p / n) * n),\n          i,\n          j,\n          t;\n\n      for (i = l, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n\n      for (i = l, j = c - 1; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n\n      for (i = c, j = r; i < j; i++, j--) {\n        t = stack[i];\n        stack[i] = stack[j];\n        stack[j] = t;\n      }\n    }\n  };\n  return PostScriptStack;\n}();\n\nvar PostScriptEvaluator = function PostScriptEvaluatorClosure() {\n  function PostScriptEvaluator(operators) {\n    this.operators = operators;\n  }\n\n  PostScriptEvaluator.prototype = {\n    execute: function PostScriptEvaluator_execute(initialStack) {\n      var stack = new PostScriptStack(initialStack);\n      var counter = 0;\n      var operators = this.operators;\n      var length = operators.length;\n      var operator, a, b;\n\n      while (counter < length) {\n        operator = operators[counter++];\n\n        if (typeof operator === \"number\") {\n          stack.push(operator);\n          continue;\n        }\n\n        switch (operator) {\n          case \"jz\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if (!a) {\n              counter = b;\n            }\n\n            break;\n\n          case \"j\":\n            a = stack.pop();\n            counter = a;\n            break;\n\n          case \"abs\":\n            a = stack.pop();\n            stack.push(Math.abs(a));\n            break;\n\n          case \"add\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a + b);\n            break;\n\n          case \"and\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a && b);\n            } else {\n              stack.push(a & b);\n            }\n\n            break;\n\n          case \"atan\":\n            a = stack.pop();\n            stack.push(Math.atan(a));\n            break;\n\n          case \"bitshift\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if (a > 0) {\n              stack.push(a << b);\n            } else {\n              stack.push(a >> b);\n            }\n\n            break;\n\n          case \"ceiling\":\n            a = stack.pop();\n            stack.push(Math.ceil(a));\n            break;\n\n          case \"copy\":\n            a = stack.pop();\n            stack.copy(a);\n            break;\n\n          case \"cos\":\n            a = stack.pop();\n            stack.push(Math.cos(a));\n            break;\n\n          case \"cvi\":\n            a = stack.pop() | 0;\n            stack.push(a);\n            break;\n\n          case \"cvr\":\n            break;\n\n          case \"div\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b);\n            break;\n\n          case \"dup\":\n            stack.copy(1);\n            break;\n\n          case \"eq\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a === b);\n            break;\n\n          case \"exch\":\n            stack.roll(2, 1);\n            break;\n\n          case \"exp\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(Math.pow(a, b));\n            break;\n\n          case \"false\":\n            stack.push(false);\n            break;\n\n          case \"floor\":\n            a = stack.pop();\n            stack.push(Math.floor(a));\n            break;\n\n          case \"ge\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a >= b);\n            break;\n\n          case \"gt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a > b);\n            break;\n\n          case \"idiv\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a / b | 0);\n            break;\n\n          case \"index\":\n            a = stack.pop();\n            stack.index(a);\n            break;\n\n          case \"le\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a <= b);\n            break;\n\n          case \"ln\":\n            a = stack.pop();\n            stack.push(Math.log(a));\n            break;\n\n          case \"log\":\n            a = stack.pop();\n            stack.push(Math.log(a) / Math.LN10);\n            break;\n\n          case \"lt\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a < b);\n            break;\n\n          case \"mod\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a % b);\n            break;\n\n          case \"mul\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a * b);\n            break;\n\n          case \"ne\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a !== b);\n            break;\n\n          case \"neg\":\n            a = stack.pop();\n            stack.push(-a);\n            break;\n\n          case \"not\":\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a)) {\n              stack.push(!a);\n            } else {\n              stack.push(~a);\n            }\n\n            break;\n\n          case \"or\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a || b);\n            } else {\n              stack.push(a | b);\n            }\n\n            break;\n\n          case \"pop\":\n            stack.pop();\n            break;\n\n          case \"roll\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.roll(a, b);\n            break;\n\n          case \"round\":\n            a = stack.pop();\n            stack.push(Math.round(a));\n            break;\n\n          case \"sin\":\n            a = stack.pop();\n            stack.push(Math.sin(a));\n            break;\n\n          case \"sqrt\":\n            a = stack.pop();\n            stack.push(Math.sqrt(a));\n            break;\n\n          case \"sub\":\n            b = stack.pop();\n            a = stack.pop();\n            stack.push(a - b);\n            break;\n\n          case \"true\":\n            stack.push(true);\n            break;\n\n          case \"truncate\":\n            a = stack.pop();\n            a = a < 0 ? Math.ceil(a) : Math.floor(a);\n            stack.push(a);\n            break;\n\n          case \"xor\":\n            b = stack.pop();\n            a = stack.pop();\n\n            if ((0, _util.isBool)(a) && (0, _util.isBool)(b)) {\n              stack.push(a !== b);\n            } else {\n              stack.push(a ^ b);\n            }\n\n            break;\n\n          default:\n            throw new _util.FormatError(\"Unknown operator \".concat(operator));\n        }\n      }\n\n      return stack.stack;\n    }\n  };\n  return PostScriptEvaluator;\n}();\n\nexports.PostScriptEvaluator = PostScriptEvaluator;\n\nvar PostScriptCompiler = function PostScriptCompilerClosure() {\n  function AstNode(type) {\n    this.type = type;\n  }\n\n  AstNode.prototype.visit = function (visitor) {\n    (0, _util.unreachable)(\"abstract method\");\n  };\n\n  function AstArgument(index, min, max) {\n    AstNode.call(this, \"args\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstArgument.prototype = Object.create(AstNode.prototype);\n\n  AstArgument.prototype.visit = function (visitor) {\n    visitor.visitArgument(this);\n  };\n\n  function AstLiteral(number) {\n    AstNode.call(this, \"literal\");\n    this.number = number;\n    this.min = number;\n    this.max = number;\n  }\n\n  AstLiteral.prototype = Object.create(AstNode.prototype);\n\n  AstLiteral.prototype.visit = function (visitor) {\n    visitor.visitLiteral(this);\n  };\n\n  function AstBinaryOperation(op, arg1, arg2, min, max) {\n    AstNode.call(this, \"binary\");\n    this.op = op;\n    this.arg1 = arg1;\n    this.arg2 = arg2;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstBinaryOperation.prototype = Object.create(AstNode.prototype);\n\n  AstBinaryOperation.prototype.visit = function (visitor) {\n    visitor.visitBinaryOperation(this);\n  };\n\n  function AstMin(arg, max) {\n    AstNode.call(this, \"max\");\n    this.arg = arg;\n    this.min = arg.min;\n    this.max = max;\n  }\n\n  AstMin.prototype = Object.create(AstNode.prototype);\n\n  AstMin.prototype.visit = function (visitor) {\n    visitor.visitMin(this);\n  };\n\n  function AstVariable(index, min, max) {\n    AstNode.call(this, \"var\");\n    this.index = index;\n    this.min = min;\n    this.max = max;\n  }\n\n  AstVariable.prototype = Object.create(AstNode.prototype);\n\n  AstVariable.prototype.visit = function (visitor) {\n    visitor.visitVariable(this);\n  };\n\n  function AstVariableDefinition(variable, arg) {\n    AstNode.call(this, \"definition\");\n    this.variable = variable;\n    this.arg = arg;\n  }\n\n  AstVariableDefinition.prototype = Object.create(AstNode.prototype);\n\n  AstVariableDefinition.prototype.visit = function (visitor) {\n    visitor.visitVariableDefinition(this);\n  };\n\n  function ExpressionBuilderVisitor() {\n    this.parts = [];\n  }\n\n  ExpressionBuilderVisitor.prototype = {\n    visitArgument: function visitArgument(arg) {\n      this.parts.push(\"Math.max(\", arg.min, \", Math.min(\", arg.max, \", src[srcOffset + \", arg.index, \"]))\");\n    },\n    visitVariable: function visitVariable(variable) {\n      this.parts.push(\"v\", variable.index);\n    },\n    visitLiteral: function visitLiteral(literal) {\n      this.parts.push(literal.number);\n    },\n    visitBinaryOperation: function visitBinaryOperation(operation) {\n      this.parts.push(\"(\");\n      operation.arg1.visit(this);\n      this.parts.push(\" \", operation.op, \" \");\n      operation.arg2.visit(this);\n      this.parts.push(\")\");\n    },\n    visitVariableDefinition: function visitVariableDefinition(definition) {\n      this.parts.push(\"var \");\n      definition.variable.visit(this);\n      this.parts.push(\" = \");\n      definition.arg.visit(this);\n      this.parts.push(\";\");\n    },\n    visitMin: function visitMin(max) {\n      this.parts.push(\"Math.min(\");\n      max.arg.visit(this);\n      this.parts.push(\", \", max.max, \")\");\n    },\n    toString: function toString() {\n      return this.parts.join(\"\");\n    }\n  };\n\n  function buildAddOperation(num1, num2) {\n    if (num2.type === \"literal\" && num2.number === 0) {\n      return num1;\n    }\n\n    if (num1.type === \"literal\" && num1.number === 0) {\n      return num2;\n    }\n\n    if (num2.type === \"literal\" && num1.type === \"literal\") {\n      return new AstLiteral(num1.number + num2.number);\n    }\n\n    return new AstBinaryOperation(\"+\", num1, num2, num1.min + num2.min, num1.max + num2.max);\n  }\n\n  function buildMulOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      if (num2.number === 0) {\n        return new AstLiteral(0);\n      } else if (num2.number === 1) {\n        return num1;\n      } else if (num1.type === \"literal\") {\n        return new AstLiteral(num1.number * num2.number);\n      }\n    }\n\n    if (num1.type === \"literal\") {\n      if (num1.number === 0) {\n        return new AstLiteral(0);\n      } else if (num1.number === 1) {\n        return num2;\n      }\n    }\n\n    var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max);\n    return new AstBinaryOperation(\"*\", num1, num2, min, max);\n  }\n\n  function buildSubOperation(num1, num2) {\n    if (num2.type === \"literal\") {\n      if (num2.number === 0) {\n        return num1;\n      } else if (num1.type === \"literal\") {\n        return new AstLiteral(num1.number - num2.number);\n      }\n    }\n\n    if (num2.type === \"binary\" && num2.op === \"-\" && num1.type === \"literal\" && num1.number === 1 && num2.arg1.type === \"literal\" && num2.arg1.number === 1) {\n      return num2.arg2;\n    }\n\n    return new AstBinaryOperation(\"-\", num1, num2, num1.min - num2.max, num1.max - num2.min);\n  }\n\n  function buildMinOperation(num1, max) {\n    if (num1.min >= max) {\n      return new AstLiteral(max);\n    } else if (num1.max <= max) {\n      return num1;\n    }\n\n    return new AstMin(num1, max);\n  }\n\n  function PostScriptCompiler() {}\n\n  PostScriptCompiler.prototype = {\n    compile: function PostScriptCompiler_compile(code, domain, range) {\n      var stack = [];\n      var instructions = [];\n      var inputSize = domain.length >> 1,\n          outputSize = range.length >> 1;\n      var lastRegister = 0;\n      var n, j;\n      var num1, num2, ast1, ast2, tmpVar, item;\n\n      for (var i = 0; i < inputSize; i++) {\n        stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1]));\n      }\n\n      for (var _i = 0, ii = code.length; _i < ii; _i++) {\n        item = code[_i];\n\n        if (typeof item === \"number\") {\n          stack.push(new AstLiteral(item));\n          continue;\n        }\n\n        switch (item) {\n          case \"add\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildAddOperation(num1, num2));\n            break;\n\n          case \"cvr\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            break;\n\n          case \"mul\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildMulOperation(num1, num2));\n            break;\n\n          case \"sub\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n            stack.push(buildSubOperation(num1, num2));\n            break;\n\n          case \"exch\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            ast1 = stack.pop();\n            ast2 = stack.pop();\n            stack.push(ast1, ast2);\n            break;\n\n          case \"pop\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            stack.pop();\n            break;\n\n          case \"index\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            num1 = stack.pop();\n\n            if (num1.type !== \"literal\") {\n              return null;\n            }\n\n            n = num1.number;\n\n            if (n < 0 || !Number.isInteger(n) || stack.length < n) {\n              return null;\n            }\n\n            ast1 = stack[stack.length - n - 1];\n\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              stack.push(ast1);\n              break;\n            }\n\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - n - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n\n          case \"dup\":\n            if (stack.length < 1) {\n              return null;\n            }\n\n            if (typeof code[_i + 1] === \"number\" && code[_i + 2] === \"gt\" && code[_i + 3] === _i + 7 && code[_i + 4] === \"jz\" && code[_i + 5] === \"pop\" && code[_i + 6] === code[_i + 1]) {\n              num1 = stack.pop();\n              stack.push(buildMinOperation(num1, code[_i + 1]));\n              _i += 6;\n              break;\n            }\n\n            ast1 = stack[stack.length - 1];\n\n            if (ast1.type === \"literal\" || ast1.type === \"var\") {\n              stack.push(ast1);\n              break;\n            }\n\n            tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max);\n            stack[stack.length - 1] = tmpVar;\n            stack.push(tmpVar);\n            instructions.push(new AstVariableDefinition(tmpVar, ast1));\n            break;\n\n          case \"roll\":\n            if (stack.length < 2) {\n              return null;\n            }\n\n            num2 = stack.pop();\n            num1 = stack.pop();\n\n            if (num2.type !== \"literal\" || num1.type !== \"literal\") {\n              return null;\n            }\n\n            j = num2.number;\n            n = num1.number;\n\n            if (n <= 0 || !Number.isInteger(n) || !Number.isInteger(j) || stack.length < n) {\n              return null;\n            }\n\n            j = (j % n + n) % n;\n\n            if (j === 0) {\n              break;\n            }\n\n            Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j));\n            break;\n\n          default:\n            return null;\n        }\n      }\n\n      if (stack.length !== outputSize) {\n        return null;\n      }\n\n      var result = [];\n      instructions.forEach(function (instruction) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        instruction.visit(statementBuilder);\n        result.push(statementBuilder.toString());\n      });\n      stack.forEach(function (expr, i) {\n        var statementBuilder = new ExpressionBuilderVisitor();\n        expr.visit(statementBuilder);\n        var min = range[i * 2],\n            max = range[i * 2 + 1];\n        var out = [statementBuilder.toString()];\n\n        if (min > expr.min) {\n          out.unshift(\"Math.max(\", min, \", \");\n          out.push(\")\");\n        }\n\n        if (max < expr.max) {\n          out.unshift(\"Math.min(\", max, \", \");\n          out.push(\")\");\n        }\n\n        out.unshift(\"dest[destOffset + \", i, \"] = \");\n        out.push(\";\");\n        result.push(out.join(\"\"));\n      });\n      return result.join(\"\\n\");\n    }\n  };\n  return PostScriptCompiler;\n}();\n\nexports.PostScriptCompiler = PostScriptCompiler;\n\n/***/ }),\n/* 170 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PostScriptParser = exports.PostScriptLexer = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PostScriptParser = /*#__PURE__*/function () {\n  function PostScriptParser(lexer) {\n    _classCallCheck(this, PostScriptParser);\n\n    this.lexer = lexer;\n    this.operators = [];\n    this.token = null;\n    this.prev = null;\n  }\n\n  _createClass(PostScriptParser, [{\n    key: \"nextToken\",\n    value: function nextToken() {\n      this.prev = this.token;\n      this.token = this.lexer.getToken();\n    }\n  }, {\n    key: \"accept\",\n    value: function accept(type) {\n      if (this.token.type === type) {\n        this.nextToken();\n        return true;\n      }\n\n      return false;\n    }\n  }, {\n    key: \"expect\",\n    value: function expect(type) {\n      if (this.accept(type)) {\n        return true;\n      }\n\n      throw new _util.FormatError(\"Unexpected symbol: found \".concat(this.token.type, \" expected \").concat(type, \".\"));\n    }\n  }, {\n    key: \"parse\",\n    value: function parse() {\n      this.nextToken();\n      this.expect(PostScriptTokenTypes.LBRACE);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n      return this.operators;\n    }\n  }, {\n    key: \"parseBlock\",\n    value: function parseBlock() {\n      while (true) {\n        if (this.accept(PostScriptTokenTypes.NUMBER)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.OPERATOR)) {\n          this.operators.push(this.prev.value);\n        } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n          this.parseCondition();\n        } else {\n          return;\n        }\n      }\n    }\n  }, {\n    key: \"parseCondition\",\n    value: function parseCondition() {\n      var conditionLocation = this.operators.length;\n      this.operators.push(null, null);\n      this.parseBlock();\n      this.expect(PostScriptTokenTypes.RBRACE);\n\n      if (this.accept(PostScriptTokenTypes.IF)) {\n        this.operators[conditionLocation] = this.operators.length;\n        this.operators[conditionLocation + 1] = \"jz\";\n      } else if (this.accept(PostScriptTokenTypes.LBRACE)) {\n        var jumpLocation = this.operators.length;\n        this.operators.push(null, null);\n        var endOfTrue = this.operators.length;\n        this.parseBlock();\n        this.expect(PostScriptTokenTypes.RBRACE);\n        this.expect(PostScriptTokenTypes.IFELSE);\n        this.operators[jumpLocation] = this.operators.length;\n        this.operators[jumpLocation + 1] = \"j\";\n        this.operators[conditionLocation] = endOfTrue;\n        this.operators[conditionLocation + 1] = \"jz\";\n      } else {\n        throw new _util.FormatError(\"PS Function: error parsing conditional.\");\n      }\n    }\n  }]);\n\n  return PostScriptParser;\n}();\n\nexports.PostScriptParser = PostScriptParser;\nvar PostScriptTokenTypes = {\n  LBRACE: 0,\n  RBRACE: 1,\n  NUMBER: 2,\n  OPERATOR: 3,\n  IF: 4,\n  IFELSE: 5\n};\n\nvar PostScriptToken = function PostScriptTokenClosure() {\n  var opCache = Object.create(null);\n\n  var PostScriptToken = /*#__PURE__*/function () {\n    function PostScriptToken(type, value) {\n      _classCallCheck(this, PostScriptToken);\n\n      this.type = type;\n      this.value = value;\n    }\n\n    _createClass(PostScriptToken, null, [{\n      key: \"getOperator\",\n      value: function getOperator(op) {\n        var opValue = opCache[op];\n\n        if (opValue) {\n          return opValue;\n        }\n\n        return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op);\n      }\n    }, {\n      key: \"LBRACE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"LBRACE\", new PostScriptToken(PostScriptTokenTypes.LBRACE, \"{\"));\n      }\n    }, {\n      key: \"RBRACE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"RBRACE\", new PostScriptToken(PostScriptTokenTypes.RBRACE, \"}\"));\n      }\n    }, {\n      key: \"IF\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"IF\", new PostScriptToken(PostScriptTokenTypes.IF, \"IF\"));\n      }\n    }, {\n      key: \"IFELSE\",\n      get: function get() {\n        return (0, _util.shadow)(this, \"IFELSE\", new PostScriptToken(PostScriptTokenTypes.IFELSE, \"IFELSE\"));\n      }\n    }]);\n\n    return PostScriptToken;\n  }();\n\n  return PostScriptToken;\n}();\n\nvar PostScriptLexer = /*#__PURE__*/function () {\n  function PostScriptLexer(stream) {\n    _classCallCheck(this, PostScriptLexer);\n\n    this.stream = stream;\n    this.nextChar();\n    this.strBuf = [];\n  }\n\n  _createClass(PostScriptLexer, [{\n    key: \"nextChar\",\n    value: function nextChar() {\n      return this.currentChar = this.stream.getByte();\n    }\n  }, {\n    key: \"getToken\",\n    value: function getToken() {\n      var comment = false;\n      var ch = this.currentChar;\n\n      while (true) {\n        if (ch < 0) {\n          return _primitives.EOF;\n        }\n\n        if (comment) {\n          if (ch === 0x0a || ch === 0x0d) {\n            comment = false;\n          }\n        } else if (ch === 0x25) {\n          comment = true;\n        } else if (!(0, _core_utils.isWhiteSpace)(ch)) {\n          break;\n        }\n\n        ch = this.nextChar();\n      }\n\n      switch (ch | 0) {\n        case 0x30:\n        case 0x31:\n        case 0x32:\n        case 0x33:\n        case 0x34:\n        case 0x35:\n        case 0x36:\n        case 0x37:\n        case 0x38:\n        case 0x39:\n        case 0x2b:\n        case 0x2d:\n        case 0x2e:\n          return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber());\n\n        case 0x7b:\n          this.nextChar();\n          return PostScriptToken.LBRACE;\n\n        case 0x7d:\n          this.nextChar();\n          return PostScriptToken.RBRACE;\n      }\n\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n\n      while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5a || ch >= 0x61 && ch <= 0x7a)) {\n        strBuf.push(String.fromCharCode(ch));\n      }\n\n      var str = strBuf.join(\"\");\n\n      switch (str.toLowerCase()) {\n        case \"if\":\n          return PostScriptToken.IF;\n\n        case \"ifelse\":\n          return PostScriptToken.IFELSE;\n\n        default:\n          return PostScriptToken.getOperator(str);\n      }\n    }\n  }, {\n    key: \"getNumber\",\n    value: function getNumber() {\n      var ch = this.currentChar;\n      var strBuf = this.strBuf;\n      strBuf.length = 0;\n      strBuf[0] = String.fromCharCode(ch);\n\n      while ((ch = this.nextChar()) >= 0) {\n        if (ch >= 0x30 && ch <= 0x39 || ch === 0x2d || ch === 0x2e) {\n          strBuf.push(String.fromCharCode(ch));\n        } else {\n          break;\n        }\n      }\n\n      var value = parseFloat(strBuf.join(\"\"));\n\n      if (isNaN(value)) {\n        throw new _util.FormatError(\"Invalid floating point number: \".concat(value));\n      }\n\n      return value;\n    }\n  }]);\n\n  return PostScriptLexer;\n}();\n\nexports.PostScriptLexer = PostScriptLexer;\n\n/***/ }),\n/* 171 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.bidi = bidi;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar baseTypes = [\"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"S\", \"B\", \"S\", \"WS\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"B\", \"B\", \"S\", \"WS\", \"ON\", \"ON\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ES\", \"CS\", \"ES\", \"CS\", \"CS\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"CS\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"B\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"BN\", \"CS\", \"ON\", \"ET\", \"ET\", \"ET\", \"ET\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"ON\", \"ON\", \"BN\", \"ON\", \"ON\", \"ET\", \"ET\", \"EN\", \"EN\", \"ON\", \"L\", \"ON\", \"ON\", \"ON\", \"EN\", \"L\", \"ON\", \"ON\", \"ON\", \"ON\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"ON\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\", \"L\"];\nvar arabicTypes = [\"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ON\", \"ON\", \"AL\", \"ET\", \"ET\", \"AL\", \"CS\", \"AL\", \"ON\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"AN\", \"ET\", \"AN\", \"AN\", \"AL\", \"AL\", \"AL\", \"NSM\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AN\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"NSM\", \"NSM\", \"ON\", \"NSM\", \"NSM\", \"NSM\", \"NSM\", \"AL\", \"AL\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"EN\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\", \"AL\"];\n\nfunction isOdd(i) {\n  return (i & 1) !== 0;\n}\n\nfunction isEven(i) {\n  return (i & 1) === 0;\n}\n\nfunction findUnequal(arr, start, value) {\n  for (var j = start, jj = arr.length; j < jj; ++j) {\n    if (arr[j] !== value) {\n      return j;\n    }\n  }\n\n  return j;\n}\n\nfunction setValues(arr, start, end, value) {\n  for (var j = start; j < end; ++j) {\n    arr[j] = value;\n  }\n}\n\nfunction reverseValues(arr, start, end) {\n  for (var i = start, j = end - 1; i < j; ++i, --j) {\n    var temp = arr[i];\n    arr[i] = arr[j];\n    arr[j] = temp;\n  }\n}\n\nfunction createBidiText(str, isLTR) {\n  var vertical = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n  var dir = \"ltr\";\n\n  if (vertical) {\n    dir = \"ttb\";\n  } else if (!isLTR) {\n    dir = \"rtl\";\n  }\n\n  return {\n    str: str,\n    dir: dir\n  };\n}\n\nvar chars = [];\nvar types = [];\n\nfunction bidi(str, startLevel, vertical) {\n  var isLTR = true;\n  var strLength = str.length;\n\n  if (strLength === 0 || vertical) {\n    return createBidiText(str, isLTR, vertical);\n  }\n\n  chars.length = strLength;\n  types.length = strLength;\n  var numBidi = 0;\n  var i, ii;\n\n  for (i = 0; i < strLength; ++i) {\n    chars[i] = str.charAt(i);\n    var charCode = str.charCodeAt(i);\n    var charType = \"L\";\n\n    if (charCode <= 0x00ff) {\n      charType = baseTypes[charCode];\n    } else if (0x0590 <= charCode && charCode <= 0x05f4) {\n      charType = \"R\";\n    } else if (0x0600 <= charCode && charCode <= 0x06ff) {\n      charType = arabicTypes[charCode & 0xff];\n\n      if (!charType) {\n        (0, _util.warn)(\"Bidi: invalid Unicode character \" + charCode.toString(16));\n      }\n    } else if (0x0700 <= charCode && charCode <= 0x08ac) {\n      charType = \"AL\";\n    }\n\n    if (charType === \"R\" || charType === \"AL\" || charType === \"AN\") {\n      numBidi++;\n    }\n\n    types[i] = charType;\n  }\n\n  if (numBidi === 0) {\n    isLTR = true;\n    return createBidiText(str, isLTR);\n  }\n\n  if (startLevel === -1) {\n    if (numBidi / strLength < 0.3) {\n      isLTR = true;\n      startLevel = 0;\n    } else {\n      isLTR = false;\n      startLevel = 1;\n    }\n  }\n\n  var levels = [];\n\n  for (i = 0; i < strLength; ++i) {\n    levels[i] = startLevel;\n  }\n\n  var e = isOdd(startLevel) ? \"R\" : \"L\";\n  var sor = e;\n  var eor = sor;\n  var lastType = sor;\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"NSM\") {\n      types[i] = lastType;\n    } else {\n      lastType = types[i];\n    }\n  }\n\n  lastType = sor;\n  var t;\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"EN\") {\n      types[i] = lastType === \"AL\" ? \"AN\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\" || t === \"AL\") {\n      lastType = t;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"AL\") {\n      types[i] = \"R\";\n    }\n  }\n\n  for (i = 1; i < strLength - 1; ++i) {\n    if (types[i] === \"ES\" && types[i - 1] === \"EN\" && types[i + 1] === \"EN\") {\n      types[i] = \"EN\";\n    }\n\n    if (types[i] === \"CS\" && (types[i - 1] === \"EN\" || types[i - 1] === \"AN\") && types[i + 1] === types[i - 1]) {\n      types[i] = types[i - 1];\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"EN\") {\n      var j;\n\n      for (j = i - 1; j >= 0; --j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n\n        types[j] = \"EN\";\n      }\n\n      for (j = i + 1; j < strLength; ++j) {\n        if (types[j] !== \"ET\") {\n          break;\n        }\n\n        types[j] = \"EN\";\n      }\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"WS\" || t === \"ES\" || t === \"ET\" || t === \"CS\") {\n      types[i] = \"ON\";\n    }\n  }\n\n  lastType = sor;\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (t === \"EN\") {\n      types[i] = lastType === \"L\" ? \"L\" : \"EN\";\n    } else if (t === \"R\" || t === \"L\") {\n      lastType = t;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      var end = findUnequal(types, i + 1, \"ON\");\n      var before = sor;\n\n      if (i > 0) {\n        before = types[i - 1];\n      }\n\n      var after = eor;\n\n      if (end + 1 < strLength) {\n        after = types[end + 1];\n      }\n\n      if (before !== \"L\") {\n        before = \"R\";\n      }\n\n      if (after !== \"L\") {\n        after = \"R\";\n      }\n\n      if (before === after) {\n        setValues(types, i, end, before);\n      }\n\n      i = end - 1;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    if (types[i] === \"ON\") {\n      types[i] = e;\n    }\n  }\n\n  for (i = 0; i < strLength; ++i) {\n    t = types[i];\n\n    if (isEven(levels[i])) {\n      if (t === \"R\") {\n        levels[i] += 1;\n      } else if (t === \"AN\" || t === \"EN\") {\n        levels[i] += 2;\n      }\n    } else {\n      if (t === \"L\" || t === \"AN\" || t === \"EN\") {\n        levels[i] += 1;\n      }\n    }\n  }\n\n  var highestLevel = -1;\n  var lowestOddLevel = 99;\n  var level;\n\n  for (i = 0, ii = levels.length; i < ii; ++i) {\n    level = levels[i];\n\n    if (highestLevel < level) {\n      highestLevel = level;\n    }\n\n    if (lowestOddLevel > level && isOdd(level)) {\n      lowestOddLevel = level;\n    }\n  }\n\n  for (level = highestLevel; level >= lowestOddLevel; --level) {\n    var start = -1;\n\n    for (i = 0, ii = levels.length; i < ii; ++i) {\n      if (levels[i] < level) {\n        if (start >= 0) {\n          reverseValues(chars, start, i);\n          start = -1;\n        }\n      } else if (start < 0) {\n        start = i;\n      }\n    }\n\n    if (start >= 0) {\n      reverseValues(chars, start, levels.length);\n    }\n  }\n\n  for (i = 0, ii = chars.length; i < ii; ++i) {\n    var ch = chars[i];\n\n    if (ch === \"<\" || ch === \">\") {\n      chars[i] = \"\";\n    }\n  }\n\n  return createBidiText(chars.join(\"\"), isLTR);\n}\n\n/***/ }),\n/* 172 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.getMetrics = void 0;\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar getMetrics = (0, _core_utils.getLookupTableFactory)(function (t) {\n  t.Courier = 600;\n  t[\"Courier-Bold\"] = 600;\n  t[\"Courier-BoldOblique\"] = 600;\n  t[\"Courier-Oblique\"] = 600;\n  t.Helvetica = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 278;\n    t.quotedbl = 355;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 667;\n    t.quoteright = 222;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 556;\n    t.at = 1015;\n    t.A = 667;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 500;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 278;\n    t.backslash = 278;\n    t.bracketright = 278;\n    t.asciicircum = 469;\n    t.underscore = 556;\n    t.quoteleft = 222;\n    t.a = 556;\n    t.b = 556;\n    t.c = 500;\n    t.d = 556;\n    t.e = 556;\n    t.f = 278;\n    t.g = 556;\n    t.h = 556;\n    t.i = 222;\n    t.j = 222;\n    t.k = 500;\n    t.l = 222;\n    t.m = 833;\n    t.n = 556;\n    t.o = 556;\n    t.p = 556;\n    t.q = 556;\n    t.r = 333;\n    t.s = 500;\n    t.t = 278;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 500;\n    t.braceleft = 334;\n    t.bar = 260;\n    t.braceright = 334;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 191;\n    t.quotedblleft = 333;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 537;\n    t.bullet = 350;\n    t.quotesinglbase = 222;\n    t.quotedblbase = 333;\n    t.quotedblright = 333;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 556;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 222;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 556;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 667;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 500;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 500;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 222;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 500;\n    t.scedilla = 500;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 556;\n    t.Amacron = 667;\n    t.rcaron = 333;\n    t.ccedilla = 500;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 643;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 584;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 500;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 260;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 333;\n    t.omacron = 556;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 222;\n    t.tcaron = 317;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 222;\n    t.Oacute = 778;\n    t.oacute = 556;\n    t.amacron = 556;\n    t.sacute = 500;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 556;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 299;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 556;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 556;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 556;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 556;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 556;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 556;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 500;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 584;\n    t.odieresis = 556;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 556;\n    t.eth = 556;\n    t.zcaron = 500;\n    t.ncommaaccent = 556;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 333;\n    t.quotedbl = 474;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 722;\n    t.quoteright = 278;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 611;\n    t.at = 975;\n    t.A = 722;\n    t.B = 722;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 556;\n    t.K = 722;\n    t.L = 611;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 584;\n    t.underscore = 556;\n    t.quoteleft = 278;\n    t.a = 556;\n    t.b = 611;\n    t.c = 556;\n    t.d = 611;\n    t.e = 556;\n    t.f = 333;\n    t.g = 611;\n    t.h = 611;\n    t.i = 278;\n    t.j = 278;\n    t.k = 556;\n    t.l = 278;\n    t.m = 889;\n    t.n = 611;\n    t.o = 611;\n    t.p = 611;\n    t.q = 611;\n    t.r = 389;\n    t.s = 556;\n    t.t = 333;\n    t.u = 611;\n    t.v = 556;\n    t.w = 778;\n    t.x = 556;\n    t.y = 556;\n    t.z = 500;\n    t.braceleft = 389;\n    t.bar = 280;\n    t.braceright = 389;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 238;\n    t.quotedblleft = 500;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 611;\n    t.fl = 611;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 556;\n    t.bullet = 350;\n    t.quotesinglbase = 278;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 611;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 611;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 722;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 556;\n    t.scommaaccent = 556;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 611;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 556;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 556;\n    t.scedilla = 556;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 611;\n    t.acircumflex = 556;\n    t.Amacron = 722;\n    t.rcaron = 389;\n    t.ccedilla = 556;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 743;\n    t.Umacron = 722;\n    t.uring = 611;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 584;\n    t.uacute = 611;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 556;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 556;\n    t.nacute = 611;\n    t.umacron = 611;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 280;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 611;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 389;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 611;\n    t.amacron = 556;\n    t.sacute = 556;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 611;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 611;\n    t.igrave = 278;\n    t.ohungarumlaut = 611;\n    t.Eogonek = 667;\n    t.dcroat = 611;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 400;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 611;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 611;\n    t.ntilde = 611;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 611;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 611;\n    t.Ccaron = 722;\n    t.ugrave = 611;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 611;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 556;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 611;\n    t.tcommaaccent = 333;\n    t.logicalnot = 584;\n    t.odieresis = 611;\n    t.udieresis = 611;\n    t.notequal = 549;\n    t.gcommaaccent = 611;\n    t.eth = 611;\n    t.zcaron = 500;\n    t.ncommaaccent = 611;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-BoldOblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 333;\n    t.quotedbl = 474;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 722;\n    t.quoteright = 278;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 611;\n    t.at = 975;\n    t.A = 722;\n    t.B = 722;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 556;\n    t.K = 722;\n    t.L = 611;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 584;\n    t.underscore = 556;\n    t.quoteleft = 278;\n    t.a = 556;\n    t.b = 611;\n    t.c = 556;\n    t.d = 611;\n    t.e = 556;\n    t.f = 333;\n    t.g = 611;\n    t.h = 611;\n    t.i = 278;\n    t.j = 278;\n    t.k = 556;\n    t.l = 278;\n    t.m = 889;\n    t.n = 611;\n    t.o = 611;\n    t.p = 611;\n    t.q = 611;\n    t.r = 389;\n    t.s = 556;\n    t.t = 333;\n    t.u = 611;\n    t.v = 556;\n    t.w = 778;\n    t.x = 556;\n    t.y = 556;\n    t.z = 500;\n    t.braceleft = 389;\n    t.bar = 280;\n    t.braceright = 389;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 238;\n    t.quotedblleft = 500;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 611;\n    t.fl = 611;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 556;\n    t.bullet = 350;\n    t.quotesinglbase = 278;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 611;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 611;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 722;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 556;\n    t.scommaaccent = 556;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 611;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 556;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 556;\n    t.scedilla = 556;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 611;\n    t.acircumflex = 556;\n    t.Amacron = 722;\n    t.rcaron = 389;\n    t.ccedilla = 556;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 743;\n    t.Umacron = 722;\n    t.uring = 611;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 584;\n    t.uacute = 611;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 556;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 556;\n    t.nacute = 611;\n    t.umacron = 611;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 280;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 611;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 389;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 611;\n    t.amacron = 556;\n    t.sacute = 556;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 611;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 611;\n    t.igrave = 278;\n    t.ohungarumlaut = 611;\n    t.Eogonek = 667;\n    t.dcroat = 611;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 400;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 611;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 611;\n    t.ntilde = 611;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 611;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 611;\n    t.Ccaron = 722;\n    t.ugrave = 611;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 611;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 556;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 611;\n    t.tcommaaccent = 333;\n    t.logicalnot = 584;\n    t.odieresis = 611;\n    t.udieresis = 611;\n    t.notequal = 549;\n    t.gcommaaccent = 611;\n    t.eth = 611;\n    t.zcaron = 500;\n    t.ncommaaccent = 611;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t[\"Helvetica-Oblique\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.exclam = 278;\n    t.quotedbl = 355;\n    t.numbersign = 556;\n    t.dollar = 556;\n    t.percent = 889;\n    t.ampersand = 667;\n    t.quoteright = 222;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 389;\n    t.plus = 584;\n    t.comma = 278;\n    t.hyphen = 333;\n    t.period = 278;\n    t.slash = 278;\n    t.zero = 556;\n    t.one = 556;\n    t.two = 556;\n    t.three = 556;\n    t.four = 556;\n    t.five = 556;\n    t.six = 556;\n    t.seven = 556;\n    t.eight = 556;\n    t.nine = 556;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 584;\n    t.equal = 584;\n    t.greater = 584;\n    t.question = 556;\n    t.at = 1015;\n    t.A = 667;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 722;\n    t.I = 278;\n    t.J = 500;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 722;\n    t.O = 778;\n    t.P = 667;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 667;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 944;\n    t.X = 667;\n    t.Y = 667;\n    t.Z = 611;\n    t.bracketleft = 278;\n    t.backslash = 278;\n    t.bracketright = 278;\n    t.asciicircum = 469;\n    t.underscore = 556;\n    t.quoteleft = 222;\n    t.a = 556;\n    t.b = 556;\n    t.c = 500;\n    t.d = 556;\n    t.e = 556;\n    t.f = 278;\n    t.g = 556;\n    t.h = 556;\n    t.i = 222;\n    t.j = 222;\n    t.k = 500;\n    t.l = 222;\n    t.m = 833;\n    t.n = 556;\n    t.o = 556;\n    t.p = 556;\n    t.q = 556;\n    t.r = 333;\n    t.s = 500;\n    t.t = 278;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 500;\n    t.braceleft = 334;\n    t.bar = 260;\n    t.braceright = 334;\n    t.asciitilde = 584;\n    t.exclamdown = 333;\n    t.cent = 556;\n    t.sterling = 556;\n    t.fraction = 167;\n    t.yen = 556;\n    t.florin = 556;\n    t.section = 556;\n    t.currency = 556;\n    t.quotesingle = 191;\n    t.quotedblleft = 333;\n    t.guillemotleft = 556;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 556;\n    t.dagger = 556;\n    t.daggerdbl = 556;\n    t.periodcentered = 278;\n    t.paragraph = 537;\n    t.bullet = 350;\n    t.quotesinglbase = 222;\n    t.quotedblbase = 333;\n    t.quotedblright = 333;\n    t.guillemotright = 556;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 611;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 370;\n    t.Lslash = 556;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 365;\n    t.ae = 889;\n    t.dotlessi = 278;\n    t.lslash = 222;\n    t.oslash = 611;\n    t.oe = 944;\n    t.germandbls = 611;\n    t.Idieresis = 278;\n    t.eacute = 556;\n    t.abreve = 556;\n    t.uhungarumlaut = 556;\n    t.ecaron = 556;\n    t.Ydieresis = 667;\n    t.divide = 584;\n    t.Yacute = 667;\n    t.Acircumflex = 667;\n    t.aacute = 556;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 500;\n    t.ecircumflex = 556;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 556;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 737;\n    t.Emacron = 667;\n    t.ccaron = 500;\n    t.aring = 556;\n    t.Ncommaaccent = 722;\n    t.lacute = 222;\n    t.agrave = 556;\n    t.Tcommaaccent = 611;\n    t.Cacute = 722;\n    t.atilde = 556;\n    t.Edotaccent = 667;\n    t.scaron = 500;\n    t.scedilla = 500;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 556;\n    t.Amacron = 667;\n    t.rcaron = 333;\n    t.ccedilla = 500;\n    t.Zdotaccent = 611;\n    t.Thorn = 667;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 667;\n    t.dcaron = 643;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 333;\n    t.Ograve = 778;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 584;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 556;\n    t.edieresis = 556;\n    t.cacute = 500;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 278;\n    t.plusminus = 584;\n    t.brokenbar = 260;\n    t.registered = 737;\n    t.Gbreve = 778;\n    t.Idotaccent = 278;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 333;\n    t.omacron = 556;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 222;\n    t.tcaron = 317;\n    t.eogonek = 556;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 556;\n    t.zacute = 500;\n    t.iogonek = 222;\n    t.Oacute = 778;\n    t.oacute = 556;\n    t.amacron = 556;\n    t.sacute = 500;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 333;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 556;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 834;\n    t.Scedilla = 667;\n    t.lcaron = 299;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 1000;\n    t.edotaccent = 556;\n    t.Igrave = 278;\n    t.Imacron = 278;\n    t.Lcaron = 556;\n    t.onehalf = 834;\n    t.lessequal = 549;\n    t.ocircumflex = 556;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 556;\n    t.gbreve = 556;\n    t.onequarter = 834;\n    t.Scaron = 667;\n    t.Scommaaccent = 667;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 556;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 556;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 556;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 778;\n    t.zdotaccent = 500;\n    t.Ecaron = 667;\n    t.Iogonek = 278;\n    t.kcommaaccent = 500;\n    t.minus = 584;\n    t.Icircumflex = 278;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 584;\n    t.odieresis = 556;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 556;\n    t.eth = 556;\n    t.zcaron = 500;\n    t.ncommaaccent = 556;\n    t.onesuperior = 333;\n    t.imacron = 278;\n    t.Euro = 556;\n  });\n  t.Symbol = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.universal = 713;\n    t.numbersign = 500;\n    t.existential = 549;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.suchthat = 439;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asteriskmath = 500;\n    t.plus = 549;\n    t.comma = 250;\n    t.minus = 549;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 549;\n    t.equal = 549;\n    t.greater = 549;\n    t.question = 444;\n    t.congruent = 549;\n    t.Alpha = 722;\n    t.Beta = 667;\n    t.Chi = 722;\n    t.Delta = 612;\n    t.Epsilon = 611;\n    t.Phi = 763;\n    t.Gamma = 603;\n    t.Eta = 722;\n    t.Iota = 333;\n    t.theta1 = 631;\n    t.Kappa = 722;\n    t.Lambda = 686;\n    t.Mu = 889;\n    t.Nu = 722;\n    t.Omicron = 722;\n    t.Pi = 768;\n    t.Theta = 741;\n    t.Rho = 556;\n    t.Sigma = 592;\n    t.Tau = 611;\n    t.Upsilon = 690;\n    t.sigma1 = 439;\n    t.Omega = 768;\n    t.Xi = 645;\n    t.Psi = 795;\n    t.Zeta = 611;\n    t.bracketleft = 333;\n    t.therefore = 863;\n    t.bracketright = 333;\n    t.perpendicular = 658;\n    t.underscore = 500;\n    t.radicalex = 500;\n    t.alpha = 631;\n    t.beta = 549;\n    t.chi = 549;\n    t.delta = 494;\n    t.epsilon = 439;\n    t.phi = 521;\n    t.gamma = 411;\n    t.eta = 603;\n    t.iota = 329;\n    t.phi1 = 603;\n    t.kappa = 549;\n    t.lambda = 549;\n    t.mu = 576;\n    t.nu = 521;\n    t.omicron = 549;\n    t.pi = 549;\n    t.theta = 521;\n    t.rho = 549;\n    t.sigma = 603;\n    t.tau = 439;\n    t.upsilon = 576;\n    t.omega1 = 713;\n    t.omega = 686;\n    t.xi = 493;\n    t.psi = 686;\n    t.zeta = 494;\n    t.braceleft = 480;\n    t.bar = 200;\n    t.braceright = 480;\n    t.similar = 549;\n    t.Euro = 750;\n    t.Upsilon1 = 620;\n    t.minute = 247;\n    t.lessequal = 549;\n    t.fraction = 167;\n    t.infinity = 713;\n    t.florin = 500;\n    t.club = 753;\n    t.diamond = 753;\n    t.heart = 753;\n    t.spade = 753;\n    t.arrowboth = 1042;\n    t.arrowleft = 987;\n    t.arrowup = 603;\n    t.arrowright = 987;\n    t.arrowdown = 603;\n    t.degree = 400;\n    t.plusminus = 549;\n    t.second = 411;\n    t.greaterequal = 549;\n    t.multiply = 549;\n    t.proportional = 713;\n    t.partialdiff = 494;\n    t.bullet = 460;\n    t.divide = 549;\n    t.notequal = 549;\n    t.equivalence = 549;\n    t.approxequal = 549;\n    t.ellipsis = 1000;\n    t.arrowvertex = 603;\n    t.arrowhorizex = 1000;\n    t.carriagereturn = 658;\n    t.aleph = 823;\n    t.Ifraktur = 686;\n    t.Rfraktur = 795;\n    t.weierstrass = 987;\n    t.circlemultiply = 768;\n    t.circleplus = 768;\n    t.emptyset = 823;\n    t.intersection = 768;\n    t.union = 768;\n    t.propersuperset = 713;\n    t.reflexsuperset = 713;\n    t.notsubset = 713;\n    t.propersubset = 713;\n    t.reflexsubset = 713;\n    t.element = 713;\n    t.notelement = 713;\n    t.angle = 768;\n    t.gradient = 713;\n    t.registerserif = 790;\n    t.copyrightserif = 790;\n    t.trademarkserif = 890;\n    t.product = 823;\n    t.radical = 549;\n    t.dotmath = 250;\n    t.logicalnot = 713;\n    t.logicaland = 603;\n    t.logicalor = 603;\n    t.arrowdblboth = 1042;\n    t.arrowdblleft = 987;\n    t.arrowdblup = 603;\n    t.arrowdblright = 987;\n    t.arrowdbldown = 603;\n    t.lozenge = 494;\n    t.angleleft = 329;\n    t.registersans = 790;\n    t.copyrightsans = 790;\n    t.trademarksans = 786;\n    t.summation = 713;\n    t.parenlefttp = 384;\n    t.parenleftex = 384;\n    t.parenleftbt = 384;\n    t.bracketlefttp = 384;\n    t.bracketleftex = 384;\n    t.bracketleftbt = 384;\n    t.bracelefttp = 494;\n    t.braceleftmid = 494;\n    t.braceleftbt = 494;\n    t.braceex = 494;\n    t.angleright = 329;\n    t.integral = 274;\n    t.integraltp = 686;\n    t.integralex = 686;\n    t.integralbt = 686;\n    t.parenrighttp = 384;\n    t.parenrightex = 384;\n    t.parenrightbt = 384;\n    t.bracketrighttp = 384;\n    t.bracketrightex = 384;\n    t.bracketrightbt = 384;\n    t.bracerighttp = 494;\n    t.bracerightmid = 494;\n    t.bracerightbt = 494;\n    t.apple = 790;\n  });\n  t[\"Times-Roman\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 408;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 564;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 278;\n    t.semicolon = 278;\n    t.less = 564;\n    t.equal = 564;\n    t.greater = 564;\n    t.question = 444;\n    t.at = 921;\n    t.A = 722;\n    t.B = 667;\n    t.C = 667;\n    t.D = 722;\n    t.E = 611;\n    t.F = 556;\n    t.G = 722;\n    t.H = 722;\n    t.I = 333;\n    t.J = 389;\n    t.K = 722;\n    t.L = 611;\n    t.M = 889;\n    t.N = 722;\n    t.O = 722;\n    t.P = 556;\n    t.Q = 722;\n    t.R = 667;\n    t.S = 556;\n    t.T = 611;\n    t.U = 722;\n    t.V = 722;\n    t.W = 944;\n    t.X = 722;\n    t.Y = 722;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 469;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 444;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 500;\n    t.i = 278;\n    t.j = 278;\n    t.k = 500;\n    t.l = 278;\n    t.m = 778;\n    t.n = 500;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 333;\n    t.s = 389;\n    t.t = 278;\n    t.u = 500;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 444;\n    t.braceleft = 480;\n    t.bar = 200;\n    t.braceright = 480;\n    t.asciitilde = 541;\n    t.exclamdown = 333;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 180;\n    t.quotedblleft = 444;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 453;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 444;\n    t.quotedblright = 444;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 444;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 889;\n    t.ordfeminine = 276;\n    t.Lslash = 611;\n    t.Oslash = 722;\n    t.OE = 889;\n    t.ordmasculine = 310;\n    t.ae = 667;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 500;\n    t.Idieresis = 333;\n    t.eacute = 444;\n    t.abreve = 444;\n    t.uhungarumlaut = 500;\n    t.ecaron = 444;\n    t.Ydieresis = 722;\n    t.divide = 564;\n    t.Yacute = 722;\n    t.Acircumflex = 722;\n    t.aacute = 444;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 444;\n    t.Uacute = 722;\n    t.uogonek = 500;\n    t.Edieresis = 611;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 760;\n    t.Emacron = 611;\n    t.ccaron = 444;\n    t.aring = 444;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 444;\n    t.Tcommaaccent = 611;\n    t.Cacute = 667;\n    t.atilde = 444;\n    t.Edotaccent = 611;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 667;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 500;\n    t.acircumflex = 444;\n    t.Amacron = 722;\n    t.rcaron = 333;\n    t.ccedilla = 444;\n    t.Zdotaccent = 611;\n    t.Thorn = 556;\n    t.Omacron = 722;\n    t.Racute = 667;\n    t.Sacute = 556;\n    t.dcaron = 588;\n    t.Umacron = 722;\n    t.uring = 500;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 564;\n    t.uacute = 500;\n    t.Tcaron = 611;\n    t.partialdiff = 476;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 611;\n    t.adieresis = 444;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 500;\n    t.umacron = 500;\n    t.Ncaron = 722;\n    t.Iacute = 333;\n    t.plusminus = 564;\n    t.brokenbar = 200;\n    t.registered = 760;\n    t.Gbreve = 722;\n    t.Idotaccent = 333;\n    t.summation = 600;\n    t.Egrave = 611;\n    t.racute = 333;\n    t.omacron = 500;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 326;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 444;\n    t.zacute = 444;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 444;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 500;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 611;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 344;\n    t.Kcommaaccent = 722;\n    t.Lacute = 611;\n    t.trademark = 980;\n    t.edotaccent = 444;\n    t.Igrave = 333;\n    t.Imacron = 333;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 500;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 611;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 500;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 333;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 667;\n    t.Lcommaaccent = 611;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 722;\n    t.zdotaccent = 444;\n    t.Ecaron = 611;\n    t.Iogonek = 333;\n    t.kcommaaccent = 500;\n    t.minus = 564;\n    t.Icircumflex = 333;\n    t.ncaron = 500;\n    t.tcommaaccent = 278;\n    t.logicalnot = 564;\n    t.odieresis = 500;\n    t.udieresis = 500;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 444;\n    t.ncommaaccent = 500;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-Bold\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 555;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 1000;\n    t.ampersand = 833;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 570;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 570;\n    t.equal = 570;\n    t.greater = 570;\n    t.question = 500;\n    t.at = 930;\n    t.A = 722;\n    t.B = 667;\n    t.C = 722;\n    t.D = 722;\n    t.E = 667;\n    t.F = 611;\n    t.G = 778;\n    t.H = 778;\n    t.I = 389;\n    t.J = 500;\n    t.K = 778;\n    t.L = 667;\n    t.M = 944;\n    t.N = 722;\n    t.O = 778;\n    t.P = 611;\n    t.Q = 778;\n    t.R = 722;\n    t.S = 556;\n    t.T = 667;\n    t.U = 722;\n    t.V = 722;\n    t.W = 1000;\n    t.X = 722;\n    t.Y = 722;\n    t.Z = 667;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 581;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 556;\n    t.c = 444;\n    t.d = 556;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 556;\n    t.i = 278;\n    t.j = 333;\n    t.k = 556;\n    t.l = 278;\n    t.m = 833;\n    t.n = 556;\n    t.o = 500;\n    t.p = 556;\n    t.q = 556;\n    t.r = 444;\n    t.s = 389;\n    t.t = 333;\n    t.u = 556;\n    t.v = 500;\n    t.w = 722;\n    t.x = 500;\n    t.y = 500;\n    t.z = 444;\n    t.braceleft = 394;\n    t.bar = 220;\n    t.braceright = 394;\n    t.asciitilde = 520;\n    t.exclamdown = 333;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 278;\n    t.quotedblleft = 500;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 540;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 1000;\n    t.ordfeminine = 300;\n    t.Lslash = 667;\n    t.Oslash = 778;\n    t.OE = 1000;\n    t.ordmasculine = 330;\n    t.ae = 722;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 556;\n    t.Idieresis = 389;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 556;\n    t.ecaron = 444;\n    t.Ydieresis = 722;\n    t.divide = 570;\n    t.Yacute = 722;\n    t.Acircumflex = 722;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 500;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 747;\n    t.Emacron = 667;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 667;\n    t.Cacute = 722;\n    t.atilde = 500;\n    t.Edotaccent = 667;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 722;\n    t.Gcommaaccent = 778;\n    t.ucircumflex = 556;\n    t.acircumflex = 500;\n    t.Amacron = 722;\n    t.rcaron = 444;\n    t.ccedilla = 444;\n    t.Zdotaccent = 667;\n    t.Thorn = 611;\n    t.Omacron = 778;\n    t.Racute = 722;\n    t.Sacute = 556;\n    t.dcaron = 672;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 300;\n    t.Ograve = 778;\n    t.Agrave = 722;\n    t.Abreve = 722;\n    t.multiply = 570;\n    t.uacute = 556;\n    t.Tcaron = 667;\n    t.partialdiff = 494;\n    t.ydieresis = 500;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 389;\n    t.plusminus = 570;\n    t.brokenbar = 220;\n    t.registered = 747;\n    t.Gbreve = 778;\n    t.Idotaccent = 389;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 444;\n    t.omacron = 500;\n    t.Zacute = 667;\n    t.Zcaron = 667;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 722;\n    t.lcommaaccent = 278;\n    t.tcaron = 416;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 722;\n    t.Adieresis = 722;\n    t.egrave = 444;\n    t.zacute = 444;\n    t.iogonek = 278;\n    t.Oacute = 778;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 778;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 556;\n    t.twosuperior = 300;\n    t.Odieresis = 778;\n    t.mu = 556;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 667;\n    t.dcroat = 556;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 394;\n    t.Kcommaaccent = 778;\n    t.Lacute = 667;\n    t.trademark = 1000;\n    t.edotaccent = 444;\n    t.Igrave = 389;\n    t.Imacron = 389;\n    t.Lcaron = 667;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 778;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 722;\n    t.ugrave = 556;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 444;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 722;\n    t.Lcommaaccent = 667;\n    t.Atilde = 722;\n    t.Aogonek = 722;\n    t.Aring = 722;\n    t.Otilde = 778;\n    t.zdotaccent = 444;\n    t.Ecaron = 667;\n    t.Iogonek = 389;\n    t.kcommaaccent = 556;\n    t.minus = 570;\n    t.Icircumflex = 389;\n    t.ncaron = 556;\n    t.tcommaaccent = 333;\n    t.logicalnot = 570;\n    t.odieresis = 500;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 444;\n    t.ncommaaccent = 556;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-BoldItalic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 389;\n    t.quotedbl = 555;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 570;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 570;\n    t.equal = 570;\n    t.greater = 570;\n    t.question = 500;\n    t.at = 832;\n    t.A = 667;\n    t.B = 667;\n    t.C = 667;\n    t.D = 722;\n    t.E = 667;\n    t.F = 667;\n    t.G = 722;\n    t.H = 778;\n    t.I = 389;\n    t.J = 500;\n    t.K = 667;\n    t.L = 611;\n    t.M = 889;\n    t.N = 722;\n    t.O = 722;\n    t.P = 611;\n    t.Q = 722;\n    t.R = 667;\n    t.S = 556;\n    t.T = 611;\n    t.U = 722;\n    t.V = 667;\n    t.W = 889;\n    t.X = 667;\n    t.Y = 611;\n    t.Z = 611;\n    t.bracketleft = 333;\n    t.backslash = 278;\n    t.bracketright = 333;\n    t.asciicircum = 570;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 333;\n    t.g = 500;\n    t.h = 556;\n    t.i = 278;\n    t.j = 278;\n    t.k = 500;\n    t.l = 278;\n    t.m = 778;\n    t.n = 556;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 389;\n    t.s = 389;\n    t.t = 278;\n    t.u = 556;\n    t.v = 444;\n    t.w = 667;\n    t.x = 500;\n    t.y = 444;\n    t.z = 389;\n    t.braceleft = 348;\n    t.bar = 220;\n    t.braceright = 348;\n    t.asciitilde = 570;\n    t.exclamdown = 389;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 278;\n    t.quotedblleft = 500;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 556;\n    t.fl = 556;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 500;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 500;\n    t.quotedblright = 500;\n    t.guillemotright = 500;\n    t.ellipsis = 1000;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 1000;\n    t.AE = 944;\n    t.ordfeminine = 266;\n    t.Lslash = 611;\n    t.Oslash = 722;\n    t.OE = 944;\n    t.ordmasculine = 300;\n    t.ae = 722;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 722;\n    t.germandbls = 500;\n    t.Idieresis = 389;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 556;\n    t.ecaron = 444;\n    t.Ydieresis = 611;\n    t.divide = 570;\n    t.Yacute = 611;\n    t.Acircumflex = 667;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 444;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 556;\n    t.Edieresis = 667;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 747;\n    t.Emacron = 667;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 722;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 611;\n    t.Cacute = 667;\n    t.atilde = 500;\n    t.Edotaccent = 667;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 494;\n    t.Rcaron = 667;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 556;\n    t.acircumflex = 500;\n    t.Amacron = 667;\n    t.rcaron = 389;\n    t.ccedilla = 444;\n    t.Zdotaccent = 611;\n    t.Thorn = 611;\n    t.Omacron = 722;\n    t.Racute = 667;\n    t.Sacute = 556;\n    t.dcaron = 608;\n    t.Umacron = 722;\n    t.uring = 556;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 667;\n    t.Abreve = 667;\n    t.multiply = 570;\n    t.uacute = 556;\n    t.Tcaron = 611;\n    t.partialdiff = 494;\n    t.ydieresis = 444;\n    t.Nacute = 722;\n    t.icircumflex = 278;\n    t.Ecircumflex = 667;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 556;\n    t.umacron = 556;\n    t.Ncaron = 722;\n    t.Iacute = 389;\n    t.plusminus = 570;\n    t.brokenbar = 220;\n    t.registered = 747;\n    t.Gbreve = 722;\n    t.Idotaccent = 389;\n    t.summation = 600;\n    t.Egrave = 667;\n    t.racute = 389;\n    t.omacron = 500;\n    t.Zacute = 611;\n    t.Zcaron = 611;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 366;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 667;\n    t.Adieresis = 667;\n    t.egrave = 444;\n    t.zacute = 389;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 576;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 667;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 556;\n    t.lcaron = 382;\n    t.Kcommaaccent = 667;\n    t.Lacute = 611;\n    t.trademark = 1000;\n    t.edotaccent = 444;\n    t.Igrave = 389;\n    t.Imacron = 389;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 556;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 667;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 556;\n    t.Scommaaccent = 556;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 556;\n    t.radical = 549;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 722;\n    t.otilde = 500;\n    t.Rcommaaccent = 667;\n    t.Lcommaaccent = 611;\n    t.Atilde = 667;\n    t.Aogonek = 667;\n    t.Aring = 667;\n    t.Otilde = 722;\n    t.zdotaccent = 389;\n    t.Ecaron = 667;\n    t.Iogonek = 389;\n    t.kcommaaccent = 500;\n    t.minus = 606;\n    t.Icircumflex = 389;\n    t.ncaron = 556;\n    t.tcommaaccent = 278;\n    t.logicalnot = 606;\n    t.odieresis = 500;\n    t.udieresis = 556;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 389;\n    t.ncommaaccent = 556;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t[\"Times-Italic\"] = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 250;\n    t.exclam = 333;\n    t.quotedbl = 420;\n    t.numbersign = 500;\n    t.dollar = 500;\n    t.percent = 833;\n    t.ampersand = 778;\n    t.quoteright = 333;\n    t.parenleft = 333;\n    t.parenright = 333;\n    t.asterisk = 500;\n    t.plus = 675;\n    t.comma = 250;\n    t.hyphen = 333;\n    t.period = 250;\n    t.slash = 278;\n    t.zero = 500;\n    t.one = 500;\n    t.two = 500;\n    t.three = 500;\n    t.four = 500;\n    t.five = 500;\n    t.six = 500;\n    t.seven = 500;\n    t.eight = 500;\n    t.nine = 500;\n    t.colon = 333;\n    t.semicolon = 333;\n    t.less = 675;\n    t.equal = 675;\n    t.greater = 675;\n    t.question = 500;\n    t.at = 920;\n    t.A = 611;\n    t.B = 611;\n    t.C = 667;\n    t.D = 722;\n    t.E = 611;\n    t.F = 611;\n    t.G = 722;\n    t.H = 722;\n    t.I = 333;\n    t.J = 444;\n    t.K = 667;\n    t.L = 556;\n    t.M = 833;\n    t.N = 667;\n    t.O = 722;\n    t.P = 611;\n    t.Q = 722;\n    t.R = 611;\n    t.S = 500;\n    t.T = 556;\n    t.U = 722;\n    t.V = 611;\n    t.W = 833;\n    t.X = 611;\n    t.Y = 556;\n    t.Z = 556;\n    t.bracketleft = 389;\n    t.backslash = 278;\n    t.bracketright = 389;\n    t.asciicircum = 422;\n    t.underscore = 500;\n    t.quoteleft = 333;\n    t.a = 500;\n    t.b = 500;\n    t.c = 444;\n    t.d = 500;\n    t.e = 444;\n    t.f = 278;\n    t.g = 500;\n    t.h = 500;\n    t.i = 278;\n    t.j = 278;\n    t.k = 444;\n    t.l = 278;\n    t.m = 722;\n    t.n = 500;\n    t.o = 500;\n    t.p = 500;\n    t.q = 500;\n    t.r = 389;\n    t.s = 389;\n    t.t = 278;\n    t.u = 500;\n    t.v = 444;\n    t.w = 667;\n    t.x = 444;\n    t.y = 444;\n    t.z = 389;\n    t.braceleft = 400;\n    t.bar = 275;\n    t.braceright = 400;\n    t.asciitilde = 541;\n    t.exclamdown = 389;\n    t.cent = 500;\n    t.sterling = 500;\n    t.fraction = 167;\n    t.yen = 500;\n    t.florin = 500;\n    t.section = 500;\n    t.currency = 500;\n    t.quotesingle = 214;\n    t.quotedblleft = 556;\n    t.guillemotleft = 500;\n    t.guilsinglleft = 333;\n    t.guilsinglright = 333;\n    t.fi = 500;\n    t.fl = 500;\n    t.endash = 500;\n    t.dagger = 500;\n    t.daggerdbl = 500;\n    t.periodcentered = 250;\n    t.paragraph = 523;\n    t.bullet = 350;\n    t.quotesinglbase = 333;\n    t.quotedblbase = 556;\n    t.quotedblright = 556;\n    t.guillemotright = 500;\n    t.ellipsis = 889;\n    t.perthousand = 1000;\n    t.questiondown = 500;\n    t.grave = 333;\n    t.acute = 333;\n    t.circumflex = 333;\n    t.tilde = 333;\n    t.macron = 333;\n    t.breve = 333;\n    t.dotaccent = 333;\n    t.dieresis = 333;\n    t.ring = 333;\n    t.cedilla = 333;\n    t.hungarumlaut = 333;\n    t.ogonek = 333;\n    t.caron = 333;\n    t.emdash = 889;\n    t.AE = 889;\n    t.ordfeminine = 276;\n    t.Lslash = 556;\n    t.Oslash = 722;\n    t.OE = 944;\n    t.ordmasculine = 310;\n    t.ae = 667;\n    t.dotlessi = 278;\n    t.lslash = 278;\n    t.oslash = 500;\n    t.oe = 667;\n    t.germandbls = 500;\n    t.Idieresis = 333;\n    t.eacute = 444;\n    t.abreve = 500;\n    t.uhungarumlaut = 500;\n    t.ecaron = 444;\n    t.Ydieresis = 556;\n    t.divide = 675;\n    t.Yacute = 556;\n    t.Acircumflex = 611;\n    t.aacute = 500;\n    t.Ucircumflex = 722;\n    t.yacute = 444;\n    t.scommaaccent = 389;\n    t.ecircumflex = 444;\n    t.Uring = 722;\n    t.Udieresis = 722;\n    t.aogonek = 500;\n    t.Uacute = 722;\n    t.uogonek = 500;\n    t.Edieresis = 611;\n    t.Dcroat = 722;\n    t.commaaccent = 250;\n    t.copyright = 760;\n    t.Emacron = 611;\n    t.ccaron = 444;\n    t.aring = 500;\n    t.Ncommaaccent = 667;\n    t.lacute = 278;\n    t.agrave = 500;\n    t.Tcommaaccent = 556;\n    t.Cacute = 667;\n    t.atilde = 500;\n    t.Edotaccent = 611;\n    t.scaron = 389;\n    t.scedilla = 389;\n    t.iacute = 278;\n    t.lozenge = 471;\n    t.Rcaron = 611;\n    t.Gcommaaccent = 722;\n    t.ucircumflex = 500;\n    t.acircumflex = 500;\n    t.Amacron = 611;\n    t.rcaron = 389;\n    t.ccedilla = 444;\n    t.Zdotaccent = 556;\n    t.Thorn = 611;\n    t.Omacron = 722;\n    t.Racute = 611;\n    t.Sacute = 500;\n    t.dcaron = 544;\n    t.Umacron = 722;\n    t.uring = 500;\n    t.threesuperior = 300;\n    t.Ograve = 722;\n    t.Agrave = 611;\n    t.Abreve = 611;\n    t.multiply = 675;\n    t.uacute = 500;\n    t.Tcaron = 556;\n    t.partialdiff = 476;\n    t.ydieresis = 444;\n    t.Nacute = 667;\n    t.icircumflex = 278;\n    t.Ecircumflex = 611;\n    t.adieresis = 500;\n    t.edieresis = 444;\n    t.cacute = 444;\n    t.nacute = 500;\n    t.umacron = 500;\n    t.Ncaron = 667;\n    t.Iacute = 333;\n    t.plusminus = 675;\n    t.brokenbar = 275;\n    t.registered = 760;\n    t.Gbreve = 722;\n    t.Idotaccent = 333;\n    t.summation = 600;\n    t.Egrave = 611;\n    t.racute = 389;\n    t.omacron = 500;\n    t.Zacute = 556;\n    t.Zcaron = 556;\n    t.greaterequal = 549;\n    t.Eth = 722;\n    t.Ccedilla = 667;\n    t.lcommaaccent = 278;\n    t.tcaron = 300;\n    t.eogonek = 444;\n    t.Uogonek = 722;\n    t.Aacute = 611;\n    t.Adieresis = 611;\n    t.egrave = 444;\n    t.zacute = 389;\n    t.iogonek = 278;\n    t.Oacute = 722;\n    t.oacute = 500;\n    t.amacron = 500;\n    t.sacute = 389;\n    t.idieresis = 278;\n    t.Ocircumflex = 722;\n    t.Ugrave = 722;\n    t.Delta = 612;\n    t.thorn = 500;\n    t.twosuperior = 300;\n    t.Odieresis = 722;\n    t.mu = 500;\n    t.igrave = 278;\n    t.ohungarumlaut = 500;\n    t.Eogonek = 611;\n    t.dcroat = 500;\n    t.threequarters = 750;\n    t.Scedilla = 500;\n    t.lcaron = 300;\n    t.Kcommaaccent = 667;\n    t.Lacute = 556;\n    t.trademark = 980;\n    t.edotaccent = 444;\n    t.Igrave = 333;\n    t.Imacron = 333;\n    t.Lcaron = 611;\n    t.onehalf = 750;\n    t.lessequal = 549;\n    t.ocircumflex = 500;\n    t.ntilde = 500;\n    t.Uhungarumlaut = 722;\n    t.Eacute = 611;\n    t.emacron = 444;\n    t.gbreve = 500;\n    t.onequarter = 750;\n    t.Scaron = 500;\n    t.Scommaaccent = 500;\n    t.Ohungarumlaut = 722;\n    t.degree = 400;\n    t.ograve = 500;\n    t.Ccaron = 667;\n    t.ugrave = 500;\n    t.radical = 453;\n    t.Dcaron = 722;\n    t.rcommaaccent = 389;\n    t.Ntilde = 667;\n    t.otilde = 500;\n    t.Rcommaaccent = 611;\n    t.Lcommaaccent = 556;\n    t.Atilde = 611;\n    t.Aogonek = 611;\n    t.Aring = 611;\n    t.Otilde = 722;\n    t.zdotaccent = 389;\n    t.Ecaron = 611;\n    t.Iogonek = 333;\n    t.kcommaaccent = 444;\n    t.minus = 675;\n    t.Icircumflex = 333;\n    t.ncaron = 500;\n    t.tcommaaccent = 278;\n    t.logicalnot = 675;\n    t.odieresis = 500;\n    t.udieresis = 500;\n    t.notequal = 549;\n    t.gcommaaccent = 500;\n    t.eth = 500;\n    t.zcaron = 389;\n    t.ncommaaccent = 500;\n    t.onesuperior = 300;\n    t.imacron = 278;\n    t.Euro = 500;\n  });\n  t.ZapfDingbats = (0, _core_utils.getLookupTableFactory)(function (t) {\n    t.space = 278;\n    t.a1 = 974;\n    t.a2 = 961;\n    t.a202 = 974;\n    t.a3 = 980;\n    t.a4 = 719;\n    t.a5 = 789;\n    t.a119 = 790;\n    t.a118 = 791;\n    t.a117 = 690;\n    t.a11 = 960;\n    t.a12 = 939;\n    t.a13 = 549;\n    t.a14 = 855;\n    t.a15 = 911;\n    t.a16 = 933;\n    t.a105 = 911;\n    t.a17 = 945;\n    t.a18 = 974;\n    t.a19 = 755;\n    t.a20 = 846;\n    t.a21 = 762;\n    t.a22 = 761;\n    t.a23 = 571;\n    t.a24 = 677;\n    t.a25 = 763;\n    t.a26 = 760;\n    t.a27 = 759;\n    t.a28 = 754;\n    t.a6 = 494;\n    t.a7 = 552;\n    t.a8 = 537;\n    t.a9 = 577;\n    t.a10 = 692;\n    t.a29 = 786;\n    t.a30 = 788;\n    t.a31 = 788;\n    t.a32 = 790;\n    t.a33 = 793;\n    t.a34 = 794;\n    t.a35 = 816;\n    t.a36 = 823;\n    t.a37 = 789;\n    t.a38 = 841;\n    t.a39 = 823;\n    t.a40 = 833;\n    t.a41 = 816;\n    t.a42 = 831;\n    t.a43 = 923;\n    t.a44 = 744;\n    t.a45 = 723;\n    t.a46 = 749;\n    t.a47 = 790;\n    t.a48 = 792;\n    t.a49 = 695;\n    t.a50 = 776;\n    t.a51 = 768;\n    t.a52 = 792;\n    t.a53 = 759;\n    t.a54 = 707;\n    t.a55 = 708;\n    t.a56 = 682;\n    t.a57 = 701;\n    t.a58 = 826;\n    t.a59 = 815;\n    t.a60 = 789;\n    t.a61 = 789;\n    t.a62 = 707;\n    t.a63 = 687;\n    t.a64 = 696;\n    t.a65 = 689;\n    t.a66 = 786;\n    t.a67 = 787;\n    t.a68 = 713;\n    t.a69 = 791;\n    t.a70 = 785;\n    t.a71 = 791;\n    t.a72 = 873;\n    t.a73 = 761;\n    t.a74 = 762;\n    t.a203 = 762;\n    t.a75 = 759;\n    t.a204 = 759;\n    t.a76 = 892;\n    t.a77 = 892;\n    t.a78 = 788;\n    t.a79 = 784;\n    t.a81 = 438;\n    t.a82 = 138;\n    t.a83 = 277;\n    t.a84 = 415;\n    t.a97 = 392;\n    t.a98 = 392;\n    t.a99 = 668;\n    t.a100 = 668;\n    t.a89 = 390;\n    t.a90 = 390;\n    t.a93 = 317;\n    t.a94 = 317;\n    t.a91 = 276;\n    t.a92 = 276;\n    t.a205 = 509;\n    t.a85 = 509;\n    t.a206 = 410;\n    t.a86 = 410;\n    t.a87 = 234;\n    t.a88 = 234;\n    t.a95 = 334;\n    t.a96 = 334;\n    t.a101 = 732;\n    t.a102 = 544;\n    t.a103 = 544;\n    t.a104 = 910;\n    t.a106 = 667;\n    t.a107 = 760;\n    t.a108 = 760;\n    t.a112 = 776;\n    t.a111 = 595;\n    t.a110 = 694;\n    t.a109 = 626;\n    t.a120 = 788;\n    t.a121 = 788;\n    t.a122 = 788;\n    t.a123 = 788;\n    t.a124 = 788;\n    t.a125 = 788;\n    t.a126 = 788;\n    t.a127 = 788;\n    t.a128 = 788;\n    t.a129 = 788;\n    t.a130 = 788;\n    t.a131 = 788;\n    t.a132 = 788;\n    t.a133 = 788;\n    t.a134 = 788;\n    t.a135 = 788;\n    t.a136 = 788;\n    t.a137 = 788;\n    t.a138 = 788;\n    t.a139 = 788;\n    t.a140 = 788;\n    t.a141 = 788;\n    t.a142 = 788;\n    t.a143 = 788;\n    t.a144 = 788;\n    t.a145 = 788;\n    t.a146 = 788;\n    t.a147 = 788;\n    t.a148 = 788;\n    t.a149 = 788;\n    t.a150 = 788;\n    t.a151 = 788;\n    t.a152 = 788;\n    t.a153 = 788;\n    t.a154 = 788;\n    t.a155 = 788;\n    t.a156 = 788;\n    t.a157 = 788;\n    t.a158 = 788;\n    t.a159 = 788;\n    t.a160 = 894;\n    t.a161 = 838;\n    t.a163 = 1016;\n    t.a164 = 458;\n    t.a196 = 748;\n    t.a165 = 924;\n    t.a192 = 748;\n    t.a166 = 918;\n    t.a167 = 927;\n    t.a168 = 928;\n    t.a169 = 928;\n    t.a170 = 834;\n    t.a171 = 873;\n    t.a172 = 828;\n    t.a173 = 924;\n    t.a162 = 924;\n    t.a174 = 917;\n    t.a175 = 930;\n    t.a176 = 931;\n    t.a177 = 463;\n    t.a178 = 883;\n    t.a179 = 836;\n    t.a193 = 836;\n    t.a180 = 867;\n    t.a199 = 867;\n    t.a181 = 696;\n    t.a200 = 696;\n    t.a182 = 874;\n    t.a201 = 874;\n    t.a183 = 760;\n    t.a184 = 946;\n    t.a197 = 771;\n    t.a185 = 865;\n    t.a194 = 771;\n    t.a198 = 888;\n    t.a186 = 967;\n    t.a195 = 888;\n    t.a187 = 831;\n    t.a188 = 873;\n    t.a189 = 927;\n    t.a190 = 970;\n    t.a191 = 918;\n  });\n});\nexports.getMetrics = getMetrics;\n\n/***/ }),\n/* 173 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.MurmurHash3_64 = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar SEED = 0xc3d2e1f0;\nvar MASK_HIGH = 0xffff0000;\nvar MASK_LOW = 0xffff;\n\nvar MurmurHash3_64 = /*#__PURE__*/function () {\n  function MurmurHash3_64(seed) {\n    _classCallCheck(this, MurmurHash3_64);\n\n    this.h1 = seed ? seed & 0xffffffff : SEED;\n    this.h2 = seed ? seed & 0xffffffff : SEED;\n  }\n\n  _createClass(MurmurHash3_64, [{\n    key: \"update\",\n    value: function update(input) {\n      var data, length;\n\n      if ((0, _util.isString)(input)) {\n        data = new Uint8Array(input.length * 2);\n        length = 0;\n\n        for (var i = 0, ii = input.length; i < ii; i++) {\n          var code = input.charCodeAt(i);\n\n          if (code <= 0xff) {\n            data[length++] = code;\n          } else {\n            data[length++] = code >>> 8;\n            data[length++] = code & 0xff;\n          }\n        }\n      } else if ((0, _util.isArrayBuffer)(input)) {\n        data = input.slice();\n        length = data.byteLength;\n      } else {\n        throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n      }\n\n      var blockCounts = length >> 2;\n      var tailLength = length - blockCounts * 4;\n      var dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n      var k1 = 0,\n          k2 = 0;\n      var h1 = this.h1,\n          h2 = this.h2;\n      var C1 = 0xcc9e2d51,\n          C2 = 0x1b873593;\n      var C1_LOW = C1 & MASK_LOW,\n          C2_LOW = C2 & MASK_LOW;\n\n      for (var _i = 0; _i < blockCounts; _i++) {\n        if (_i & 1) {\n          k1 = dataUint32[_i];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n          h1 ^= k1;\n          h1 = h1 << 13 | h1 >>> 19;\n          h1 = h1 * 5 + 0xe6546b64;\n        } else {\n          k2 = dataUint32[_i];\n          k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n          k2 = k2 << 15 | k2 >>> 17;\n          k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n          h2 ^= k2;\n          h2 = h2 << 13 | h2 >>> 19;\n          h2 = h2 * 5 + 0xe6546b64;\n        }\n      }\n\n      k1 = 0;\n\n      switch (tailLength) {\n        case 3:\n          k1 ^= data[blockCounts * 4 + 2] << 16;\n\n        case 2:\n          k1 ^= data[blockCounts * 4 + 1] << 8;\n\n        case 1:\n          k1 ^= data[blockCounts * 4];\n          k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n          k1 = k1 << 15 | k1 >>> 17;\n          k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n\n          if (blockCounts & 1) {\n            h1 ^= k1;\n          } else {\n            h2 ^= k1;\n          }\n\n      }\n\n      this.h1 = h1;\n      this.h2 = h2;\n    }\n  }, {\n    key: \"hexdigest\",\n    value: function hexdigest() {\n      var h1 = this.h1,\n          h2 = this.h2;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n      h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n      h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n      h1 ^= h2 >>> 1;\n      var hex1 = (h1 >>> 0).toString(16),\n          hex2 = (h2 >>> 0).toString(16);\n      return hex1.padStart(8, \"0\") + hex2.padStart(8, \"0\");\n    }\n  }]);\n\n  return MurmurHash3_64;\n}();\n\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 174 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.OperatorList = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nvar QueueOptimizer = function QueueOptimizerClosure() {\n  function addState(parentState, pattern, checkFn, iterateFn, processFn) {\n    var state = parentState;\n\n    for (var i = 0, ii = pattern.length - 1; i < ii; i++) {\n      var item = pattern[i];\n      state = state[item] || (state[item] = []);\n    }\n\n    state[pattern[pattern.length - 1]] = {\n      checkFn: checkFn,\n      iterateFn: iterateFn,\n      processFn: processFn\n    };\n  }\n\n  function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) {\n    var iFirstPIMXO = iFirstSave + 2;\n\n    for (var i = 0; i < count; i++) {\n      var arg = argsArray[iFirstPIMXO + 4 * i];\n      var imageMask = arg.length === 1 && arg[0];\n\n      if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) {\n        fnArray[iFirstPIMXO + 4 * i] = _util.OPS.paintSolidColorImageMask;\n        continue;\n      }\n\n      break;\n    }\n\n    return count - i;\n  }\n\n  var InitialState = [];\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintInlineImageXObject, _util.OPS.restore], null, function iterateInlineImageGroup(context, i) {\n    var fnArray = context.fnArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        return fnArray[i] === _util.OPS.transform;\n\n      case 2:\n        return fnArray[i] === _util.OPS.paintInlineImageXObject;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateInlineImageGroup - invalid pos: \".concat(pos));\n  }, function foundInlineImageGroup(context, i) {\n    var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10;\n    var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200;\n    var MAX_WIDTH = 1000;\n    var IMAGE_PADDING = 1;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIIXO = curr - 1;\n    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_INLINE_IMAGES_BLOCK);\n\n    if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var maxX = 0;\n    var map = [],\n        maxLineHeight = 0;\n    var currentX = IMAGE_PADDING,\n        currentY = IMAGE_PADDING;\n    var q;\n\n    for (q = 0; q < count; q++) {\n      var transform = argsArray[iFirstTransform + (q << 2)];\n      var img = argsArray[iFirstPIIXO + (q << 2)][0];\n\n      if (currentX + img.width > MAX_WIDTH) {\n        maxX = Math.max(maxX, currentX);\n        currentY += maxLineHeight + 2 * IMAGE_PADDING;\n        currentX = 0;\n        maxLineHeight = 0;\n      }\n\n      map.push({\n        transform: transform,\n        x: currentX,\n        y: currentY,\n        w: img.width,\n        h: img.height\n      });\n      currentX += img.width + 2 * IMAGE_PADDING;\n      maxLineHeight = Math.max(maxLineHeight, img.height);\n    }\n\n    var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING;\n    var imgHeight = currentY + maxLineHeight + IMAGE_PADDING;\n    var imgData = new Uint8ClampedArray(imgWidth * imgHeight * 4);\n    var imgRowSize = imgWidth << 2;\n\n    for (q = 0; q < count; q++) {\n      var data = argsArray[iFirstPIIXO + (q << 2)][0].data;\n      var rowSize = map[q].w << 2;\n      var dataOffset = 0;\n      var offset = map[q].x + map[q].y * imgWidth << 2;\n      imgData.set(data.subarray(0, rowSize), offset - imgRowSize);\n\n      for (var k = 0, kk = map[q].h; k < kk; k++) {\n        imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset);\n        dataOffset += rowSize;\n        offset += imgRowSize;\n      }\n\n      imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset);\n\n      while (offset >= 0) {\n        data[offset - 4] = data[offset];\n        data[offset - 3] = data[offset + 1];\n        data[offset - 2] = data[offset + 2];\n        data[offset - 1] = data[offset + 3];\n        data[offset + rowSize] = data[offset + rowSize - 4];\n        data[offset + rowSize + 1] = data[offset + rowSize - 3];\n        data[offset + rowSize + 2] = data[offset + rowSize - 2];\n        data[offset + rowSize + 3] = data[offset + rowSize - 1];\n        offset -= imgRowSize;\n      }\n    }\n\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintInlineImageXObjectGroup);\n    argsArray.splice(iFirstSave, count * 4, [{\n      width: imgWidth,\n      height: imgHeight,\n      kind: _util.ImageKind.RGBA_32BPP,\n      data: imgData\n    }, map]);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageMaskXObject, _util.OPS.restore], null, function iterateImageMaskGroup(context, i) {\n    var fnArray = context.fnArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        return fnArray[i] === _util.OPS.transform;\n\n      case 2:\n        return fnArray[i] === _util.OPS.paintImageMaskXObject;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateImageMaskGroup - invalid pos: \".concat(pos));\n  }, function foundImageMaskGroup(context, i) {\n    var MIN_IMAGES_IN_MASKS_BLOCK = 10;\n    var MAX_IMAGES_IN_MASKS_BLOCK = 100;\n    var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIMXO = curr - 1;\n    var count = Math.floor((i - iFirstSave) / 4);\n    count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray);\n\n    if (count < MIN_IMAGES_IN_MASKS_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var q;\n    var isSameImage = false;\n    var iTransform, transformArgs;\n    var firstPIMXOArg0 = argsArray[iFirstPIMXO][0];\n    var firstTransformArg0 = argsArray[iFirstTransform][0],\n        firstTransformArg1 = argsArray[iFirstTransform][1],\n        firstTransformArg2 = argsArray[iFirstTransform][2],\n        firstTransformArg3 = argsArray[iFirstTransform][3];\n\n    if (firstTransformArg1 === firstTransformArg2) {\n      isSameImage = true;\n      iTransform = iFirstTransform + 4;\n      var iPIMXO = iFirstPIMXO + 4;\n\n      for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) {\n        transformArgs = argsArray[iTransform];\n\n        if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== firstTransformArg1 || transformArgs[2] !== firstTransformArg2 || transformArgs[3] !== firstTransformArg3) {\n          if (q < MIN_IMAGES_IN_MASKS_BLOCK) {\n            isSameImage = false;\n          } else {\n            count = q;\n          }\n\n          break;\n        }\n      }\n    }\n\n    if (isSameImage) {\n      count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK);\n      var positions = new Float32Array(count * 2);\n      iTransform = iFirstTransform;\n\n      for (q = 0; q < count; q++, iTransform += 4) {\n        transformArgs = argsArray[iTransform];\n        positions[q << 1] = transformArgs[4];\n        positions[(q << 1) + 1] = transformArgs[5];\n      }\n\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectRepeat);\n      argsArray.splice(iFirstSave, count * 4, [firstPIMXOArg0, firstTransformArg0, firstTransformArg1, firstTransformArg2, firstTransformArg3, positions]);\n    } else {\n      count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK);\n      var images = [];\n\n      for (q = 0; q < count; q++) {\n        transformArgs = argsArray[iFirstTransform + (q << 2)];\n        var maskParams = argsArray[iFirstPIMXO + (q << 2)][0];\n        images.push({\n          data: maskParams.data,\n          width: maskParams.width,\n          height: maskParams.height,\n          transform: transformArgs\n        });\n      }\n\n      fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageMaskXObjectGroup);\n      argsArray.splice(iFirstSave, count * 4, [images]);\n    }\n\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.save, _util.OPS.transform, _util.OPS.paintImageXObject, _util.OPS.restore], function (context) {\n    var argsArray = context.argsArray;\n    var iFirstTransform = context.iCurr - 2;\n    return argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0;\n  }, function iterateImageGroup(context, i) {\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var iFirstSave = context.iCurr - 3;\n    var pos = (i - iFirstSave) % 4;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.save;\n\n      case 1:\n        if (fnArray[i] !== _util.OPS.transform) {\n          return false;\n        }\n\n        var iFirstTransform = context.iCurr - 2;\n        var firstTransformArg0 = argsArray[iFirstTransform][0];\n        var firstTransformArg3 = argsArray[iFirstTransform][3];\n\n        if (argsArray[i][0] !== firstTransformArg0 || argsArray[i][1] !== 0 || argsArray[i][2] !== 0 || argsArray[i][3] !== firstTransformArg3) {\n          return false;\n        }\n\n        return true;\n\n      case 2:\n        if (fnArray[i] !== _util.OPS.paintImageXObject) {\n          return false;\n        }\n\n        var iFirstPIXO = context.iCurr - 1;\n        var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n\n        if (argsArray[i][0] !== firstPIXOArg0) {\n          return false;\n        }\n\n        return true;\n\n      case 3:\n        return fnArray[i] === _util.OPS.restore;\n    }\n\n    throw new Error(\"iterateImageGroup - invalid pos: \".concat(pos));\n  }, function (context, i) {\n    var MIN_IMAGES_IN_BLOCK = 3;\n    var MAX_IMAGES_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstSave = curr - 3;\n    var iFirstTransform = curr - 2;\n    var iFirstPIXO = curr - 1;\n    var firstPIXOArg0 = argsArray[iFirstPIXO][0];\n    var firstTransformArg0 = argsArray[iFirstTransform][0];\n    var firstTransformArg3 = argsArray[iFirstTransform][3];\n    var count = Math.min(Math.floor((i - iFirstSave) / 4), MAX_IMAGES_IN_BLOCK);\n\n    if (count < MIN_IMAGES_IN_BLOCK) {\n      return i - (i - iFirstSave) % 4;\n    }\n\n    var positions = new Float32Array(count * 2);\n    var iTransform = iFirstTransform;\n\n    for (var q = 0; q < count; q++, iTransform += 4) {\n      var transformArgs = argsArray[iTransform];\n      positions[q << 1] = transformArgs[4];\n      positions[(q << 1) + 1] = transformArgs[5];\n    }\n\n    var args = [firstPIXOArg0, firstTransformArg0, firstTransformArg3, positions];\n    fnArray.splice(iFirstSave, count * 4, _util.OPS.paintImageXObjectRepeat);\n    argsArray.splice(iFirstSave, count * 4, args);\n    return iFirstSave + 1;\n  });\n  addState(InitialState, [_util.OPS.beginText, _util.OPS.setFont, _util.OPS.setTextMatrix, _util.OPS.showText, _util.OPS.endText], null, function iterateShowTextGroup(context, i) {\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var iFirstSave = context.iCurr - 4;\n    var pos = (i - iFirstSave) % 5;\n\n    switch (pos) {\n      case 0:\n        return fnArray[i] === _util.OPS.beginText;\n\n      case 1:\n        return fnArray[i] === _util.OPS.setFont;\n\n      case 2:\n        return fnArray[i] === _util.OPS.setTextMatrix;\n\n      case 3:\n        if (fnArray[i] !== _util.OPS.showText) {\n          return false;\n        }\n\n        var iFirstSetFont = context.iCurr - 3;\n        var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n        var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n\n        if (argsArray[i][0] !== firstSetFontArg0 || argsArray[i][1] !== firstSetFontArg1) {\n          return false;\n        }\n\n        return true;\n\n      case 4:\n        return fnArray[i] === _util.OPS.endText;\n    }\n\n    throw new Error(\"iterateShowTextGroup - invalid pos: \".concat(pos));\n  }, function (context, i) {\n    var MIN_CHARS_IN_BLOCK = 3;\n    var MAX_CHARS_IN_BLOCK = 1000;\n    var fnArray = context.fnArray,\n        argsArray = context.argsArray;\n    var curr = context.iCurr;\n    var iFirstBeginText = curr - 4;\n    var iFirstSetFont = curr - 3;\n    var iFirstSetTextMatrix = curr - 2;\n    var iFirstShowText = curr - 1;\n    var iFirstEndText = curr;\n    var firstSetFontArg0 = argsArray[iFirstSetFont][0];\n    var firstSetFontArg1 = argsArray[iFirstSetFont][1];\n    var count = Math.min(Math.floor((i - iFirstBeginText) / 5), MAX_CHARS_IN_BLOCK);\n\n    if (count < MIN_CHARS_IN_BLOCK) {\n      return i - (i - iFirstBeginText) % 5;\n    }\n\n    var iFirst = iFirstBeginText;\n\n    if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) {\n      count++;\n      iFirst -= 5;\n    }\n\n    var iEndText = iFirst + 4;\n\n    for (var q = 1; q < count; q++) {\n      fnArray.splice(iEndText, 3);\n      argsArray.splice(iEndText, 3);\n      iEndText += 2;\n    }\n\n    return iEndText + 1;\n  });\n\n  function QueueOptimizer(queue) {\n    this.queue = queue;\n    this.state = null;\n    this.context = {\n      iCurr: 0,\n      fnArray: queue.fnArray,\n      argsArray: queue.argsArray\n    };\n    this.match = null;\n    this.lastProcessed = 0;\n  }\n\n  QueueOptimizer.prototype = {\n    _optimize: function _optimize() {\n      var fnArray = this.queue.fnArray;\n      var i = this.lastProcessed,\n          ii = fnArray.length;\n      var state = this.state;\n      var match = this.match;\n\n      if (!state && !match && i + 1 === ii && !InitialState[fnArray[i]]) {\n        this.lastProcessed = ii;\n        return;\n      }\n\n      var context = this.context;\n\n      while (i < ii) {\n        if (match) {\n          var iterate = (0, match.iterateFn)(context, i);\n\n          if (iterate) {\n            i++;\n            continue;\n          }\n\n          i = (0, match.processFn)(context, i + 1);\n          ii = fnArray.length;\n          match = null;\n          state = null;\n\n          if (i >= ii) {\n            break;\n          }\n        }\n\n        state = (state || InitialState)[fnArray[i]];\n\n        if (!state || Array.isArray(state)) {\n          i++;\n          continue;\n        }\n\n        context.iCurr = i;\n        i++;\n\n        if (state.checkFn && !(0, state.checkFn)(context)) {\n          state = null;\n          continue;\n        }\n\n        match = state;\n        state = null;\n      }\n\n      this.state = state;\n      this.match = match;\n      this.lastProcessed = i;\n    },\n    push: function push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n\n      this._optimize();\n    },\n    flush: function flush() {\n      while (this.match) {\n        var length = this.queue.fnArray.length;\n        this.lastProcessed = (0, this.match.processFn)(this.context, length);\n        this.match = null;\n        this.state = null;\n\n        this._optimize();\n      }\n    },\n    reset: function reset() {\n      this.state = null;\n      this.match = null;\n      this.lastProcessed = 0;\n    }\n  };\n  return QueueOptimizer;\n}();\n\nvar NullOptimizer = function NullOptimizerClosure() {\n  function NullOptimizer(queue) {\n    this.queue = queue;\n  }\n\n  NullOptimizer.prototype = {\n    push: function push(fn, args) {\n      this.queue.fnArray.push(fn);\n      this.queue.argsArray.push(args);\n    },\n    flush: function flush() {},\n    reset: function reset() {}\n  };\n  return NullOptimizer;\n}();\n\nvar OperatorList = function OperatorListClosure() {\n  var CHUNK_SIZE = 1000;\n  var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5;\n\n  function OperatorList(intent, streamSink) {\n    this._streamSink = streamSink;\n    this.fnArray = [];\n    this.argsArray = [];\n\n    if (streamSink && intent !== \"oplist\") {\n      this.optimizer = new QueueOptimizer(this);\n    } else {\n      this.optimizer = new NullOptimizer(this);\n    }\n\n    this.dependencies = new Set();\n    this._totalLength = 0;\n    this.weight = 0;\n    this._resolved = streamSink ? null : Promise.resolve();\n  }\n\n  OperatorList.prototype = {\n    get length() {\n      return this.argsArray.length;\n    },\n\n    get ready() {\n      return this._resolved || this._streamSink.ready;\n    },\n\n    get totalLength() {\n      return this._totalLength + this.length;\n    },\n\n    addOp: function addOp(fn, args) {\n      this.optimizer.push(fn, args);\n      this.weight++;\n\n      if (this._streamSink) {\n        if (this.weight >= CHUNK_SIZE) {\n          this.flush();\n        } else if (this.weight >= CHUNK_SIZE_ABOUT && (fn === _util.OPS.restore || fn === _util.OPS.endText)) {\n          this.flush();\n        }\n      }\n    },\n    addDependency: function addDependency(dependency) {\n      if (this.dependencies.has(dependency)) {\n        return;\n      }\n\n      this.dependencies.add(dependency);\n      this.addOp(_util.OPS.dependency, [dependency]);\n    },\n    addDependencies: function addDependencies(dependencies) {\n      var _iterator = _createForOfIteratorHelper(dependencies),\n          _step;\n\n      try {\n        for (_iterator.s(); !(_step = _iterator.n()).done;) {\n          var dependency = _step.value;\n          this.addDependency(dependency);\n        }\n      } catch (err) {\n        _iterator.e(err);\n      } finally {\n        _iterator.f();\n      }\n    },\n    addOpList: function addOpList(opList) {\n      if (!(opList instanceof OperatorList)) {\n        (0, _util.warn)('addOpList - ignoring invalid \"opList\" parameter.');\n        return;\n      }\n\n      var _iterator2 = _createForOfIteratorHelper(opList.dependencies),\n          _step2;\n\n      try {\n        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n          var dependency = _step2.value;\n          this.dependencies.add(dependency);\n        }\n      } catch (err) {\n        _iterator2.e(err);\n      } finally {\n        _iterator2.f();\n      }\n\n      for (var i = 0, ii = opList.length; i < ii; i++) {\n        this.addOp(opList.fnArray[i], opList.argsArray[i]);\n      }\n    },\n    getIR: function getIR() {\n      return {\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        length: this.length\n      };\n    },\n\n    get _transfers() {\n      var transfers = [];\n      var fnArray = this.fnArray,\n          argsArray = this.argsArray,\n          length = this.length;\n\n      for (var i = 0; i < length; i++) {\n        switch (fnArray[i]) {\n          case _util.OPS.paintInlineImageXObject:\n          case _util.OPS.paintInlineImageXObjectGroup:\n          case _util.OPS.paintImageMaskXObject:\n            var arg = argsArray[i][0];\n            ;\n\n            if (!arg.cached) {\n              transfers.push(arg.data.buffer);\n            }\n\n            break;\n        }\n      }\n\n      return transfers;\n    },\n\n    flush: function flush() {\n      var lastChunk = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      this.optimizer.flush();\n      var length = this.length;\n      this._totalLength += length;\n\n      this._streamSink.enqueue({\n        fnArray: this.fnArray,\n        argsArray: this.argsArray,\n        lastChunk: lastChunk,\n        length: length\n      }, 1, this._transfers);\n\n      this.dependencies.clear();\n      this.fnArray.length = 0;\n      this.argsArray.length = 0;\n      this.weight = 0;\n      this.optimizer.reset();\n    }\n  };\n  return OperatorList;\n}();\n\nexports.OperatorList = OperatorList;\n\n/***/ }),\n/* 175 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PDFImage = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _colorspace = __w_pdfjs_require__(153);\n\nvar _stream = __w_pdfjs_require__(142);\n\nvar _jpeg_stream = __w_pdfjs_require__(148);\n\nvar _jpx = __w_pdfjs_require__(151);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction decodeAndClamp(value, addend, coefficient, max) {\n  value = addend + value * coefficient;\n\n  if (value < 0) {\n    value = 0;\n  } else if (value > max) {\n    value = max;\n  }\n\n  return value;\n}\n\nfunction resizeImageMask(src, bpc, w1, h1, w2, h2) {\n  var length = w2 * h2;\n  var dest;\n\n  if (bpc <= 8) {\n    dest = new Uint8Array(length);\n  } else if (bpc <= 16) {\n    dest = new Uint16Array(length);\n  } else {\n    dest = new Uint32Array(length);\n  }\n\n  var xRatio = w1 / w2;\n  var yRatio = h1 / h2;\n  var i,\n      j,\n      py,\n      newIndex = 0,\n      oldIndex;\n  var xScaled = new Uint16Array(w2);\n  var w1Scanline = w1;\n\n  for (i = 0; i < w2; i++) {\n    xScaled[i] = Math.floor(i * xRatio);\n  }\n\n  for (i = 0; i < h2; i++) {\n    py = Math.floor(i * yRatio) * w1Scanline;\n\n    for (j = 0; j < w2; j++) {\n      oldIndex = py + xScaled[j];\n      dest[newIndex++] = src[oldIndex];\n    }\n  }\n\n  return dest;\n}\n\nvar PDFImage = /*#__PURE__*/function () {\n  function PDFImage(_ref) {\n    var xref = _ref.xref,\n        res = _ref.res,\n        image = _ref.image,\n        _ref$isInline = _ref.isInline,\n        isInline = _ref$isInline === void 0 ? false : _ref$isInline,\n        _ref$smask = _ref.smask,\n        smask = _ref$smask === void 0 ? null : _ref$smask,\n        _ref$mask = _ref.mask,\n        mask = _ref$mask === void 0 ? null : _ref$mask,\n        _ref$isMask = _ref.isMask,\n        isMask = _ref$isMask === void 0 ? false : _ref$isMask,\n        pdfFunctionFactory = _ref.pdfFunctionFactory,\n        localColorSpaceCache = _ref.localColorSpaceCache;\n\n    _classCallCheck(this, PDFImage);\n\n    this.image = image;\n    var dict = image.dict;\n    var filter = dict.get(\"Filter\");\n\n    if ((0, _primitives.isName)(filter)) {\n      switch (filter.name) {\n        case \"JPXDecode\":\n          var jpxImage = new _jpx.JpxImage();\n          jpxImage.parseImageProperties(image.stream);\n          image.stream.reset();\n          image.width = jpxImage.width;\n          image.height = jpxImage.height;\n          image.bitsPerComponent = jpxImage.bitsPerComponent;\n          image.numComps = jpxImage.componentsCount;\n          break;\n\n        case \"JBIG2Decode\":\n          image.bitsPerComponent = 1;\n          image.numComps = 1;\n          break;\n      }\n    }\n\n    var width = dict.get(\"Width\", \"W\");\n    var height = dict.get(\"Height\", \"H\");\n\n    if (Number.isInteger(image.width) && image.width > 0 && Number.isInteger(image.height) && image.height > 0 && (image.width !== width || image.height !== height)) {\n      (0, _util.warn)(\"PDFImage - using the Width/Height of the image data, \" + \"rather than the image dictionary.\");\n      width = image.width;\n      height = image.height;\n    }\n\n    if (width < 1 || height < 1) {\n      throw new _util.FormatError(\"Invalid image width: \".concat(width, \" or height: \").concat(height));\n    }\n\n    this.width = width;\n    this.height = height;\n    this.interpolate = dict.get(\"Interpolate\", \"I\") || false;\n    this.imageMask = dict.get(\"ImageMask\", \"IM\") || false;\n    this.matte = dict.get(\"Matte\") || false;\n    var bitsPerComponent = image.bitsPerComponent;\n\n    if (!bitsPerComponent) {\n      bitsPerComponent = dict.get(\"BitsPerComponent\", \"BPC\");\n\n      if (!bitsPerComponent) {\n        if (this.imageMask) {\n          bitsPerComponent = 1;\n        } else {\n          throw new _util.FormatError(\"Bits per component missing in image: \".concat(this.imageMask));\n        }\n      }\n    }\n\n    this.bpc = bitsPerComponent;\n\n    if (!this.imageMask) {\n      var colorSpace = dict.getRaw(\"ColorSpace\") || dict.getRaw(\"CS\");\n\n      if (!colorSpace) {\n        (0, _util.info)(\"JPX images (which do not require color spaces)\");\n\n        switch (image.numComps) {\n          case 1:\n            colorSpace = _primitives.Name.get(\"DeviceGray\");\n            break;\n\n          case 3:\n            colorSpace = _primitives.Name.get(\"DeviceRGB\");\n            break;\n\n          case 4:\n            colorSpace = _primitives.Name.get(\"DeviceCMYK\");\n            break;\n\n          default:\n            throw new Error(\"JPX images with \".concat(image.numComps, \" \") + \"color components not supported.\");\n        }\n      }\n\n      this.colorSpace = _colorspace.ColorSpace.parse({\n        cs: colorSpace,\n        xref: xref,\n        resources: isInline ? res : null,\n        pdfFunctionFactory: pdfFunctionFactory,\n        localColorSpaceCache: localColorSpaceCache\n      });\n      this.numComps = this.colorSpace.numComps;\n    }\n\n    this.decode = dict.getArray(\"Decode\", \"D\");\n    this.needsDecode = false;\n\n    if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode, bitsPerComponent) || isMask && !_colorspace.ColorSpace.isDefaultDecode(this.decode, 1))) {\n      this.needsDecode = true;\n      var max = (1 << bitsPerComponent) - 1;\n      this.decodeCoefficients = [];\n      this.decodeAddends = [];\n      var isIndexed = this.colorSpace && this.colorSpace.name === \"Indexed\";\n\n      for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) {\n        var dmin = this.decode[i];\n        var dmax = this.decode[i + 1];\n        this.decodeCoefficients[j] = isIndexed ? (dmax - dmin) / max : dmax - dmin;\n        this.decodeAddends[j] = isIndexed ? dmin : max * dmin;\n      }\n    }\n\n    if (smask) {\n      this.smask = new PDFImage({\n        xref: xref,\n        res: res,\n        image: smask,\n        isInline: isInline,\n        pdfFunctionFactory: pdfFunctionFactory,\n        localColorSpaceCache: localColorSpaceCache\n      });\n    } else if (mask) {\n      if ((0, _primitives.isStream)(mask)) {\n        var maskDict = mask.dict,\n            imageMask = maskDict.get(\"ImageMask\", \"IM\");\n\n        if (!imageMask) {\n          (0, _util.warn)(\"Ignoring /Mask in image without /ImageMask.\");\n        } else {\n          this.mask = new PDFImage({\n            xref: xref,\n            res: res,\n            image: mask,\n            isInline: isInline,\n            isMask: true,\n            pdfFunctionFactory: pdfFunctionFactory,\n            localColorSpaceCache: localColorSpaceCache\n          });\n        }\n      } else {\n        this.mask = mask;\n      }\n    }\n  }\n\n  _createClass(PDFImage, [{\n    key: \"decodeBuffer\",\n    value: function decodeBuffer(buffer) {\n      var bpc = this.bpc;\n      var numComps = this.numComps;\n      var decodeAddends = this.decodeAddends;\n      var decodeCoefficients = this.decodeCoefficients;\n      var max = (1 << bpc) - 1;\n      var i, ii;\n\n      if (bpc === 1) {\n        for (i = 0, ii = buffer.length; i < ii; i++) {\n          buffer[i] = +!buffer[i];\n        }\n\n        return;\n      }\n\n      var index = 0;\n\n      for (i = 0, ii = this.width * this.height; i < ii; i++) {\n        for (var j = 0; j < numComps; j++) {\n          buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max);\n          index++;\n        }\n      }\n    }\n  }, {\n    key: \"getComponents\",\n    value: function getComponents(buffer) {\n      var bpc = this.bpc;\n\n      if (bpc === 8) {\n        return buffer;\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var numComps = this.numComps;\n      var length = width * height * numComps;\n      var bufferPos = 0;\n      var output;\n\n      if (bpc <= 8) {\n        output = new Uint8Array(length);\n      } else if (bpc <= 16) {\n        output = new Uint16Array(length);\n      } else {\n        output = new Uint32Array(length);\n      }\n\n      var rowComps = width * numComps;\n      var max = (1 << bpc) - 1;\n      var i = 0,\n          ii,\n          buf;\n\n      if (bpc === 1) {\n        var mask, loop1End, loop2End;\n\n        for (var j = 0; j < height; j++) {\n          loop1End = i + (rowComps & ~7);\n          loop2End = i + rowComps;\n\n          while (i < loop1End) {\n            buf = buffer[bufferPos++];\n            output[i] = buf >> 7 & 1;\n            output[i + 1] = buf >> 6 & 1;\n            output[i + 2] = buf >> 5 & 1;\n            output[i + 3] = buf >> 4 & 1;\n            output[i + 4] = buf >> 3 & 1;\n            output[i + 5] = buf >> 2 & 1;\n            output[i + 6] = buf >> 1 & 1;\n            output[i + 7] = buf & 1;\n            i += 8;\n          }\n\n          if (i < loop2End) {\n            buf = buffer[bufferPos++];\n            mask = 128;\n\n            while (i < loop2End) {\n              output[i++] = +!!(buf & mask);\n              mask >>= 1;\n            }\n          }\n        }\n      } else {\n        var bits = 0;\n        buf = 0;\n\n        for (i = 0, ii = length; i < ii; ++i) {\n          if (i % rowComps === 0) {\n            buf = 0;\n            bits = 0;\n          }\n\n          while (bits < bpc) {\n            buf = buf << 8 | buffer[bufferPos++];\n            bits += 8;\n          }\n\n          var remainingBits = bits - bpc;\n          var value = buf >> remainingBits;\n\n          if (value < 0) {\n            value = 0;\n          } else if (value > max) {\n            value = max;\n          }\n\n          output[i] = value;\n          buf = buf & (1 << remainingBits) - 1;\n          bits = remainingBits;\n        }\n      }\n\n      return output;\n    }\n  }, {\n    key: \"fillOpacity\",\n    value: function fillOpacity(rgbaBuf, width, height, actualHeight, image) {\n      var smask = this.smask;\n      var mask = this.mask;\n      var alphaBuf, sw, sh, i, ii, j;\n\n      if (smask) {\n        sw = smask.width;\n        sh = smask.height;\n        alphaBuf = new Uint8ClampedArray(sw * sh);\n        smask.fillGrayBuffer(alphaBuf);\n\n        if (sw !== width || sh !== height) {\n          alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height);\n        }\n      } else if (mask) {\n        if (mask instanceof PDFImage) {\n          sw = mask.width;\n          sh = mask.height;\n          alphaBuf = new Uint8ClampedArray(sw * sh);\n          mask.numComps = 1;\n          mask.fillGrayBuffer(alphaBuf);\n\n          for (i = 0, ii = sw * sh; i < ii; ++i) {\n            alphaBuf[i] = 255 - alphaBuf[i];\n          }\n\n          if (sw !== width || sh !== height) {\n            alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height);\n          }\n        } else if (Array.isArray(mask)) {\n          alphaBuf = new Uint8ClampedArray(width * height);\n          var numComps = this.numComps;\n\n          for (i = 0, ii = width * height; i < ii; ++i) {\n            var opacity = 0;\n            var imageOffset = i * numComps;\n\n            for (j = 0; j < numComps; ++j) {\n              var color = image[imageOffset + j];\n              var maskOffset = j * 2;\n\n              if (color < mask[maskOffset] || color > mask[maskOffset + 1]) {\n                opacity = 255;\n                break;\n              }\n            }\n\n            alphaBuf[i] = opacity;\n          }\n        } else {\n          throw new _util.FormatError(\"Unknown mask format.\");\n        }\n      }\n\n      if (alphaBuf) {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = alphaBuf[i];\n        }\n      } else {\n        for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) {\n          rgbaBuf[j] = 255;\n        }\n      }\n    }\n  }, {\n    key: \"undoPreblend\",\n    value: function undoPreblend(buffer, width, height) {\n      var matte = this.smask && this.smask.matte;\n\n      if (!matte) {\n        return;\n      }\n\n      var matteRgb = this.colorSpace.getRgb(matte, 0);\n      var matteR = matteRgb[0];\n      var matteG = matteRgb[1];\n      var matteB = matteRgb[2];\n      var length = width * height * 4;\n\n      for (var i = 0; i < length; i += 4) {\n        var alpha = buffer[i + 3];\n\n        if (alpha === 0) {\n          buffer[i] = 255;\n          buffer[i + 1] = 255;\n          buffer[i + 2] = 255;\n          continue;\n        }\n\n        var k = 255 / alpha;\n        buffer[i] = (buffer[i] - matteR) * k + matteR;\n        buffer[i + 1] = (buffer[i + 1] - matteG) * k + matteG;\n        buffer[i + 2] = (buffer[i + 2] - matteB) * k + matteB;\n      }\n    }\n  }, {\n    key: \"createImageData\",\n    value: function createImageData() {\n      var forceRGBA = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n      var drawWidth = this.drawWidth;\n      var drawHeight = this.drawHeight;\n      var imgData = {\n        width: drawWidth,\n        height: drawHeight,\n        kind: 0,\n        data: null\n      };\n      var numComps = this.numComps;\n      var originalWidth = this.width;\n      var originalHeight = this.height;\n      var bpc = this.bpc;\n      var rowBytes = originalWidth * numComps * bpc + 7 >> 3;\n      var imgArray;\n\n      if (!forceRGBA) {\n        var kind;\n\n        if (this.colorSpace.name === \"DeviceGray\" && bpc === 1) {\n          kind = _util.ImageKind.GRAYSCALE_1BPP;\n        } else if (this.colorSpace.name === \"DeviceRGB\" && bpc === 8 && !this.needsDecode) {\n          kind = _util.ImageKind.RGB_24BPP;\n        }\n\n        if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) {\n          imgData.kind = kind;\n          imgArray = this.getImageBytes(originalHeight * rowBytes);\n\n          if (this.image instanceof _stream.DecodeStream) {\n            imgData.data = imgArray;\n          } else {\n            var newArray = new Uint8ClampedArray(imgArray.length);\n            newArray.set(imgArray);\n            imgData.data = newArray;\n          }\n\n          if (this.needsDecode) {\n            (0, _util.assert)(kind === _util.ImageKind.GRAYSCALE_1BPP, \"PDFImage.createImageData: The image must be grayscale.\");\n            var buffer = imgData.data;\n\n            for (var i = 0, ii = buffer.length; i < ii; i++) {\n              buffer[i] ^= 0xff;\n            }\n          }\n\n          return imgData;\n        }\n\n        if (this.image instanceof _jpeg_stream.JpegStream && !this.smask && !this.mask) {\n          var imageLength = originalHeight * rowBytes;\n\n          switch (this.colorSpace.name) {\n            case \"DeviceGray\":\n              imageLength *= 3;\n\n            case \"DeviceRGB\":\n            case \"DeviceCMYK\":\n              imgData.kind = _util.ImageKind.RGB_24BPP;\n              imgData.data = this.getImageBytes(imageLength, drawWidth, drawHeight, true);\n              return imgData;\n          }\n        }\n      }\n\n      imgArray = this.getImageBytes(originalHeight * rowBytes);\n      var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight;\n      var comps = this.getComponents(imgArray);\n      var alpha01, maybeUndoPreblend;\n\n      if (!forceRGBA && !this.smask && !this.mask) {\n        imgData.kind = _util.ImageKind.RGB_24BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 3);\n        alpha01 = 0;\n        maybeUndoPreblend = false;\n      } else {\n        imgData.kind = _util.ImageKind.RGBA_32BPP;\n        imgData.data = new Uint8ClampedArray(drawWidth * drawHeight * 4);\n        alpha01 = 1;\n        maybeUndoPreblend = true;\n        this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps);\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n\n      this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01);\n\n      if (maybeUndoPreblend) {\n        this.undoPreblend(imgData.data, drawWidth, actualHeight);\n      }\n\n      return imgData;\n    }\n  }, {\n    key: \"fillGrayBuffer\",\n    value: function fillGrayBuffer(buffer) {\n      var numComps = this.numComps;\n\n      if (numComps !== 1) {\n        throw new _util.FormatError(\"Reading gray scale from a color image: \".concat(numComps));\n      }\n\n      var width = this.width;\n      var height = this.height;\n      var bpc = this.bpc;\n      var rowBytes = width * numComps * bpc + 7 >> 3;\n      var imgArray = this.getImageBytes(height * rowBytes);\n      var comps = this.getComponents(imgArray);\n      var i, length;\n\n      if (bpc === 1) {\n        length = width * height;\n\n        if (this.needsDecode) {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = comps[i] - 1 & 255;\n          }\n        } else {\n          for (i = 0; i < length; ++i) {\n            buffer[i] = -comps[i] & 255;\n          }\n        }\n\n        return;\n      }\n\n      if (this.needsDecode) {\n        this.decodeBuffer(comps);\n      }\n\n      length = width * height;\n      var scale = 255 / ((1 << bpc) - 1);\n\n      for (i = 0; i < length; ++i) {\n        buffer[i] = scale * comps[i];\n      }\n    }\n  }, {\n    key: \"getImageBytes\",\n    value: function getImageBytes(length, drawWidth, drawHeight) {\n      var forceRGB = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n      this.image.reset();\n      this.image.drawWidth = drawWidth || this.width;\n      this.image.drawHeight = drawHeight || this.height;\n      this.image.forceRGB = !!forceRGB;\n      return this.image.getBytes(length, true);\n    }\n  }, {\n    key: \"drawWidth\",\n    get: function get() {\n      return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0);\n    }\n  }, {\n    key: \"drawHeight\",\n    get: function get() {\n      return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0);\n    }\n  }], [{\n    key: \"buildImage\",\n    value: function () {\n      var _buildImage = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(_ref2) {\n        var xref, res, image, _ref2$isInline, isInline, pdfFunctionFactory, localColorSpaceCache, imageData, smaskData, maskData, smask, mask;\n\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                xref = _ref2.xref, res = _ref2.res, image = _ref2.image, _ref2$isInline = _ref2.isInline, isInline = _ref2$isInline === void 0 ? false : _ref2$isInline, pdfFunctionFactory = _ref2.pdfFunctionFactory, localColorSpaceCache = _ref2.localColorSpaceCache;\n                imageData = image;\n                smaskData = null;\n                maskData = null;\n                smask = image.dict.get(\"SMask\");\n                mask = image.dict.get(\"Mask\");\n\n                if (smask) {\n                  smaskData = smask;\n                } else if (mask) {\n                  if ((0, _primitives.isStream)(mask) || Array.isArray(mask)) {\n                    maskData = mask;\n                  } else {\n                    (0, _util.warn)(\"Unsupported mask format.\");\n                  }\n                }\n\n                return _context.abrupt(\"return\", new PDFImage({\n                  xref: xref,\n                  res: res,\n                  image: imageData,\n                  isInline: isInline,\n                  smask: smaskData,\n                  mask: maskData,\n                  pdfFunctionFactory: pdfFunctionFactory,\n                  localColorSpaceCache: localColorSpaceCache\n                }));\n\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee);\n      }));\n\n      function buildImage(_x) {\n        return _buildImage.apply(this, arguments);\n      }\n\n      return buildImage;\n    }()\n  }, {\n    key: \"createMask\",\n    value: function createMask(_ref3) {\n      var imgArray = _ref3.imgArray,\n          width = _ref3.width,\n          height = _ref3.height,\n          imageIsFromDecodeStream = _ref3.imageIsFromDecodeStream,\n          inverseDecode = _ref3.inverseDecode;\n      var computedLength = (width + 7 >> 3) * height;\n      var actualLength = imgArray.byteLength;\n      var haveFullData = computedLength === actualLength;\n      var data, i;\n\n      if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) {\n        data = imgArray;\n      } else if (!inverseDecode) {\n        data = new Uint8ClampedArray(actualLength);\n        data.set(imgArray);\n      } else {\n        data = new Uint8ClampedArray(computedLength);\n        data.set(imgArray);\n\n        for (i = actualLength; i < computedLength; i++) {\n          data[i] = 0xff;\n        }\n      }\n\n      if (inverseDecode) {\n        for (i = 0; i < actualLength; i++) {\n          data[i] ^= 0xff;\n        }\n      }\n\n      return {\n        data: data,\n        width: width,\n        height: height\n      };\n    }\n  }]);\n\n  return PDFImage;\n}();\n\nexports.PDFImage = PDFImage;\n\n/***/ }),\n/* 176 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.incrementalUpdate = incrementalUpdate;\nexports.writeDict = writeDict;\n\nvar _util = __w_pdfjs_require__(4);\n\nvar _primitives = __w_pdfjs_require__(135);\n\nvar _core_utils = __w_pdfjs_require__(138);\n\nvar _xml_parser = __w_pdfjs_require__(177);\n\nvar _crypto = __w_pdfjs_require__(152);\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction writeDict(dict, buffer, transform) {\n  buffer.push(\"<<\");\n\n  var _iterator = _createForOfIteratorHelper(dict.getKeys()),\n      _step;\n\n  try {\n    for (_iterator.s(); !(_step = _iterator.n()).done;) {\n      var key = _step.value;\n      buffer.push(\" /\".concat((0, _core_utils.escapePDFName)(key), \" \"));\n      writeValue(dict.getRaw(key), buffer, transform);\n    }\n  } catch (err) {\n    _iterator.e(err);\n  } finally {\n    _iterator.f();\n  }\n\n  buffer.push(\">>\");\n}\n\nfunction writeStream(stream, buffer, transform) {\n  writeDict(stream.dict, buffer, transform);\n  buffer.push(\" stream\\n\");\n  var string = (0, _util.bytesToString)(stream.getBytes());\n\n  if (transform !== null) {\n    string = transform.encryptString(string);\n  }\n\n  buffer.push(string);\n  buffer.push(\"\\nendstream\\n\");\n}\n\nfunction writeArray(array, buffer, transform) {\n  buffer.push(\"[\");\n  var first = true;\n\n  var _iterator2 = _createForOfIteratorHelper(array),\n      _step2;\n\n  try {\n    for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n      var val = _step2.value;\n\n      if (!first) {\n        buffer.push(\" \");\n      } else {\n        first = false;\n      }\n\n      writeValue(val, buffer, transform);\n    }\n  } catch (err) {\n    _iterator2.e(err);\n  } finally {\n    _iterator2.f();\n  }\n\n  buffer.push(\"]\");\n}\n\nfunction numberToString(value) {\n  if (Number.isInteger(value)) {\n    return value.toString();\n  }\n\n  var roundedValue = Math.round(value * 100);\n\n  if (roundedValue % 100 === 0) {\n    return (roundedValue / 100).toString();\n  }\n\n  if (roundedValue % 10 === 0) {\n    return value.toFixed(1);\n  }\n\n  return value.toFixed(2);\n}\n\nfunction writeValue(value, buffer, transform) {\n  if ((0, _primitives.isName)(value)) {\n    buffer.push(\"/\".concat((0, _core_utils.escapePDFName)(value.name)));\n  } else if ((0, _primitives.isRef)(value)) {\n    buffer.push(\"\".concat(value.num, \" \").concat(value.gen, \" R\"));\n  } else if (Array.isArray(value)) {\n    writeArray(value, buffer, transform);\n  } else if (typeof value === \"string\") {\n    if (transform !== null) {\n      value = transform.encryptString(value);\n    }\n\n    buffer.push(\"(\".concat((0, _util.escapeString)(value), \")\"));\n  } else if (typeof value === \"number\") {\n    buffer.push(numberToString(value));\n  } else if ((0, _primitives.isDict)(value)) {\n    writeDict(value, buffer, transform);\n  } else if ((0, _primitives.isStream)(value)) {\n    writeStream(value, buffer, transform);\n  }\n}\n\nfunction writeInt(number, size, offset, buffer) {\n  for (var i = size + offset - 1; i > offset - 1; i--) {\n    buffer[i] = number & 0xff;\n    number >>= 8;\n  }\n\n  return offset + size;\n}\n\nfunction writeString(string, offset, buffer) {\n  for (var i = 0, len = string.length; i < len; i++) {\n    buffer[offset + i] = string.charCodeAt(i) & 0xff;\n  }\n}\n\nfunction computeMD5(filesize, xrefInfo) {\n  var time = Math.floor(Date.now() / 1000);\n  var filename = xrefInfo.filename || \"\";\n  var md5Buffer = [time.toString(), filename, filesize.toString()];\n  var md5BufferLen = md5Buffer.reduce(function (a, str) {\n    return a + str.length;\n  }, 0);\n\n  for (var _i = 0, _Object$values = Object.values(xrefInfo.info); _i < _Object$values.length; _i++) {\n    var value = _Object$values[_i];\n    md5Buffer.push(value);\n    md5BufferLen += value.length;\n  }\n\n  var array = new Uint8Array(md5BufferLen);\n  var offset = 0;\n\n  for (var _i2 = 0, _md5Buffer = md5Buffer; _i2 < _md5Buffer.length; _i2++) {\n    var str = _md5Buffer[_i2];\n    writeString(str, offset, array);\n    offset += str.length;\n  }\n\n  return (0, _util.bytesToString)((0, _crypto.calculateMD5)(array));\n}\n\nfunction updateXFA(datasetsRef, newRefs, xref) {\n  if (datasetsRef === null || xref === null) {\n    return;\n  }\n\n  var datasets = xref.fetchIfRef(datasetsRef);\n  var str = (0, _util.bytesToString)(datasets.getBytes());\n  var xml = new _xml_parser.SimpleXMLParser({\n    hasAttributes: true\n  }).parseFromString(str);\n\n  var _iterator3 = _createForOfIteratorHelper(newRefs),\n      _step3;\n\n  try {\n    for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n      var xfa = _step3.value.xfa;\n\n      if (!xfa) {\n        continue;\n      }\n\n      var path = xfa.path,\n          value = xfa.value;\n\n      if (!path) {\n        continue;\n      }\n\n      var node = xml.documentElement.searchNode((0, _core_utils.parseXFAPath)(path), 0);\n\n      if (node) {\n        node.childNodes = [new _xml_parser.SimpleDOMNode(\"#text\", value)];\n      } else {\n        (0, _util.warn)(\"Node not found for path: \".concat(path));\n      }\n    }\n  } catch (err) {\n    _iterator3.e(err);\n  } finally {\n    _iterator3.f();\n  }\n\n  var buffer = [];\n  xml.documentElement.dump(buffer);\n  var updatedXml = buffer.join(\"\");\n  var encrypt = xref.encrypt;\n\n  if (encrypt) {\n    var transform = encrypt.createCipherTransform(datasetsRef.num, datasetsRef.gen);\n    updatedXml = transform.encryptString(updatedXml);\n  }\n\n  var data = \"\".concat(datasetsRef.num, \" \").concat(datasetsRef.gen, \" obj\\n\") + \"<< /Type /EmbeddedFile /Length \".concat(updatedXml.length, \">>\\nstream\\n\") + updatedXml + \"\\nendstream\\nendobj\\n\";\n  newRefs.push({\n    ref: datasetsRef,\n    data: data\n  });\n}\n\nfunction incrementalUpdate(_ref) {\n  var originalData = _ref.originalData,\n      xrefInfo = _ref.xrefInfo,\n      newRefs = _ref.newRefs,\n      _ref$xref = _ref.xref,\n      xref = _ref$xref === void 0 ? null : _ref$xref,\n      _ref$datasetsRef = _ref.datasetsRef,\n      datasetsRef = _ref$datasetsRef === void 0 ? null : _ref$datasetsRef;\n  updateXFA(datasetsRef, newRefs, xref);\n  var newXref = new _primitives.Dict(null);\n  var refForXrefTable = xrefInfo.newRef;\n  var buffer, baseOffset;\n  var lastByte = originalData[originalData.length - 1];\n\n  if (lastByte === 0x0a || lastByte === 0x0d) {\n    buffer = [];\n    baseOffset = originalData.length;\n  } else {\n    buffer = [\"\\n\"];\n    baseOffset = originalData.length + 1;\n  }\n\n  newXref.set(\"Size\", refForXrefTable.num + 1);\n  newXref.set(\"Prev\", xrefInfo.startXRef);\n  newXref.set(\"Type\", _primitives.Name.get(\"XRef\"));\n\n  if (xrefInfo.rootRef !== null) {\n    newXref.set(\"Root\", xrefInfo.rootRef);\n  }\n\n  if (xrefInfo.infoRef !== null) {\n    newXref.set(\"Info\", xrefInfo.infoRef);\n  }\n\n  if (xrefInfo.encrypt !== null) {\n    newXref.set(\"Encrypt\", xrefInfo.encrypt);\n  }\n\n  newRefs.push({\n    ref: refForXrefTable,\n    data: \"\"\n  });\n  newRefs = newRefs.sort(function (a, b) {\n    return a.ref.num - b.ref.num;\n  });\n  var xrefTableData = [[0, 1, 0xffff]];\n  var indexes = [0, 1];\n  var maxOffset = 0;\n\n  var _iterator4 = _createForOfIteratorHelper(newRefs),\n      _step4;\n\n  try {\n    for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {\n      var _step4$value = _step4.value,\n          ref = _step4$value.ref,\n          data = _step4$value.data;\n      maxOffset = Math.max(maxOffset, baseOffset);\n      xrefTableData.push([1, baseOffset, Math.min(ref.gen, 0xffff)]);\n      baseOffset += data.length;\n      indexes.push(ref.num);\n      indexes.push(1);\n      buffer.push(data);\n    }\n  } catch (err) {\n    _iterator4.e(err);\n  } finally {\n    _iterator4.f();\n  }\n\n  newXref.set(\"Index\", indexes);\n\n  if (xrefInfo.fileIds.length !== 0) {\n    var md5 = computeMD5(baseOffset, xrefInfo);\n    newXref.set(\"ID\", [xrefInfo.fileIds[0], md5]);\n  }\n\n  var offsetSize = Math.ceil(Math.log2(maxOffset) / 8);\n  var sizes = [1, offsetSize, 2];\n  var structSize = sizes[0] + sizes[1] + sizes[2];\n  var tableLength = structSize * xrefTableData.length;\n  newXref.set(\"W\", sizes);\n  newXref.set(\"Length\", tableLength);\n  buffer.push(\"\".concat(refForXrefTable.num, \" \").concat(refForXrefTable.gen, \" obj\\n\"));\n  writeDict(newXref, buffer, null);\n  buffer.push(\" stream\\n\");\n  var bufferLen = buffer.reduce(function (a, str) {\n    return a + str.length;\n  }, 0);\n  var footer = \"\\nendstream\\nendobj\\nstartxref\\n\".concat(baseOffset, \"\\n%%EOF\\n\");\n  var array = new Uint8Array(originalData.length + bufferLen + tableLength + footer.length);\n  array.set(originalData);\n  var offset = originalData.length;\n\n  var _iterator5 = _createForOfIteratorHelper(buffer),\n      _step5;\n\n  try {\n    for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {\n      var str = _step5.value;\n      writeString(str, offset, array);\n      offset += str.length;\n    }\n  } catch (err) {\n    _iterator5.e(err);\n  } finally {\n    _iterator5.f();\n  }\n\n  for (var _i3 = 0, _xrefTableData = xrefTableData; _i3 < _xrefTableData.length; _i3++) {\n    var _xrefTableData$_i = _slicedToArray(_xrefTableData[_i3], 3),\n        type = _xrefTableData$_i[0],\n        objOffset = _xrefTableData$_i[1],\n        gen = _xrefTableData$_i[2];\n\n    offset = writeInt(type, sizes[0], offset, array);\n    offset = writeInt(objOffset, sizes[1], offset, array);\n    offset = writeInt(gen, sizes[2], offset, array);\n  }\n\n  writeString(footer, offset, array);\n  return array;\n}\n\n/***/ }),\n/* 177 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.SimpleXMLParser = exports.SimpleDOMNode = void 0;\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _get(target, property, receiver) { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }\n\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === \"undefined\" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it[\"return\"] != null) it[\"return\"](); } finally { if (didErr) throw err; } } }; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar XMLParserErrorCode = {\n  NoError: 0,\n  EndOfDocument: -1,\n  UnterminatedCdat: -2,\n  UnterminatedXmlDeclaration: -3,\n  UnterminatedDoctypeDeclaration: -4,\n  UnterminatedComment: -5,\n  MalformedElement: -6,\n  OutOfMemory: -7,\n  UnterminatedAttributeValue: -8,\n  UnterminatedElement: -9,\n  ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n  var ch = s[index];\n  return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n  for (var i = 0, ii = s.length; i < ii; i++) {\n    if (!isWhitespace(s, i)) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nvar XMLParserBase = /*#__PURE__*/function () {\n  function XMLParserBase() {\n    _classCallCheck(this, XMLParserBase);\n  }\n\n  _createClass(XMLParserBase, [{\n    key: \"_resolveEntities\",\n    value: function _resolveEntities(s) {\n      var _this = this;\n\n      return s.replace(/&([^;]+);/g, function (all, entity) {\n        if (entity.substring(0, 2) === \"#x\") {\n          return String.fromCodePoint(parseInt(entity.substring(2), 16));\n        } else if (entity.substring(0, 1) === \"#\") {\n          return String.fromCodePoint(parseInt(entity.substring(1), 10));\n        }\n\n        switch (entity) {\n          case \"lt\":\n            return \"<\";\n\n          case \"gt\":\n            return \">\";\n\n          case \"amp\":\n            return \"&\";\n\n          case \"quot\":\n            return '\"';\n        }\n\n        return _this.onResolveEntity(entity);\n      });\n    }\n  }, {\n    key: \"_parseContent\",\n    value: function _parseContent(s, start) {\n      var attributes = [];\n      var pos = start;\n\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n        ++pos;\n      }\n\n      var name = s.substring(start, pos);\n      skipWs();\n\n      while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n        skipWs();\n        var attrName = \"\",\n            attrValue = \"\";\n\n        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n          attrName += s[pos];\n          ++pos;\n        }\n\n        skipWs();\n\n        if (s[pos] !== \"=\") {\n          return null;\n        }\n\n        ++pos;\n        skipWs();\n        var attrEndChar = s[pos];\n\n        if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n          return null;\n        }\n\n        var attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n        if (attrEndIndex < 0) {\n          return null;\n        }\n\n        attrValue = s.substring(pos, attrEndIndex);\n        attributes.push({\n          name: attrName,\n          value: this._resolveEntities(attrValue)\n        });\n        pos = attrEndIndex + 1;\n        skipWs();\n      }\n\n      return {\n        name: name,\n        attributes: attributes,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: \"_parseProcessingInstruction\",\n    value: function _parseProcessingInstruction(s, start) {\n      var pos = start;\n\n      function skipWs() {\n        while (pos < s.length && isWhitespace(s, pos)) {\n          ++pos;\n        }\n      }\n\n      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n        ++pos;\n      }\n\n      var name = s.substring(start, pos);\n      skipWs();\n      var attrStart = pos;\n\n      while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n        ++pos;\n      }\n\n      var value = s.substring(attrStart, pos);\n      return {\n        name: name,\n        value: value,\n        parsed: pos - start\n      };\n    }\n  }, {\n    key: \"parseXml\",\n    value: function parseXml(s) {\n      var i = 0;\n\n      while (i < s.length) {\n        var ch = s[i];\n        var j = i;\n\n        if (ch === \"<\") {\n          ++j;\n          var ch2 = s[j];\n          var q = void 0;\n\n          switch (ch2) {\n            case \"/\":\n              ++j;\n              q = s.indexOf(\">\", j);\n\n              if (q < 0) {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n\n              this.onEndElement(s.substring(j, q));\n              j = q + 1;\n              break;\n\n            case \"?\":\n              ++j;\n\n              var pi = this._parseProcessingInstruction(s, j);\n\n              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n                return;\n              }\n\n              this.onPi(pi.name, pi.value);\n              j += pi.parsed + 2;\n              break;\n\n            case \"!\":\n              if (s.substring(j + 1, j + 3) === \"--\") {\n                q = s.indexOf(\"-->\", j + 3);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedComment);\n                  return;\n                }\n\n                this.onComment(s.substring(j + 3, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n                q = s.indexOf(\"]]>\", j + 8);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedCdat);\n                  return;\n                }\n\n                this.onCdata(s.substring(j + 8, q));\n                j = q + 3;\n              } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n                var q2 = s.indexOf(\"[\", j + 8);\n                var complexDoctype = false;\n                q = s.indexOf(\">\", j + 8);\n\n                if (q < 0) {\n                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                  return;\n                }\n\n                if (q2 > 0 && q > q2) {\n                  q = s.indexOf(\"]>\", j + 8);\n\n                  if (q < 0) {\n                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n                    return;\n                  }\n\n                  complexDoctype = true;\n                }\n\n                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n                this.onDoctype(doctypeContent);\n                j = q + (complexDoctype ? 2 : 1);\n              } else {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n\n              break;\n\n            default:\n              var content = this._parseContent(s, j);\n\n              if (content === null) {\n                this.onError(XMLParserErrorCode.MalformedElement);\n                return;\n              }\n\n              var isClosed = false;\n\n              if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n                isClosed = true;\n              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n                this.onError(XMLParserErrorCode.UnterminatedElement);\n                return;\n              }\n\n              this.onBeginElement(content.name, content.attributes, isClosed);\n              j += content.parsed + (isClosed ? 2 : 1);\n              break;\n          }\n        } else {\n          while (j < s.length && s[j] !== \"<\") {\n            j++;\n          }\n\n          var text = s.substring(i, j);\n          this.onText(this._resolveEntities(text));\n        }\n\n        i = j;\n      }\n    }\n  }, {\n    key: \"onResolveEntity\",\n    value: function onResolveEntity(name) {\n      return \"&\".concat(name, \";\");\n    }\n  }, {\n    key: \"onPi\",\n    value: function onPi(name, value) {}\n  }, {\n    key: \"onComment\",\n    value: function onComment(text) {}\n  }, {\n    key: \"onCdata\",\n    value: function onCdata(text) {}\n  }, {\n    key: \"onDoctype\",\n    value: function onDoctype(doctypeContent) {}\n  }, {\n    key: \"onText\",\n    value: function onText(text) {}\n  }, {\n    key: \"onBeginElement\",\n    value: function onBeginElement(name, attributes, isEmpty) {}\n  }, {\n    key: \"onEndElement\",\n    value: function onEndElement(name) {}\n  }, {\n    key: \"onError\",\n    value: function onError(code) {}\n  }]);\n\n  return XMLParserBase;\n}();\n\nvar SimpleDOMNode = /*#__PURE__*/function () {\n  function SimpleDOMNode(nodeName, nodeValue) {\n    _classCallCheck(this, SimpleDOMNode);\n\n    this.nodeName = nodeName;\n    this.nodeValue = nodeValue;\n    Object.defineProperty(this, \"parentNode\", {\n      value: null,\n      writable: true\n    });\n  }\n\n  _createClass(SimpleDOMNode, [{\n    key: \"hasChildNodes\",\n    value: function hasChildNodes() {\n      return this.childNodes && this.childNodes.length > 0;\n    }\n  }, {\n    key: \"searchNode\",\n    value: function searchNode(paths, pos) {\n      if (pos >= paths.length) {\n        return this;\n      }\n\n      var component = paths[pos];\n      var stack = [];\n      var node = this;\n\n      while (true) {\n        if (component.name === node.nodeName) {\n          if (component.pos === 0) {\n            var res = node.searchNode(paths, pos + 1);\n\n            if (res !== null) {\n              return res;\n            }\n          } else if (stack.length === 0) {\n            return null;\n          } else {\n            var _stack$pop = stack.pop(),\n                _stack$pop2 = _slicedToArray(_stack$pop, 1),\n                parent = _stack$pop2[0];\n\n            var siblingPos = 0;\n\n            var _iterator = _createForOfIteratorHelper(parent.childNodes),\n                _step;\n\n            try {\n              for (_iterator.s(); !(_step = _iterator.n()).done;) {\n                var child = _step.value;\n\n                if (component.name === child.nodeName) {\n                  if (siblingPos === component.pos) {\n                    return child.searchNode(paths, pos + 1);\n                  }\n\n                  siblingPos++;\n                }\n              }\n            } catch (err) {\n              _iterator.e(err);\n            } finally {\n              _iterator.f();\n            }\n\n            return node.searchNode(paths, pos + 1);\n          }\n        }\n\n        if (node.childNodes && node.childNodes.length !== 0) {\n          stack.push([node, 0]);\n          node = node.childNodes[0];\n        } else if (stack.length === 0) {\n          return null;\n        } else {\n          while (stack.length !== 0) {\n            var _stack$pop3 = stack.pop(),\n                _stack$pop4 = _slicedToArray(_stack$pop3, 2),\n                _parent = _stack$pop4[0],\n                currentPos = _stack$pop4[1];\n\n            var newPos = currentPos + 1;\n\n            if (newPos < _parent.childNodes.length) {\n              stack.push([_parent, newPos]);\n              node = _parent.childNodes[newPos];\n              break;\n            }\n          }\n\n          if (stack.length === 0) {\n            return null;\n          }\n        }\n      }\n    }\n  }, {\n    key: \"dump\",\n    value: function dump(buffer) {\n      if (this.nodeName === \"#text\") {\n        buffer.push((0, _util.encodeToXmlString)(this.nodeValue));\n        return;\n      }\n\n      buffer.push(\"<\".concat(this.nodeName));\n\n      if (this.attributes) {\n        var _iterator2 = _createForOfIteratorHelper(this.attributes),\n            _step2;\n\n        try {\n          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {\n            var attribute = _step2.value;\n            buffer.push(\" \".concat(attribute.name, \"=\\\"\").concat((0, _util.encodeToXmlString)(attribute.value), \"\\\"\"));\n          }\n        } catch (err) {\n          _iterator2.e(err);\n        } finally {\n          _iterator2.f();\n        }\n      }\n\n      if (this.hasChildNodes()) {\n        buffer.push(\">\");\n\n        var _iterator3 = _createForOfIteratorHelper(this.childNodes),\n            _step3;\n\n        try {\n          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {\n            var child = _step3.value;\n            child.dump(buffer);\n          }\n        } catch (err) {\n          _iterator3.e(err);\n        } finally {\n          _iterator3.f();\n        }\n\n        buffer.push(\"</\".concat(this.nodeName, \">\"));\n      } else if (this.nodeValue) {\n        buffer.push(\">\".concat((0, _util.encodeToXmlString)(this.nodeValue), \"</\").concat(this.nodeName, \">\"));\n      } else {\n        buffer.push(\"/>\");\n      }\n    }\n  }, {\n    key: \"firstChild\",\n    get: function get() {\n      return this.childNodes && this.childNodes[0];\n    }\n  }, {\n    key: \"nextSibling\",\n    get: function get() {\n      var childNodes = this.parentNode.childNodes;\n\n      if (!childNodes) {\n        return undefined;\n      }\n\n      var index = childNodes.indexOf(this);\n\n      if (index === -1) {\n        return undefined;\n      }\n\n      return childNodes[index + 1];\n    }\n  }, {\n    key: \"textContent\",\n    get: function get() {\n      if (!this.childNodes) {\n        return this.nodeValue || \"\";\n      }\n\n      return this.childNodes.map(function (child) {\n        return child.textContent;\n      }).join(\"\");\n    }\n  }]);\n\n  return SimpleDOMNode;\n}();\n\nexports.SimpleDOMNode = SimpleDOMNode;\n\nvar SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {\n  _inherits(SimpleXMLParser, _XMLParserBase);\n\n  var _super = _createSuper(SimpleXMLParser);\n\n  function SimpleXMLParser(_ref) {\n    var _this2;\n\n    var _ref$hasAttributes = _ref.hasAttributes,\n        hasAttributes = _ref$hasAttributes === void 0 ? false : _ref$hasAttributes,\n        _ref$lowerCaseName = _ref.lowerCaseName,\n        lowerCaseName = _ref$lowerCaseName === void 0 ? false : _ref$lowerCaseName;\n\n    _classCallCheck(this, SimpleXMLParser);\n\n    _this2 = _super.call(this);\n    _this2._currentFragment = null;\n    _this2._stack = null;\n    _this2._errorCode = XMLParserErrorCode.NoError;\n    _this2._hasAttributes = hasAttributes;\n    _this2._lowerCaseName = lowerCaseName;\n    return _this2;\n  }\n\n  _createClass(SimpleXMLParser, [{\n    key: \"parseFromString\",\n    value: function parseFromString(data) {\n      this._currentFragment = [];\n      this._stack = [];\n      this._errorCode = XMLParserErrorCode.NoError;\n      this.parseXml(data);\n\n      if (this._errorCode !== XMLParserErrorCode.NoError) {\n        return undefined;\n      }\n\n      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),\n          documentElement = _this$_currentFragmen[0];\n\n      if (!documentElement) {\n        return undefined;\n      }\n\n      return {\n        documentElement: documentElement\n      };\n    }\n  }, {\n    key: \"onResolveEntity\",\n    value: function onResolveEntity(name) {\n      switch (name) {\n        case \"apos\":\n          return \"'\";\n      }\n\n      return _get(_getPrototypeOf(SimpleXMLParser.prototype), \"onResolveEntity\", this).call(this, name);\n    }\n  }, {\n    key: \"onText\",\n    value: function onText(text) {\n      if (isWhitespaceString(text)) {\n        return;\n      }\n\n      var node = new SimpleDOMNode(\"#text\", text);\n\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: \"onCdata\",\n    value: function onCdata(text) {\n      var node = new SimpleDOMNode(\"#text\", text);\n\n      this._currentFragment.push(node);\n    }\n  }, {\n    key: \"onBeginElement\",\n    value: function onBeginElement(name, attributes, isEmpty) {\n      if (this._lowerCaseName) {\n        name = name.toLowerCase();\n      }\n\n      var node = new SimpleDOMNode(name);\n      node.childNodes = [];\n\n      if (this._hasAttributes) {\n        node.attributes = attributes;\n      }\n\n      this._currentFragment.push(node);\n\n      if (isEmpty) {\n        return;\n      }\n\n      this._stack.push(this._currentFragment);\n\n      this._currentFragment = node.childNodes;\n    }\n  }, {\n    key: \"onEndElement\",\n    value: function onEndElement(name) {\n      this._currentFragment = this._stack.pop() || [];\n      var lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n      if (!lastElement) {\n        return;\n      }\n\n      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n        lastElement.childNodes[i].parentNode = lastElement;\n      }\n    }\n  }, {\n    key: \"onError\",\n    value: function onError(code) {\n      this._errorCode = code;\n    }\n  }]);\n\n  return SimpleXMLParser;\n}(XMLParserBase);\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 178 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.MessageHandler = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar CallbackKind = {\n  UNKNOWN: 0,\n  DATA: 1,\n  ERROR: 2\n};\nvar StreamKind = {\n  UNKNOWN: 0,\n  CANCEL: 1,\n  CANCEL_COMPLETE: 2,\n  CLOSE: 3,\n  ENQUEUE: 4,\n  ERROR: 5,\n  PULL: 6,\n  PULL_COMPLETE: 7,\n  START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n  if (_typeof(reason) !== \"object\" || reason === null) {\n    return reason;\n  }\n\n  switch (reason.name) {\n    case \"AbortException\":\n      return new _util.AbortException(reason.message);\n\n    case \"MissingPDFException\":\n      return new _util.MissingPDFException(reason.message);\n\n    case \"UnexpectedResponseException\":\n      return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n    case \"UnknownErrorException\":\n      return new _util.UnknownErrorException(reason.message, reason.details);\n\n    default:\n      return new _util.UnknownErrorException(reason.message, reason.toString());\n  }\n}\n\nvar MessageHandler = /*#__PURE__*/function () {\n  function MessageHandler(sourceName, targetName, comObj) {\n    var _this = this;\n\n    _classCallCheck(this, MessageHandler);\n\n    this.sourceName = sourceName;\n    this.targetName = targetName;\n    this.comObj = comObj;\n    this.callbackId = 1;\n    this.streamId = 1;\n    this.postMessageTransfers = true;\n    this.streamSinks = Object.create(null);\n    this.streamControllers = Object.create(null);\n    this.callbackCapabilities = Object.create(null);\n    this.actionHandler = Object.create(null);\n\n    this._onComObjOnMessage = function (event) {\n      var data = event.data;\n\n      if (data.targetName !== _this.sourceName) {\n        return;\n      }\n\n      if (data.stream) {\n        _this._processStreamMessage(data);\n\n        return;\n      }\n\n      if (data.callback) {\n        var callbackId = data.callbackId;\n        var capability = _this.callbackCapabilities[callbackId];\n\n        if (!capability) {\n          throw new Error(\"Cannot resolve callback \".concat(callbackId));\n        }\n\n        delete _this.callbackCapabilities[callbackId];\n\n        if (data.callback === CallbackKind.DATA) {\n          capability.resolve(data.data);\n        } else if (data.callback === CallbackKind.ERROR) {\n          capability.reject(wrapReason(data.reason));\n        } else {\n          throw new Error(\"Unexpected callback case\");\n        }\n\n        return;\n      }\n\n      var action = _this.actionHandler[data.action];\n\n      if (!action) {\n        throw new Error(\"Unknown action from worker: \".concat(data.action));\n      }\n\n      if (data.callbackId) {\n        var cbSourceName = _this.sourceName;\n        var cbTargetName = data.sourceName;\n        new Promise(function (resolve) {\n          resolve(action(data.data));\n        }).then(function (result) {\n          comObj.postMessage({\n            sourceName: cbSourceName,\n            targetName: cbTargetName,\n            callback: CallbackKind.DATA,\n            callbackId: data.callbackId,\n            data: result\n          });\n        }, function (reason) {\n          comObj.postMessage({\n            sourceName: cbSourceName,\n            targetName: cbTargetName,\n            callback: CallbackKind.ERROR,\n            callbackId: data.callbackId,\n            reason: wrapReason(reason)\n          });\n        });\n        return;\n      }\n\n      if (data.streamId) {\n        _this._createStreamSink(data);\n\n        return;\n      }\n\n      action(data.data);\n    };\n\n    comObj.addEventListener(\"message\", this._onComObjOnMessage);\n  }\n\n  _createClass(MessageHandler, [{\n    key: \"on\",\n    value: function on(actionName, handler) {\n      var ah = this.actionHandler;\n\n      if (ah[actionName]) {\n        throw new Error(\"There is already an actionName called \\\"\".concat(actionName, \"\\\"\"));\n      }\n\n      ah[actionName] = handler;\n    }\n  }, {\n    key: \"send\",\n    value: function send(actionName, data, transfers) {\n      this._postMessage({\n        sourceName: this.sourceName,\n        targetName: this.targetName,\n        action: actionName,\n        data: data\n      }, transfers);\n    }\n  }, {\n    key: \"sendWithPromise\",\n    value: function sendWithPromise(actionName, data, transfers) {\n      var callbackId = this.callbackId++;\n      var capability = (0, _util.createPromiseCapability)();\n      this.callbackCapabilities[callbackId] = capability;\n\n      try {\n        this._postMessage({\n          sourceName: this.sourceName,\n          targetName: this.targetName,\n          action: actionName,\n          callbackId: callbackId,\n          data: data\n        }, transfers);\n      } catch (ex) {\n        capability.reject(ex);\n      }\n\n      return capability.promise;\n    }\n  }, {\n    key: \"sendWithStream\",\n    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {\n      var _this2 = this;\n\n      var streamId = this.streamId++;\n      var sourceName = this.sourceName;\n      var targetName = this.targetName;\n      var comObj = this.comObj;\n      return new ReadableStream({\n        start: function start(controller) {\n          var startCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId] = {\n            controller: controller,\n            startCall: startCapability,\n            pullCall: null,\n            cancelCall: null,\n            isClosed: false\n          };\n\n          _this2._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            action: actionName,\n            streamId: streamId,\n            data: data,\n            desiredSize: controller.desiredSize\n          }, transfers);\n\n          return startCapability.promise;\n        },\n        pull: function pull(controller) {\n          var pullCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].pullCall = pullCapability;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.PULL,\n            streamId: streamId,\n            desiredSize: controller.desiredSize\n          });\n          return pullCapability.promise;\n        },\n        cancel: function cancel(reason) {\n          (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n          var cancelCapability = (0, _util.createPromiseCapability)();\n          _this2.streamControllers[streamId].cancelCall = cancelCapability;\n          _this2.streamControllers[streamId].isClosed = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CANCEL,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n          return cancelCapability.promise;\n        }\n      }, queueingStrategy);\n    }\n  }, {\n    key: \"_createStreamSink\",\n    value: function _createStreamSink(data) {\n      var self = this;\n      var action = this.actionHandler[data.action];\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n      var streamSink = {\n        enqueue: function enqueue(chunk) {\n          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n          var transfers = arguments.length > 2 ? arguments[2] : undefined;\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          var lastDesiredSize = this.desiredSize;\n          this.desiredSize -= size;\n\n          if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n            this.sinkCapability = (0, _util.createPromiseCapability)();\n            this.ready = this.sinkCapability.promise;\n          }\n\n          self._postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ENQUEUE,\n            streamId: streamId,\n            chunk: chunk\n          }, transfers);\n        },\n        close: function close() {\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.CLOSE,\n            streamId: streamId\n          });\n          delete self.streamSinks[streamId];\n        },\n        error: function error(reason) {\n          (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n          if (this.isCancelled) {\n            return;\n          }\n\n          this.isCancelled = true;\n          comObj.postMessage({\n            sourceName: sourceName,\n            targetName: targetName,\n            stream: StreamKind.ERROR,\n            streamId: streamId,\n            reason: wrapReason(reason)\n          });\n        },\n        sinkCapability: (0, _util.createPromiseCapability)(),\n        onPull: null,\n        onCancel: null,\n        isCancelled: false,\n        desiredSize: data.desiredSize,\n        ready: null\n      };\n      streamSink.sinkCapability.resolve();\n      streamSink.ready = streamSink.sinkCapability.promise;\n      this.streamSinks[streamId] = streamSink;\n      new Promise(function (resolve) {\n        resolve(action(data.data, streamSink));\n      }).then(function () {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          success: true\n        });\n      }, function (reason) {\n        comObj.postMessage({\n          sourceName: sourceName,\n          targetName: targetName,\n          stream: StreamKind.START_COMPLETE,\n          streamId: streamId,\n          reason: wrapReason(reason)\n        });\n      });\n    }\n  }, {\n    key: \"_processStreamMessage\",\n    value: function _processStreamMessage(data) {\n      var streamId = data.streamId;\n      var sourceName = this.sourceName;\n      var targetName = data.sourceName;\n      var comObj = this.comObj;\n\n      switch (data.stream) {\n        case StreamKind.START_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].startCall.resolve();\n          } else {\n            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].pullCall.resolve();\n          } else {\n            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n          }\n\n          break;\n\n        case StreamKind.PULL:\n          if (!this.streamSinks[streamId]) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n            break;\n          }\n\n          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n            this.streamSinks[streamId].sinkCapability.resolve();\n          }\n\n          this.streamSinks[streamId].desiredSize = data.desiredSize;\n          var onPull = this.streamSinks[data.streamId].onPull;\n          new Promise(function (resolve) {\n            resolve(onPull && onPull());\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.PULL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          break;\n\n        case StreamKind.ENQUEUE:\n          (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].controller.enqueue(data.chunk);\n          break;\n\n        case StreamKind.CLOSE:\n          (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n          if (this.streamControllers[streamId].isClosed) {\n            break;\n          }\n\n          this.streamControllers[streamId].isClosed = true;\n          this.streamControllers[streamId].controller.close();\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.ERROR:\n          (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n          this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL_COMPLETE:\n          if (data.success) {\n            this.streamControllers[streamId].cancelCall.resolve();\n          } else {\n            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n          }\n\n          this._deleteStreamController(streamId);\n\n          break;\n\n        case StreamKind.CANCEL:\n          if (!this.streamSinks[streamId]) {\n            break;\n          }\n\n          var onCancel = this.streamSinks[data.streamId].onCancel;\n          new Promise(function (resolve) {\n            resolve(onCancel && onCancel(wrapReason(data.reason)));\n          }).then(function () {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              success: true\n            });\n          }, function (reason) {\n            comObj.postMessage({\n              sourceName: sourceName,\n              targetName: targetName,\n              stream: StreamKind.CANCEL_COMPLETE,\n              streamId: streamId,\n              reason: wrapReason(reason)\n            });\n          });\n          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n          this.streamSinks[streamId].isCancelled = true;\n          delete this.streamSinks[streamId];\n          break;\n\n        default:\n          throw new Error(\"Unexpected stream case\");\n      }\n    }\n  }, {\n    key: \"_deleteStreamController\",\n    value: function () {\n      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(streamId) {\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n                  return capability && capability.promise;\n                }));\n\n              case 2:\n                delete this.streamControllers[streamId];\n\n              case 3:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function _deleteStreamController(_x) {\n        return _deleteStreamController2.apply(this, arguments);\n      }\n\n      return _deleteStreamController;\n    }()\n  }, {\n    key: \"_postMessage\",\n    value: function _postMessage(message, transfers) {\n      if (transfers && this.postMessageTransfers) {\n        this.comObj.postMessage(message, transfers);\n      } else {\n        this.comObj.postMessage(message);\n      }\n    }\n  }, {\n    key: \"destroy\",\n    value: function destroy() {\n      this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n    }\n  }]);\n\n  return MessageHandler;\n}();\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 179 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n  value: true\n}));\nexports.PDFWorkerStream = void 0;\n\nvar _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));\n\nvar _util = __w_pdfjs_require__(4);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }\n\nfunction _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err); } _next(undefined); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar PDFWorkerStream = /*#__PURE__*/function () {\n  function PDFWorkerStream(msgHandler) {\n    _classCallCheck(this, PDFWorkerStream);\n\n    this._msgHandler = msgHandler;\n    this._contentLength = null;\n    this._fullRequestReader = null;\n    this._rangeRequestReaders = [];\n  }\n\n  _createClass(PDFWorkerStream, [{\n    key: \"getFullReader\",\n    value: function getFullReader() {\n      (0, _util.assert)(!this._fullRequestReader, \"PDFWorkerStream.getFullReader can only be called once.\");\n      this._fullRequestReader = new PDFWorkerStreamReader(this._msgHandler);\n      return this._fullRequestReader;\n    }\n  }, {\n    key: \"getRangeReader\",\n    value: function getRangeReader(begin, end) {\n      var reader = new PDFWorkerStreamRangeReader(begin, end, this._msgHandler);\n\n      this._rangeRequestReaders.push(reader);\n\n      return reader;\n    }\n  }, {\n    key: \"cancelAllRequests\",\n    value: function cancelAllRequests(reason) {\n      if (this._fullRequestReader) {\n        this._fullRequestReader.cancel(reason);\n      }\n\n      var readers = this._rangeRequestReaders.slice(0);\n\n      readers.forEach(function (reader) {\n        reader.cancel(reason);\n      });\n    }\n  }]);\n\n  return PDFWorkerStream;\n}();\n\nexports.PDFWorkerStream = PDFWorkerStream;\n\nvar PDFWorkerStreamReader = /*#__PURE__*/function () {\n  function PDFWorkerStreamReader(msgHandler) {\n    var _this = this;\n\n    _classCallCheck(this, PDFWorkerStreamReader);\n\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n    this._contentLength = null;\n    this._isRangeSupported = false;\n    this._isStreamingSupported = false;\n\n    var readableStream = this._msgHandler.sendWithStream(\"GetReader\");\n\n    this._reader = readableStream.getReader();\n    this._headersReady = this._msgHandler.sendWithPromise(\"ReaderHeadersReady\").then(function (data) {\n      _this._isStreamingSupported = data.isStreamingSupported;\n      _this._isRangeSupported = data.isRangeSupported;\n      _this._contentLength = data.contentLength;\n    });\n  }\n\n  _createClass(PDFWorkerStreamReader, [{\n    key: \"read\",\n    value: function () {\n      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee() {\n        var _yield$this$_reader$r, value, done;\n\n        return _regenerator[\"default\"].wrap(function _callee$(_context) {\n          while (1) {\n            switch (_context.prev = _context.next) {\n              case 0:\n                _context.next = 2;\n                return this._reader.read();\n\n              case 2:\n                _yield$this$_reader$r = _context.sent;\n                value = _yield$this$_reader$r.value;\n                done = _yield$this$_reader$r.done;\n\n                if (!done) {\n                  _context.next = 7;\n                  break;\n                }\n\n                return _context.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 7:\n                return _context.abrupt(\"return\", {\n                  value: value.buffer,\n                  done: false\n                });\n\n              case 8:\n              case \"end\":\n                return _context.stop();\n            }\n          }\n        }, _callee, this);\n      }));\n\n      function read() {\n        return _read.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  }, {\n    key: \"headersReady\",\n    get: function get() {\n      return this._headersReady;\n    }\n  }, {\n    key: \"contentLength\",\n    get: function get() {\n      return this._contentLength;\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return this._isStreamingSupported;\n    }\n  }, {\n    key: \"isRangeSupported\",\n    get: function get() {\n      return this._isRangeSupported;\n    }\n  }]);\n\n  return PDFWorkerStreamReader;\n}();\n\nvar PDFWorkerStreamRangeReader = /*#__PURE__*/function () {\n  function PDFWorkerStreamRangeReader(begin, end, msgHandler) {\n    _classCallCheck(this, PDFWorkerStreamRangeReader);\n\n    this._msgHandler = msgHandler;\n    this.onProgress = null;\n\n    var readableStream = this._msgHandler.sendWithStream(\"GetRangeReader\", {\n      begin: begin,\n      end: end\n    });\n\n    this._reader = readableStream.getReader();\n  }\n\n  _createClass(PDFWorkerStreamRangeReader, [{\n    key: \"read\",\n    value: function () {\n      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2() {\n        var _yield$this$_reader$r2, value, done;\n\n        return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n          while (1) {\n            switch (_context2.prev = _context2.next) {\n              case 0:\n                _context2.next = 2;\n                return this._reader.read();\n\n              case 2:\n                _yield$this$_reader$r2 = _context2.sent;\n                value = _yield$this$_reader$r2.value;\n                done = _yield$this$_reader$r2.done;\n\n                if (!done) {\n                  _context2.next = 7;\n                  break;\n                }\n\n                return _context2.abrupt(\"return\", {\n                  value: undefined,\n                  done: true\n                });\n\n              case 7:\n                return _context2.abrupt(\"return\", {\n                  value: value.buffer,\n                  done: false\n                });\n\n              case 8:\n              case \"end\":\n                return _context2.stop();\n            }\n          }\n        }, _callee2, this);\n      }));\n\n      function read() {\n        return _read2.apply(this, arguments);\n      }\n\n      return read;\n    }()\n  }, {\n    key: \"cancel\",\n    value: function cancel(reason) {\n      this._reader.cancel(reason);\n    }\n  }, {\n    key: \"isStreamingSupported\",\n    get: function get() {\n      return false;\n    }\n  }]);\n\n  return PDFWorkerStreamRangeReader;\n}();\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(__webpack_module_cache__[moduleId]) {\n/******/ \t\t\treturn __webpack_module_cache__[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t(() => {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__w_pdfjs_require__.d = (exports, definition) => {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__w_pdfjs_require__.o(definition, key) && !__w_pdfjs_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t(() => {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__w_pdfjs_require__.r = (exports) => {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/******/ \t/* webpack/runtime/node module decorator */\n/******/ \t(() => {\n/******/ \t\t__w_pdfjs_require__.nmd = (module) => {\n/******/ \t\t\tmodule.paths = [];\n/******/ \t\t\tif (!module.children) module.children = [];\n/******/ \t\t\treturn module;\n/******/ \t\t};\n/******/ \t})();\n/******/ \t\n/************************************************************************/\n/******/ \t// module exports must be returned from runtime so entry inlining is disabled\n/******/ \t// startup\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(0);\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.worker.js.map\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"b639\").Buffer, __webpack_require__(\"4362\"), __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"1fb5\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i]\n  revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n  var len = b64.length\n\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4')\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=')\n  if (validLen === -1) validLen = len\n\n  var placeHoldersLen = validLen === len\n    ? 0\n    : 4 - (validLen % 4)\n\n  return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n  var tmp\n  var lens = getLens(b64)\n  var validLen = lens[0]\n  var placeHoldersLen = lens[1]\n\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n  var curByte = 0\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0\n    ? validLen - 4\n    : validLen\n\n  var i\n  for (i = 0; i < len; i += 4) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 18) |\n      (revLookup[b64.charCodeAt(i + 1)] << 12) |\n      (revLookup[b64.charCodeAt(i + 2)] << 6) |\n      revLookup[b64.charCodeAt(i + 3)]\n    arr[curByte++] = (tmp >> 16) & 0xFF\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 2) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 2) |\n      (revLookup[b64.charCodeAt(i + 1)] >> 4)\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  if (placeHoldersLen === 1) {\n    tmp =\n      (revLookup[b64.charCodeAt(i)] << 10) |\n      (revLookup[b64.charCodeAt(i + 1)] << 4) |\n      (revLookup[b64.charCodeAt(i + 2)] >> 2)\n    arr[curByte++] = (tmp >> 8) & 0xFF\n    arr[curByte++] = tmp & 0xFF\n  }\n\n  return arr\n}\n\nfunction tripletToBase64 (num) {\n  return lookup[num >> 18 & 0x3F] +\n    lookup[num >> 12 & 0x3F] +\n    lookup[num >> 6 & 0x3F] +\n    lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n  var tmp\n  var output = []\n  for (var i = start; i < end; i += 3) {\n    tmp =\n      ((uint8[i] << 16) & 0xFF0000) +\n      ((uint8[i + 1] << 8) & 0xFF00) +\n      (uint8[i + 2] & 0xFF)\n    output.push(tripletToBase64(tmp))\n  }\n  return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n  var tmp\n  var len = uint8.length\n  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n  var parts = []\n  var maxChunkLength = 16383 // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 2] +\n      lookup[(tmp << 4) & 0x3F] +\n      '=='\n    )\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n    parts.push(\n      lookup[tmp >> 10] +\n      lookup[(tmp >> 4) & 0x3F] +\n      lookup[(tmp << 2) & 0x3F] +\n      '='\n    )\n  }\n\n  return parts.join('')\n}\n\n\n/***/ }),\n\n/***/ \"4362\":\n/***/ (function(module, exports, __webpack_require__) {\n\nexports.nextTick = function nextTick(fn) {\n    var args = Array.prototype.slice.call(arguments);\n    args.shift();\n    setTimeout(function () {\n        fn.apply(null, args);\n    }, 0);\n};\n\nexports.platform = exports.arch = \nexports.execPath = exports.title = 'browser';\nexports.pid = 1;\nexports.browser = true;\nexports.env = {};\nexports.argv = [];\n\nexports.binding = function (name) {\n\tthrow new Error('No such module. (Possibly not yet loaded)')\n};\n\n(function () {\n    var cwd = '/';\n    var path;\n    exports.cwd = function () { return cwd };\n    exports.chdir = function (dir) {\n        if (!path) path = __webpack_require__(\"df7c\");\n        cwd = path.resolve(dir, cwd);\n    };\n})();\n\nexports.exit = exports.kill = \nexports.umask = exports.dlopen = \nexports.uptime = exports.memoryUsage = \nexports.uvCounters = function() {};\nexports.features = {};\n\n\n/***/ }),\n\n/***/ \"9152\":\n/***/ (function(module, exports) {\n\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n  var e, m\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var nBits = -7\n  var i = isLE ? (nBytes - 1) : 0\n  var d = isLE ? -1 : 1\n  var s = buffer[offset + i]\n\n  i += d\n\n  e = s & ((1 << (-nBits)) - 1)\n  s >>= (-nBits)\n  nBits += eLen\n  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  m = e & ((1 << (-nBits)) - 1)\n  e >>= (-nBits)\n  nBits += mLen\n  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n  if (e === 0) {\n    e = 1 - eBias\n  } else if (e === eMax) {\n    return m ? NaN : ((s ? -1 : 1) * Infinity)\n  } else {\n    m = m + Math.pow(2, mLen)\n    e = e - eBias\n  }\n  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n  var e, m, c\n  var eLen = (nBytes * 8) - mLen - 1\n  var eMax = (1 << eLen) - 1\n  var eBias = eMax >> 1\n  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n  var i = isLE ? 0 : (nBytes - 1)\n  var d = isLE ? 1 : -1\n  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n  value = Math.abs(value)\n\n  if (isNaN(value) || value === Infinity) {\n    m = isNaN(value) ? 1 : 0\n    e = eMax\n  } else {\n    e = Math.floor(Math.log(value) / Math.LN2)\n    if (value * (c = Math.pow(2, -e)) < 1) {\n      e--\n      c *= 2\n    }\n    if (e + eBias >= 1) {\n      value += rt / c\n    } else {\n      value += rt * Math.pow(2, 1 - eBias)\n    }\n    if (value * c >= 2) {\n      e++\n      c /= 2\n    }\n\n    if (e + eBias >= eMax) {\n      m = 0\n      e = eMax\n    } else if (e + eBias >= 1) {\n      m = ((value * c) - 1) * Math.pow(2, mLen)\n      e = e + eBias\n    } else {\n      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n      e = 0\n    }\n  }\n\n  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n  e = (e << mLen) | m\n  eLen += mLen\n  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n  buffer[offset + i - d] |= s * 128\n}\n\n\n/***/ }),\n\n/***/ \"b639\":\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(global) {/*!\n * The buffer module from node.js, for the browser.\n *\n * @author   Feross Aboukhadijeh <http://feross.org>\n * @license  MIT\n */\n/* eslint-disable no-proto */\n\n\n\nvar base64 = __webpack_require__(\"1fb5\")\nvar ieee754 = __webpack_require__(\"9152\")\nvar isArray = __webpack_require__(\"e3db\")\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n *   === true    Use Uint8Array implementation (fastest)\n *   === false   Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n *     incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n  ? global.TYPED_ARRAY_SUPPORT\n  : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n  try {\n    var arr = new Uint8Array(1)\n    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n    return arr.foo() === 42 && // typed array instances can be augmented\n        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n  } catch (e) {\n    return false\n  }\n}\n\nfunction kMaxLength () {\n  return Buffer.TYPED_ARRAY_SUPPORT\n    ? 0x7fffffff\n    : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n  if (kMaxLength() < length) {\n    throw new RangeError('Invalid typed array length')\n  }\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = new Uint8Array(length)\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    if (that === null) {\n      that = new Buffer(length)\n    }\n    that.length = length\n  }\n\n  return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n    return new Buffer(arg, encodingOrOffset, length)\n  }\n\n  // Common case.\n  if (typeof arg === 'number') {\n    if (typeof encodingOrOffset === 'string') {\n      throw new Error(\n        'If encoding is specified then the first argument must be a string'\n      )\n    }\n    return allocUnsafe(this, arg)\n  }\n  return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n  arr.__proto__ = Buffer.prototype\n  return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n  if (typeof value === 'number') {\n    throw new TypeError('\"value\" argument must not be a number')\n  }\n\n  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n    return fromArrayBuffer(that, value, encodingOrOffset, length)\n  }\n\n  if (typeof value === 'string') {\n    return fromString(that, value, encodingOrOffset)\n  }\n\n  return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n  return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n  Buffer.prototype.__proto__ = Uint8Array.prototype\n  Buffer.__proto__ = Uint8Array\n  if (typeof Symbol !== 'undefined' && Symbol.species &&\n      Buffer[Symbol.species] === Buffer) {\n    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n    Object.defineProperty(Buffer, Symbol.species, {\n      value: null,\n      configurable: true\n    })\n  }\n}\n\nfunction assertSize (size) {\n  if (typeof size !== 'number') {\n    throw new TypeError('\"size\" argument must be a number')\n  } else if (size < 0) {\n    throw new RangeError('\"size\" argument must not be negative')\n  }\n}\n\nfunction alloc (that, size, fill, encoding) {\n  assertSize(size)\n  if (size <= 0) {\n    return createBuffer(that, size)\n  }\n  if (fill !== undefined) {\n    // Only pay attention to encoding if it's a string. This\n    // prevents accidentally sending in a number that would\n    // be interpretted as a start offset.\n    return typeof encoding === 'string'\n      ? createBuffer(that, size).fill(fill, encoding)\n      : createBuffer(that, size).fill(fill)\n  }\n  return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n  return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n  assertSize(size)\n  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) {\n    for (var i = 0; i < size; ++i) {\n      that[i] = 0\n    }\n  }\n  return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n  return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n  return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n  if (typeof encoding !== 'string' || encoding === '') {\n    encoding = 'utf8'\n  }\n\n  if (!Buffer.isEncoding(encoding)) {\n    throw new TypeError('\"encoding\" must be a valid string encoding')\n  }\n\n  var length = byteLength(string, encoding) | 0\n  that = createBuffer(that, length)\n\n  var actual = that.write(string, encoding)\n\n  if (actual !== length) {\n    // Writing a hex string, for example, that contains invalid characters will\n    // cause everything after the first invalid character to be ignored. (e.g.\n    // 'abxxcd' will be treated as 'ab')\n    that = that.slice(0, actual)\n  }\n\n  return that\n}\n\nfunction fromArrayLike (that, array) {\n  var length = array.length < 0 ? 0 : checked(array.length) | 0\n  that = createBuffer(that, length)\n  for (var i = 0; i < length; i += 1) {\n    that[i] = array[i] & 255\n  }\n  return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n  array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n  if (byteOffset < 0 || array.byteLength < byteOffset) {\n    throw new RangeError('\\'offset\\' is out of bounds')\n  }\n\n  if (array.byteLength < byteOffset + (length || 0)) {\n    throw new RangeError('\\'length\\' is out of bounds')\n  }\n\n  if (byteOffset === undefined && length === undefined) {\n    array = new Uint8Array(array)\n  } else if (length === undefined) {\n    array = new Uint8Array(array, byteOffset)\n  } else {\n    array = new Uint8Array(array, byteOffset, length)\n  }\n\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    // Return an augmented `Uint8Array` instance, for best performance\n    that = array\n    that.__proto__ = Buffer.prototype\n  } else {\n    // Fallback: Return an object instance of the Buffer class\n    that = fromArrayLike(that, array)\n  }\n  return that\n}\n\nfunction fromObject (that, obj) {\n  if (Buffer.isBuffer(obj)) {\n    var len = checked(obj.length) | 0\n    that = createBuffer(that, len)\n\n    if (that.length === 0) {\n      return that\n    }\n\n    obj.copy(that, 0, 0, len)\n    return that\n  }\n\n  if (obj) {\n    if ((typeof ArrayBuffer !== 'undefined' &&\n        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n      if (typeof obj.length !== 'number' || isnan(obj.length)) {\n        return createBuffer(that, 0)\n      }\n      return fromArrayLike(that, obj)\n    }\n\n    if (obj.type === 'Buffer' && isArray(obj.data)) {\n      return fromArrayLike(that, obj.data)\n    }\n  }\n\n  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n  // Note: cannot use `length < kMaxLength()` here because that fails when\n  // length is NaN (which is otherwise coerced to zero.)\n  if (length >= kMaxLength()) {\n    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n                         'size: 0x' + kMaxLength().toString(16) + ' bytes')\n  }\n  return length | 0\n}\n\nfunction SlowBuffer (length) {\n  if (+length != length) { // eslint-disable-line eqeqeq\n    length = 0\n  }\n  return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n  return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n    throw new TypeError('Arguments must be Buffers')\n  }\n\n  if (a === b) return 0\n\n  var x = a.length\n  var y = b.length\n\n  for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n    if (a[i] !== b[i]) {\n      x = a[i]\n      y = b[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n  switch (String(encoding).toLowerCase()) {\n    case 'hex':\n    case 'utf8':\n    case 'utf-8':\n    case 'ascii':\n    case 'latin1':\n    case 'binary':\n    case 'base64':\n    case 'ucs2':\n    case 'ucs-2':\n    case 'utf16le':\n    case 'utf-16le':\n      return true\n    default:\n      return false\n  }\n}\n\nBuffer.concat = function concat (list, length) {\n  if (!isArray(list)) {\n    throw new TypeError('\"list\" argument must be an Array of Buffers')\n  }\n\n  if (list.length === 0) {\n    return Buffer.alloc(0)\n  }\n\n  var i\n  if (length === undefined) {\n    length = 0\n    for (i = 0; i < list.length; ++i) {\n      length += list[i].length\n    }\n  }\n\n  var buffer = Buffer.allocUnsafe(length)\n  var pos = 0\n  for (i = 0; i < list.length; ++i) {\n    var buf = list[i]\n    if (!Buffer.isBuffer(buf)) {\n      throw new TypeError('\"list\" argument must be an Array of Buffers')\n    }\n    buf.copy(buffer, pos)\n    pos += buf.length\n  }\n  return buffer\n}\n\nfunction byteLength (string, encoding) {\n  if (Buffer.isBuffer(string)) {\n    return string.length\n  }\n  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n    return string.byteLength\n  }\n  if (typeof string !== 'string') {\n    string = '' + string\n  }\n\n  var len = string.length\n  if (len === 0) return 0\n\n  // Use a for loop to avoid recursion\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'ascii':\n      case 'latin1':\n      case 'binary':\n        return len\n      case 'utf8':\n      case 'utf-8':\n      case undefined:\n        return utf8ToBytes(string).length\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return len * 2\n      case 'hex':\n        return len >>> 1\n      case 'base64':\n        return base64ToBytes(string).length\n      default:\n        if (loweredCase) return utf8ToBytes(string).length // assume utf8\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n  var loweredCase = false\n\n  // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n  // property of a typed array.\n\n  // This behaves neither like String nor Uint8Array in that we set start/end\n  // to their upper/lower bounds if the value passed is out of range.\n  // undefined is handled specially as per ECMA-262 6th Edition,\n  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n  if (start === undefined || start < 0) {\n    start = 0\n  }\n  // Return early if start > this.length. Done here to prevent potential uint32\n  // coercion fail below.\n  if (start > this.length) {\n    return ''\n  }\n\n  if (end === undefined || end > this.length) {\n    end = this.length\n  }\n\n  if (end <= 0) {\n    return ''\n  }\n\n  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n  end >>>= 0\n  start >>>= 0\n\n  if (end <= start) {\n    return ''\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  while (true) {\n    switch (encoding) {\n      case 'hex':\n        return hexSlice(this, start, end)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Slice(this, start, end)\n\n      case 'ascii':\n        return asciiSlice(this, start, end)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Slice(this, start, end)\n\n      case 'base64':\n        return base64Slice(this, start, end)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return utf16leSlice(this, start, end)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = (encoding + '').toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n  var i = b[n]\n  b[n] = b[m]\n  b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n  var len = this.length\n  if (len % 2 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 16-bits')\n  }\n  for (var i = 0; i < len; i += 2) {\n    swap(this, i, i + 1)\n  }\n  return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n  var len = this.length\n  if (len % 4 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 32-bits')\n  }\n  for (var i = 0; i < len; i += 4) {\n    swap(this, i, i + 3)\n    swap(this, i + 1, i + 2)\n  }\n  return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n  var len = this.length\n  if (len % 8 !== 0) {\n    throw new RangeError('Buffer size must be a multiple of 64-bits')\n  }\n  for (var i = 0; i < len; i += 8) {\n    swap(this, i, i + 7)\n    swap(this, i + 1, i + 6)\n    swap(this, i + 2, i + 5)\n    swap(this, i + 3, i + 4)\n  }\n  return this\n}\n\nBuffer.prototype.toString = function toString () {\n  var length = this.length | 0\n  if (length === 0) return ''\n  if (arguments.length === 0) return utf8Slice(this, 0, length)\n  return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n  if (this === b) return true\n  return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n  var str = ''\n  var max = exports.INSPECT_MAX_BYTES\n  if (this.length > 0) {\n    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n    if (this.length > max) str += ' ... '\n  }\n  return '<Buffer ' + str + '>'\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n  if (!Buffer.isBuffer(target)) {\n    throw new TypeError('Argument must be a Buffer')\n  }\n\n  if (start === undefined) {\n    start = 0\n  }\n  if (end === undefined) {\n    end = target ? target.length : 0\n  }\n  if (thisStart === undefined) {\n    thisStart = 0\n  }\n  if (thisEnd === undefined) {\n    thisEnd = this.length\n  }\n\n  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n    throw new RangeError('out of range index')\n  }\n\n  if (thisStart >= thisEnd && start >= end) {\n    return 0\n  }\n  if (thisStart >= thisEnd) {\n    return -1\n  }\n  if (start >= end) {\n    return 1\n  }\n\n  start >>>= 0\n  end >>>= 0\n  thisStart >>>= 0\n  thisEnd >>>= 0\n\n  if (this === target) return 0\n\n  var x = thisEnd - thisStart\n  var y = end - start\n  var len = Math.min(x, y)\n\n  var thisCopy = this.slice(thisStart, thisEnd)\n  var targetCopy = target.slice(start, end)\n\n  for (var i = 0; i < len; ++i) {\n    if (thisCopy[i] !== targetCopy[i]) {\n      x = thisCopy[i]\n      y = targetCopy[i]\n      break\n    }\n  }\n\n  if (x < y) return -1\n  if (y < x) return 1\n  return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n  // Empty buffer means no match\n  if (buffer.length === 0) return -1\n\n  // Normalize byteOffset\n  if (typeof byteOffset === 'string') {\n    encoding = byteOffset\n    byteOffset = 0\n  } else if (byteOffset > 0x7fffffff) {\n    byteOffset = 0x7fffffff\n  } else if (byteOffset < -0x80000000) {\n    byteOffset = -0x80000000\n  }\n  byteOffset = +byteOffset  // Coerce to Number.\n  if (isNaN(byteOffset)) {\n    // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n    byteOffset = dir ? 0 : (buffer.length - 1)\n  }\n\n  // Normalize byteOffset: negative offsets start from the end of the buffer\n  if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n  if (byteOffset >= buffer.length) {\n    if (dir) return -1\n    else byteOffset = buffer.length - 1\n  } else if (byteOffset < 0) {\n    if (dir) byteOffset = 0\n    else return -1\n  }\n\n  // Normalize val\n  if (typeof val === 'string') {\n    val = Buffer.from(val, encoding)\n  }\n\n  // Finally, search either indexOf (if dir is true) or lastIndexOf\n  if (Buffer.isBuffer(val)) {\n    // Special case: looking for empty string/buffer always fails\n    if (val.length === 0) {\n      return -1\n    }\n    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n  } else if (typeof val === 'number') {\n    val = val & 0xFF // Search for a byte value [0-255]\n    if (Buffer.TYPED_ARRAY_SUPPORT &&\n        typeof Uint8Array.prototype.indexOf === 'function') {\n      if (dir) {\n        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n      } else {\n        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n      }\n    }\n    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n  }\n\n  throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n  var indexSize = 1\n  var arrLength = arr.length\n  var valLength = val.length\n\n  if (encoding !== undefined) {\n    encoding = String(encoding).toLowerCase()\n    if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n        encoding === 'utf16le' || encoding === 'utf-16le') {\n      if (arr.length < 2 || val.length < 2) {\n        return -1\n      }\n      indexSize = 2\n      arrLength /= 2\n      valLength /= 2\n      byteOffset /= 2\n    }\n  }\n\n  function read (buf, i) {\n    if (indexSize === 1) {\n      return buf[i]\n    } else {\n      return buf.readUInt16BE(i * indexSize)\n    }\n  }\n\n  var i\n  if (dir) {\n    var foundIndex = -1\n    for (i = byteOffset; i < arrLength; i++) {\n      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n        if (foundIndex === -1) foundIndex = i\n        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n      } else {\n        if (foundIndex !== -1) i -= i - foundIndex\n        foundIndex = -1\n      }\n    }\n  } else {\n    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n    for (i = byteOffset; i >= 0; i--) {\n      var found = true\n      for (var j = 0; j < valLength; j++) {\n        if (read(arr, i + j) !== read(val, j)) {\n          found = false\n          break\n        }\n      }\n      if (found) return i\n    }\n  }\n\n  return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n  return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n  offset = Number(offset) || 0\n  var remaining = buf.length - offset\n  if (!length) {\n    length = remaining\n  } else {\n    length = Number(length)\n    if (length > remaining) {\n      length = remaining\n    }\n  }\n\n  // must be an even number of digits\n  var strLen = string.length\n  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n  if (length > strLen / 2) {\n    length = strLen / 2\n  }\n  for (var i = 0; i < length; ++i) {\n    var parsed = parseInt(string.substr(i * 2, 2), 16)\n    if (isNaN(parsed)) return i\n    buf[offset + i] = parsed\n  }\n  return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n  return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n  return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n  return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n  // Buffer#write(string)\n  if (offset === undefined) {\n    encoding = 'utf8'\n    length = this.length\n    offset = 0\n  // Buffer#write(string, encoding)\n  } else if (length === undefined && typeof offset === 'string') {\n    encoding = offset\n    length = this.length\n    offset = 0\n  // Buffer#write(string, offset[, length][, encoding])\n  } else if (isFinite(offset)) {\n    offset = offset | 0\n    if (isFinite(length)) {\n      length = length | 0\n      if (encoding === undefined) encoding = 'utf8'\n    } else {\n      encoding = length\n      length = undefined\n    }\n  // legacy write(string, encoding, offset, length) - remove in v0.13\n  } else {\n    throw new Error(\n      'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n    )\n  }\n\n  var remaining = this.length - offset\n  if (length === undefined || length > remaining) length = remaining\n\n  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n    throw new RangeError('Attempt to write outside buffer bounds')\n  }\n\n  if (!encoding) encoding = 'utf8'\n\n  var loweredCase = false\n  for (;;) {\n    switch (encoding) {\n      case 'hex':\n        return hexWrite(this, string, offset, length)\n\n      case 'utf8':\n      case 'utf-8':\n        return utf8Write(this, string, offset, length)\n\n      case 'ascii':\n        return asciiWrite(this, string, offset, length)\n\n      case 'latin1':\n      case 'binary':\n        return latin1Write(this, string, offset, length)\n\n      case 'base64':\n        // Warning: maxLength not taken into account in base64Write\n        return base64Write(this, string, offset, length)\n\n      case 'ucs2':\n      case 'ucs-2':\n      case 'utf16le':\n      case 'utf-16le':\n        return ucs2Write(this, string, offset, length)\n\n      default:\n        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n        encoding = ('' + encoding).toLowerCase()\n        loweredCase = true\n    }\n  }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n  return {\n    type: 'Buffer',\n    data: Array.prototype.slice.call(this._arr || this, 0)\n  }\n}\n\nfunction base64Slice (buf, start, end) {\n  if (start === 0 && end === buf.length) {\n    return base64.fromByteArray(buf)\n  } else {\n    return base64.fromByteArray(buf.slice(start, end))\n  }\n}\n\nfunction utf8Slice (buf, start, end) {\n  end = Math.min(buf.length, end)\n  var res = []\n\n  var i = start\n  while (i < end) {\n    var firstByte = buf[i]\n    var codePoint = null\n    var bytesPerSequence = (firstByte > 0xEF) ? 4\n      : (firstByte > 0xDF) ? 3\n      : (firstByte > 0xBF) ? 2\n      : 1\n\n    if (i + bytesPerSequence <= end) {\n      var secondByte, thirdByte, fourthByte, tempCodePoint\n\n      switch (bytesPerSequence) {\n        case 1:\n          if (firstByte < 0x80) {\n            codePoint = firstByte\n          }\n          break\n        case 2:\n          secondByte = buf[i + 1]\n          if ((secondByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n            if (tempCodePoint > 0x7F) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 3:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n              codePoint = tempCodePoint\n            }\n          }\n          break\n        case 4:\n          secondByte = buf[i + 1]\n          thirdByte = buf[i + 2]\n          fourthByte = buf[i + 3]\n          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n              codePoint = tempCodePoint\n            }\n          }\n      }\n    }\n\n    if (codePoint === null) {\n      // we did not generate a valid codePoint so insert a\n      // replacement char (U+FFFD) and advance only 1 byte\n      codePoint = 0xFFFD\n      bytesPerSequence = 1\n    } else if (codePoint > 0xFFFF) {\n      // encode to utf16 (surrogate pair dance)\n      codePoint -= 0x10000\n      res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n      codePoint = 0xDC00 | codePoint & 0x3FF\n    }\n\n    res.push(codePoint)\n    i += bytesPerSequence\n  }\n\n  return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n  var len = codePoints.length\n  if (len <= MAX_ARGUMENTS_LENGTH) {\n    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n  }\n\n  // Decode in chunks to avoid \"call stack size exceeded\".\n  var res = ''\n  var i = 0\n  while (i < len) {\n    res += String.fromCharCode.apply(\n      String,\n      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n    )\n  }\n  return res\n}\n\nfunction asciiSlice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i] & 0x7F)\n  }\n  return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n  var ret = ''\n  end = Math.min(buf.length, end)\n\n  for (var i = start; i < end; ++i) {\n    ret += String.fromCharCode(buf[i])\n  }\n  return ret\n}\n\nfunction hexSlice (buf, start, end) {\n  var len = buf.length\n\n  if (!start || start < 0) start = 0\n  if (!end || end < 0 || end > len) end = len\n\n  var out = ''\n  for (var i = start; i < end; ++i) {\n    out += toHex(buf[i])\n  }\n  return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n  var bytes = buf.slice(start, end)\n  var res = ''\n  for (var i = 0; i < bytes.length; i += 2) {\n    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n  }\n  return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n  var len = this.length\n  start = ~~start\n  end = end === undefined ? len : ~~end\n\n  if (start < 0) {\n    start += len\n    if (start < 0) start = 0\n  } else if (start > len) {\n    start = len\n  }\n\n  if (end < 0) {\n    end += len\n    if (end < 0) end = 0\n  } else if (end > len) {\n    end = len\n  }\n\n  if (end < start) end = start\n\n  var newBuf\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    newBuf = this.subarray(start, end)\n    newBuf.__proto__ = Buffer.prototype\n  } else {\n    var sliceLen = end - start\n    newBuf = new Buffer(sliceLen, undefined)\n    for (var i = 0; i < sliceLen; ++i) {\n      newBuf[i] = this[i + start]\n    }\n  }\n\n  return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    checkOffset(offset, byteLength, this.length)\n  }\n\n  var val = this[offset + --byteLength]\n  var mul = 1\n  while (byteLength > 0 && (mul *= 0x100)) {\n    val += this[offset + --byteLength] * mul\n  }\n\n  return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return ((this[offset]) |\n      (this[offset + 1] << 8) |\n      (this[offset + 2] << 16)) +\n      (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] * 0x1000000) +\n    ((this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var val = this[offset]\n  var mul = 1\n  var i = 0\n  while (++i < byteLength && (mul *= 0x100)) {\n    val += this[offset + i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n  var i = byteLength\n  var mul = 1\n  var val = this[offset + --i]\n  while (i > 0 && (mul *= 0x100)) {\n    val += this[offset + --i] * mul\n  }\n  mul *= 0x80\n\n  if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n  return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 1, this.length)\n  if (!(this[offset] & 0x80)) return (this[offset])\n  return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset] | (this[offset + 1] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 2, this.length)\n  var val = this[offset + 1] | (this[offset] << 8)\n  return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset]) |\n    (this[offset + 1] << 8) |\n    (this[offset + 2] << 16) |\n    (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n\n  return (this[offset] << 24) |\n    (this[offset + 1] << 16) |\n    (this[offset + 2] << 8) |\n    (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 4, this.length)\n  return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n  if (!noAssert) checkOffset(offset, 8, this.length)\n  return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n  if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n  if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var mul = 1\n  var i = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  byteLength = byteLength | 0\n  if (!noAssert) {\n    var maxBytes = Math.pow(2, 8 * byteLength) - 1\n    checkInt(this, value, offset, byteLength, maxBytes, 0)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    this[offset + i] = (value / mul) & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n      (littleEndian ? i : 1 - i) * 8\n  }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n  if (value < 0) value = 0xffffffff + value + 1\n  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n  }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset + 3] = (value >>> 24)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 1] = (value >>> 8)\n    this[offset] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = 0\n  var mul = 1\n  var sub = 0\n  this[offset] = value & 0xFF\n  while (++i < byteLength && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) {\n    var limit = Math.pow(2, 8 * byteLength - 1)\n\n    checkInt(this, value, offset, byteLength, limit - 1, -limit)\n  }\n\n  var i = byteLength - 1\n  var mul = 1\n  var sub = 0\n  this[offset + i] = value & 0xFF\n  while (--i >= 0 && (mul *= 0x100)) {\n    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n      sub = 1\n    }\n    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n  }\n\n  return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n  if (value < 0) value = 0xff + value + 1\n  this[offset] = (value & 0xff)\n  return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n  } else {\n    objectWriteUInt16(this, value, offset, true)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 8)\n    this[offset + 1] = (value & 0xff)\n  } else {\n    objectWriteUInt16(this, value, offset, false)\n  }\n  return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value & 0xff)\n    this[offset + 1] = (value >>> 8)\n    this[offset + 2] = (value >>> 16)\n    this[offset + 3] = (value >>> 24)\n  } else {\n    objectWriteUInt32(this, value, offset, true)\n  }\n  return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n  value = +value\n  offset = offset | 0\n  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n  if (value < 0) value = 0xffffffff + value + 1\n  if (Buffer.TYPED_ARRAY_SUPPORT) {\n    this[offset] = (value >>> 24)\n    this[offset + 1] = (value >>> 16)\n    this[offset + 2] = (value >>> 8)\n    this[offset + 3] = (value & 0xff)\n  } else {\n    objectWriteUInt32(this, value, offset, false)\n  }\n  return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n  if (offset + ext > buf.length) throw new RangeError('Index out of range')\n  if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 23, 4)\n  return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n  return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n  if (!noAssert) {\n    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n  }\n  ieee754.write(buf, value, offset, littleEndian, 52, 8)\n  return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n  return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n  if (!start) start = 0\n  if (!end && end !== 0) end = this.length\n  if (targetStart >= target.length) targetStart = target.length\n  if (!targetStart) targetStart = 0\n  if (end > 0 && end < start) end = start\n\n  // Copy 0 bytes; we're done\n  if (end === start) return 0\n  if (target.length === 0 || this.length === 0) return 0\n\n  // Fatal error conditions\n  if (targetStart < 0) {\n    throw new RangeError('targetStart out of bounds')\n  }\n  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n  if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n  // Are we oob?\n  if (end > this.length) end = this.length\n  if (target.length - targetStart < end - start) {\n    end = target.length - targetStart + start\n  }\n\n  var len = end - start\n  var i\n\n  if (this === target && start < targetStart && targetStart < end) {\n    // descending copy from end\n    for (i = len - 1; i >= 0; --i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n    // ascending copy from start\n    for (i = 0; i < len; ++i) {\n      target[i + targetStart] = this[i + start]\n    }\n  } else {\n    Uint8Array.prototype.set.call(\n      target,\n      this.subarray(start, start + len),\n      targetStart\n    )\n  }\n\n  return len\n}\n\n// Usage:\n//    buffer.fill(number[, offset[, end]])\n//    buffer.fill(buffer[, offset[, end]])\n//    buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n  // Handle string cases:\n  if (typeof val === 'string') {\n    if (typeof start === 'string') {\n      encoding = start\n      start = 0\n      end = this.length\n    } else if (typeof end === 'string') {\n      encoding = end\n      end = this.length\n    }\n    if (val.length === 1) {\n      var code = val.charCodeAt(0)\n      if (code < 256) {\n        val = code\n      }\n    }\n    if (encoding !== undefined && typeof encoding !== 'string') {\n      throw new TypeError('encoding must be a string')\n    }\n    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n      throw new TypeError('Unknown encoding: ' + encoding)\n    }\n  } else if (typeof val === 'number') {\n    val = val & 255\n  }\n\n  // Invalid ranges are not set to a default, so can range check early.\n  if (start < 0 || this.length < start || this.length < end) {\n    throw new RangeError('Out of range index')\n  }\n\n  if (end <= start) {\n    return this\n  }\n\n  start = start >>> 0\n  end = end === undefined ? this.length : end >>> 0\n\n  if (!val) val = 0\n\n  var i\n  if (typeof val === 'number') {\n    for (i = start; i < end; ++i) {\n      this[i] = val\n    }\n  } else {\n    var bytes = Buffer.isBuffer(val)\n      ? val\n      : utf8ToBytes(new Buffer(val, encoding).toString())\n    var len = bytes.length\n    for (i = 0; i < end - start; ++i) {\n      this[i + start] = bytes[i % len]\n    }\n  }\n\n  return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n  // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n  str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n  // Node converts strings with length < 2 to ''\n  if (str.length < 2) return ''\n  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n  while (str.length % 4 !== 0) {\n    str = str + '='\n  }\n  return str\n}\n\nfunction stringtrim (str) {\n  if (str.trim) return str.trim()\n  return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n  if (n < 16) return '0' + n.toString(16)\n  return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n  units = units || Infinity\n  var codePoint\n  var length = string.length\n  var leadSurrogate = null\n  var bytes = []\n\n  for (var i = 0; i < length; ++i) {\n    codePoint = string.charCodeAt(i)\n\n    // is surrogate component\n    if (codePoint > 0xD7FF && codePoint < 0xE000) {\n      // last char was a lead\n      if (!leadSurrogate) {\n        // no lead yet\n        if (codePoint > 0xDBFF) {\n          // unexpected trail\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        } else if (i + 1 === length) {\n          // unpaired lead\n          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n          continue\n        }\n\n        // valid lead\n        leadSurrogate = codePoint\n\n        continue\n      }\n\n      // 2 leads in a row\n      if (codePoint < 0xDC00) {\n        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n        leadSurrogate = codePoint\n        continue\n      }\n\n      // valid surrogate pair\n      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n    } else if (leadSurrogate) {\n      // valid bmp char, but last char was a lead\n      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n    }\n\n    leadSurrogate = null\n\n    // encode utf8\n    if (codePoint < 0x80) {\n      if ((units -= 1) < 0) break\n      bytes.push(codePoint)\n    } else if (codePoint < 0x800) {\n      if ((units -= 2) < 0) break\n      bytes.push(\n        codePoint >> 0x6 | 0xC0,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x10000) {\n      if ((units -= 3) < 0) break\n      bytes.push(\n        codePoint >> 0xC | 0xE0,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else if (codePoint < 0x110000) {\n      if ((units -= 4) < 0) break\n      bytes.push(\n        codePoint >> 0x12 | 0xF0,\n        codePoint >> 0xC & 0x3F | 0x80,\n        codePoint >> 0x6 & 0x3F | 0x80,\n        codePoint & 0x3F | 0x80\n      )\n    } else {\n      throw new Error('Invalid code point')\n    }\n  }\n\n  return bytes\n}\n\nfunction asciiToBytes (str) {\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    // Node's code seems to be doing this and not & 0x7F..\n    byteArray.push(str.charCodeAt(i) & 0xFF)\n  }\n  return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n  var c, hi, lo\n  var byteArray = []\n  for (var i = 0; i < str.length; ++i) {\n    if ((units -= 2) < 0) break\n\n    c = str.charCodeAt(i)\n    hi = c >> 8\n    lo = c % 256\n    byteArray.push(lo)\n    byteArray.push(hi)\n  }\n\n  return byteArray\n}\n\nfunction base64ToBytes (str) {\n  return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n  for (var i = 0; i < length; ++i) {\n    if ((i + offset >= dst.length) || (i >= src.length)) break\n    dst[i + offset] = src[i]\n  }\n  return i\n}\n\nfunction isnan (val) {\n  return val !== val // eslint-disable-line no-self-compare\n}\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"c8ba\")))\n\n/***/ }),\n\n/***/ \"c8ba\":\n/***/ (function(module, exports) {\n\nvar g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n\n\n/***/ }),\n\n/***/ \"df7c\":\n/***/ (function(module, exports, __webpack_require__) {\n\n/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,\n// backported and transplited with Babel, with backwards-compat fixes\n\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// resolves . and .. elements in a path array with directory names there\n// must be no slashes, empty elements, or device names (c:\\) in the array\n// (so also no leading and trailing slashes - it does not distinguish\n// relative and absolute paths)\nfunction normalizeArray(parts, allowAboveRoot) {\n  // if the path tries to go above the root, `up` ends up > 0\n  var up = 0;\n  for (var i = parts.length - 1; i >= 0; i--) {\n    var last = parts[i];\n    if (last === '.') {\n      parts.splice(i, 1);\n    } else if (last === '..') {\n      parts.splice(i, 1);\n      up++;\n    } else if (up) {\n      parts.splice(i, 1);\n      up--;\n    }\n  }\n\n  // if the path is allowed to go above the root, restore leading ..s\n  if (allowAboveRoot) {\n    for (; up--; up) {\n      parts.unshift('..');\n    }\n  }\n\n  return parts;\n}\n\n// path.resolve([from ...], to)\n// posix version\nexports.resolve = function() {\n  var resolvedPath = '',\n      resolvedAbsolute = false;\n\n  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n    var path = (i >= 0) ? arguments[i] : process.cwd();\n\n    // Skip empty and invalid entries\n    if (typeof path !== 'string') {\n      throw new TypeError('Arguments to path.resolve must be strings');\n    } else if (!path) {\n      continue;\n    }\n\n    resolvedPath = path + '/' + resolvedPath;\n    resolvedAbsolute = path.charAt(0) === '/';\n  }\n\n  // At this point the path should be resolved to a full absolute path, but\n  // handle relative paths to be safe (might happen when process.cwd() fails)\n\n  // Normalize the path\n  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {\n    return !!p;\n  }), !resolvedAbsolute).join('/');\n\n  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';\n};\n\n// path.normalize(path)\n// posix version\nexports.normalize = function(path) {\n  var isAbsolute = exports.isAbsolute(path),\n      trailingSlash = substr(path, -1) === '/';\n\n  // Normalize the path\n  path = normalizeArray(filter(path.split('/'), function(p) {\n    return !!p;\n  }), !isAbsolute).join('/');\n\n  if (!path && !isAbsolute) {\n    path = '.';\n  }\n  if (path && trailingSlash) {\n    path += '/';\n  }\n\n  return (isAbsolute ? '/' : '') + path;\n};\n\n// posix version\nexports.isAbsolute = function(path) {\n  return path.charAt(0) === '/';\n};\n\n// posix version\nexports.join = function() {\n  var paths = Array.prototype.slice.call(arguments, 0);\n  return exports.normalize(filter(paths, function(p, index) {\n    if (typeof p !== 'string') {\n      throw new TypeError('Arguments to path.join must be strings');\n    }\n    return p;\n  }).join('/'));\n};\n\n\n// path.relative(from, to)\n// posix version\nexports.relative = function(from, to) {\n  from = exports.resolve(from).substr(1);\n  to = exports.resolve(to).substr(1);\n\n  function trim(arr) {\n    var start = 0;\n    for (; start < arr.length; start++) {\n      if (arr[start] !== '') break;\n    }\n\n    var end = arr.length - 1;\n    for (; end >= 0; end--) {\n      if (arr[end] !== '') break;\n    }\n\n    if (start > end) return [];\n    return arr.slice(start, end - start + 1);\n  }\n\n  var fromParts = trim(from.split('/'));\n  var toParts = trim(to.split('/'));\n\n  var length = Math.min(fromParts.length, toParts.length);\n  var samePartsLength = length;\n  for (var i = 0; i < length; i++) {\n    if (fromParts[i] !== toParts[i]) {\n      samePartsLength = i;\n      break;\n    }\n  }\n\n  var outputParts = [];\n  for (var i = samePartsLength; i < fromParts.length; i++) {\n    outputParts.push('..');\n  }\n\n  outputParts = outputParts.concat(toParts.slice(samePartsLength));\n\n  return outputParts.join('/');\n};\n\nexports.sep = '/';\nexports.delimiter = ':';\n\nexports.dirname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  if (path.length === 0) return '.';\n  var code = path.charCodeAt(0);\n  var hasRoot = code === 47 /*/*/;\n  var end = -1;\n  var matchedSlash = true;\n  for (var i = path.length - 1; i >= 1; --i) {\n    code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        if (!matchedSlash) {\n          end = i;\n          break;\n        }\n      } else {\n      // We saw the first non-path separator\n      matchedSlash = false;\n    }\n  }\n\n  if (end === -1) return hasRoot ? '/' : '.';\n  if (hasRoot && end === 1) {\n    // return '//';\n    // Backwards-compat fix:\n    return '/';\n  }\n  return path.slice(0, end);\n};\n\nfunction basename(path) {\n  if (typeof path !== 'string') path = path + '';\n\n  var start = 0;\n  var end = -1;\n  var matchedSlash = true;\n  var i;\n\n  for (i = path.length - 1; i >= 0; --i) {\n    if (path.charCodeAt(i) === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          start = i + 1;\n          break;\n        }\n      } else if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // path component\n      matchedSlash = false;\n      end = i + 1;\n    }\n  }\n\n  if (end === -1) return '';\n  return path.slice(start, end);\n}\n\n// Uses a mixed approach for backwards-compatibility, as ext behavior changed\n// in new Node.js versions, so only basename() above is backported here\nexports.basename = function (path, ext) {\n  var f = basename(path);\n  if (ext && f.substr(-1 * ext.length) === ext) {\n    f = f.substr(0, f.length - ext.length);\n  }\n  return f;\n};\n\nexports.extname = function (path) {\n  if (typeof path !== 'string') path = path + '';\n  var startDot = -1;\n  var startPart = 0;\n  var end = -1;\n  var matchedSlash = true;\n  // Track the state of characters (if any) we see before our first dot and\n  // after any path separator we find\n  var preDotState = 0;\n  for (var i = path.length - 1; i >= 0; --i) {\n    var code = path.charCodeAt(i);\n    if (code === 47 /*/*/) {\n        // If we reached a path separator that was not part of a set of path\n        // separators at the end of the string, stop now\n        if (!matchedSlash) {\n          startPart = i + 1;\n          break;\n        }\n        continue;\n      }\n    if (end === -1) {\n      // We saw the first non-path separator, mark this as the end of our\n      // extension\n      matchedSlash = false;\n      end = i + 1;\n    }\n    if (code === 46 /*.*/) {\n        // If this is our first dot, mark it as the start of our extension\n        if (startDot === -1)\n          startDot = i;\n        else if (preDotState !== 1)\n          preDotState = 1;\n    } else if (startDot !== -1) {\n      // We saw a non-dot and non-path separator before our dot, so we should\n      // have a good chance at having a non-empty extension\n      preDotState = -1;\n    }\n  }\n\n  if (startDot === -1 || end === -1 ||\n      // We saw a non-dot character immediately before the dot\n      preDotState === 0 ||\n      // The (right-most) trimmed path component is exactly '..'\n      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {\n    return '';\n  }\n  return path.slice(startDot, end);\n};\n\nfunction filter (xs, f) {\n    if (xs.filter) return xs.filter(f);\n    var res = [];\n    for (var i = 0; i < xs.length; i++) {\n        if (f(xs[i], i, xs)) res.push(xs[i]);\n    }\n    return res;\n}\n\n// String.prototype.substr - negative index don't work in IE8\nvar substr = 'ab'.substr(-1) === 'b'\n    ? function (str, start, len) { return str.substr(start, len) }\n    : function (str, start, len) {\n        if (start < 0) start = str.length + start;\n        return str.substr(start, len);\n    }\n;\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(\"4362\")))\n\n/***/ }),\n\n/***/ \"e3db\":\n/***/ (function(module, exports) {\n\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n  return toString.call(arr) == '[object Array]';\n};\n\n\n/***/ })\n\n/******/ });", null);
};

/***/ }),

/***/ "06cf":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var call = __webpack_require__("c65b");
var propertyIsEnumerableModule = __webpack_require__("d1e7");
var createPropertyDescriptor = __webpack_require__("5c6c");
var toIndexedObject = __webpack_require__("fc6a");
var toPropertyKey = __webpack_require__("a04b");
var hasOwn = __webpack_require__("1a2d");
var IE8_DOM_DEFINE = __webpack_require__("0cfb");

// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
exports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
  O = toIndexedObject(O);
  P = toPropertyKey(P);
  if (IE8_DOM_DEFINE) try {
    return $getOwnPropertyDescriptor(O, P);
  } catch (error) { /* empty */ }
  if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);
};


/***/ }),

/***/ "078e":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_f5399dbc_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f799");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_f5399dbc_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_f5399dbc_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "07ac":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var $values = __webpack_require__("6f53").values;

// `Object.values` method
// https://tc39.es/ecma262/#sec-object.values
$({ target: 'Object', stat: true }, {
  values: function values(O) {
    return $values(O);
  }
});


/***/ }),

/***/ "07fa":
/***/ (function(module, exports, __webpack_require__) {

var toLength = __webpack_require__("50c4");

// `LengthOfArrayLike` abstract operation
// https://tc39.es/ecma262/#sec-lengthofarraylike
module.exports = function (obj) {
  return toLength(obj.length);
};


/***/ }),

/***/ "0828":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/bg_zt.c972df39.png";

/***/ }),

/***/ "0b25":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var toIntegerOrInfinity = __webpack_require__("5926");
var toLength = __webpack_require__("50c4");

var RangeError = global.RangeError;

// `ToIndex` abstract operation
// https://tc39.es/ecma262/#sec-toindex
module.exports = function (it) {
  if (it === undefined) return 0;
  var number = toIntegerOrInfinity(it);
  var length = toLength(number);
  if (number !== length) throw RangeError('Wrong length or index');
  return length;
};


/***/ }),

/***/ "0b42":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isArray = __webpack_require__("e8b5");
var isConstructor = __webpack_require__("68ee");
var isObject = __webpack_require__("861d");
var wellKnownSymbol = __webpack_require__("b622");

var SPECIES = wellKnownSymbol('species');
var Array = global.Array;

// a part of `ArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#sec-arrayspeciescreate
module.exports = function (originalArray) {
  var C;
  if (isArray(originalArray)) {
    C = originalArray.constructor;
    // cross-realm fallback
    if (isConstructor(C) && (C === Array || isArray(C.prototype))) C = undefined;
    else if (isObject(C)) {
      C = C[SPECIES];
      if (C === null) C = undefined;
    }
  } return C === undefined ? Array : C;
};


/***/ }),

/***/ "0cb2":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var toObject = __webpack_require__("7b0b");

var floor = Math.floor;
var charAt = uncurryThis(''.charAt);
var replace = uncurryThis(''.replace);
var stringSlice = uncurryThis(''.slice);
var SUBSTITUTION_SYMBOLS = /\$([$&'`]|\d{1,2}|<[^>]*>)/g;
var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&'`]|\d{1,2})/g;

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


/***/ }),

/***/ "0cfb":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var fails = __webpack_require__("d039");
var createElement = __webpack_require__("cc12");

// Thanks to IE8 for its funny defineProperty
module.exports = !DESCRIPTORS && !fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty(createElement('div'), 'a', {
    get: function () { return 7; }
  }).a != 7;
});


/***/ }),

/***/ "0d3b":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var wellKnownSymbol = __webpack_require__("b622");
var IS_PURE = __webpack_require__("c430");

var ITERATOR = wellKnownSymbol('iterator');

module.exports = !fails(function () {
  // eslint-disable-next-line unicorn/relative-url-style -- required for testing
  var url = new URL('b?a=1&b=2&c=3', 'http://a');
  var searchParams = url.searchParams;
  var result = '';
  url.pathname = 'c%20d';
  searchParams.forEach(function (value, key) {
    searchParams['delete']('b');
    result += key + value;
  });
  return (IS_PURE && !url.toJSON)
    || !searchParams.sort
    || url.href !== 'http://a/c%20d?a=1&c=3'
    || searchParams.get('c') !== '3'
    || String(new URLSearchParams('?a=1')) !== 'a=1'
    || !searchParams[ITERATOR]
    // throws in Edge
    || new URL('https://a@b').username !== 'a'
    || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b'
    // not punycoded in Edge
    || new URL('http://тест').host !== 'xn--e1aybc'
    // not escaped in Chrome 62-
    || new URL('http://a#б').hash !== '#%D0%B1'
    // fails in Chrome 66-
    || result !== 'a1c3'
    // throws in Safari
    || new URL('http://x', undefined).host !== 'x';
});


/***/ }),

/***/ "0d51":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

var String = global.String;

module.exports = function (argument) {
  try {
    return String(argument);
  } catch (error) {
    return 'Object';
  }
};


/***/ }),

/***/ "0d6c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e4fa");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "0f67":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonCertDialog_vue_vue_type_style_index_0_id_a7b2fd34_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a534");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonCertDialog_vue_vue_type_style_index_0_id_a7b2fd34_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonCertDialog_vue_vue_type_style_index_0_id_a7b2fd34_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ 1:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ 10:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "107c":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var global = __webpack_require__("da84");

// babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
var $RegExp = global.RegExp;

module.exports = fails(function () {
  var re = $RegExp('(?<a>b)', 'g');
  return re.exec('b').groups.a !== 'b' ||
    'b'.replace(re, '$<a>c') !== 'bc';
});


/***/ }),

/***/ 11:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "1148":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var toIntegerOrInfinity = __webpack_require__("5926");
var toString = __webpack_require__("577e");
var requireObjectCoercible = __webpack_require__("1d80");

var RangeError = global.RangeError;

// `String.prototype.repeat` method implementation
// https://tc39.es/ecma262/#sec-string.prototype.repeat
module.exports = function repeat(count) {
  var str = toString(requireObjectCoercible(this));
  var result = '';
  var n = toIntegerOrInfinity(count);
  if (n < 0 || n == Infinity) throw RangeError('Wrong number of repetitions');
  for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) result += str;
  return result;
};


/***/ }),

/***/ "1204":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TableBlock_vue_vue_type_style_index_0_id_ca31104a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1a36");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TableBlock_vue_vue_type_style_index_0_id_ca31104a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TableBlock_vue_vue_type_style_index_0_id_ca31104a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "1276":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var apply = __webpack_require__("2ba4");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784");
var isRegExp = __webpack_require__("44e7");
var anObject = __webpack_require__("825a");
var requireObjectCoercible = __webpack_require__("1d80");
var speciesConstructor = __webpack_require__("4840");
var advanceStringIndex = __webpack_require__("8aa5");
var toLength = __webpack_require__("50c4");
var toString = __webpack_require__("577e");
var getMethod = __webpack_require__("dc4a");
var arraySlice = __webpack_require__("4dae");
var callRegExpExec = __webpack_require__("14c3");
var regexpExec = __webpack_require__("9263");
var stickyHelpers = __webpack_require__("9f7f");
var fails = __webpack_require__("d039");

var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;
var MAX_UINT32 = 0xFFFFFFFF;
var min = Math.min;
var $push = [].push;
var exec = uncurryThis(/./.exec);
var push = uncurryThis($push);
var stringSlice = uncurryThis(''.slice);

// Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec
// Weex JS has frozen built-in prototypes, so use try / catch wrapper
var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {
  // eslint-disable-next-line regexp/no-empty-group -- required for testing
  var re = /(?:)/;
  var originalExec = re.exec;
  re.exec = function () { return originalExec.apply(this, arguments); };
  var result = 'ab'.split(re);
  return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';
});

// @@split logic
fixRegExpWellKnownSymbolLogic('split', function (SPLIT, nativeSplit, maybeCallNative) {
  var internalSplit;
  if (
    'abbc'.split(/(b)*/)[1] == 'c' ||
    // eslint-disable-next-line regexp/no-empty-group -- required for testing
    'test'.split(/(?:)/, -1).length != 4 ||
    'ab'.split(/(?:ab)*/).length != 2 ||
    '.'.split(/(.?)(.?)/).length != 4 ||
    // eslint-disable-next-line regexp/no-empty-capturing-group, regexp/no-empty-group -- required for testing
    '.'.split(/()()/).length > 1 ||
    ''.split(/.?/).length
  ) {
    // based on es5-shim implementation, need to rework it
    internalSplit = function (separator, limit) {
      var string = toString(requireObjectCoercible(this));
      var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;
      if (lim === 0) return [];
      if (separator === undefined) return [string];
      // If `separator` is not a regex, use native split
      if (!isRegExp(separator)) {
        return call(nativeSplit, string, separator, lim);
      }
      var output = [];
      var flags = (separator.ignoreCase ? 'i' : '') +
                  (separator.multiline ? 'm' : '') +
                  (separator.unicode ? 'u' : '') +
                  (separator.sticky ? 'y' : '');
      var lastLastIndex = 0;
      // Make `global` and avoid `lastIndex` issues by working with a copy
      var separatorCopy = new RegExp(separator.source, flags + 'g');
      var match, lastIndex, lastLength;
      while (match = call(regexpExec, separatorCopy, string)) {
        lastIndex = separatorCopy.lastIndex;
        if (lastIndex > lastLastIndex) {
          push(output, stringSlice(string, lastLastIndex, match.index));
          if (match.length > 1 && match.index < string.length) apply($push, output, arraySlice(match, 1));
          lastLength = match[0].length;
          lastLastIndex = lastIndex;
          if (output.length >= lim) break;
        }
        if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // Avoid an infinite loop
      }
      if (lastLastIndex === string.length) {
        if (lastLength || !exec(separatorCopy, '')) push(output, '');
      } else push(output, stringSlice(string, lastLastIndex));
      return output.length > lim ? arraySlice(output, 0, lim) : output;
    };
  // Chakra, V8
  } else if ('0'.split(undefined, 0).length) {
    internalSplit = function (separator, limit) {
      return separator === undefined && limit === 0 ? [] : call(nativeSplit, this, separator, limit);
    };
  } else internalSplit = nativeSplit;

  return [
    // `String.prototype.split` method
    // https://tc39.es/ecma262/#sec-string.prototype.split
    function split(separator, limit) {
      var O = requireObjectCoercible(this);
      var splitter = separator == undefined ? undefined : getMethod(separator, SPLIT);
      return splitter
        ? call(splitter, separator, O, limit)
        : call(internalSplit, toString(O), separator, limit);
    },
    // `RegExp.prototype[@@split]` method
    // https://tc39.es/ecma262/#sec-regexp.prototype-@@split
    //
    // NOTE: This cannot be properly polyfilled in engines that don't support
    // the 'y' flag.
    function (string, limit) {
      var rx = anObject(this);
      var S = toString(string);
      var res = maybeCallNative(internalSplit, rx, S, limit, internalSplit !== nativeSplit);

      if (res.done) return res.value;

      var C = speciesConstructor(rx, RegExp);

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

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


/***/ }),

/***/ "129f":
/***/ (function(module, exports) {

// `SameValue` abstract operation
// https://tc39.es/ecma262/#sec-samevalue
// eslint-disable-next-line es/no-object-is -- safe
module.exports = Object.is || function is(x, y) {
  // eslint-disable-next-line no-self-compare -- NaN check
  return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;
};


/***/ }),

/***/ "1448":
/***/ (function(module, exports, __webpack_require__) {

var arrayFromConstructorAndList = __webpack_require__("dfb9");
var typedArraySpeciesConstructor = __webpack_require__("b6b7");

module.exports = function (instance, list) {
  return arrayFromConstructorAndList(typedArraySpeciesConstructor(instance), list);
};


/***/ }),

/***/ "145e":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toObject = __webpack_require__("7b0b");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");

var min = Math.min;

// `Array.prototype.copyWithin` method implementation
// https://tc39.es/ecma262/#sec-array.prototype.copywithin
// eslint-disable-next-line es/no-array-prototype-copywithin -- safe
module.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {
  var O = toObject(this);
  var len = lengthOfArrayLike(O);
  var to = toAbsoluteIndex(target, len);
  var from = toAbsoluteIndex(start, len);
  var end = arguments.length > 2 ? arguments[2] : undefined;
  var count = min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);
  var inc = 1;
  if (from < to && to < from + count) {
    inc = -1;
    from += count - 1;
    to += count - 1;
  }
  while (count-- > 0) {
    if (from in O) O[to] = O[from];
    else delete O[to];
    to += inc;
    from += inc;
  } return O;
};


/***/ }),

/***/ "14c3":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var anObject = __webpack_require__("825a");
var isCallable = __webpack_require__("1626");
var classof = __webpack_require__("c6b6");
var regexpExec = __webpack_require__("9263");

var TypeError = global.TypeError;

// `RegExpExec` abstract operation
// https://tc39.es/ecma262/#sec-regexpexec
module.exports = function (R, S) {
  var exec = R.exec;
  if (isCallable(exec)) {
    var result = call(exec, R, S);
    if (result !== null) anObject(result);
    return result;
  }
  if (classof(R) === 'RegExp') return call(regexpExec, R, S);
  throw TypeError('RegExp#exec called on incompatible receiver');
};


/***/ }),

/***/ "159b":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var DOMIterables = __webpack_require__("fdbc");
var DOMTokenListPrototype = __webpack_require__("785a");
var forEach = __webpack_require__("17c2");
var createNonEnumerableProperty = __webpack_require__("9112");

var handlePrototype = function (CollectionPrototype) {
  // some Chrome versions have non-configurable methods on DOMTokenList
  if (CollectionPrototype && CollectionPrototype.forEach !== forEach) try {
    createNonEnumerableProperty(CollectionPrototype, 'forEach', forEach);
  } catch (error) {
    CollectionPrototype.forEach = forEach;
  }
};

for (var COLLECTION_NAME in DOMIterables) {
  if (DOMIterables[COLLECTION_NAME]) {
    handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype);
  }
}

handlePrototype(DOMTokenListPrototype);


/***/ }),

/***/ "15f7":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "1626":
/***/ (function(module, exports) {

// `IsCallable` abstract operation
// https://tc39.es/ecma262/#sec-iscallable
module.exports = function (argument) {
  return typeof argument == 'function';
};


/***/ }),

/***/ "170b":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var toLength = __webpack_require__("50c4");
var toAbsoluteIndex = __webpack_require__("23cb");
var typedArraySpeciesConstructor = __webpack_require__("b6b7");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.subarray` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.subarray
exportTypedArrayMethod('subarray', function subarray(begin, end) {
  var O = aTypedArray(this);
  var length = O.length;
  var beginIndex = toAbsoluteIndex(begin, length);
  var C = typedArraySpeciesConstructor(O);
  return new C(
    O.buffer,
    O.byteOffset + beginIndex * O.BYTES_PER_ELEMENT,
    toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - beginIndex)
  );
});


/***/ }),

/***/ "17c2":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $forEach = __webpack_require__("b727").forEach;
var arrayMethodIsStrict = __webpack_require__("a640");

var STRICT_METHOD = arrayMethodIsStrict('forEach');

// `Array.prototype.forEach` method implementation
// https://tc39.es/ecma262/#sec-array.prototype.foreach
module.exports = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) {
  return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
// eslint-disable-next-line es/no-array-prototype-foreach -- safe
} : [].forEach;


/***/ }),

/***/ "182c":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "182d":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var toPositiveInteger = __webpack_require__("f8cd");

var RangeError = global.RangeError;

module.exports = function (it, BYTES) {
  var offset = toPositiveInteger(it);
  if (offset % BYTES) throw RangeError('Wrong offset');
  return offset;
};


/***/ }),

/***/ "191f":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "19aa":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isPrototypeOf = __webpack_require__("3a9b");

var TypeError = global.TypeError;

module.exports = function (it, Prototype) {
  if (isPrototypeOf(Prototype, it)) return it;
  throw TypeError('Incorrect invocation');
};


/***/ }),

/***/ "19f0":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Title_vue_vue_type_style_index_0_id_6cb38606_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d1c5");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Title_vue_vue_type_style_index_0_id_6cb38606_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Title_vue_vue_type_style_index_0_id_6cb38606_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "1a2d":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var toObject = __webpack_require__("7b0b");

var hasOwnProperty = uncurryThis({}.hasOwnProperty);

// `HasOwnProperty` abstract operation
// https://tc39.es/ecma262/#sec-hasownproperty
module.exports = Object.hasOwn || function hasOwn(it, key) {
  return hasOwnProperty(toObject(it), key);
};


/***/ }),

/***/ "1a36":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "1aed":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "1be4":
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__("d066");

module.exports = getBuiltIn('document', 'documentElement');


/***/ }),

/***/ "1c7e":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");

var ITERATOR = wellKnownSymbol('iterator');
var SAFE_CLOSING = false;

try {
  var called = 0;
  var iteratorWithReturn = {
    next: function () {
      return { done: !!called++ };
    },
    'return': function () {
      SAFE_CLOSING = true;
    }
  };
  iteratorWithReturn[ITERATOR] = function () {
    return this;
  };
  // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing
  Array.from(iteratorWithReturn, function () { throw 2; });
} catch (error) { /* empty */ }

module.exports = function (exec, SKIP_CLOSING) {
  if (!SKIP_CLOSING && !SAFE_CLOSING) return false;
  var ITERATION_SUPPORT = false;
  try {
    var object = {};
    object[ITERATOR] = function () {
      return {
        next: function () {
          return { done: ITERATION_SUPPORT = true };
        }
      };
    };
    exec(object);
  } catch (error) { /* empty */ }
  return ITERATION_SUPPORT;
};


/***/ }),

/***/ "1cdc":
/***/ (function(module, exports, __webpack_require__) {

var userAgent = __webpack_require__("342f");

module.exports = /(?:ipad|iphone|ipod).*applewebkit/i.test(userAgent);


/***/ }),

/***/ "1d80":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

var TypeError = global.TypeError;

// `RequireObjectCoercible` abstract operation
// https://tc39.es/ecma262/#sec-requireobjectcoercible
module.exports = function (it) {
  if (it == undefined) throw TypeError("Can't call method on " + it);
  return it;
};


/***/ }),

/***/ "1dde":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var wellKnownSymbol = __webpack_require__("b622");
var V8_VERSION = __webpack_require__("2d00");

var SPECIES = wellKnownSymbol('species');

module.exports = function (METHOD_NAME) {
  // We can't use this feature detection in V8 since it causes
  // deoptimization and serious performance degradation
  // https://github.com/zloirock/core-js/issues/677
  return V8_VERSION >= 51 || !fails(function () {
    var array = [];
    var constructor = array.constructor = {};
    constructor[SPECIES] = function () {
      return { foo: 1 };
    };
    return array[METHOD_NAME](Boolean).foo !== 1;
  });
};


/***/ }),

/***/ "1e8d":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/bg_oa.9c4c3256.png";

/***/ }),

/***/ "1eef":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "1fb5":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


exports.byteLength = byteLength
exports.toByteArray = toByteArray
exports.fromByteArray = fromByteArray

var lookup = []
var revLookup = []
var Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array

var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'
for (var i = 0, len = code.length; i < len; ++i) {
  lookup[i] = code[i]
  revLookup[code.charCodeAt(i)] = i
}

// Support decoding URL-safe base64 strings, as Node.js does.
// See: https://en.wikipedia.org/wiki/Base64#URL_applications
revLookup['-'.charCodeAt(0)] = 62
revLookup['_'.charCodeAt(0)] = 63

function getLens (b64) {
  var len = b64.length

  if (len % 4 > 0) {
    throw new Error('Invalid string. Length must be a multiple of 4')
  }

  // Trim off extra bytes after placeholder bytes are found
  // See: https://github.com/beatgammit/base64-js/issues/42
  var validLen = b64.indexOf('=')
  if (validLen === -1) validLen = len

  var placeHoldersLen = validLen === len
    ? 0
    : 4 - (validLen % 4)

  return [validLen, placeHoldersLen]
}

// base64 is 4/3 + up to two characters of the original data
function byteLength (b64) {
  var lens = getLens(b64)
  var validLen = lens[0]
  var placeHoldersLen = lens[1]
  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}

function _byteLength (b64, validLen, placeHoldersLen) {
  return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen
}

function toByteArray (b64) {
  var tmp
  var lens = getLens(b64)
  var validLen = lens[0]
  var placeHoldersLen = lens[1]

  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))

  var curByte = 0

  // if there are placeholders, only get up to the last complete 4 chars
  var len = placeHoldersLen > 0
    ? validLen - 4
    : validLen

  var i
  for (i = 0; i < len; i += 4) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 18) |
      (revLookup[b64.charCodeAt(i + 1)] << 12) |
      (revLookup[b64.charCodeAt(i + 2)] << 6) |
      revLookup[b64.charCodeAt(i + 3)]
    arr[curByte++] = (tmp >> 16) & 0xFF
    arr[curByte++] = (tmp >> 8) & 0xFF
    arr[curByte++] = tmp & 0xFF
  }

  if (placeHoldersLen === 2) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 2) |
      (revLookup[b64.charCodeAt(i + 1)] >> 4)
    arr[curByte++] = tmp & 0xFF
  }

  if (placeHoldersLen === 1) {
    tmp =
      (revLookup[b64.charCodeAt(i)] << 10) |
      (revLookup[b64.charCodeAt(i + 1)] << 4) |
      (revLookup[b64.charCodeAt(i + 2)] >> 2)
    arr[curByte++] = (tmp >> 8) & 0xFF
    arr[curByte++] = tmp & 0xFF
  }

  return arr
}

function tripletToBase64 (num) {
  return lookup[num >> 18 & 0x3F] +
    lookup[num >> 12 & 0x3F] +
    lookup[num >> 6 & 0x3F] +
    lookup[num & 0x3F]
}

function encodeChunk (uint8, start, end) {
  var tmp
  var output = []
  for (var i = start; i < end; i += 3) {
    tmp =
      ((uint8[i] << 16) & 0xFF0000) +
      ((uint8[i + 1] << 8) & 0xFF00) +
      (uint8[i + 2] & 0xFF)
    output.push(tripletToBase64(tmp))
  }
  return output.join('')
}

function fromByteArray (uint8) {
  var tmp
  var len = uint8.length
  var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes
  var parts = []
  var maxChunkLength = 16383 // must be multiple of 3

  // go through the array every three bytes, we'll deal with trailing stuff later
  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {
    parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))
  }

  // pad the end with zeros, but make sure to not forget the extra bytes
  if (extraBytes === 1) {
    tmp = uint8[len - 1]
    parts.push(
      lookup[tmp >> 2] +
      lookup[(tmp << 4) & 0x3F] +
      '=='
    )
  } else if (extraBytes === 2) {
    tmp = (uint8[len - 2] << 8) + uint8[len - 1]
    parts.push(
      lookup[tmp >> 10] +
      lookup[(tmp >> 4) & 0x3F] +
      lookup[(tmp << 2) & 0x3F] +
      '='
    )
  }

  return parts.join('')
}


/***/ }),

/***/ 2:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "2005":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "219c":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var fails = __webpack_require__("d039");
var aCallable = __webpack_require__("59ed");
var internalSort = __webpack_require__("addb");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var FF = __webpack_require__("04d1");
var IE_OR_EDGE = __webpack_require__("d998");
var V8 = __webpack_require__("2d00");
var WEBKIT = __webpack_require__("512c");

var Array = global.Array;
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var Uint16Array = global.Uint16Array;
var un$Sort = Uint16Array && uncurryThis(Uint16Array.prototype.sort);

// WebKit
var ACCEPT_INCORRECT_ARGUMENTS = !!un$Sort && !(fails(function () {
  un$Sort(new Uint16Array(2), null);
}) && fails(function () {
  un$Sort(new Uint16Array(2), {});
}));

var STABLE_SORT = !!un$Sort && !fails(function () {
  // feature detection can be too slow, so check engines versions
  if (V8) return V8 < 74;
  if (FF) return FF < 67;
  if (IE_OR_EDGE) return true;
  if (WEBKIT) return WEBKIT < 602;

  var array = new Uint16Array(516);
  var expected = Array(516);
  var index, mod;

  for (index = 0; index < 516; index++) {
    mod = index % 4;
    array[index] = 515 - index;
    expected[index] = index - 2 * mod + 3;
  }

  un$Sort(array, function (a, b) {
    return (a / 4 | 0) - (b / 4 | 0);
  });

  for (index = 0; index < 516; index++) {
    if (array[index] !== expected[index]) return true;
  }
});

var getSortCompare = function (comparefn) {
  return function (x, y) {
    if (comparefn !== undefined) return +comparefn(x, y) || 0;
    // eslint-disable-next-line no-self-compare -- NaN check
    if (y !== y) return -1;
    // eslint-disable-next-line no-self-compare -- NaN check
    if (x !== x) return 1;
    if (x === 0 && y === 0) return 1 / x > 0 && 1 / y < 0 ? 1 : -1;
    return x > y;
  };
};

// `%TypedArray%.prototype.sort` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.sort
exportTypedArrayMethod('sort', function sort(comparefn) {
  if (comparefn !== undefined) aCallable(comparefn);
  if (STABLE_SORT) return un$Sort(this, comparefn);

  return internalSort(aTypedArray(this), getSortCompare(comparefn));
}, !STABLE_SORT || ACCEPT_INCORRECT_ARGUMENTS);


/***/ }),

/***/ "21bb":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_3a43744e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("83da");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_3a43744e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_3a43744e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "21bd":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Search_vue_vue_type_style_index_0_id_8c09caa2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("5b93");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Search_vue_vue_type_style_index_0_id_8c09caa2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Search_vue_vue_type_style_index_0_id_8c09caa2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "2266":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var bind = __webpack_require__("0366");
var call = __webpack_require__("c65b");
var anObject = __webpack_require__("825a");
var tryToString = __webpack_require__("0d51");
var isArrayIteratorMethod = __webpack_require__("e95a");
var lengthOfArrayLike = __webpack_require__("07fa");
var isPrototypeOf = __webpack_require__("3a9b");
var getIterator = __webpack_require__("9a1f");
var getIteratorMethod = __webpack_require__("35a1");
var iteratorClose = __webpack_require__("2a62");

var TypeError = global.TypeError;

var Result = function (stopped, result) {
  this.stopped = stopped;
  this.result = result;
};

var ResultPrototype = Result.prototype;

module.exports = function (iterable, unboundFunction, options) {
  var that = options && options.that;
  var AS_ENTRIES = !!(options && options.AS_ENTRIES);
  var IS_ITERATOR = !!(options && options.IS_ITERATOR);
  var INTERRUPTED = !!(options && options.INTERRUPTED);
  var fn = bind(unboundFunction, that);
  var iterator, iterFn, index, length, result, next, step;

  var stop = function (condition) {
    if (iterator) iteratorClose(iterator, 'normal', condition);
    return new Result(true, condition);
  };

  var callFn = function (value) {
    if (AS_ENTRIES) {
      anObject(value);
      return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
    } return INTERRUPTED ? fn(value, stop) : fn(value);
  };

  if (IS_ITERATOR) {
    iterator = iterable;
  } else {
    iterFn = getIteratorMethod(iterable);
    if (!iterFn) throw TypeError(tryToString(iterable) + ' is not iterable');
    // optimisation for array iterators
    if (isArrayIteratorMethod(iterFn)) {
      for (index = 0, length = lengthOfArrayLike(iterable); length > index; index++) {
        result = callFn(iterable[index]);
        if (result && isPrototypeOf(ResultPrototype, result)) return result;
      } return new Result(false);
    }
    iterator = getIterator(iterable, iterFn);
  }

  next = iterator.next;
  while (!(step = call(next, iterator)).done) {
    try {
      result = callFn(step.value);
    } catch (error) {
      iteratorClose(iterator, 'throw', error);
    }
    if (typeof result == 'object' && result && isPrototypeOf(ResultPrototype, result)) return result;
  } return new Result(false);
};


/***/ }),

/***/ "2347":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "23cb":
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__("5926");

var max = Math.max;
var min = Math.min;

// Helper for a popular repeating case of the spec:
// Let integer be ? ToInteger(index).
// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).
module.exports = function (index, length) {
  var integer = toIntegerOrInfinity(index);
  return integer < 0 ? max(integer + length, 0) : min(integer, length);
};


/***/ }),

/***/ "23e7":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var getOwnPropertyDescriptor = __webpack_require__("06cf").f;
var createNonEnumerableProperty = __webpack_require__("9112");
var redefine = __webpack_require__("6eeb");
var setGlobal = __webpack_require__("ce4e");
var copyConstructorProperties = __webpack_require__("e893");
var isForced = __webpack_require__("94ca");

/*
  options.target      - name of the target object
  options.global      - target is the global object
  options.stat        - export as static methods of target
  options.proto       - export as prototype methods of target
  options.real        - real prototype method for the `pure` version
  options.forced      - export even if the native feature is available
  options.bind        - bind methods to the target, required for the `pure` version
  options.wrap        - wrap constructors to preventing global pollution, required for the `pure` version
  options.unsafe      - use the simple assignment of property instead of delete + defineProperty
  options.sham        - add a flag to not completely full polyfills
  options.enumerable  - export as enumerable property
  options.noTargetGet - prevent calling a getter on target
  options.name        - the .name of the function if it does not match the key
*/
module.exports = function (options, source) {
  var TARGET = options.target;
  var GLOBAL = options.global;
  var STATIC = options.stat;
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
  if (GLOBAL) {
    target = global;
  } else if (STATIC) {
    target = global[TARGET] || setGlobal(TARGET, {});
  } else {
    target = (global[TARGET] || {}).prototype;
  }
  if (target) for (key in source) {
    sourceProperty = source[key];
    if (options.noTargetGet) {
      descriptor = getOwnPropertyDescriptor(target, key);
      targetProperty = descriptor && descriptor.value;
    } else targetProperty = target[key];
    FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
    // contained in target
    if (!FORCED && targetProperty !== undefined) {
      if (typeof sourceProperty == typeof targetProperty) continue;
      copyConstructorProperties(sourceProperty, targetProperty);
    }
    // add a flag to not completely full polyfills
    if (options.sham || (targetProperty && targetProperty.sham)) {
      createNonEnumerableProperty(sourceProperty, 'sham', true);
    }
    // extend global
    redefine(target, key, sourceProperty, options);
  }
};


/***/ }),

/***/ "241c":
/***/ (function(module, exports, __webpack_require__) {

var internalObjectKeys = __webpack_require__("ca84");
var enumBugKeys = __webpack_require__("7839");

var hiddenKeys = enumBugKeys.concat('length', 'prototype');

// `Object.getOwnPropertyNames` method
// https://tc39.es/ecma262/#sec-object.getownpropertynames
// eslint-disable-next-line es/no-object-getownpropertynames -- safe
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
  return internalObjectKeys(O, hiddenKeys);
};


/***/ }),

/***/ "2532":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var uncurryThis = __webpack_require__("e330");
var notARegExp = __webpack_require__("5a34");
var requireObjectCoercible = __webpack_require__("1d80");
var toString = __webpack_require__("577e");
var correctIsRegExpLogic = __webpack_require__("ab13");

var stringIndexOf = uncurryThis(''.indexOf);

// `String.prototype.includes` method
// https://tc39.es/ecma262/#sec-string.prototype.includes
$({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
  includes: function includes(searchString /* , position = 0 */) {
    return !!~stringIndexOf(
      toString(requireObjectCoercible(this)),
      toString(notARegExp(searchString)),
      arguments.length > 1 ? arguments[1] : undefined
    );
  }
});


/***/ }),

/***/ "25a1":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $reduceRight = __webpack_require__("d58f").right;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.reduceRicht` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduceright
exportTypedArrayMethod('reduceRight', function reduceRight(callbackfn /* , initialValue */) {
  var length = arguments.length;
  return $reduceRight(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "25f0":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__("e330");
var PROPER_FUNCTION_NAME = __webpack_require__("5e77").PROPER;
var redefine = __webpack_require__("6eeb");
var anObject = __webpack_require__("825a");
var isPrototypeOf = __webpack_require__("3a9b");
var $toString = __webpack_require__("577e");
var fails = __webpack_require__("d039");
var regExpFlags = __webpack_require__("ad6d");

var TO_STRING = 'toString';
var RegExpPrototype = RegExp.prototype;
var n$ToString = RegExpPrototype[TO_STRING];
var getFlags = uncurryThis(regExpFlags);

var NOT_GENERIC = fails(function () { return n$ToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
// FF44- RegExp#toString has a wrong name
var INCORRECT_NAME = PROPER_FUNCTION_NAME && n$ToString.name != TO_STRING;

// `RegExp.prototype.toString` method
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
if (NOT_GENERIC || INCORRECT_NAME) {
  redefine(RegExp.prototype, TO_STRING, function toString() {
    var R = anObject(this);
    var p = $toString(R.source);
    var rf = R.flags;
    var f = $toString(rf === undefined && isPrototypeOf(RegExpPrototype, R) && !('flags' in RegExpPrototype) ? getFlags(R) : rf);
    return '/' + p + '/' + f;
  }, { unsafe: true });
}


/***/ }),

/***/ "2626":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var getBuiltIn = __webpack_require__("d066");
var definePropertyModule = __webpack_require__("9bf2");
var wellKnownSymbol = __webpack_require__("b622");
var DESCRIPTORS = __webpack_require__("83ab");

var SPECIES = wellKnownSymbol('species');

module.exports = function (CONSTRUCTOR_NAME) {
  var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
  var defineProperty = definePropertyModule.f;

  if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
    defineProperty(Constructor, SPECIES, {
      configurable: true,
      get: function () { return this; }
    });
  }
};


/***/ }),

/***/ "27d1":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DropdownUnit_vue_vue_type_style_index_0_id_1c043ce1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c356");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DropdownUnit_vue_vue_type_style_index_0_id_1c043ce1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DropdownUnit_vue_vue_type_style_index_0_id_1c043ce1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "2954":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var typedArraySpeciesConstructor = __webpack_require__("b6b7");
var fails = __webpack_require__("d039");
var arraySlice = __webpack_require__("f36a");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

var FORCED = fails(function () {
  // eslint-disable-next-line es/no-typed-arrays -- required for testing
  new Int8Array(1).slice();
});

// `%TypedArray%.prototype.slice` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice
exportTypedArrayMethod('slice', function slice(start, end) {
  var list = arraySlice(aTypedArray(this), start, end);
  var C = typedArraySpeciesConstructor(this);
  var index = 0;
  var length = list.length;
  var result = new C(length);
  while (length > index) result[index] = list[index++];
  return result;
}, FORCED);


/***/ }),

/***/ "29fa":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgIcon_vue_vue_type_style_index_0_id_ef2fb544_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e79d");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgIcon_vue_vue_type_style_index_0_id_ef2fb544_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SvgIcon_vue_vue_type_style_index_0_id_ef2fb544_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "2a62":
/***/ (function(module, exports, __webpack_require__) {

var call = __webpack_require__("c65b");
var anObject = __webpack_require__("825a");
var getMethod = __webpack_require__("dc4a");

module.exports = function (iterator, kind, value) {
  var innerResult, innerError;
  anObject(iterator);
  try {
    innerResult = getMethod(iterator, 'return');
    if (!innerResult) {
      if (kind === 'throw') throw value;
      return value;
    }
    innerResult = call(innerResult, iterator);
  } catch (error) {
    innerError = true;
    innerResult = error;
  }
  if (kind === 'throw') throw value;
  if (innerError) throw innerResult;
  anObject(innerResult);
  return value;
};


/***/ }),

/***/ "2b3d":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
__webpack_require__("3ca3");
var $ = __webpack_require__("23e7");
var DESCRIPTORS = __webpack_require__("83ab");
var USE_NATIVE_URL = __webpack_require__("0d3b");
var global = __webpack_require__("da84");
var bind = __webpack_require__("0366");
var uncurryThis = __webpack_require__("e330");
var defineProperties = __webpack_require__("37e8").f;
var redefine = __webpack_require__("6eeb");
var anInstance = __webpack_require__("19aa");
var hasOwn = __webpack_require__("1a2d");
var assign = __webpack_require__("60da");
var arrayFrom = __webpack_require__("4df4");
var arraySlice = __webpack_require__("4dae");
var codeAt = __webpack_require__("6547").codeAt;
var toASCII = __webpack_require__("5fb2");
var $toString = __webpack_require__("577e");
var setToStringTag = __webpack_require__("d44e");
var validateArgumentsLength = __webpack_require__("d6d6");
var URLSearchParamsModule = __webpack_require__("9861");
var InternalStateModule = __webpack_require__("69f3");

var setInternalState = InternalStateModule.set;
var getInternalURLState = InternalStateModule.getterFor('URL');
var URLSearchParams = URLSearchParamsModule.URLSearchParams;
var getInternalSearchParamsState = URLSearchParamsModule.getState;

var NativeURL = global.URL;
var TypeError = global.TypeError;
var parseInt = global.parseInt;
var floor = Math.floor;
var pow = Math.pow;
var charAt = uncurryThis(''.charAt);
var exec = uncurryThis(/./.exec);
var join = uncurryThis([].join);
var numberToString = uncurryThis(1.0.toString);
var pop = uncurryThis([].pop);
var push = uncurryThis([].push);
var replace = uncurryThis(''.replace);
var shift = uncurryThis([].shift);
var split = uncurryThis(''.split);
var stringSlice = uncurryThis(''.slice);
var toLowerCase = uncurryThis(''.toLowerCase);
var unshift = uncurryThis([].unshift);

var INVALID_AUTHORITY = 'Invalid authority';
var INVALID_SCHEME = 'Invalid scheme';
var INVALID_HOST = 'Invalid host';
var INVALID_PORT = 'Invalid port';

var ALPHA = /[a-z]/i;
// eslint-disable-next-line regexp/no-obscure-range -- safe
var ALPHANUMERIC = /[\d+-.a-z]/i;
var DIGIT = /\d/;
var HEX_START = /^0x/i;
var OCT = /^[0-7]+$/;
var DEC = /^\d+$/;
var HEX = /^[\da-f]+$/i;
/* eslint-disable regexp/no-control-character -- safe */
var FORBIDDEN_HOST_CODE_POINT = /[\0\t\n\r #%/:<>?@[\\\]^|]/;
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\0\t\n\r #/:<>?@[\\\]^|]/;
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u0020]+|[\u0000-\u0020]+$/g;
var TAB_AND_NEW_LINE = /[\t\n\r]/g;
/* eslint-enable regexp/no-control-character -- safe */
var EOF;

// https://url.spec.whatwg.org/#ipv4-number-parser
var parseIPv4 = function (input) {
  var parts = split(input, '.');
  var partsLength, numbers, index, part, radix, number, ipv4;
  if (parts.length && parts[parts.length - 1] == '') {
    parts.length--;
  }
  partsLength = parts.length;
  if (partsLength > 4) return input;
  numbers = [];
  for (index = 0; index < partsLength; index++) {
    part = parts[index];
    if (part == '') return input;
    radix = 10;
    if (part.length > 1 && charAt(part, 0) == '0') {
      radix = exec(HEX_START, part) ? 16 : 8;
      part = stringSlice(part, radix == 8 ? 1 : 2);
    }
    if (part === '') {
      number = 0;
    } else {
      if (!exec(radix == 10 ? DEC : radix == 8 ? OCT : HEX, part)) return input;
      number = parseInt(part, radix);
    }
    push(numbers, number);
  }
  for (index = 0; index < partsLength; index++) {
    number = numbers[index];
    if (index == partsLength - 1) {
      if (number >= pow(256, 5 - partsLength)) return null;
    } else if (number > 255) return null;
  }
  ipv4 = pop(numbers);
  for (index = 0; index < numbers.length; index++) {
    ipv4 += numbers[index] * pow(256, 3 - index);
  }
  return ipv4;
};

// https://url.spec.whatwg.org/#concept-ipv6-parser
// eslint-disable-next-line max-statements -- TODO
var parseIPv6 = function (input) {
  var address = [0, 0, 0, 0, 0, 0, 0, 0];
  var pieceIndex = 0;
  var compress = null;
  var pointer = 0;
  var value, length, numbersSeen, ipv4Piece, number, swaps, swap;

  var chr = function () {
    return charAt(input, pointer);
  };

  if (chr() == ':') {
    if (charAt(input, 1) != ':') return;
    pointer += 2;
    pieceIndex++;
    compress = pieceIndex;
  }
  while (chr()) {
    if (pieceIndex == 8) return;
    if (chr() == ':') {
      if (compress !== null) return;
      pointer++;
      pieceIndex++;
      compress = pieceIndex;
      continue;
    }
    value = length = 0;
    while (length < 4 && exec(HEX, chr())) {
      value = value * 16 + parseInt(chr(), 16);
      pointer++;
      length++;
    }
    if (chr() == '.') {
      if (length == 0) return;
      pointer -= length;
      if (pieceIndex > 6) return;
      numbersSeen = 0;
      while (chr()) {
        ipv4Piece = null;
        if (numbersSeen > 0) {
          if (chr() == '.' && numbersSeen < 4) pointer++;
          else return;
        }
        if (!exec(DIGIT, chr())) return;
        while (exec(DIGIT, chr())) {
          number = parseInt(chr(), 10);
          if (ipv4Piece === null) ipv4Piece = number;
          else if (ipv4Piece == 0) return;
          else ipv4Piece = ipv4Piece * 10 + number;
          if (ipv4Piece > 255) return;
          pointer++;
        }
        address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
        numbersSeen++;
        if (numbersSeen == 2 || numbersSeen == 4) pieceIndex++;
      }
      if (numbersSeen != 4) return;
      break;
    } else if (chr() == ':') {
      pointer++;
      if (!chr()) return;
    } else if (chr()) return;
    address[pieceIndex++] = value;
  }
  if (compress !== null) {
    swaps = pieceIndex - compress;
    pieceIndex = 7;
    while (pieceIndex != 0 && swaps > 0) {
      swap = address[pieceIndex];
      address[pieceIndex--] = address[compress + swaps - 1];
      address[compress + --swaps] = swap;
    }
  } else if (pieceIndex != 8) return;
  return address;
};

var findLongestZeroSequence = function (ipv6) {
  var maxIndex = null;
  var maxLength = 1;
  var currStart = null;
  var currLength = 0;
  var index = 0;
  for (; index < 8; index++) {
    if (ipv6[index] !== 0) {
      if (currLength > maxLength) {
        maxIndex = currStart;
        maxLength = currLength;
      }
      currStart = null;
      currLength = 0;
    } else {
      if (currStart === null) currStart = index;
      ++currLength;
    }
  }
  if (currLength > maxLength) {
    maxIndex = currStart;
    maxLength = currLength;
  }
  return maxIndex;
};

// https://url.spec.whatwg.org/#host-serializing
var serializeHost = function (host) {
  var result, index, compress, ignore0;
  // ipv4
  if (typeof host == 'number') {
    result = [];
    for (index = 0; index < 4; index++) {
      unshift(result, host % 256);
      host = floor(host / 256);
    } return join(result, '.');
  // ipv6
  } else if (typeof host == 'object') {
    result = '';
    compress = findLongestZeroSequence(host);
    for (index = 0; index < 8; index++) {
      if (ignore0 && host[index] === 0) continue;
      if (ignore0) ignore0 = false;
      if (compress === index) {
        result += index ? ':' : '::';
        ignore0 = true;
      } else {
        result += numberToString(host[index], 16);
        if (index < 7) result += ':';
      }
    }
    return '[' + result + ']';
  } return host;
};

var C0ControlPercentEncodeSet = {};
var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
  ' ': 1, '"': 1, '<': 1, '>': 1, '`': 1
});
var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
  '#': 1, '?': 1, '{': 1, '}': 1
});
var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
  '/': 1, ':': 1, ';': 1, '=': 1, '@': 1, '[': 1, '\\': 1, ']': 1, '^': 1, '|': 1
});

var percentEncode = function (chr, set) {
  var code = codeAt(chr, 0);
  return code > 0x20 && code < 0x7F && !hasOwn(set, chr) ? chr : encodeURIComponent(chr);
};

// https://url.spec.whatwg.org/#special-scheme
var specialSchemes = {
  ftp: 21,
  file: null,
  http: 80,
  https: 443,
  ws: 80,
  wss: 443
};

// https://url.spec.whatwg.org/#windows-drive-letter
var isWindowsDriveLetter = function (string, normalized) {
  var second;
  return string.length == 2 && exec(ALPHA, charAt(string, 0))
    && ((second = charAt(string, 1)) == ':' || (!normalized && second == '|'));
};

// https://url.spec.whatwg.org/#start-with-a-windows-drive-letter
var startsWithWindowsDriveLetter = function (string) {
  var third;
  return string.length > 1 && isWindowsDriveLetter(stringSlice(string, 0, 2)) && (
    string.length == 2 ||
    ((third = charAt(string, 2)) === '/' || third === '\\' || third === '?' || third === '#')
  );
};

// https://url.spec.whatwg.org/#single-dot-path-segment
var isSingleDot = function (segment) {
  return segment === '.' || toLowerCase(segment) === '%2e';
};

// https://url.spec.whatwg.org/#double-dot-path-segment
var isDoubleDot = function (segment) {
  segment = toLowerCase(segment);
  return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
};

// States:
var SCHEME_START = {};
var SCHEME = {};
var NO_SCHEME = {};
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
var PATH_OR_AUTHORITY = {};
var RELATIVE = {};
var RELATIVE_SLASH = {};
var SPECIAL_AUTHORITY_SLASHES = {};
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
var AUTHORITY = {};
var HOST = {};
var HOSTNAME = {};
var PORT = {};
var FILE = {};
var FILE_SLASH = {};
var FILE_HOST = {};
var PATH_START = {};
var PATH = {};
var CANNOT_BE_A_BASE_URL_PATH = {};
var QUERY = {};
var FRAGMENT = {};

var URLState = function (url, isBase, base) {
  var urlString = $toString(url);
  var baseState, failure, searchParams;
  if (isBase) {
    failure = this.parse(urlString);
    if (failure) throw TypeError(failure);
    this.searchParams = null;
  } else {
    if (base !== undefined) baseState = new URLState(base, true);
    failure = this.parse(urlString, null, baseState);
    if (failure) throw TypeError(failure);
    searchParams = getInternalSearchParamsState(new URLSearchParams());
    searchParams.bindURL(this);
    this.searchParams = searchParams;
  }
};

URLState.prototype = {
  type: 'URL',
  // https://url.spec.whatwg.org/#url-parsing
  // eslint-disable-next-line max-statements -- TODO
  parse: function (input, stateOverride, base) {
    var url = this;
    var state = stateOverride || SCHEME_START;
    var pointer = 0;
    var buffer = '';
    var seenAt = false;
    var seenBracket = false;
    var seenPasswordToken = false;
    var codePoints, chr, bufferCodePoints, failure;

    input = $toString(input);

    if (!stateOverride) {
      url.scheme = '';
      url.username = '';
      url.password = '';
      url.host = null;
      url.port = null;
      url.path = [];
      url.query = null;
      url.fragment = null;
      url.cannotBeABaseURL = false;
      input = replace(input, LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
    }

    input = replace(input, TAB_AND_NEW_LINE, '');

    codePoints = arrayFrom(input);

    while (pointer <= codePoints.length) {
      chr = codePoints[pointer];
      switch (state) {
        case SCHEME_START:
          if (chr && exec(ALPHA, chr)) {
            buffer += toLowerCase(chr);
            state = SCHEME;
          } else if (!stateOverride) {
            state = NO_SCHEME;
            continue;
          } else return INVALID_SCHEME;
          break;

        case SCHEME:
          if (chr && (exec(ALPHANUMERIC, chr) || chr == '+' || chr == '-' || chr == '.')) {
            buffer += toLowerCase(chr);
          } else if (chr == ':') {
            if (stateOverride && (
              (url.isSpecial() != hasOwn(specialSchemes, buffer)) ||
              (buffer == 'file' && (url.includesCredentials() || url.port !== null)) ||
              (url.scheme == 'file' && !url.host)
            )) return;
            url.scheme = buffer;
            if (stateOverride) {
              if (url.isSpecial() && specialSchemes[url.scheme] == url.port) url.port = null;
              return;
            }
            buffer = '';
            if (url.scheme == 'file') {
              state = FILE;
            } else if (url.isSpecial() && base && base.scheme == url.scheme) {
              state = SPECIAL_RELATIVE_OR_AUTHORITY;
            } else if (url.isSpecial()) {
              state = SPECIAL_AUTHORITY_SLASHES;
            } else if (codePoints[pointer + 1] == '/') {
              state = PATH_OR_AUTHORITY;
              pointer++;
            } else {
              url.cannotBeABaseURL = true;
              push(url.path, '');
              state = CANNOT_BE_A_BASE_URL_PATH;
            }
          } else if (!stateOverride) {
            buffer = '';
            state = NO_SCHEME;
            pointer = 0;
            continue;
          } else return INVALID_SCHEME;
          break;

        case NO_SCHEME:
          if (!base || (base.cannotBeABaseURL && chr != '#')) return INVALID_SCHEME;
          if (base.cannotBeABaseURL && chr == '#') {
            url.scheme = base.scheme;
            url.path = arraySlice(base.path);
            url.query = base.query;
            url.fragment = '';
            url.cannotBeABaseURL = true;
            state = FRAGMENT;
            break;
          }
          state = base.scheme == 'file' ? FILE : RELATIVE;
          continue;

        case SPECIAL_RELATIVE_OR_AUTHORITY:
          if (chr == '/' && codePoints[pointer + 1] == '/') {
            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
            pointer++;
          } else {
            state = RELATIVE;
            continue;
          } break;

        case PATH_OR_AUTHORITY:
          if (chr == '/') {
            state = AUTHORITY;
            break;
          } else {
            state = PATH;
            continue;
          }

        case RELATIVE:
          url.scheme = base.scheme;
          if (chr == EOF) {
            url.username = base.username;
            url.password = base.password;
            url.host = base.host;
            url.port = base.port;
            url.path = arraySlice(base.path);
            url.query = base.query;
          } else if (chr == '/' || (chr == '\\' && url.isSpecial())) {
            state = RELATIVE_SLASH;
          } else if (chr == '?') {
            url.username = base.username;
            url.password = base.password;
            url.host = base.host;
            url.port = base.port;
            url.path = arraySlice(base.path);
            url.query = '';
            state = QUERY;
          } else if (chr == '#') {
            url.username = base.username;
            url.password = base.password;
            url.host = base.host;
            url.port = base.port;
            url.path = arraySlice(base.path);
            url.query = base.query;
            url.fragment = '';
            state = FRAGMENT;
          } else {
            url.username = base.username;
            url.password = base.password;
            url.host = base.host;
            url.port = base.port;
            url.path = arraySlice(base.path);
            url.path.length--;
            state = PATH;
            continue;
          } break;

        case RELATIVE_SLASH:
          if (url.isSpecial() && (chr == '/' || chr == '\\')) {
            state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
          } else if (chr == '/') {
            state = AUTHORITY;
          } else {
            url.username = base.username;
            url.password = base.password;
            url.host = base.host;
            url.port = base.port;
            state = PATH;
            continue;
          } break;

        case SPECIAL_AUTHORITY_SLASHES:
          state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
          if (chr != '/' || charAt(buffer, pointer + 1) != '/') continue;
          pointer++;
          break;

        case SPECIAL_AUTHORITY_IGNORE_SLASHES:
          if (chr != '/' && chr != '\\') {
            state = AUTHORITY;
            continue;
          } break;

        case AUTHORITY:
          if (chr == '@') {
            if (seenAt) buffer = '%40' + buffer;
            seenAt = true;
            bufferCodePoints = arrayFrom(buffer);
            for (var i = 0; i < bufferCodePoints.length; i++) {
              var codePoint = bufferCodePoints[i];
              if (codePoint == ':' && !seenPasswordToken) {
                seenPasswordToken = true;
                continue;
              }
              var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
              if (seenPasswordToken) url.password += encodedCodePoints;
              else url.username += encodedCodePoints;
            }
            buffer = '';
          } else if (
            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
            (chr == '\\' && url.isSpecial())
          ) {
            if (seenAt && buffer == '') return INVALID_AUTHORITY;
            pointer -= arrayFrom(buffer).length + 1;
            buffer = '';
            state = HOST;
          } else buffer += chr;
          break;

        case HOST:
        case HOSTNAME:
          if (stateOverride && url.scheme == 'file') {
            state = FILE_HOST;
            continue;
          } else if (chr == ':' && !seenBracket) {
            if (buffer == '') return INVALID_HOST;
            failure = url.parseHost(buffer);
            if (failure) return failure;
            buffer = '';
            state = PORT;
            if (stateOverride == HOSTNAME) return;
          } else if (
            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
            (chr == '\\' && url.isSpecial())
          ) {
            if (url.isSpecial() && buffer == '') return INVALID_HOST;
            if (stateOverride && buffer == '' && (url.includesCredentials() || url.port !== null)) return;
            failure = url.parseHost(buffer);
            if (failure) return failure;
            buffer = '';
            state = PATH_START;
            if (stateOverride) return;
            continue;
          } else {
            if (chr == '[') seenBracket = true;
            else if (chr == ']') seenBracket = false;
            buffer += chr;
          } break;

        case PORT:
          if (exec(DIGIT, chr)) {
            buffer += chr;
          } else if (
            chr == EOF || chr == '/' || chr == '?' || chr == '#' ||
            (chr == '\\' && url.isSpecial()) ||
            stateOverride
          ) {
            if (buffer != '') {
              var port = parseInt(buffer, 10);
              if (port > 0xFFFF) return INVALID_PORT;
              url.port = (url.isSpecial() && port === specialSchemes[url.scheme]) ? null : port;
              buffer = '';
            }
            if (stateOverride) return;
            state = PATH_START;
            continue;
          } else return INVALID_PORT;
          break;

        case FILE:
          url.scheme = 'file';
          if (chr == '/' || chr == '\\') state = FILE_SLASH;
          else if (base && base.scheme == 'file') {
            if (chr == EOF) {
              url.host = base.host;
              url.path = arraySlice(base.path);
              url.query = base.query;
            } else if (chr == '?') {
              url.host = base.host;
              url.path = arraySlice(base.path);
              url.query = '';
              state = QUERY;
            } else if (chr == '#') {
              url.host = base.host;
              url.path = arraySlice(base.path);
              url.query = base.query;
              url.fragment = '';
              state = FRAGMENT;
            } else {
              if (!startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
                url.host = base.host;
                url.path = arraySlice(base.path);
                url.shortenPath();
              }
              state = PATH;
              continue;
            }
          } else {
            state = PATH;
            continue;
          } break;

        case FILE_SLASH:
          if (chr == '/' || chr == '\\') {
            state = FILE_HOST;
            break;
          }
          if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(join(arraySlice(codePoints, pointer), ''))) {
            if (isWindowsDriveLetter(base.path[0], true)) push(url.path, base.path[0]);
            else url.host = base.host;
          }
          state = PATH;
          continue;

        case FILE_HOST:
          if (chr == EOF || chr == '/' || chr == '\\' || chr == '?' || chr == '#') {
            if (!stateOverride && isWindowsDriveLetter(buffer)) {
              state = PATH;
            } else if (buffer == '') {
              url.host = '';
              if (stateOverride) return;
              state = PATH_START;
            } else {
              failure = url.parseHost(buffer);
              if (failure) return failure;
              if (url.host == 'localhost') url.host = '';
              if (stateOverride) return;
              buffer = '';
              state = PATH_START;
            } continue;
          } else buffer += chr;
          break;

        case PATH_START:
          if (url.isSpecial()) {
            state = PATH;
            if (chr != '/' && chr != '\\') continue;
          } else if (!stateOverride && chr == '?') {
            url.query = '';
            state = QUERY;
          } else if (!stateOverride && chr == '#') {
            url.fragment = '';
            state = FRAGMENT;
          } else if (chr != EOF) {
            state = PATH;
            if (chr != '/') continue;
          } break;

        case PATH:
          if (
            chr == EOF || chr == '/' ||
            (chr == '\\' && url.isSpecial()) ||
            (!stateOverride && (chr == '?' || chr == '#'))
          ) {
            if (isDoubleDot(buffer)) {
              url.shortenPath();
              if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
                push(url.path, '');
              }
            } else if (isSingleDot(buffer)) {
              if (chr != '/' && !(chr == '\\' && url.isSpecial())) {
                push(url.path, '');
              }
            } else {
              if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
                if (url.host) url.host = '';
                buffer = charAt(buffer, 0) + ':'; // normalize windows drive letter
              }
              push(url.path, buffer);
            }
            buffer = '';
            if (url.scheme == 'file' && (chr == EOF || chr == '?' || chr == '#')) {
              while (url.path.length > 1 && url.path[0] === '') {
                shift(url.path);
              }
            }
            if (chr == '?') {
              url.query = '';
              state = QUERY;
            } else if (chr == '#') {
              url.fragment = '';
              state = FRAGMENT;
            }
          } else {
            buffer += percentEncode(chr, pathPercentEncodeSet);
          } break;

        case CANNOT_BE_A_BASE_URL_PATH:
          if (chr == '?') {
            url.query = '';
            state = QUERY;
          } else if (chr == '#') {
            url.fragment = '';
            state = FRAGMENT;
          } else if (chr != EOF) {
            url.path[0] += percentEncode(chr, C0ControlPercentEncodeSet);
          } break;

        case QUERY:
          if (!stateOverride && chr == '#') {
            url.fragment = '';
            state = FRAGMENT;
          } else if (chr != EOF) {
            if (chr == "'" && url.isSpecial()) url.query += '%27';
            else if (chr == '#') url.query += '%23';
            else url.query += percentEncode(chr, C0ControlPercentEncodeSet);
          } break;

        case FRAGMENT:
          if (chr != EOF) url.fragment += percentEncode(chr, fragmentPercentEncodeSet);
          break;
      }

      pointer++;
    }
  },
  // https://url.spec.whatwg.org/#host-parsing
  parseHost: function (input) {
    var result, codePoints, index;
    if (charAt(input, 0) == '[') {
      if (charAt(input, input.length - 1) != ']') return INVALID_HOST;
      result = parseIPv6(stringSlice(input, 1, -1));
      if (!result) return INVALID_HOST;
      this.host = result;
    // opaque host
    } else if (!this.isSpecial()) {
      if (exec(FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT, input)) return INVALID_HOST;
      result = '';
      codePoints = arrayFrom(input);
      for (index = 0; index < codePoints.length; index++) {
        result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
      }
      this.host = result;
    } else {
      input = toASCII(input);
      if (exec(FORBIDDEN_HOST_CODE_POINT, input)) return INVALID_HOST;
      result = parseIPv4(input);
      if (result === null) return INVALID_HOST;
      this.host = result;
    }
  },
  // https://url.spec.whatwg.org/#cannot-have-a-username-password-port
  cannotHaveUsernamePasswordPort: function () {
    return !this.host || this.cannotBeABaseURL || this.scheme == 'file';
  },
  // https://url.spec.whatwg.org/#include-credentials
  includesCredentials: function () {
    return this.username != '' || this.password != '';
  },
  // https://url.spec.whatwg.org/#is-special
  isSpecial: function () {
    return hasOwn(specialSchemes, this.scheme);
  },
  // https://url.spec.whatwg.org/#shorten-a-urls-path
  shortenPath: function () {
    var path = this.path;
    var pathSize = path.length;
    if (pathSize && (this.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
      path.length--;
    }
  },
  // https://url.spec.whatwg.org/#concept-url-serializer
  serialize: function () {
    var url = this;
    var scheme = url.scheme;
    var username = url.username;
    var password = url.password;
    var host = url.host;
    var port = url.port;
    var path = url.path;
    var query = url.query;
    var fragment = url.fragment;
    var output = scheme + ':';
    if (host !== null) {
      output += '//';
      if (url.includesCredentials()) {
        output += username + (password ? ':' + password : '') + '@';
      }
      output += serializeHost(host);
      if (port !== null) output += ':' + port;
    } else if (scheme == 'file') output += '//';
    output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
    if (query !== null) output += '?' + query;
    if (fragment !== null) output += '#' + fragment;
    return output;
  },
  // https://url.spec.whatwg.org/#dom-url-href
  setHref: function (href) {
    var failure = this.parse(href);
    if (failure) throw TypeError(failure);
    this.searchParams.update();
  },
  // https://url.spec.whatwg.org/#dom-url-origin
  getOrigin: function () {
    var scheme = this.scheme;
    var port = this.port;
    if (scheme == 'blob') try {
      return new URLConstructor(scheme.path[0]).origin;
    } catch (error) {
      return 'null';
    }
    if (scheme == 'file' || !this.isSpecial()) return 'null';
    return scheme + '://' + serializeHost(this.host) + (port !== null ? ':' + port : '');
  },
  // https://url.spec.whatwg.org/#dom-url-protocol
  getProtocol: function () {
    return this.scheme + ':';
  },
  setProtocol: function (protocol) {
    this.parse($toString(protocol) + ':', SCHEME_START);
  },
  // https://url.spec.whatwg.org/#dom-url-username
  getUsername: function () {
    return this.username;
  },
  setUsername: function (username) {
    var codePoints = arrayFrom($toString(username));
    if (this.cannotHaveUsernamePasswordPort()) return;
    this.username = '';
    for (var i = 0; i < codePoints.length; i++) {
      this.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
    }
  },
  // https://url.spec.whatwg.org/#dom-url-password
  getPassword: function () {
    return this.password;
  },
  setPassword: function (password) {
    var codePoints = arrayFrom($toString(password));
    if (this.cannotHaveUsernamePasswordPort()) return;
    this.password = '';
    for (var i = 0; i < codePoints.length; i++) {
      this.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
    }
  },
  // https://url.spec.whatwg.org/#dom-url-host
  getHost: function () {
    var host = this.host;
    var port = this.port;
    return host === null ? ''
      : port === null ? serializeHost(host)
      : serializeHost(host) + ':' + port;
  },
  setHost: function (host) {
    if (this.cannotBeABaseURL) return;
    this.parse(host, HOST);
  },
  // https://url.spec.whatwg.org/#dom-url-hostname
  getHostname: function () {
    var host = this.host;
    return host === null ? '' : serializeHost(host);
  },
  setHostname: function (hostname) {
    if (this.cannotBeABaseURL) return;
    this.parse(hostname, HOSTNAME);
  },
  // https://url.spec.whatwg.org/#dom-url-port
  getPort: function () {
    var port = this.port;
    return port === null ? '' : $toString(port);
  },
  setPort: function (port) {
    if (this.cannotHaveUsernamePasswordPort()) return;
    port = $toString(port);
    if (port == '') this.port = null;
    else this.parse(port, PORT);
  },
  // https://url.spec.whatwg.org/#dom-url-pathname
  getPathname: function () {
    var path = this.path;
    return this.cannotBeABaseURL ? path[0] : path.length ? '/' + join(path, '/') : '';
  },
  setPathname: function (pathname) {
    if (this.cannotBeABaseURL) return;
    this.path = [];
    this.parse(pathname, PATH_START);
  },
  // https://url.spec.whatwg.org/#dom-url-search
  getSearch: function () {
    var query = this.query;
    return query ? '?' + query : '';
  },
  setSearch: function (search) {
    search = $toString(search);
    if (search == '') {
      this.query = null;
    } else {
      if ('?' == charAt(search, 0)) search = stringSlice(search, 1);
      this.query = '';
      this.parse(search, QUERY);
    }
    this.searchParams.update();
  },
  // https://url.spec.whatwg.org/#dom-url-searchparams
  getSearchParams: function () {
    return this.searchParams.facade;
  },
  // https://url.spec.whatwg.org/#dom-url-hash
  getHash: function () {
    var fragment = this.fragment;
    return fragment ? '#' + fragment : '';
  },
  setHash: function (hash) {
    hash = $toString(hash);
    if (hash == '') {
      this.fragment = null;
      return;
    }
    if ('#' == charAt(hash, 0)) hash = stringSlice(hash, 1);
    this.fragment = '';
    this.parse(hash, FRAGMENT);
  },
  update: function () {
    this.query = this.searchParams.serialize() || null;
  }
};

// `URL` constructor
// https://url.spec.whatwg.org/#url-class
var URLConstructor = function URL(url /* , base */) {
  var that = anInstance(this, URLPrototype);
  var base = validateArgumentsLength(arguments.length, 1) > 1 ? arguments[1] : undefined;
  var state = setInternalState(that, new URLState(url, false, base));
  if (!DESCRIPTORS) {
    that.href = state.serialize();
    that.origin = state.getOrigin();
    that.protocol = state.getProtocol();
    that.username = state.getUsername();
    that.password = state.getPassword();
    that.host = state.getHost();
    that.hostname = state.getHostname();
    that.port = state.getPort();
    that.pathname = state.getPathname();
    that.search = state.getSearch();
    that.searchParams = state.getSearchParams();
    that.hash = state.getHash();
  }
};

var URLPrototype = URLConstructor.prototype;

var accessorDescriptor = function (getter, setter) {
  return {
    get: function () {
      return getInternalURLState(this)[getter]();
    },
    set: setter && function (value) {
      return getInternalURLState(this)[setter](value);
    },
    configurable: true,
    enumerable: true
  };
};

if (DESCRIPTORS) {
  defineProperties(URLPrototype, {
    // `URL.prototype.href` accessors pair
    // https://url.spec.whatwg.org/#dom-url-href
    href: accessorDescriptor('serialize', 'setHref'),
    // `URL.prototype.origin` getter
    // https://url.spec.whatwg.org/#dom-url-origin
    origin: accessorDescriptor('getOrigin'),
    // `URL.prototype.protocol` accessors pair
    // https://url.spec.whatwg.org/#dom-url-protocol
    protocol: accessorDescriptor('getProtocol', 'setProtocol'),
    // `URL.prototype.username` accessors pair
    // https://url.spec.whatwg.org/#dom-url-username
    username: accessorDescriptor('getUsername', 'setUsername'),
    // `URL.prototype.password` accessors pair
    // https://url.spec.whatwg.org/#dom-url-password
    password: accessorDescriptor('getPassword', 'setPassword'),
    // `URL.prototype.host` accessors pair
    // https://url.spec.whatwg.org/#dom-url-host
    host: accessorDescriptor('getHost', 'setHost'),
    // `URL.prototype.hostname` accessors pair
    // https://url.spec.whatwg.org/#dom-url-hostname
    hostname: accessorDescriptor('getHostname', 'setHostname'),
    // `URL.prototype.port` accessors pair
    // https://url.spec.whatwg.org/#dom-url-port
    port: accessorDescriptor('getPort', 'setPort'),
    // `URL.prototype.pathname` accessors pair
    // https://url.spec.whatwg.org/#dom-url-pathname
    pathname: accessorDescriptor('getPathname', 'setPathname'),
    // `URL.prototype.search` accessors pair
    // https://url.spec.whatwg.org/#dom-url-search
    search: accessorDescriptor('getSearch', 'setSearch'),
    // `URL.prototype.searchParams` getter
    // https://url.spec.whatwg.org/#dom-url-searchparams
    searchParams: accessorDescriptor('getSearchParams'),
    // `URL.prototype.hash` accessors pair
    // https://url.spec.whatwg.org/#dom-url-hash
    hash: accessorDescriptor('getHash', 'setHash')
  });
}

// `URL.prototype.toJSON` method
// https://url.spec.whatwg.org/#dom-url-tojson
redefine(URLPrototype, 'toJSON', function toJSON() {
  return getInternalURLState(this).serialize();
}, { enumerable: true });

// `URL.prototype.toString` method
// https://url.spec.whatwg.org/#URL-stringification-behavior
redefine(URLPrototype, 'toString', function toString() {
  return getInternalURLState(this).serialize();
}, { enumerable: true });

if (NativeURL) {
  var nativeCreateObjectURL = NativeURL.createObjectURL;
  var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
  // `URL.createObjectURL` method
  // https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL
  if (nativeCreateObjectURL) redefine(URLConstructor, 'createObjectURL', bind(nativeCreateObjectURL, NativeURL));
  // `URL.revokeObjectURL` method
  // https://developer.mozilla.org/en-US/docs/Web/API/URL/revokeObjectURL
  if (nativeRevokeObjectURL) redefine(URLConstructor, 'revokeObjectURL', bind(nativeRevokeObjectURL, NativeURL));
}

setToStringTag(URLConstructor, 'URL');

$({ global: true, forced: !USE_NATIVE_URL, sham: !DESCRIPTORS }, {
  URL: URLConstructor
});


/***/ }),

/***/ "2ba4":
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__("40d5");

var FunctionPrototype = Function.prototype;
var apply = FunctionPrototype.apply;
var call = FunctionPrototype.call;

// eslint-disable-next-line es/no-reflect -- safe
module.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {
  return call.apply(apply, arguments);
});


/***/ }),

/***/ "2c3e":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var DESCRIPTORS = __webpack_require__("83ab");
var MISSED_STICKY = __webpack_require__("9f7f").MISSED_STICKY;
var classof = __webpack_require__("c6b6");
var defineProperty = __webpack_require__("9bf2").f;
var getInternalState = __webpack_require__("69f3").get;

var RegExpPrototype = RegExp.prototype;
var TypeError = global.TypeError;

// `RegExp.prototype.sticky` getter
// https://tc39.es/ecma262/#sec-get-regexp.prototype.sticky
if (DESCRIPTORS && MISSED_STICKY) {
  defineProperty(RegExpPrototype, 'sticky', {
    configurable: true,
    get: function () {
      if (this === RegExpPrototype) return undefined;
      // We can't use InternalStateModule.getterFor because
      // we don't add metadata for regexps created by a literal.
      if (classof(this) === 'RegExp') {
        return !!getInternalState(this).sticky;
      }
      throw TypeError('Incompatible receiver, RegExp required');
    }
  });
}


/***/ }),

/***/ "2c76":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "2cf4":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var apply = __webpack_require__("2ba4");
var bind = __webpack_require__("0366");
var isCallable = __webpack_require__("1626");
var hasOwn = __webpack_require__("1a2d");
var fails = __webpack_require__("d039");
var html = __webpack_require__("1be4");
var arraySlice = __webpack_require__("f36a");
var createElement = __webpack_require__("cc12");
var validateArgumentsLength = __webpack_require__("d6d6");
var IS_IOS = __webpack_require__("1cdc");
var IS_NODE = __webpack_require__("605d");

var set = global.setImmediate;
var clear = global.clearImmediate;
var process = global.process;
var Dispatch = global.Dispatch;
var Function = global.Function;
var MessageChannel = global.MessageChannel;
var String = global.String;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var location, defer, channel, port;

try {
  // Deno throws a ReferenceError on `location` access without `--location` flag
  location = global.location;
} catch (error) { /* empty */ }

var run = function (id) {
  if (hasOwn(queue, id)) {
    var fn = queue[id];
    delete queue[id];
    fn();
  }
};

var runner = function (id) {
  return function () {
    run(id);
  };
};

var listener = function (event) {
  run(event.data);
};

var post = function (id) {
  // old engines have not location.origin
  global.postMessage(String(id), location.protocol + '//' + location.host);
};

// Node.js 0.9+ & IE10+ has setImmediate, otherwise:
if (!set || !clear) {
  set = function setImmediate(handler) {
    validateArgumentsLength(arguments.length, 1);
    var fn = isCallable(handler) ? handler : Function(handler);
    var args = arraySlice(arguments, 1);
    queue[++counter] = function () {
      apply(fn, undefined, args);
    };
    defer(counter);
    return counter;
  };
  clear = function clearImmediate(id) {
    delete queue[id];
  };
  // Node.js 0.8-
  if (IS_NODE) {
    defer = function (id) {
      process.nextTick(runner(id));
    };
  // Sphere (JS game engine) Dispatch API
  } else if (Dispatch && Dispatch.now) {
    defer = function (id) {
      Dispatch.now(runner(id));
    };
  // Browsers with MessageChannel, includes WebWorkers
  // except iOS - https://github.com/zloirock/core-js/issues/624
  } else if (MessageChannel && !IS_IOS) {
    channel = new MessageChannel();
    port = channel.port2;
    channel.port1.onmessage = listener;
    defer = bind(port.postMessage, port);
  // Browsers with postMessage, skip WebWorkers
  // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'
  } else if (
    global.addEventListener &&
    isCallable(global.postMessage) &&
    !global.importScripts &&
    location && location.protocol !== 'file:' &&
    !fails(post)
  ) {
    defer = post;
    global.addEventListener('message', listener, false);
  // IE8-
  } else if (ONREADYSTATECHANGE in createElement('script')) {
    defer = function (id) {
      html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
        html.removeChild(this);
        run(id);
      };
    };
  // Rest old browsers
  } else {
    defer = function (id) {
      setTimeout(runner(id), 0);
    };
  }
}

module.exports = {
  set: set,
  clear: clear
};


/***/ }),

/***/ "2d00":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var userAgent = __webpack_require__("342f");

var process = global.process;
var Deno = global.Deno;
var versions = process && process.versions || Deno && Deno.version;
var v8 = versions && versions.v8;
var match, version;

if (v8) {
  match = v8.split('.');
  // in old Chrome, versions of V8 isn't V8 = Chrome / 10
  // but their correct versions are not interesting for us
  version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
}

// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`
// so check `userAgent` even if `.v8` exists, but 0
if (!version && userAgent) {
  match = userAgent.match(/Edge\/(\d+)/);
  if (!match || match[1] >= 74) {
    match = userAgent.match(/Chrome\/(\d+)/);
    if (match) version = +match[1];
  }
}

module.exports = version;


/***/ }),

/***/ "2f6d":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 3:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "300a":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "3280":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var apply = __webpack_require__("2ba4");
var $lastIndexOf = __webpack_require__("e58c");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.lastIndexOf` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.lastindexof
exportTypedArrayMethod('lastIndexOf', function lastIndexOf(searchElement /* , fromIndex */) {
  var length = arguments.length;
  return apply($lastIndexOf, aTypedArray(this), length > 1 ? [searchElement, arguments[1]] : [searchElement]);
});


/***/ }),

/***/ "32aa":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePassword_vue_vue_type_style_index_0_id_1cf345d7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("fcf4");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePassword_vue_vue_type_style_index_0_id_1cf345d7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePassword_vue_vue_type_style_index_0_id_1cf345d7_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "342f":
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__("d066");

module.exports = getBuiltIn('navigator', 'userAgent') || '';


/***/ }),

/***/ "3465":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_0_id_32bbe264_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("15f7");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_0_id_32bbe264_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_0_id_32bbe264_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "34e4":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_89ae8b40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b666");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_89ae8b40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_404_vue_vue_type_style_index_0_id_89ae8b40_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "3534":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACFUlEQVRIS+WWP2gTYRTAf5d4bWpyaTqkYBSrOEhxKKI4FMEObkJddBHEpairaNaarqbSrSgEVMSCOCl0EwwoLlWHCjV1sVqsYBHz586TXK4n351nU2wun/Yy9S338b7vvd97j/e+7xTHcRyapN5wqDeaNcFr0zRI9yWkDZRmYMOGbzWbSETanoWFEvsHMuzd1SdltAEosqsYa0RVKVv30Nv5kvuVhYYGlIWGCpSBhg5sB+0IMAjaMWAr6JaBy8tfKH+vtGzroUMHSGmxP/tbBgYNkG1BbzxC1w5luwLLj+9jjZz7p5umXUnV4gyp0+f/LunqxEWsz59Q87OhAq3sKdQ9A6THb7tQt2n0yavUXj5F7c/Qc3yUSFT+Lg06uWaD+eIJ1tcVtOGTJK7d9IDkxuDd63AorbwMHoFcoQ3w7GU4MQqrK5DOwMQY3HgIS4sQ12D2gbeXnfJ0Qu7m4ePvdTNcGiiMHt2CC1mYewYiCAHeqXnw6fF1XVCNpIFnLnlu5oqec5GNAAq5XvCC6UiGfvQC4meYK3gl9LMOJUO/pL6zO8/hQwn6d8O9PBi1/wDmr8CrYme79OiIW3pvLESUS4tYtoPx0wl1DuMxBTWqwL6Dbmdvs9fCMOtUTFCj4dxtlm2jddto8Z7N30P9h8mb+fckNfk/6aBOq9Z0jh0eJNbdtTlQaCtVnXJVD6VjU8kEvcmNwf8CIhaEvGxOeVkAAAAASUVORK5CYII="

/***/ }),

/***/ "35a1":
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__("f5df");
var getMethod = __webpack_require__("dc4a");
var Iterators = __webpack_require__("3f8c");
var wellKnownSymbol = __webpack_require__("b622");

var ITERATOR = wellKnownSymbol('iterator');

module.exports = function (it) {
  if (it != undefined) return getMethod(it, ITERATOR)
    || getMethod(it, '@@iterator')
    || Iterators[classof(it)];
};


/***/ }),

/***/ "36bd":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchArea_vue_vue_type_style_index_0_id_f73d3bde_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bee0");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchArea_vue_vue_type_style_index_0_id_f73d3bde_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchArea_vue_vue_type_style_index_0_id_f73d3bde_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "3770":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "37d0":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "37e8":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__("aed9");
var definePropertyModule = __webpack_require__("9bf2");
var anObject = __webpack_require__("825a");
var toIndexedObject = __webpack_require__("fc6a");
var objectKeys = __webpack_require__("df75");

// `Object.defineProperties` method
// https://tc39.es/ecma262/#sec-object.defineproperties
// eslint-disable-next-line es/no-object-defineproperties -- safe
exports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
  anObject(O);
  var props = toIndexedObject(Properties);
  var keys = objectKeys(Properties);
  var length = keys.length;
  var index = 0;
  var key;
  while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);
  return O;
};


/***/ }),

/***/ "3a2b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "3a7b":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $findIndex = __webpack_require__("b727").findIndex;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.findIndex` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.findindex
exportTypedArrayMethod('findIndex', function findIndex(predicate /* , thisArg */) {
  return $findIndex(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "3a9b":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

module.exports = uncurryThis({}.isPrototypeOf);


/***/ }),

/***/ "3b8f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_7b751c84_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("e796");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_7b751c84_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_7b751c84_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "3bbe":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");

var String = global.String;
var TypeError = global.TypeError;

module.exports = function (argument) {
  if (typeof argument == 'object' || isCallable(argument)) return argument;
  throw TypeError("Can't set " + String(argument) + ' as a prototype');
};


/***/ }),

/***/ "3c5d":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var lengthOfArrayLike = __webpack_require__("07fa");
var toOffset = __webpack_require__("182d");
var toIndexedObject = __webpack_require__("7b0b");
var fails = __webpack_require__("d039");

var RangeError = global.RangeError;
var Int8Array = global.Int8Array;
var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
var $set = Int8ArrayPrototype && Int8ArrayPrototype.set;
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

var WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS = !fails(function () {
  // eslint-disable-next-line es/no-typed-arrays -- required for testing
  var array = new Uint8ClampedArray(2);
  call($set, array, { length: 1, 0: 3 }, 1);
  return array[1] !== 3;
});

// https://bugs.chromium.org/p/v8/issues/detail?id=11294 and other
var TO_OBJECT_BUG = WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS && ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS && fails(function () {
  var array = new Int8Array(2);
  array.set(1);
  array.set('2', 1);
  return array[0] !== 0 || array[1] !== 2;
});

// `%TypedArray%.prototype.set` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.set
exportTypedArrayMethod('set', function set(arrayLike /* , offset */) {
  aTypedArray(this);
  var offset = toOffset(arguments.length > 1 ? arguments[1] : undefined, 1);
  var src = toIndexedObject(arrayLike);
  if (WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS) return call($set, this, src, offset);
  var length = this.length;
  var len = lengthOfArrayLike(src);
  var index = 0;
  if (len + offset > length) throw RangeError('Wrong length');
  while (index < len) this[offset + index] = src[index++];
}, !WORKS_WITH_OBJECTS_AND_GEERIC_ON_TYPED_ARRAYS || TO_OBJECT_BUG);


/***/ }),

/***/ "3ca3":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var charAt = __webpack_require__("6547").charAt;
var toString = __webpack_require__("577e");
var InternalStateModule = __webpack_require__("69f3");
var defineIterator = __webpack_require__("7dd0");

var STRING_ITERATOR = 'String Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);

// `String.prototype[@@iterator]` method
// https://tc39.es/ecma262/#sec-string.prototype-@@iterator
defineIterator(String, 'String', function (iterated) {
  setInternalState(this, {
    type: STRING_ITERATOR,
    string: toString(iterated),
    index: 0
  });
// `%StringIteratorPrototype%.next` method
// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next
}, function next() {
  var state = getInternalState(this);
  var string = state.string;
  var index = state.index;
  var point;
  if (index >= string.length) return { value: undefined, done: true };
  point = charAt(string, index);
  state.index += point.length;
  return { value: point, done: false };
});


/***/ }),

/***/ "3f38":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsDialog_vue_vue_type_style_index_0_id_11183bf1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8c22");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsDialog_vue_vue_type_style_index_0_id_11183bf1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsDialog_vue_vue_type_style_index_0_id_11183bf1_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "3f8c":
/***/ (function(module, exports) {

module.exports = {};


/***/ }),

/***/ "3fcc":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $map = __webpack_require__("b727").map;
var typedArraySpeciesConstructor = __webpack_require__("b6b7");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.map` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.map
exportTypedArrayMethod('map', function map(mapfn /* , thisArg */) {
  return $map(aTypedArray(this), mapfn, arguments.length > 1 ? arguments[1] : undefined, function (O, length) {
    return new (typedArraySpeciesConstructor(O))(length);
  });
});


/***/ }),

/***/ 4:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "408a":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

// `thisNumberValue` abstract operation
// https://tc39.es/ecma262/#sec-thisnumbervalue
module.exports = uncurryThis(1.0.valueOf);


/***/ }),

/***/ "40ca":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutTopMenu_vue_vue_type_style_index_0_id_ebcfdc30_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f9d2");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutTopMenu_vue_vue_type_style_index_0_id_ebcfdc30_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutTopMenu_vue_vue_type_style_index_0_id_ebcfdc30_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "40d5":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");

module.exports = !fails(function () {
  var test = (function () { /* empty */ }).bind();
  // eslint-disable-next-line no-prototype-builtins -- safe
  return typeof test != 'function' || test.hasOwnProperty('prototype');
});


/***/ }),

/***/ "4238":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "428f":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

module.exports = global;


/***/ }),

/***/ "4362":
/***/ (function(module, exports, __webpack_require__) {

exports.nextTick = function nextTick(fn) {
    var args = Array.prototype.slice.call(arguments);
    args.shift();
    setTimeout(function () {
        fn.apply(null, args);
    }, 0);
};

exports.platform = exports.arch = 
exports.execPath = exports.title = 'browser';
exports.pid = 1;
exports.browser = true;
exports.env = {};
exports.argv = [];

exports.binding = function (name) {
	throw new Error('No such module. (Possibly not yet loaded)')
};

(function () {
    var cwd = '/';
    var path;
    exports.cwd = function () { return cwd };
    exports.chdir = function (dir) {
        if (!path) path = __webpack_require__("df7c");
        cwd = path.resolve(dir, cwd);
    };
})();

exports.exit = exports.kill = 
exports.umask = exports.dlopen = 
exports.uptime = exports.memoryUsage = 
exports.uvCounters = function() {};
exports.features = {};


/***/ }),

/***/ "4383":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(Buffer, process, global) {/**
 * @licstart The following is the entire license notice for the
 * Javascript code in this page
 *
 * Copyright 2020 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @licend The above is the entire license notice for the
 * Javascript code in this page
 */

(function webpackUniversalModuleDefinition(root, factory) {
	if(true)
		module.exports = factory();
	else {}
})(this, function() {
return /******/ (() => { // webpackBootstrap
/******/ 	var __webpack_modules__ = ([
/* 0 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "addLinkAttributes", ({
  enumerable: true,
  get: function get() {
    return _display_utils.addLinkAttributes;
  }
}));
Object.defineProperty(exports, "getFilenameFromUrl", ({
  enumerable: true,
  get: function get() {
    return _display_utils.getFilenameFromUrl;
  }
}));
Object.defineProperty(exports, "LinkTarget", ({
  enumerable: true,
  get: function get() {
    return _display_utils.LinkTarget;
  }
}));
Object.defineProperty(exports, "loadScript", ({
  enumerable: true,
  get: function get() {
    return _display_utils.loadScript;
  }
}));
Object.defineProperty(exports, "PDFDateString", ({
  enumerable: true,
  get: function get() {
    return _display_utils.PDFDateString;
  }
}));
Object.defineProperty(exports, "RenderingCancelledException", ({
  enumerable: true,
  get: function get() {
    return _display_utils.RenderingCancelledException;
  }
}));
Object.defineProperty(exports, "build", ({
  enumerable: true,
  get: function get() {
    return _api.build;
  }
}));
Object.defineProperty(exports, "getDocument", ({
  enumerable: true,
  get: function get() {
    return _api.getDocument;
  }
}));
Object.defineProperty(exports, "LoopbackPort", ({
  enumerable: true,
  get: function get() {
    return _api.LoopbackPort;
  }
}));
Object.defineProperty(exports, "PDFDataRangeTransport", ({
  enumerable: true,
  get: function get() {
    return _api.PDFDataRangeTransport;
  }
}));
Object.defineProperty(exports, "PDFWorker", ({
  enumerable: true,
  get: function get() {
    return _api.PDFWorker;
  }
}));
Object.defineProperty(exports, "version", ({
  enumerable: true,
  get: function get() {
    return _api.version;
  }
}));
Object.defineProperty(exports, "CMapCompressionType", ({
  enumerable: true,
  get: function get() {
    return _util.CMapCompressionType;
  }
}));
Object.defineProperty(exports, "createObjectURL", ({
  enumerable: true,
  get: function get() {
    return _util.createObjectURL;
  }
}));
Object.defineProperty(exports, "createPromiseCapability", ({
  enumerable: true,
  get: function get() {
    return _util.createPromiseCapability;
  }
}));
Object.defineProperty(exports, "createValidAbsoluteUrl", ({
  enumerable: true,
  get: function get() {
    return _util.createValidAbsoluteUrl;
  }
}));
Object.defineProperty(exports, "InvalidPDFException", ({
  enumerable: true,
  get: function get() {
    return _util.InvalidPDFException;
  }
}));
Object.defineProperty(exports, "MissingPDFException", ({
  enumerable: true,
  get: function get() {
    return _util.MissingPDFException;
  }
}));
Object.defineProperty(exports, "OPS", ({
  enumerable: true,
  get: function get() {
    return _util.OPS;
  }
}));
Object.defineProperty(exports, "PasswordResponses", ({
  enumerable: true,
  get: function get() {
    return _util.PasswordResponses;
  }
}));
Object.defineProperty(exports, "PermissionFlag", ({
  enumerable: true,
  get: function get() {
    return _util.PermissionFlag;
  }
}));
Object.defineProperty(exports, "removeNullCharacters", ({
  enumerable: true,
  get: function get() {
    return _util.removeNullCharacters;
  }
}));
Object.defineProperty(exports, "shadow", ({
  enumerable: true,
  get: function get() {
    return _util.shadow;
  }
}));
Object.defineProperty(exports, "UnexpectedResponseException", ({
  enumerable: true,
  get: function get() {
    return _util.UnexpectedResponseException;
  }
}));
Object.defineProperty(exports, "UNSUPPORTED_FEATURES", ({
  enumerable: true,
  get: function get() {
    return _util.UNSUPPORTED_FEATURES;
  }
}));
Object.defineProperty(exports, "Util", ({
  enumerable: true,
  get: function get() {
    return _util.Util;
  }
}));
Object.defineProperty(exports, "VerbosityLevel", ({
  enumerable: true,
  get: function get() {
    return _util.VerbosityLevel;
  }
}));
Object.defineProperty(exports, "AnnotationLayer", ({
  enumerable: true,
  get: function get() {
    return _annotation_layer.AnnotationLayer;
  }
}));
Object.defineProperty(exports, "apiCompatibilityParams", ({
  enumerable: true,
  get: function get() {
    return _api_compatibility.apiCompatibilityParams;
  }
}));
Object.defineProperty(exports, "GlobalWorkerOptions", ({
  enumerable: true,
  get: function get() {
    return _worker_options.GlobalWorkerOptions;
  }
}));
Object.defineProperty(exports, "renderTextLayer", ({
  enumerable: true,
  get: function get() {
    return _text_layer.renderTextLayer;
  }
}));
Object.defineProperty(exports, "SVGGraphics", ({
  enumerable: true,
  get: function get() {
    return _svg.SVGGraphics;
  }
}));

var _display_utils = __w_pdfjs_require__(1);

var _api = __w_pdfjs_require__(135);

var _util = __w_pdfjs_require__(4);

var _annotation_layer = __w_pdfjs_require__(149);

var _api_compatibility = __w_pdfjs_require__(139);

var _worker_options = __w_pdfjs_require__(142);

var _text_layer = __w_pdfjs_require__(151);

var _svg = __w_pdfjs_require__(152);

var pdfjsVersion = '2.7.570';
var pdfjsBuild = 'f2c7338b0';
{
  var _require = __w_pdfjs_require__(6),
      isNodeJS = _require.isNodeJS;

  if (isNodeJS) {
    var PDFNodeStream = __w_pdfjs_require__(153).PDFNodeStream;

    (0, _api.setPDFNetworkStreamFactory)(function (params) {
      return new PDFNodeStream(params);
    });
  } else {
    var PDFNetworkStream = __w_pdfjs_require__(156).PDFNetworkStream;

    var PDFFetchStream;

    if ((0, _display_utils.isFetchSupported)()) {
      PDFFetchStream = __w_pdfjs_require__(157).PDFFetchStream;
    }

    (0, _api.setPDFNetworkStreamFactory)(function (params) {
      if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {
        return new PDFFetchStream(params);
      }

      return new PDFNetworkStream(params);
    });
  }
}

/***/ }),
/* 1 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.addLinkAttributes = addLinkAttributes;
exports.deprecated = deprecated;
exports.getFilenameFromUrl = getFilenameFromUrl;
exports.isFetchSupported = isFetchSupported;
exports.isValidFetchUrl = isValidFetchUrl;
exports.loadScript = loadScript;
exports.StatTimer = exports.RenderingCancelledException = exports.PDFDateString = exports.PageViewport = exports.LinkTarget = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.BaseCMapReaderFactory = exports.BaseCanvasFactory = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
var SVG_NS = "http://www.w3.org/2000/svg";

var BaseCanvasFactory = /*#__PURE__*/function () {
  function BaseCanvasFactory() {
    _classCallCheck(this, BaseCanvasFactory);

    if (this.constructor === BaseCanvasFactory) {
      (0, _util.unreachable)("Cannot initialize BaseCanvasFactory.");
    }
  }

  _createClass(BaseCanvasFactory, [{
    key: "create",
    value: function create(width, height) {
      (0, _util.unreachable)("Abstract method `create` called.");
    }
  }, {
    key: "reset",
    value: function reset(canvasAndContext, width, height) {
      if (!canvasAndContext.canvas) {
        throw new Error("Canvas is not specified");
      }

      if (width <= 0 || height <= 0) {
        throw new Error("Invalid canvas size");
      }

      canvasAndContext.canvas.width = width;
      canvasAndContext.canvas.height = height;
    }
  }, {
    key: "destroy",
    value: function destroy(canvasAndContext) {
      if (!canvasAndContext.canvas) {
        throw new Error("Canvas is not specified");
      }

      canvasAndContext.canvas.width = 0;
      canvasAndContext.canvas.height = 0;
      canvasAndContext.canvas = null;
      canvasAndContext.context = null;
    }
  }]);

  return BaseCanvasFactory;
}();

exports.BaseCanvasFactory = BaseCanvasFactory;

var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
  _inherits(DOMCanvasFactory, _BaseCanvasFactory);

  var _super = _createSuper(DOMCanvasFactory);

  function DOMCanvasFactory() {
    var _this;

    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref$ownerDocument = _ref.ownerDocument,
        ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;

    _classCallCheck(this, DOMCanvasFactory);

    _this = _super.call(this);
    _this._document = ownerDocument;
    return _this;
  }

  _createClass(DOMCanvasFactory, [{
    key: "create",
    value: function create(width, height) {
      if (width <= 0 || height <= 0) {
        throw new Error("Invalid canvas size");
      }

      var canvas = this._document.createElement("canvas");

      var context = canvas.getContext("2d");
      canvas.width = width;
      canvas.height = height;
      return {
        canvas: canvas,
        context: context
      };
    }
  }]);

  return DOMCanvasFactory;
}(BaseCanvasFactory);

exports.DOMCanvasFactory = DOMCanvasFactory;

var BaseCMapReaderFactory = /*#__PURE__*/function () {
  function BaseCMapReaderFactory(_ref2) {
    var _ref2$baseUrl = _ref2.baseUrl,
        baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,
        _ref2$isCompressed = _ref2.isCompressed,
        isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;

    _classCallCheck(this, BaseCMapReaderFactory);

    if (this.constructor === BaseCMapReaderFactory) {
      (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory.");
    }

    this.baseUrl = baseUrl;
    this.isCompressed = isCompressed;
  }

  _createClass(BaseCMapReaderFactory, [{
    key: "fetch",
    value: function () {
      var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref3) {
        var _this2 = this;

        var name, url, compressionType;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                name = _ref3.name;

                if (this.baseUrl) {
                  _context.next = 3;
                  break;
                }

                throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');

              case 3:
                if (name) {
                  _context.next = 5;
                  break;
                }

                throw new Error("CMap name must be specified.");

              case 5:
                url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
                compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
                return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) {
                  throw new Error("Unable to load ".concat(_this2.isCompressed ? "binary " : "", "CMap at: ").concat(url));
                }));

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function fetch(_x) {
        return _fetch.apply(this, arguments);
      }

      return fetch;
    }()
  }, {
    key: "_fetchData",
    value: function _fetchData(url, compressionType) {
      (0, _util.unreachable)("Abstract method `_fetchData` called.");
    }
  }]);

  return BaseCMapReaderFactory;
}();

exports.BaseCMapReaderFactory = BaseCMapReaderFactory;

var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
  _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);

  var _super2 = _createSuper(DOMCMapReaderFactory);

  function DOMCMapReaderFactory() {
    _classCallCheck(this, DOMCMapReaderFactory);

    return _super2.apply(this, arguments);
  }

  _createClass(DOMCMapReaderFactory, [{
    key: "_fetchData",
    value: function _fetchData(url, compressionType) {
      var _this3 = this;

      if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {
        return fetch(url).then( /*#__PURE__*/function () {
          var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(response) {
            var cMapData;
            return _regenerator["default"].wrap(function _callee2$(_context2) {
              while (1) {
                switch (_context2.prev = _context2.next) {
                  case 0:
                    if (response.ok) {
                      _context2.next = 2;
                      break;
                    }

                    throw new Error(response.statusText);

                  case 2:
                    if (!_this3.isCompressed) {
                      _context2.next = 10;
                      break;
                    }

                    _context2.t0 = Uint8Array;
                    _context2.next = 6;
                    return response.arrayBuffer();

                  case 6:
                    _context2.t1 = _context2.sent;
                    cMapData = new _context2.t0(_context2.t1);
                    _context2.next = 15;
                    break;

                  case 10:
                    _context2.t2 = _util.stringToBytes;
                    _context2.next = 13;
                    return response.text();

                  case 13:
                    _context2.t3 = _context2.sent;
                    cMapData = (0, _context2.t2)(_context2.t3);

                  case 15:
                    return _context2.abrupt("return", {
                      cMapData: cMapData,
                      compressionType: compressionType
                    });

                  case 16:
                  case "end":
                    return _context2.stop();
                }
              }
            }, _callee2);
          }));

          return function (_x2) {
            return _ref4.apply(this, arguments);
          };
        }());
      }

      return new Promise(function (resolve, reject) {
        var request = new XMLHttpRequest();
        request.open("GET", url, true);

        if (_this3.isCompressed) {
          request.responseType = "arraybuffer";
        }

        request.onreadystatechange = function () {
          if (request.readyState !== XMLHttpRequest.DONE) {
            return;
          }

          if (request.status === 200 || request.status === 0) {
            var cMapData;

            if (_this3.isCompressed && request.response) {
              cMapData = new Uint8Array(request.response);
            } else if (!_this3.isCompressed && request.responseText) {
              cMapData = (0, _util.stringToBytes)(request.responseText);
            }

            if (cMapData) {
              resolve({
                cMapData: cMapData,
                compressionType: compressionType
              });
              return;
            }
          }

          reject(new Error(request.statusText));
        };

        request.send(null);
      });
    }
  }]);

  return DOMCMapReaderFactory;
}(BaseCMapReaderFactory);

exports.DOMCMapReaderFactory = DOMCMapReaderFactory;

var DOMSVGFactory = /*#__PURE__*/function () {
  function DOMSVGFactory() {
    _classCallCheck(this, DOMSVGFactory);
  }

  _createClass(DOMSVGFactory, [{
    key: "create",
    value: function create(width, height) {
      (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
      var svg = document.createElementNS(SVG_NS, "svg:svg");
      svg.setAttribute("version", "1.1");
      svg.setAttribute("width", width + "px");
      svg.setAttribute("height", height + "px");
      svg.setAttribute("preserveAspectRatio", "none");
      svg.setAttribute("viewBox", "0 0 " + width + " " + height);
      return svg;
    }
  }, {
    key: "createElement",
    value: function createElement(type) {
      (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
      return document.createElementNS(SVG_NS, type);
    }
  }]);

  return DOMSVGFactory;
}();

exports.DOMSVGFactory = DOMSVGFactory;

var PageViewport = /*#__PURE__*/function () {
  function PageViewport(_ref5) {
    var viewBox = _ref5.viewBox,
        scale = _ref5.scale,
        rotation = _ref5.rotation,
        _ref5$offsetX = _ref5.offsetX,
        offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
        _ref5$offsetY = _ref5.offsetY,
        offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
        _ref5$dontFlip = _ref5.dontFlip,
        dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;

    _classCallCheck(this, PageViewport);

    this.viewBox = viewBox;
    this.scale = scale;
    this.rotation = rotation;
    this.offsetX = offsetX;
    this.offsetY = offsetY;
    var centerX = (viewBox[2] + viewBox[0]) / 2;
    var centerY = (viewBox[3] + viewBox[1]) / 2;
    var rotateA, rotateB, rotateC, rotateD;
    rotation = rotation % 360;
    rotation = rotation < 0 ? rotation + 360 : rotation;

    switch (rotation) {
      case 180:
        rotateA = -1;
        rotateB = 0;
        rotateC = 0;
        rotateD = 1;
        break;

      case 90:
        rotateA = 0;
        rotateB = 1;
        rotateC = 1;
        rotateD = 0;
        break;

      case 270:
        rotateA = 0;
        rotateB = -1;
        rotateC = -1;
        rotateD = 0;
        break;

      case 0:
        rotateA = 1;
        rotateB = 0;
        rotateC = 0;
        rotateD = -1;
        break;

      default:
        throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.");
    }

    if (dontFlip) {
      rotateC = -rotateC;
      rotateD = -rotateD;
    }

    var offsetCanvasX, offsetCanvasY;
    var width, height;

    if (rotateA === 0) {
      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
      width = Math.abs(viewBox[3] - viewBox[1]) * scale;
      height = Math.abs(viewBox[2] - viewBox[0]) * scale;
    } else {
      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
      width = Math.abs(viewBox[2] - viewBox[0]) * scale;
      height = Math.abs(viewBox[3] - viewBox[1]) * scale;
    }

    this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
    this.width = width;
    this.height = height;
  }

  _createClass(PageViewport, [{
    key: "clone",
    value: function clone() {
      var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref6$scale = _ref6.scale,
          scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
          _ref6$rotation = _ref6.rotation,
          rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
          _ref6$offsetX = _ref6.offsetX,
          offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,
          _ref6$offsetY = _ref6.offsetY,
          offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,
          _ref6$dontFlip = _ref6.dontFlip,
          dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;

      return new PageViewport({
        viewBox: this.viewBox.slice(),
        scale: scale,
        rotation: rotation,
        offsetX: offsetX,
        offsetY: offsetY,
        dontFlip: dontFlip
      });
    }
  }, {
    key: "convertToViewportPoint",
    value: function convertToViewportPoint(x, y) {
      return _util.Util.applyTransform([x, y], this.transform);
    }
  }, {
    key: "convertToViewportRectangle",
    value: function convertToViewportRectangle(rect) {
      var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);

      var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);

      return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
    }
  }, {
    key: "convertToPdfPoint",
    value: function convertToPdfPoint(x, y) {
      return _util.Util.applyInverseTransform([x, y], this.transform);
    }
  }]);

  return PageViewport;
}();

exports.PageViewport = PageViewport;

var RenderingCancelledException = /*#__PURE__*/function (_BaseException) {
  _inherits(RenderingCancelledException, _BaseException);

  var _super3 = _createSuper(RenderingCancelledException);

  function RenderingCancelledException(msg, type) {
    var _this4;

    _classCallCheck(this, RenderingCancelledException);

    _this4 = _super3.call(this, msg);
    _this4.type = type;
    return _this4;
  }

  return RenderingCancelledException;
}(_util.BaseException);

exports.RenderingCancelledException = RenderingCancelledException;
var LinkTarget = {
  NONE: 0,
  SELF: 1,
  BLANK: 2,
  PARENT: 3,
  TOP: 4
};
exports.LinkTarget = LinkTarget;

function addLinkAttributes(link) {
  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
      url = _ref7.url,
      target = _ref7.target,
      rel = _ref7.rel,
      _ref7$enabled = _ref7.enabled,
      enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;

  (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
  var urlNullRemoved = (0, _util.removeNullCharacters)(url);

  if (enabled) {
    link.href = link.title = urlNullRemoved;
  } else {
    link.href = "";
    link.title = "Disabled: ".concat(urlNullRemoved);

    link.onclick = function () {
      return false;
    };
  }

  var targetStr = "";

  switch (target) {
    case LinkTarget.NONE:
      break;

    case LinkTarget.SELF:
      targetStr = "_self";
      break;

    case LinkTarget.BLANK:
      targetStr = "_blank";
      break;

    case LinkTarget.PARENT:
      targetStr = "_parent";
      break;

    case LinkTarget.TOP:
      targetStr = "_top";
      break;
  }

  link.target = targetStr;
  link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
}

function getFilenameFromUrl(url) {
  var anchor = url.indexOf("#");
  var query = url.indexOf("?");
  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
  return url.substring(url.lastIndexOf("/", end) + 1, end);
}

var StatTimer = /*#__PURE__*/function () {
  function StatTimer() {
    _classCallCheck(this, StatTimer);

    this.started = Object.create(null);
    this.times = [];
  }

  _createClass(StatTimer, [{
    key: "time",
    value: function time(name) {
      if (name in this.started) {
        (0, _util.warn)("Timer is already running for ".concat(name));
      }

      this.started[name] = Date.now();
    }
  }, {
    key: "timeEnd",
    value: function timeEnd(name) {
      if (!(name in this.started)) {
        (0, _util.warn)("Timer has not been started for ".concat(name));
      }

      this.times.push({
        name: name,
        start: this.started[name],
        end: Date.now()
      });
      delete this.started[name];
    }
  }, {
    key: "toString",
    value: function toString() {
      var outBuf = [];
      var longest = 0;

      var _iterator = _createForOfIteratorHelper(this.times),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var time = _step.value;
          var name = time.name;

          if (name.length > longest) {
            longest = name.length;
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      var _iterator2 = _createForOfIteratorHelper(this.times),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var _time = _step2.value;
          var duration = _time.end - _time.start;
          outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n"));
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }

      return outBuf.join("");
    }
  }]);

  return StatTimer;
}();

exports.StatTimer = StatTimer;

function isFetchSupported() {
  return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined";
}

function isValidFetchUrl(url, baseUrl) {
  try {
    var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
        protocol = _ref8.protocol;

    return protocol === "http:" || protocol === "https:";
  } catch (ex) {
    return false;
  }
}

function loadScript(src) {
  var removeScriptElement = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
  return new Promise(function (resolve, reject) {
    var script = document.createElement("script");
    script.src = src;

    script.onload = function (evt) {
      if (removeScriptElement) {
        script.remove();
      }

      resolve(evt);
    };

    script.onerror = function () {
      reject(new Error("Cannot load script at: ".concat(script.src)));
    };

    (document.head || document.documentElement).appendChild(script);
  });
}

function deprecated(details) {
  console.log("Deprecated API usage: " + details);
}

var pdfDateStringRegex;

var PDFDateString = /*#__PURE__*/function () {
  function PDFDateString() {
    _classCallCheck(this, PDFDateString);
  }

  _createClass(PDFDateString, null, [{
    key: "toDateObject",
    value: function toDateObject(input) {
      if (!input || !(0, _util.isString)(input)) {
        return null;
      }

      if (!pdfDateStringRegex) {
        pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
      }

      var matches = pdfDateStringRegex.exec(input);

      if (!matches) {
        return null;
      }

      var year = parseInt(matches[1], 10);
      var month = parseInt(matches[2], 10);
      month = month >= 1 && month <= 12 ? month - 1 : 0;
      var day = parseInt(matches[3], 10);
      day = day >= 1 && day <= 31 ? day : 1;
      var hour = parseInt(matches[4], 10);
      hour = hour >= 0 && hour <= 23 ? hour : 0;
      var minute = parseInt(matches[5], 10);
      minute = minute >= 0 && minute <= 59 ? minute : 0;
      var second = parseInt(matches[6], 10);
      second = second >= 0 && second <= 59 ? second : 0;
      var universalTimeRelation = matches[7] || "Z";
      var offsetHour = parseInt(matches[8], 10);
      offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
      var offsetMinute = parseInt(matches[9], 10) || 0;
      offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;

      if (universalTimeRelation === "-") {
        hour += offsetHour;
        minute += offsetMinute;
      } else if (universalTimeRelation === "+") {
        hour -= offsetHour;
        minute -= offsetMinute;
      }

      return new Date(Date.UTC(year, month, day, hour, minute, second));
    }
  }]);

  return PDFDateString;
}();

exports.PDFDateString = PDFDateString;

/***/ }),
/* 2 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";


module.exports = __w_pdfjs_require__(3);

/***/ }),
/* 3 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";
/* module decorator */ module = __w_pdfjs_require__.nmd(module);


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

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

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

  function define(obj, key, value) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
    return obj[key];
  }

  try {
    define({}, "");
  } catch (err) {
    define = function define(obj, key, value) {
      return obj[key] = value;
    };
  }

  function wrap(innerFn, outerFn, self, tryLocsList) {
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
    var generator = Object.create(protoGenerator.prototype);
    var context = new Context(tryLocsList || []);
    generator._invoke = makeInvokeMethod(innerFn, self, context);
    return generator;
  }

  exports.wrap = wrap;

  function tryCatch(fn, obj, arg) {
    try {
      return {
        type: "normal",
        arg: fn.call(obj, arg)
      };
    } catch (err) {
      return {
        type: "throw",
        arg: err
      };
    }
  }

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

  function Generator() {}

  function GeneratorFunction() {}

  function GeneratorFunctionPrototype() {}

  var IteratorPrototype = {};

  IteratorPrototype[iteratorSymbol] = function () {
    return this;
  };

  var getProto = Object.getPrototypeOf;
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
    IteratorPrototype = NativeIteratorPrototype;
  }

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

  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function (method) {
      define(prototype, method, function (arg) {
        return this._invoke(method, arg);
      });
    });
  }

  exports.isGeneratorFunction = function (genFun) {
    var ctor = typeof genFun === "function" && genFun.constructor;
    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
  };

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

    genFun.prototype = Object.create(Gp);
    return genFun;
  };

  exports.awrap = function (arg) {
    return {
      __await: arg
    };
  };

  function AsyncIterator(generator, PromiseImpl) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);

      if (record.type === "throw") {
        reject(record.arg);
      } else {
        var result = record.arg;
        var value = result.value;

        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
          return PromiseImpl.resolve(value.__await).then(function (value) {
            invoke("next", value, resolve, reject);
          }, function (err) {
            invoke("throw", err, resolve, reject);
          });
        }

        return PromiseImpl.resolve(value).then(function (unwrapped) {
          result.value = unwrapped;
          resolve(result);
        }, function (error) {
          return invoke("throw", error, resolve, reject);
        });
      }
    }

    var previousPromise;

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

      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
    }

    this._invoke = enqueue;
  }

  defineIteratorMethods(AsyncIterator.prototype);

  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
    return this;
  };

  exports.AsyncIterator = AsyncIterator;

  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
    if (PromiseImpl === void 0) PromiseImpl = Promise;
    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
      return result.done ? result.value : iter.next();
    });
  };

  function makeInvokeMethod(innerFn, self, context) {
    var state = GenStateSuspendedStart;
    return function invoke(method, arg) {
      if (state === GenStateExecuting) {
        throw new Error("Generator is already running");
      }

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

        return doneResult();
      }

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

      while (true) {
        var delegate = context.delegate;

        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);

          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }

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

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

        state = GenStateExecuting;
        var record = tryCatch(innerFn, self, context);

        if (record.type === "normal") {
          state = context.done ? GenStateCompleted : GenStateSuspendedYield;

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

          return {
            value: record.arg,
            done: context.done
          };
        } else if (record.type === "throw") {
          state = GenStateCompleted;
          context.method = "throw";
          context.arg = record.arg;
        }
      }
    };
  }

  function maybeInvokeDelegate(delegate, context) {
    var method = delegate.iterator[context.method];

    if (method === undefined) {
      context.delegate = null;

      if (context.method === "throw") {
        if (delegate.iterator["return"]) {
          context.method = "return";
          context.arg = undefined;
          maybeInvokeDelegate(delegate, context);

          if (context.method === "throw") {
            return ContinueSentinel;
          }
        }

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

      return ContinueSentinel;
    }

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

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

    var info = record.arg;

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

    if (info.done) {
      context[delegate.resultName] = info.value;
      context.next = delegate.nextLoc;

      if (context.method !== "return") {
        context.method = "next";
        context.arg = undefined;
      }
    } else {
      return info;
    }

    context.delegate = null;
    return ContinueSentinel;
  }

  defineIteratorMethods(Gp);
  define(Gp, toStringTagSymbol, "Generator");

  Gp[iteratorSymbol] = function () {
    return this;
  };

  Gp.toString = function () {
    return "[object Generator]";
  };

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

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

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

    this.tryEntries.push(entry);
  }

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

  function Context(tryLocsList) {
    this.tryEntries = [{
      tryLoc: "root"
    }];
    tryLocsList.forEach(pushTryEntry, this);
    this.reset(true);
  }

  exports.keys = function (object) {
    var keys = [];

    for (var key in object) {
      keys.push(key);
    }

    keys.reverse();
    return function next() {
      while (keys.length) {
        var key = keys.pop();

        if (key in object) {
          next.value = key;
          next.done = false;
          return next;
        }
      }

      next.done = true;
      return next;
    };
  };

  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];

      if (iteratorMethod) {
        return iteratorMethod.call(iterable);
      }

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

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

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

        return next.next = next;
      }
    }

    return {
      next: doneResult
    };
  }

  exports.values = values;

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

  Context.prototype = {
    constructor: Context,
    reset: function reset(skipTempReset) {
      this.prev = 0;
      this.next = 0;
      this.sent = this._sent = undefined;
      this.done = false;
      this.delegate = null;
      this.method = "next";
      this.arg = undefined;
      this.tryEntries.forEach(resetTryEntry);

      if (!skipTempReset) {
        for (var name in this) {
          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
            this[name] = undefined;
          }
        }
      }
    },
    stop: function stop() {
      this.done = true;
      var rootEntry = this.tryEntries[0];
      var rootRecord = rootEntry.completion;

      if (rootRecord.type === "throw") {
        throw rootRecord.arg;
      }

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

      var context = this;

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

        if (caught) {
          context.method = "next";
          context.arg = undefined;
        }

        return !!caught;
      }

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

        if (entry.tryLoc === "root") {
          return handle("end");
        }

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

          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            } else if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            }
          } else if (hasFinally) {
            if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else {
            throw new Error("try statement without catch or finally");
          }
        }
      }
    },
    abrupt: function abrupt(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];

        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }

      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
        finallyEntry = null;
      }

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

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

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

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

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

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

        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;

          if (record.type === "throw") {
            var thrown = record.arg;
            resetTryEntry(entry);
          }

          return thrown;
        }
      }

      throw new Error("illegal catch attempt");
    },
    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
      this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      };

      if (this.method === "next") {
        this.arg = undefined;
      }

      return ContinueSentinel;
    }
  };
  return exports;
}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});

try {
  regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
  Function("r", "regeneratorRuntime = r")(runtime);
}

/***/ }),
/* 4 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.arrayByteLength = arrayByteLength;
exports.arraysToBytes = arraysToBytes;
exports.assert = assert;
exports.bytesToString = bytesToString;
exports.createPromiseCapability = createPromiseCapability;
exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
exports.encodeToXmlString = encodeToXmlString;
exports.escapeString = escapeString;
exports.getModificationDate = getModificationDate;
exports.getVerbosityLevel = getVerbosityLevel;
exports.info = info;
exports.isArrayBuffer = isArrayBuffer;
exports.isArrayEqual = isArrayEqual;
exports.isAscii = isAscii;
exports.isBool = isBool;
exports.isNum = isNum;
exports.isSameOrigin = isSameOrigin;
exports.isString = isString;
exports.objectFromEntries = objectFromEntries;
exports.objectSize = objectSize;
exports.removeNullCharacters = removeNullCharacters;
exports.setVerbosityLevel = setVerbosityLevel;
exports.shadow = shadow;
exports.string32 = string32;
exports.stringToBytes = stringToBytes;
exports.stringToPDFString = stringToPDFString;
exports.stringToUTF16BEString = stringToUTF16BEString;
exports.stringToUTF8String = stringToUTF8String;
exports.unreachable = unreachable;
exports.utf8StringToString = utf8StringToString;
exports.warn = warn;
exports.VerbosityLevel = exports.Util = exports.UNSUPPORTED_FEATURES = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.IsLittleEndianCached = exports.IsEvalSupportedCached = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FontType = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.createObjectURL = exports.CMapCompressionType = exports.BaseException = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;

__w_pdfjs_require__(5);

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
var PermissionFlag = {
  PRINT: 0x04,
  MODIFY_CONTENTS: 0x08,
  COPY: 0x10,
  MODIFY_ANNOTATIONS: 0x20,
  FILL_INTERACTIVE_FORMS: 0x100,
  COPY_FOR_ACCESSIBILITY: 0x200,
  ASSEMBLE: 0x400,
  PRINT_HIGH_QUALITY: 0x800
};
exports.PermissionFlag = PermissionFlag;
var TextRenderingMode = {
  FILL: 0,
  STROKE: 1,
  FILL_STROKE: 2,
  INVISIBLE: 3,
  FILL_ADD_TO_PATH: 4,
  STROKE_ADD_TO_PATH: 5,
  FILL_STROKE_ADD_TO_PATH: 6,
  ADD_TO_PATH: 7,
  FILL_STROKE_MASK: 3,
  ADD_TO_PATH_FLAG: 4
};
exports.TextRenderingMode = TextRenderingMode;
var ImageKind = {
  GRAYSCALE_1BPP: 1,
  RGB_24BPP: 2,
  RGBA_32BPP: 3
};
exports.ImageKind = ImageKind;
var AnnotationType = {
  TEXT: 1,
  LINK: 2,
  FREETEXT: 3,
  LINE: 4,
  SQUARE: 5,
  CIRCLE: 6,
  POLYGON: 7,
  POLYLINE: 8,
  HIGHLIGHT: 9,
  UNDERLINE: 10,
  SQUIGGLY: 11,
  STRIKEOUT: 12,
  STAMP: 13,
  CARET: 14,
  INK: 15,
  POPUP: 16,
  FILEATTACHMENT: 17,
  SOUND: 18,
  MOVIE: 19,
  WIDGET: 20,
  SCREEN: 21,
  PRINTERMARK: 22,
  TRAPNET: 23,
  WATERMARK: 24,
  THREED: 25,
  REDACT: 26
};
exports.AnnotationType = AnnotationType;
var AnnotationStateModelType = {
  MARKED: "Marked",
  REVIEW: "Review"
};
exports.AnnotationStateModelType = AnnotationStateModelType;
var AnnotationMarkedState = {
  MARKED: "Marked",
  UNMARKED: "Unmarked"
};
exports.AnnotationMarkedState = AnnotationMarkedState;
var AnnotationReviewState = {
  ACCEPTED: "Accepted",
  REJECTED: "Rejected",
  CANCELLED: "Cancelled",
  COMPLETED: "Completed",
  NONE: "None"
};
exports.AnnotationReviewState = AnnotationReviewState;
var AnnotationReplyType = {
  GROUP: "Group",
  REPLY: "R"
};
exports.AnnotationReplyType = AnnotationReplyType;
var AnnotationFlag = {
  INVISIBLE: 0x01,
  HIDDEN: 0x02,
  PRINT: 0x04,
  NOZOOM: 0x08,
  NOROTATE: 0x10,
  NOVIEW: 0x20,
  READONLY: 0x40,
  LOCKED: 0x80,
  TOGGLENOVIEW: 0x100,
  LOCKEDCONTENTS: 0x200
};
exports.AnnotationFlag = AnnotationFlag;
var AnnotationFieldFlag = {
  READONLY: 0x0000001,
  REQUIRED: 0x0000002,
  NOEXPORT: 0x0000004,
  MULTILINE: 0x0001000,
  PASSWORD: 0x0002000,
  NOTOGGLETOOFF: 0x0004000,
  RADIO: 0x0008000,
  PUSHBUTTON: 0x0010000,
  COMBO: 0x0020000,
  EDIT: 0x0040000,
  SORT: 0x0080000,
  FILESELECT: 0x0100000,
  MULTISELECT: 0x0200000,
  DONOTSPELLCHECK: 0x0400000,
  DONOTSCROLL: 0x0800000,
  COMB: 0x1000000,
  RICHTEXT: 0x2000000,
  RADIOSINUNISON: 0x2000000,
  COMMITONSELCHANGE: 0x4000000
};
exports.AnnotationFieldFlag = AnnotationFieldFlag;
var AnnotationBorderStyleType = {
  SOLID: 1,
  DASHED: 2,
  BEVELED: 3,
  INSET: 4,
  UNDERLINE: 5
};
exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
var AnnotationActionEventType = {
  E: "Mouse Enter",
  X: "Mouse Exit",
  D: "Mouse Down",
  U: "Mouse Up",
  Fo: "Focus",
  Bl: "Blur",
  PO: "PageOpen",
  PC: "PageClose",
  PV: "PageVisible",
  PI: "PageInvisible",
  K: "Keystroke",
  F: "Format",
  V: "Validate",
  C: "Calculate"
};
exports.AnnotationActionEventType = AnnotationActionEventType;
var DocumentActionEventType = {
  WC: "WillClose",
  WS: "WillSave",
  DS: "DidSave",
  WP: "WillPrint",
  DP: "DidPrint"
};
exports.DocumentActionEventType = DocumentActionEventType;
var PageActionEventType = {
  O: "PageOpen",
  C: "PageClose"
};
exports.PageActionEventType = PageActionEventType;
var StreamType = {
  UNKNOWN: "UNKNOWN",
  FLATE: "FLATE",
  LZW: "LZW",
  DCT: "DCT",
  JPX: "JPX",
  JBIG: "JBIG",
  A85: "A85",
  AHX: "AHX",
  CCF: "CCF",
  RLX: "RLX"
};
exports.StreamType = StreamType;
var FontType = {
  UNKNOWN: "UNKNOWN",
  TYPE1: "TYPE1",
  TYPE1C: "TYPE1C",
  CIDFONTTYPE0: "CIDFONTTYPE0",
  CIDFONTTYPE0C: "CIDFONTTYPE0C",
  TRUETYPE: "TRUETYPE",
  CIDFONTTYPE2: "CIDFONTTYPE2",
  TYPE3: "TYPE3",
  OPENTYPE: "OPENTYPE",
  TYPE0: "TYPE0",
  MMTYPE1: "MMTYPE1"
};
exports.FontType = FontType;
var VerbosityLevel = {
  ERRORS: 0,
  WARNINGS: 1,
  INFOS: 5
};
exports.VerbosityLevel = VerbosityLevel;
var CMapCompressionType = {
  NONE: 0,
  BINARY: 1,
  STREAM: 2
};
exports.CMapCompressionType = CMapCompressionType;
var OPS = {
  dependency: 1,
  setLineWidth: 2,
  setLineCap: 3,
  setLineJoin: 4,
  setMiterLimit: 5,
  setDash: 6,
  setRenderingIntent: 7,
  setFlatness: 8,
  setGState: 9,
  save: 10,
  restore: 11,
  transform: 12,
  moveTo: 13,
  lineTo: 14,
  curveTo: 15,
  curveTo2: 16,
  curveTo3: 17,
  closePath: 18,
  rectangle: 19,
  stroke: 20,
  closeStroke: 21,
  fill: 22,
  eoFill: 23,
  fillStroke: 24,
  eoFillStroke: 25,
  closeFillStroke: 26,
  closeEOFillStroke: 27,
  endPath: 28,
  clip: 29,
  eoClip: 30,
  beginText: 31,
  endText: 32,
  setCharSpacing: 33,
  setWordSpacing: 34,
  setHScale: 35,
  setLeading: 36,
  setFont: 37,
  setTextRenderingMode: 38,
  setTextRise: 39,
  moveText: 40,
  setLeadingMoveText: 41,
  setTextMatrix: 42,
  nextLine: 43,
  showText: 44,
  showSpacedText: 45,
  nextLineShowText: 46,
  nextLineSetSpacingShowText: 47,
  setCharWidth: 48,
  setCharWidthAndBounds: 49,
  setStrokeColorSpace: 50,
  setFillColorSpace: 51,
  setStrokeColor: 52,
  setStrokeColorN: 53,
  setFillColor: 54,
  setFillColorN: 55,
  setStrokeGray: 56,
  setFillGray: 57,
  setStrokeRGBColor: 58,
  setFillRGBColor: 59,
  setStrokeCMYKColor: 60,
  setFillCMYKColor: 61,
  shadingFill: 62,
  beginInlineImage: 63,
  beginImageData: 64,
  endInlineImage: 65,
  paintXObject: 66,
  markPoint: 67,
  markPointProps: 68,
  beginMarkedContent: 69,
  beginMarkedContentProps: 70,
  endMarkedContent: 71,
  beginCompat: 72,
  endCompat: 73,
  paintFormXObjectBegin: 74,
  paintFormXObjectEnd: 75,
  beginGroup: 76,
  endGroup: 77,
  beginAnnotations: 78,
  endAnnotations: 79,
  beginAnnotation: 80,
  endAnnotation: 81,
  paintJpegXObject: 82,
  paintImageMaskXObject: 83,
  paintImageMaskXObjectGroup: 84,
  paintImageXObject: 85,
  paintInlineImageXObject: 86,
  paintInlineImageXObjectGroup: 87,
  paintImageXObjectRepeat: 88,
  paintImageMaskXObjectRepeat: 89,
  paintSolidColorImageMask: 90,
  constructPath: 91
};
exports.OPS = OPS;
var UNSUPPORTED_FEATURES = {
  unknown: "unknown",
  forms: "forms",
  javaScript: "javaScript",
  smask: "smask",
  shadingPattern: "shadingPattern",
  font: "font",
  errorTilingPattern: "errorTilingPattern",
  errorExtGState: "errorExtGState",
  errorXObject: "errorXObject",
  errorFontLoadType3: "errorFontLoadType3",
  errorFontState: "errorFontState",
  errorFontMissing: "errorFontMissing",
  errorFontTranslate: "errorFontTranslate",
  errorColorSpace: "errorColorSpace",
  errorOperatorList: "errorOperatorList",
  errorFontToUnicode: "errorFontToUnicode",
  errorFontLoadNative: "errorFontLoadNative",
  errorFontGetPath: "errorFontGetPath",
  errorMarkedContent: "errorMarkedContent"
};
exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
var PasswordResponses = {
  NEED_PASSWORD: 1,
  INCORRECT_PASSWORD: 2
};
exports.PasswordResponses = PasswordResponses;
var verbosity = VerbosityLevel.WARNINGS;

function setVerbosityLevel(level) {
  if (Number.isInteger(level)) {
    verbosity = level;
  }
}

function getVerbosityLevel() {
  return verbosity;
}

function info(msg) {
  if (verbosity >= VerbosityLevel.INFOS) {
    console.log("Info: ".concat(msg));
  }
}

function warn(msg) {
  if (verbosity >= VerbosityLevel.WARNINGS) {
    console.log("Warning: ".concat(msg));
  }
}

function unreachable(msg) {
  throw new Error(msg);
}

function assert(cond, msg) {
  if (!cond) {
    unreachable(msg);
  }
}

function isSameOrigin(baseUrl, otherUrl) {
  var base;

  try {
    base = new URL(baseUrl);

    if (!base.origin || base.origin === "null") {
      return false;
    }
  } catch (e) {
    return false;
  }

  var other = new URL(otherUrl, base);
  return base.origin === other.origin;
}

function _isValidProtocol(url) {
  if (!url) {
    return false;
  }

  switch (url.protocol) {
    case "http:":
    case "https:":
    case "ftp:":
    case "mailto:":
    case "tel:":
      return true;

    default:
      return false;
  }
}

function createValidAbsoluteUrl(url, baseUrl) {
  if (!url) {
    return null;
  }

  try {
    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);

    if (_isValidProtocol(absoluteUrl)) {
      return absoluteUrl;
    }
  } catch (ex) {}

  return null;
}

function shadow(obj, prop, value) {
  Object.defineProperty(obj, prop, {
    value: value,
    enumerable: true,
    configurable: true,
    writable: false
  });
  return value;
}

var BaseException = function BaseExceptionClosure() {
  function BaseException(message) {
    if (this.constructor === BaseException) {
      unreachable("Cannot initialize BaseException.");
    }

    this.message = message;
    this.name = this.constructor.name;
  }

  BaseException.prototype = new Error();
  BaseException.constructor = BaseException;
  return BaseException;
}();

exports.BaseException = BaseException;

var PasswordException = /*#__PURE__*/function (_BaseException) {
  _inherits(PasswordException, _BaseException);

  var _super = _createSuper(PasswordException);

  function PasswordException(msg, code) {
    var _this;

    _classCallCheck(this, PasswordException);

    _this = _super.call(this, msg);
    _this.code = code;
    return _this;
  }

  return PasswordException;
}(BaseException);

exports.PasswordException = PasswordException;

var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {
  _inherits(UnknownErrorException, _BaseException2);

  var _super2 = _createSuper(UnknownErrorException);

  function UnknownErrorException(msg, details) {
    var _this2;

    _classCallCheck(this, UnknownErrorException);

    _this2 = _super2.call(this, msg);
    _this2.details = details;
    return _this2;
  }

  return UnknownErrorException;
}(BaseException);

exports.UnknownErrorException = UnknownErrorException;

var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {
  _inherits(InvalidPDFException, _BaseException3);

  var _super3 = _createSuper(InvalidPDFException);

  function InvalidPDFException() {
    _classCallCheck(this, InvalidPDFException);

    return _super3.apply(this, arguments);
  }

  return InvalidPDFException;
}(BaseException);

exports.InvalidPDFException = InvalidPDFException;

var MissingPDFException = /*#__PURE__*/function (_BaseException4) {
  _inherits(MissingPDFException, _BaseException4);

  var _super4 = _createSuper(MissingPDFException);

  function MissingPDFException() {
    _classCallCheck(this, MissingPDFException);

    return _super4.apply(this, arguments);
  }

  return MissingPDFException;
}(BaseException);

exports.MissingPDFException = MissingPDFException;

var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {
  _inherits(UnexpectedResponseException, _BaseException5);

  var _super5 = _createSuper(UnexpectedResponseException);

  function UnexpectedResponseException(msg, status) {
    var _this3;

    _classCallCheck(this, UnexpectedResponseException);

    _this3 = _super5.call(this, msg);
    _this3.status = status;
    return _this3;
  }

  return UnexpectedResponseException;
}(BaseException);

exports.UnexpectedResponseException = UnexpectedResponseException;

var FormatError = /*#__PURE__*/function (_BaseException6) {
  _inherits(FormatError, _BaseException6);

  var _super6 = _createSuper(FormatError);

  function FormatError() {
    _classCallCheck(this, FormatError);

    return _super6.apply(this, arguments);
  }

  return FormatError;
}(BaseException);

exports.FormatError = FormatError;

var AbortException = /*#__PURE__*/function (_BaseException7) {
  _inherits(AbortException, _BaseException7);

  var _super7 = _createSuper(AbortException);

  function AbortException() {
    _classCallCheck(this, AbortException);

    return _super7.apply(this, arguments);
  }

  return AbortException;
}(BaseException);

exports.AbortException = AbortException;
var NullCharactersRegExp = /\x00/g;

function removeNullCharacters(str) {
  if (typeof str !== "string") {
    warn("The argument for removeNullCharacters must be a string.");
    return str;
  }

  return str.replace(NullCharactersRegExp, "");
}

function bytesToString(bytes) {
  assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
  var length = bytes.length;
  var MAX_ARGUMENT_COUNT = 8192;

  if (length < MAX_ARGUMENT_COUNT) {
    return String.fromCharCode.apply(null, bytes);
  }

  var strBuf = [];

  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
    var chunk = bytes.subarray(i, chunkEnd);
    strBuf.push(String.fromCharCode.apply(null, chunk));
  }

  return strBuf.join("");
}

function stringToBytes(str) {
  assert(typeof str === "string", "Invalid argument for stringToBytes");
  var length = str.length;
  var bytes = new Uint8Array(length);

  for (var i = 0; i < length; ++i) {
    bytes[i] = str.charCodeAt(i) & 0xff;
  }

  return bytes;
}

function arrayByteLength(arr) {
  if (arr.length !== undefined) {
    return arr.length;
  }

  assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument.");
  return arr.byteLength;
}

function arraysToBytes(arr) {
  var length = arr.length;

  if (length === 1 && arr[0] instanceof Uint8Array) {
    return arr[0];
  }

  var resultLength = 0;

  for (var i = 0; i < length; i++) {
    resultLength += arrayByteLength(arr[i]);
  }

  var pos = 0;
  var data = new Uint8Array(resultLength);

  for (var _i = 0; _i < length; _i++) {
    var item = arr[_i];

    if (!(item instanceof Uint8Array)) {
      if (typeof item === "string") {
        item = stringToBytes(item);
      } else {
        item = new Uint8Array(item);
      }
    }

    var itemLength = item.byteLength;
    data.set(item, pos);
    pos += itemLength;
  }

  return data;
}

function string32(value) {
  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
}

function objectSize(obj) {
  return Object.keys(obj).length;
}

function objectFromEntries(iterable) {
  return Object.assign(Object.create(null), Object.fromEntries(iterable));
}

function isLittleEndian() {
  var buffer8 = new Uint8Array(4);
  buffer8[0] = 1;
  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
  return view32[0] === 1;
}

var IsLittleEndianCached = {
  get value() {
    return shadow(this, "value", isLittleEndian());
  }

};
exports.IsLittleEndianCached = IsLittleEndianCached;

function isEvalSupported() {
  try {
    new Function("");
    return true;
  } catch (e) {
    return false;
  }
}

var IsEvalSupportedCached = {
  get value() {
    return shadow(this, "value", isEvalSupported());
  }

};
exports.IsEvalSupportedCached = IsEvalSupportedCached;

var hexNumbers = _toConsumableArray(Array(256).keys()).map(function (n) {
  return n.toString(16).padStart(2, "0");
});

var Util = /*#__PURE__*/function () {
  function Util() {
    _classCallCheck(this, Util);
  }

  _createClass(Util, null, [{
    key: "makeHexColor",
    value: function makeHexColor(r, g, b) {
      return "#".concat(hexNumbers[r]).concat(hexNumbers[g]).concat(hexNumbers[b]);
    }
  }, {
    key: "transform",
    value: function transform(m1, m2) {
      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
    }
  }, {
    key: "applyTransform",
    value: function applyTransform(p, m) {
      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
      return [xt, yt];
    }
  }, {
    key: "applyInverseTransform",
    value: function applyInverseTransform(p, m) {
      var d = m[0] * m[3] - m[1] * m[2];
      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
      return [xt, yt];
    }
  }, {
    key: "getAxialAlignedBoundingBox",
    value: function getAxialAlignedBoundingBox(r, m) {
      var p1 = Util.applyTransform(r, m);
      var p2 = Util.applyTransform(r.slice(2, 4), m);
      var p3 = Util.applyTransform([r[0], r[3]], m);
      var p4 = Util.applyTransform([r[2], r[1]], m);
      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
    }
  }, {
    key: "inverseTransform",
    value: function inverseTransform(m) {
      var d = m[0] * m[3] - m[1] * m[2];
      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
    }
  }, {
    key: "apply3dTransform",
    value: function apply3dTransform(m, v) {
      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];
    }
  }, {
    key: "singularValueDecompose2dScale",
    value: function singularValueDecompose2dScale(m) {
      var transpose = [m[0], m[2], m[1], m[3]];
      var a = m[0] * transpose[0] + m[1] * transpose[2];
      var b = m[0] * transpose[1] + m[1] * transpose[3];
      var c = m[2] * transpose[0] + m[3] * transpose[2];
      var d = m[2] * transpose[1] + m[3] * transpose[3];
      var first = (a + d) / 2;
      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
      var sx = first + second || 1;
      var sy = first - second || 1;
      return [Math.sqrt(sx), Math.sqrt(sy)];
    }
  }, {
    key: "normalizeRect",
    value: function normalizeRect(rect) {
      var r = rect.slice(0);

      if (rect[0] > rect[2]) {
        r[0] = rect[2];
        r[2] = rect[0];
      }

      if (rect[1] > rect[3]) {
        r[1] = rect[3];
        r[3] = rect[1];
      }

      return r;
    }
  }, {
    key: "intersect",
    value: function intersect(rect1, rect2) {
      function compare(a, b) {
        return a - b;
      }

      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
      var result = [];
      rect1 = Util.normalizeRect(rect1);
      rect2 = Util.normalizeRect(rect2);

      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
        result[0] = orderedX[1];
        result[2] = orderedX[2];
      } else {
        return null;
      }

      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
        result[1] = orderedY[1];
        result[3] = orderedY[2];
      } else {
        return null;
      }

      return result;
    }
  }]);

  return Util;
}();

exports.Util = Util;
var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];

function stringToPDFString(str) {
  var length = str.length,
      strBuf = [];

  if (str[0] === "\xFE" && str[1] === "\xFF") {
    for (var i = 2; i < length; i += 2) {
      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
    }
  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
    for (var _i2 = 2; _i2 < length; _i2 += 2) {
      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
    }
  } else {
    for (var _i3 = 0; _i3 < length; ++_i3) {
      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
    }
  }

  return strBuf.join("");
}

function escapeString(str) {
  return str.replace(/([()\\\n\r])/g, function (match) {
    if (match === "\n") {
      return "\\n";
    } else if (match === "\r") {
      return "\\r";
    }

    return "\\".concat(match);
  });
}

function isAscii(str) {
  return /^[\x00-\x7F]*$/.test(str);
}

function stringToUTF16BEString(str) {
  var buf = ["\xFE\xFF"];

  for (var i = 0, ii = str.length; i < ii; i++) {
    var _char = str.charCodeAt(i);

    buf.push(String.fromCharCode(_char >> 8 & 0xff));
    buf.push(String.fromCharCode(_char & 0xff));
  }

  return buf.join("");
}

function stringToUTF8String(str) {
  return decodeURIComponent(escape(str));
}

function utf8StringToString(str) {
  return unescape(encodeURIComponent(str));
}

function isBool(v) {
  return typeof v === "boolean";
}

function isNum(v) {
  return typeof v === "number";
}

function isString(v) {
  return typeof v === "string";
}

function isArrayBuffer(v) {
  return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
}

function isArrayEqual(arr1, arr2) {
  if (arr1.length !== arr2.length) {
    return false;
  }

  return arr1.every(function (element, index) {
    return element === arr2[index];
  });
}

function getModificationDate() {
  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date();
  var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), date.getUTCDate().toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")];
  return buffer.join("");
}

function createPromiseCapability() {
  var capability = Object.create(null);
  var isSettled = false;
  Object.defineProperty(capability, "settled", {
    get: function get() {
      return isSettled;
    }
  });
  capability.promise = new Promise(function (resolve, reject) {
    capability.resolve = function (data) {
      isSettled = true;
      resolve(data);
    };

    capability.reject = function (reason) {
      isSettled = true;
      reject(reason);
    };
  });
  return capability;
}

var createObjectURL = function createObjectURLClosure() {
  var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  return function createObjectURL(data, contentType) {
    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    if (!forceDataSchema && URL.createObjectURL) {
      var blob = new Blob([data], {
        type: contentType
      });
      return URL.createObjectURL(blob);
    }

    var buffer = "data:".concat(contentType, ";base64,");

    for (var i = 0, ii = data.length; i < ii; i += 3) {
      var b1 = data[i] & 0xff;
      var b2 = data[i + 1] & 0xff;
      var b3 = data[i + 2] & 0xff;
      var d1 = b1 >> 2,
          d2 = (b1 & 3) << 4 | b2 >> 4;
      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
      var d4 = i + 2 < ii ? b3 & 0x3f : 64;
      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
    }

    return buffer;
  };
}();

exports.createObjectURL = createObjectURL;
var XMLEntities = {
  0x3c: "&lt;",
  0x3e: "&gt;",
  0x26: "&amp;",
  0x22: "&quot;",
  0x27: "&apos;"
};

function encodeToXmlString(str) {
  var buffer = [];
  var start = 0;

  for (var i = 0, ii = str.length; i < ii; i++) {
    var _char2 = str.codePointAt(i);

    if (0x20 <= _char2 && _char2 <= 0x7e) {
      var entity = XMLEntities[_char2];

      if (entity) {
        if (start < i) {
          buffer.push(str.substring(start, i));
        }

        buffer.push(entity);
        start = i + 1;
      }
    } else {
      if (start < i) {
        buffer.push(str.substring(start, i));
      }

      buffer.push("&#x".concat(_char2.toString(16).toUpperCase(), ";"));

      if (_char2 > 0xd7ff && (_char2 < 0xe000 || _char2 > 0xfffd)) {
        i++;
      }

      start = i + 1;
    }
  }

  if (buffer.length === 0) {
    return str;
  }

  if (start < str.length) {
    buffer.push(str.substring(start, str.length));
  }

  return buffer.join("");
}

/***/ }),
/* 5 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";


var _is_node = __w_pdfjs_require__(6);

if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
  if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
    globalThis = __w_pdfjs_require__(7);
  }

  globalThis._pdfjsCompatibilityChecked = true;

  (function checkNodeBtoa() {
    if (globalThis.btoa || !_is_node.isNodeJS) {
      return;
    }

    globalThis.btoa = function (chars) {
      return Buffer.from(chars, "binary").toString("base64");
    };
  })();

  (function checkNodeAtob() {
    if (globalThis.atob || !_is_node.isNodeJS) {
      return;
    }

    globalThis.atob = function (input) {
      return Buffer.from(input, "base64").toString("binary");
    };
  })();

  (function checkObjectFromEntries() {
    if (Object.fromEntries) {
      return;
    }

    __w_pdfjs_require__(52);
  })();

  (function checkPromise() {
    if (globalThis.Promise.allSettled) {
      return;
    }

    globalThis.Promise = __w_pdfjs_require__(82);
  })();

  (function checkURL() {
    globalThis.URL = __w_pdfjs_require__(111);
  })();

  (function checkReadableStream() {
    var isReadableStreamSupported = false;

    if (typeof ReadableStream !== "undefined") {
      try {
        new ReadableStream({
          start: function start(controller) {
            controller.close();
          }
        });
        isReadableStreamSupported = true;
      } catch (e) {}
    }

    if (isReadableStreamSupported) {
      return;
    }

    globalThis.ReadableStream = __w_pdfjs_require__(121).ReadableStream;
  })();

  (function checkStringPadStart() {
    if (String.prototype.padStart) {
      return;
    }

    __w_pdfjs_require__(122);
  })();

  (function checkStringPadEnd() {
    if (String.prototype.padEnd) {
      return;
    }

    __w_pdfjs_require__(128);
  })();

  (function checkObjectValues() {
    if (Object.values) {
      return;
    }

    Object.values = __w_pdfjs_require__(130);
  })();

  (function checkObjectEntries() {
    if (Object.entries) {
      return;
    }

    Object.entries = __w_pdfjs_require__(133);
  })();
}

/***/ }),
/* 6 */
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.isNodeJS = void 0;

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser");
exports.isNodeJS = isNodeJS;

/***/ }),
/* 7 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(8);
module.exports = __w_pdfjs_require__(10);

/***/ }),
/* 8 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var $ = __w_pdfjs_require__(9);
var global = __w_pdfjs_require__(10);
$({ global: true }, { globalThis: global });

/***/ }),
/* 9 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var redefine = __w_pdfjs_require__(28);
var setGlobal = __w_pdfjs_require__(29);
var copyConstructorProperties = __w_pdfjs_require__(39);
var isForced = __w_pdfjs_require__(51);
module.exports = function (options, source) {
 var TARGET = options.target;
 var GLOBAL = options.global;
 var STATIC = options.stat;
 var FORCED, target, key, targetProperty, sourceProperty, descriptor;
 if (GLOBAL) {
  target = global;
 } else if (STATIC) {
  target = global[TARGET] || setGlobal(TARGET, {});
 } else {
  target = (global[TARGET] || {}).prototype;
 }
 if (target)
  for (key in source) {
   sourceProperty = source[key];
   if (options.noTargetGet) {
    descriptor = getOwnPropertyDescriptor(target, key);
    targetProperty = descriptor && descriptor.value;
   } else
    targetProperty = target[key];
   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
   if (!FORCED && targetProperty !== undefined) {
    if (typeof sourceProperty === typeof targetProperty)
     continue;
    copyConstructorProperties(sourceProperty, targetProperty);
   }
   if (options.sham || targetProperty && targetProperty.sham) {
    createNonEnumerableProperty(sourceProperty, 'sham', true);
   }
   redefine(target, key, sourceProperty, options);
  }
};

/***/ }),
/* 10 */
/***/ ((module) => {

var check = function (it) {
 return it && it.Math == Math && it;
};
module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || function () {
 return this;
}() || Function('return this')();

/***/ }),
/* 11 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var propertyIsEnumerableModule = __w_pdfjs_require__(14);
var createPropertyDescriptor = __w_pdfjs_require__(15);
var toIndexedObject = __w_pdfjs_require__(16);
var toPrimitive = __w_pdfjs_require__(20);
var has = __w_pdfjs_require__(22);
var IE8_DOM_DEFINE = __w_pdfjs_require__(23);
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
 O = toIndexedObject(O);
 P = toPrimitive(P, true);
 if (IE8_DOM_DEFINE)
  try {
   return nativeGetOwnPropertyDescriptor(O, P);
  } catch (error) {
  }
 if (has(O, P))
  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
};

/***/ }),
/* 12 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
module.exports = !fails(function () {
 return Object.defineProperty({}, 1, {
  get: function () {
   return 7;
  }
 })[1] != 7;
});

/***/ }),
/* 13 */
/***/ ((module) => {

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

/***/ }),
/* 14 */
/***/ ((__unused_webpack_module, exports) => {

"use strict";

var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
 var descriptor = getOwnPropertyDescriptor(this, V);
 return !!descriptor && descriptor.enumerable;
} : nativePropertyIsEnumerable;

/***/ }),
/* 15 */
/***/ ((module) => {

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

/***/ }),
/* 16 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var IndexedObject = __w_pdfjs_require__(17);
var requireObjectCoercible = __w_pdfjs_require__(19);
module.exports = function (it) {
 return IndexedObject(requireObjectCoercible(it));
};

/***/ }),
/* 17 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
var classof = __w_pdfjs_require__(18);
var split = ''.split;
module.exports = fails(function () {
 return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
 return classof(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;

/***/ }),
/* 18 */
/***/ ((module) => {

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

/***/ }),
/* 19 */
/***/ ((module) => {

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

/***/ }),
/* 20 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var isObject = __w_pdfjs_require__(21);
module.exports = function (input, PREFERRED_STRING) {
 if (!isObject(input))
  return input;
 var fn, val;
 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
  return val;
 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
  return val;
 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
  return val;
 throw TypeError("Can't convert object to primitive value");
};

/***/ }),
/* 21 */
/***/ ((module) => {

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

/***/ }),
/* 22 */
/***/ ((module) => {

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

/***/ }),
/* 23 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var fails = __w_pdfjs_require__(13);
var createElement = __w_pdfjs_require__(24);
module.exports = !DESCRIPTORS && !fails(function () {
 return Object.defineProperty(createElement('div'), 'a', {
  get: function () {
   return 7;
  }
 }).a != 7;
});

/***/ }),
/* 24 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var isObject = __w_pdfjs_require__(21);
var document = global.document;
var EXISTS = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
 return EXISTS ? document.createElement(it) : {};
};

/***/ }),
/* 25 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var definePropertyModule = __w_pdfjs_require__(26);
var createPropertyDescriptor = __w_pdfjs_require__(15);
module.exports = DESCRIPTORS ? function (object, key, value) {
 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
 object[key] = value;
 return object;
};

/***/ }),
/* 26 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var IE8_DOM_DEFINE = __w_pdfjs_require__(23);
var anObject = __w_pdfjs_require__(27);
var toPrimitive = __w_pdfjs_require__(20);
var nativeDefineProperty = Object.defineProperty;
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
 anObject(O);
 P = toPrimitive(P, true);
 anObject(Attributes);
 if (IE8_DOM_DEFINE)
  try {
   return nativeDefineProperty(O, P, Attributes);
  } catch (error) {
  }
 if ('get' in Attributes || 'set' in Attributes)
  throw TypeError('Accessors not supported');
 if ('value' in Attributes)
  O[P] = Attributes.value;
 return O;
};

/***/ }),
/* 27 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

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

/***/ }),
/* 28 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var has = __w_pdfjs_require__(22);
var setGlobal = __w_pdfjs_require__(29);
var inspectSource = __w_pdfjs_require__(30);
var InternalStateModule = __w_pdfjs_require__(32);
var getInternalState = InternalStateModule.get;
var enforceInternalState = InternalStateModule.enforce;
var TEMPLATE = String(String).split('String');
(module.exports = function (O, key, value, options) {
 var unsafe = options ? !!options.unsafe : false;
 var simple = options ? !!options.enumerable : false;
 var noTargetGet = options ? !!options.noTargetGet : false;
 var state;
 if (typeof value == 'function') {
  if (typeof key == 'string' && !has(value, 'name')) {
   createNonEnumerableProperty(value, 'name', key);
  }
  state = enforceInternalState(value);
  if (!state.source) {
   state.source = TEMPLATE.join(typeof key == 'string' ? key : '');
  }
 }
 if (O === global) {
  if (simple)
   O[key] = value;
  else
   setGlobal(key, value);
  return;
 } else if (!unsafe) {
  delete O[key];
 } else if (!noTargetGet && O[key]) {
  simple = true;
 }
 if (simple)
  O[key] = value;
 else
  createNonEnumerableProperty(O, key, value);
})(Function.prototype, 'toString', function toString() {
 return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
});

/***/ }),
/* 29 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
module.exports = function (key, value) {
 try {
  createNonEnumerableProperty(global, key, value);
 } catch (error) {
  global[key] = value;
 }
 return value;
};

/***/ }),
/* 30 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var store = __w_pdfjs_require__(31);
var functionToString = Function.toString;
if (typeof store.inspectSource != 'function') {
 store.inspectSource = function (it) {
  return functionToString.call(it);
 };
}
module.exports = store.inspectSource;

/***/ }),
/* 31 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var setGlobal = __w_pdfjs_require__(29);
var SHARED = '__core-js_shared__';
var store = global[SHARED] || setGlobal(SHARED, {});
module.exports = store;

/***/ }),
/* 32 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var NATIVE_WEAK_MAP = __w_pdfjs_require__(33);
var global = __w_pdfjs_require__(10);
var isObject = __w_pdfjs_require__(21);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var objectHas = __w_pdfjs_require__(22);
var shared = __w_pdfjs_require__(31);
var sharedKey = __w_pdfjs_require__(34);
var hiddenKeys = __w_pdfjs_require__(38);
var WeakMap = global.WeakMap;
var set, get, has;
var enforce = function (it) {
 return has(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
 return function (it) {
  var state;
  if (!isObject(it) || (state = get(it)).type !== TYPE) {
   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
  }
  return state;
 };
};
if (NATIVE_WEAK_MAP) {
 var store = shared.state || (shared.state = new WeakMap());
 var wmget = store.get;
 var wmhas = store.has;
 var wmset = store.set;
 set = function (it, metadata) {
  metadata.facade = it;
  wmset.call(store, it, metadata);
  return metadata;
 };
 get = function (it) {
  return wmget.call(store, it) || {};
 };
 has = function (it) {
  return wmhas.call(store, it);
 };
} else {
 var STATE = sharedKey('state');
 hiddenKeys[STATE] = true;
 set = function (it, metadata) {
  metadata.facade = it;
  createNonEnumerableProperty(it, STATE, metadata);
  return metadata;
 };
 get = function (it) {
  return objectHas(it, STATE) ? it[STATE] : {};
 };
 has = function (it) {
  return objectHas(it, STATE);
 };
}
module.exports = {
 set: set,
 get: get,
 has: has,
 enforce: enforce,
 getterFor: getterFor
};

/***/ }),
/* 33 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var inspectSource = __w_pdfjs_require__(30);
var WeakMap = global.WeakMap;
module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));

/***/ }),
/* 34 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var shared = __w_pdfjs_require__(35);
var uid = __w_pdfjs_require__(37);
var keys = shared('keys');
module.exports = function (key) {
 return keys[key] || (keys[key] = uid(key));
};

/***/ }),
/* 35 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var IS_PURE = __w_pdfjs_require__(36);
var store = __w_pdfjs_require__(31);
(module.exports = function (key, value) {
 return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
 version: '3.8.3',
 mode: IS_PURE ? 'pure' : 'global',
 copyright: '© 2021 Denis Pushkarev (zloirock.ru)'
});

/***/ }),
/* 36 */
/***/ ((module) => {

module.exports = false;

/***/ }),
/* 37 */
/***/ ((module) => {

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

/***/ }),
/* 38 */
/***/ ((module) => {

module.exports = {};

/***/ }),
/* 39 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var has = __w_pdfjs_require__(22);
var ownKeys = __w_pdfjs_require__(40);
var getOwnPropertyDescriptorModule = __w_pdfjs_require__(11);
var definePropertyModule = __w_pdfjs_require__(26);
module.exports = function (target, source) {
 var keys = ownKeys(source);
 var defineProperty = definePropertyModule.f;
 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
 for (var i = 0; i < keys.length; i++) {
  var key = keys[i];
  if (!has(target, key))
   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
 }
};

/***/ }),
/* 40 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var getBuiltIn = __w_pdfjs_require__(41);
var getOwnPropertyNamesModule = __w_pdfjs_require__(43);
var getOwnPropertySymbolsModule = __w_pdfjs_require__(50);
var anObject = __w_pdfjs_require__(27);
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
 var keys = getOwnPropertyNamesModule.f(anObject(it));
 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
};

/***/ }),
/* 41 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var path = __w_pdfjs_require__(42);
var global = __w_pdfjs_require__(10);
var aFunction = function (variable) {
 return typeof variable == 'function' ? variable : undefined;
};
module.exports = function (namespace, method) {
 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
};

/***/ }),
/* 42 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
module.exports = global;

/***/ }),
/* 43 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

var internalObjectKeys = __w_pdfjs_require__(44);
var enumBugKeys = __w_pdfjs_require__(49);
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
 return internalObjectKeys(O, hiddenKeys);
};

/***/ }),
/* 44 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var has = __w_pdfjs_require__(22);
var toIndexedObject = __w_pdfjs_require__(16);
var indexOf = __w_pdfjs_require__(45).indexOf;
var hiddenKeys = __w_pdfjs_require__(38);
module.exports = function (object, names) {
 var O = toIndexedObject(object);
 var i = 0;
 var result = [];
 var key;
 for (key in O)
  !has(hiddenKeys, key) && has(O, key) && result.push(key);
 while (names.length > i)
  if (has(O, key = names[i++])) {
   ~indexOf(result, key) || result.push(key);
  }
 return result;
};

/***/ }),
/* 45 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var toIndexedObject = __w_pdfjs_require__(16);
var toLength = __w_pdfjs_require__(46);
var toAbsoluteIndex = __w_pdfjs_require__(48);
var createMethod = function (IS_INCLUDES) {
 return function ($this, el, fromIndex) {
  var O = toIndexedObject($this);
  var length = toLength(O.length);
  var index = toAbsoluteIndex(fromIndex, length);
  var value;
  if (IS_INCLUDES && el != el)
   while (length > index) {
    value = O[index++];
    if (value != value)
     return true;
   }
  else
   for (; length > index; index++) {
    if ((IS_INCLUDES || index in O) && O[index] === el)
     return IS_INCLUDES || index || 0;
   }
  return !IS_INCLUDES && -1;
 };
};
module.exports = {
 includes: createMethod(true),
 indexOf: createMethod(false)
};

/***/ }),
/* 46 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var toInteger = __w_pdfjs_require__(47);
var min = Math.min;
module.exports = function (argument) {
 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
};

/***/ }),
/* 47 */
/***/ ((module) => {

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

/***/ }),
/* 48 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

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

/***/ }),
/* 49 */
/***/ ((module) => {

module.exports = [
 'constructor',
 'hasOwnProperty',
 'isPrototypeOf',
 'propertyIsEnumerable',
 'toLocaleString',
 'toString',
 'valueOf'
];

/***/ }),
/* 50 */
/***/ ((__unused_webpack_module, exports) => {

exports.f = Object.getOwnPropertySymbols;

/***/ }),
/* 51 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
 var value = data[normalize(feature)];
 return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
};
var normalize = isForced.normalize = function (string) {
 return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;

/***/ }),
/* 52 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(53);
__w_pdfjs_require__(72);
var path = __w_pdfjs_require__(42);
module.exports = path.Object.fromEntries;

/***/ }),
/* 53 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var toIndexedObject = __w_pdfjs_require__(16);
var addToUnscopables = __w_pdfjs_require__(54);
var Iterators = __w_pdfjs_require__(62);
var InternalStateModule = __w_pdfjs_require__(32);
var defineIterator = __w_pdfjs_require__(63);
var ARRAY_ITERATOR = 'Array Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
 setInternalState(this, {
  type: ARRAY_ITERATOR,
  target: toIndexedObject(iterated),
  index: 0,
  kind: kind
 });
}, function () {
 var state = getInternalState(this);
 var target = state.target;
 var kind = state.kind;
 var index = state.index++;
 if (!target || index >= target.length) {
  state.target = undefined;
  return {
   value: undefined,
   done: true
  };
 }
 if (kind == 'keys')
  return {
   value: index,
   done: false
  };
 if (kind == 'values')
  return {
   value: target[index],
   done: false
  };
 return {
  value: [
   index,
   target[index]
  ],
  done: false
 };
}, 'values');
Iterators.Arguments = Iterators.Array;
addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');

/***/ }),
/* 54 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var wellKnownSymbol = __w_pdfjs_require__(55);
var create = __w_pdfjs_require__(58);
var definePropertyModule = __w_pdfjs_require__(26);
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
if (ArrayPrototype[UNSCOPABLES] == undefined) {
 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
  configurable: true,
  value: create(null)
 });
}
module.exports = function (key) {
 ArrayPrototype[UNSCOPABLES][key] = true;
};

/***/ }),
/* 55 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var shared = __w_pdfjs_require__(35);
var has = __w_pdfjs_require__(22);
var uid = __w_pdfjs_require__(37);
var NATIVE_SYMBOL = __w_pdfjs_require__(56);
var USE_SYMBOL_AS_UID = __w_pdfjs_require__(57);
var WellKnownSymbolsStore = shared('wks');
var Symbol = global.Symbol;
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
module.exports = function (name) {
 if (!has(WellKnownSymbolsStore, name)) {
  if (NATIVE_SYMBOL && has(Symbol, name))
   WellKnownSymbolsStore[name] = Symbol[name];
  else
   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
 }
 return WellKnownSymbolsStore[name];
};

/***/ }),
/* 56 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
 return !String(Symbol());
});

/***/ }),
/* 57 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var NATIVE_SYMBOL = __w_pdfjs_require__(56);
module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';

/***/ }),
/* 58 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var defineProperties = __w_pdfjs_require__(59);
var enumBugKeys = __w_pdfjs_require__(49);
var hiddenKeys = __w_pdfjs_require__(38);
var html = __w_pdfjs_require__(61);
var documentCreateElement = __w_pdfjs_require__(24);
var sharedKey = __w_pdfjs_require__(34);
var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');
var EmptyConstructor = function () {
};
var scriptTag = function (content) {
 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};
var NullProtoObjectViaActiveX = function (activeXDocument) {
 activeXDocument.write(scriptTag(''));
 activeXDocument.close();
 var temp = activeXDocument.parentWindow.Object;
 activeXDocument = null;
 return temp;
};
var NullProtoObjectViaIFrame = function () {
 var iframe = documentCreateElement('iframe');
 var JS = 'java' + SCRIPT + ':';
 var iframeDocument;
 iframe.style.display = 'none';
 html.appendChild(iframe);
 iframe.src = String(JS);
 iframeDocument = iframe.contentWindow.document;
 iframeDocument.open();
 iframeDocument.write(scriptTag('document.F=Object'));
 iframeDocument.close();
 return iframeDocument.F;
};
var activeXDocument;
var NullProtoObject = function () {
 try {
  activeXDocument = document.domain && new ActiveXObject('htmlfile');
 } catch (error) {
 }
 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
 var length = enumBugKeys.length;
 while (length--)
  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
 return NullProtoObject();
};
hiddenKeys[IE_PROTO] = true;
module.exports = Object.create || function create(O, Properties) {
 var result;
 if (O !== null) {
  EmptyConstructor[PROTOTYPE] = anObject(O);
  result = new EmptyConstructor();
  EmptyConstructor[PROTOTYPE] = null;
  result[IE_PROTO] = O;
 } else
  result = NullProtoObject();
 return Properties === undefined ? result : defineProperties(result, Properties);
};

/***/ }),
/* 59 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var definePropertyModule = __w_pdfjs_require__(26);
var anObject = __w_pdfjs_require__(27);
var objectKeys = __w_pdfjs_require__(60);
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
 anObject(O);
 var keys = objectKeys(Properties);
 var length = keys.length;
 var index = 0;
 var key;
 while (length > index)
  definePropertyModule.f(O, key = keys[index++], Properties[key]);
 return O;
};

/***/ }),
/* 60 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var internalObjectKeys = __w_pdfjs_require__(44);
var enumBugKeys = __w_pdfjs_require__(49);
module.exports = Object.keys || function keys(O) {
 return internalObjectKeys(O, enumBugKeys);
};

/***/ }),
/* 61 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var getBuiltIn = __w_pdfjs_require__(41);
module.exports = getBuiltIn('document', 'documentElement');

/***/ }),
/* 62 */
/***/ ((module) => {

module.exports = {};

/***/ }),
/* 63 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var createIteratorConstructor = __w_pdfjs_require__(64);
var getPrototypeOf = __w_pdfjs_require__(66);
var setPrototypeOf = __w_pdfjs_require__(70);
var setToStringTag = __w_pdfjs_require__(69);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var redefine = __w_pdfjs_require__(28);
var wellKnownSymbol = __w_pdfjs_require__(55);
var IS_PURE = __w_pdfjs_require__(36);
var Iterators = __w_pdfjs_require__(62);
var IteratorsCore = __w_pdfjs_require__(65);
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';
var returnThis = function () {
 return this;
};
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
 createIteratorConstructor(IteratorConstructor, NAME, next);
 var getIterationMethod = function (KIND) {
  if (KIND === DEFAULT && defaultIterator)
   return defaultIterator;
  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
   return IterablePrototype[KIND];
  switch (KIND) {
  case KEYS:
   return function keys() {
    return new IteratorConstructor(this, KIND);
   };
  case VALUES:
   return function values() {
    return new IteratorConstructor(this, KIND);
   };
  case ENTRIES:
   return function entries() {
    return new IteratorConstructor(this, KIND);
   };
  }
  return function () {
   return new IteratorConstructor(this);
  };
 };
 var TO_STRING_TAG = NAME + ' Iterator';
 var INCORRECT_VALUES_NAME = false;
 var IterablePrototype = Iterable.prototype;
 var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
 var CurrentIteratorPrototype, methods, KEY;
 if (anyNativeIterator) {
  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
    if (setPrototypeOf) {
     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
    }
   }
   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
   if (IS_PURE)
    Iterators[TO_STRING_TAG] = returnThis;
  }
 }
 if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
  INCORRECT_VALUES_NAME = true;
  defaultIterator = function values() {
   return nativeIterator.call(this);
  };
 }
 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
 }
 Iterators[NAME] = defaultIterator;
 if (DEFAULT) {
  methods = {
   values: getIterationMethod(VALUES),
   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
   entries: getIterationMethod(ENTRIES)
  };
  if (FORCED)
   for (KEY in methods) {
    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
     redefine(IterablePrototype, KEY, methods[KEY]);
    }
   }
  else
   $({
    target: NAME,
    proto: true,
    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
   }, methods);
 }
 return methods;
};

/***/ }),
/* 64 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var IteratorPrototype = __w_pdfjs_require__(65).IteratorPrototype;
var create = __w_pdfjs_require__(58);
var createPropertyDescriptor = __w_pdfjs_require__(15);
var setToStringTag = __w_pdfjs_require__(69);
var Iterators = __w_pdfjs_require__(62);
var returnThis = function () {
 return this;
};
module.exports = function (IteratorConstructor, NAME, next) {
 var TO_STRING_TAG = NAME + ' Iterator';
 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
 Iterators[TO_STRING_TAG] = returnThis;
 return IteratorConstructor;
};

/***/ }),
/* 65 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var fails = __w_pdfjs_require__(13);
var getPrototypeOf = __w_pdfjs_require__(66);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var has = __w_pdfjs_require__(22);
var wellKnownSymbol = __w_pdfjs_require__(55);
var IS_PURE = __w_pdfjs_require__(36);
var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;
var returnThis = function () {
 return this;
};
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
if ([].keys) {
 arrayIterator = [].keys();
 if (!('next' in arrayIterator))
  BUGGY_SAFARI_ITERATORS = true;
 else {
  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
 }
}
var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
 var test = {};
 return IteratorPrototype[ITERATOR].call(test) !== test;
});
if (NEW_ITERATOR_PROTOTYPE)
 IteratorPrototype = {};
if ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {
 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
}
module.exports = {
 IteratorPrototype: IteratorPrototype,
 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};

/***/ }),
/* 66 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var has = __w_pdfjs_require__(22);
var toObject = __w_pdfjs_require__(67);
var sharedKey = __w_pdfjs_require__(34);
var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(68);
var IE_PROTO = sharedKey('IE_PROTO');
var ObjectPrototype = Object.prototype;
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
 O = toObject(O);
 if (has(O, IE_PROTO))
  return O[IE_PROTO];
 if (typeof O.constructor == 'function' && O instanceof O.constructor) {
  return O.constructor.prototype;
 }
 return O instanceof Object ? ObjectPrototype : null;
};

/***/ }),
/* 67 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var requireObjectCoercible = __w_pdfjs_require__(19);
module.exports = function (argument) {
 return Object(requireObjectCoercible(argument));
};

/***/ }),
/* 68 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
module.exports = !fails(function () {
 function F() {
 }
 F.prototype.constructor = null;
 return Object.getPrototypeOf(new F()) !== F.prototype;
});

/***/ }),
/* 69 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var defineProperty = __w_pdfjs_require__(26).f;
var has = __w_pdfjs_require__(22);
var wellKnownSymbol = __w_pdfjs_require__(55);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
module.exports = function (it, TAG, STATIC) {
 if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
  defineProperty(it, TO_STRING_TAG, {
   configurable: true,
   value: TAG
  });
 }
};

/***/ }),
/* 70 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var aPossiblePrototype = __w_pdfjs_require__(71);
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
 var CORRECT_SETTER = false;
 var test = {};
 var setter;
 try {
  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
  setter.call(test, []);
  CORRECT_SETTER = test instanceof Array;
 } catch (error) {
 }
 return function setPrototypeOf(O, proto) {
  anObject(O);
  aPossiblePrototype(proto);
  if (CORRECT_SETTER)
   setter.call(O, proto);
  else
   O.__proto__ = proto;
  return O;
 };
}() : undefined);

/***/ }),
/* 71 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var isObject = __w_pdfjs_require__(21);
module.exports = function (it) {
 if (!isObject(it) && it !== null) {
  throw TypeError("Can't set " + String(it) + ' as a prototype');
 }
 return it;
};

/***/ }),
/* 72 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var $ = __w_pdfjs_require__(9);
var iterate = __w_pdfjs_require__(73);
var createProperty = __w_pdfjs_require__(81);
$({
 target: 'Object',
 stat: true
}, {
 fromEntries: function fromEntries(iterable) {
  var obj = {};
  iterate(iterable, function (k, v) {
   createProperty(obj, k, v);
  }, { AS_ENTRIES: true });
  return obj;
 }
});

/***/ }),
/* 73 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var isArrayIteratorMethod = __w_pdfjs_require__(74);
var toLength = __w_pdfjs_require__(46);
var bind = __w_pdfjs_require__(75);
var getIteratorMethod = __w_pdfjs_require__(77);
var iteratorClose = __w_pdfjs_require__(80);
var Result = function (stopped, result) {
 this.stopped = stopped;
 this.result = result;
};
module.exports = function (iterable, unboundFunction, options) {
 var that = options && options.that;
 var AS_ENTRIES = !!(options && options.AS_ENTRIES);
 var IS_ITERATOR = !!(options && options.IS_ITERATOR);
 var INTERRUPTED = !!(options && options.INTERRUPTED);
 var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);
 var iterator, iterFn, index, length, result, next, step;
 var stop = function (condition) {
  if (iterator)
   iteratorClose(iterator);
  return new Result(true, condition);
 };
 var callFn = function (value) {
  if (AS_ENTRIES) {
   anObject(value);
   return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
  }
  return INTERRUPTED ? fn(value, stop) : fn(value);
 };
 if (IS_ITERATOR) {
  iterator = iterable;
 } else {
  iterFn = getIteratorMethod(iterable);
  if (typeof iterFn != 'function')
   throw TypeError('Target is not iterable');
  if (isArrayIteratorMethod(iterFn)) {
   for (index = 0, length = toLength(iterable.length); length > index; index++) {
    result = callFn(iterable[index]);
    if (result && result instanceof Result)
     return result;
   }
   return new Result(false);
  }
  iterator = iterFn.call(iterable);
 }
 next = iterator.next;
 while (!(step = next.call(iterator)).done) {
  try {
   result = callFn(step.value);
  } catch (error) {
   iteratorClose(iterator);
   throw error;
  }
  if (typeof result == 'object' && result && result instanceof Result)
   return result;
 }
 return new Result(false);
};

/***/ }),
/* 74 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var wellKnownSymbol = __w_pdfjs_require__(55);
var Iterators = __w_pdfjs_require__(62);
var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;
module.exports = function (it) {
 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};

/***/ }),
/* 75 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var aFunction = __w_pdfjs_require__(76);
module.exports = function (fn, that, length) {
 aFunction(fn);
 if (that === undefined)
  return fn;
 switch (length) {
 case 0:
  return function () {
   return fn.call(that);
  };
 case 1:
  return function (a) {
   return fn.call(that, a);
  };
 case 2:
  return function (a, b) {
   return fn.call(that, a, b);
  };
 case 3:
  return function (a, b, c) {
   return fn.call(that, a, b, c);
  };
 }
 return function () {
  return fn.apply(that, arguments);
 };
};

/***/ }),
/* 76 */
/***/ ((module) => {

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

/***/ }),
/* 77 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var classof = __w_pdfjs_require__(78);
var Iterators = __w_pdfjs_require__(62);
var wellKnownSymbol = __w_pdfjs_require__(55);
var ITERATOR = wellKnownSymbol('iterator');
module.exports = function (it) {
 if (it != undefined)
  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
};

/***/ }),
/* 78 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);
var classofRaw = __w_pdfjs_require__(18);
var wellKnownSymbol = __w_pdfjs_require__(55);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var CORRECT_ARGUMENTS = classofRaw(function () {
 return arguments;
}()) == 'Arguments';
var tryGet = function (it, key) {
 try {
  return it[key];
 } catch (error) {
 }
};
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
 var O, tag, result;
 return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
};

/***/ }),
/* 79 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var wellKnownSymbol = __w_pdfjs_require__(55);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};
test[TO_STRING_TAG] = 'z';
module.exports = String(test) === '[object z]';

/***/ }),
/* 80 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
module.exports = function (iterator) {
 var returnMethod = iterator['return'];
 if (returnMethod !== undefined) {
  return anObject(returnMethod.call(iterator)).value;
 }
};

/***/ }),
/* 81 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var toPrimitive = __w_pdfjs_require__(20);
var definePropertyModule = __w_pdfjs_require__(26);
var createPropertyDescriptor = __w_pdfjs_require__(15);
module.exports = function (object, key, value) {
 var propertyKey = toPrimitive(key);
 if (propertyKey in object)
  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
 else
  object[propertyKey] = value;
};

/***/ }),
/* 82 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(83);
__w_pdfjs_require__(84);
__w_pdfjs_require__(86);
__w_pdfjs_require__(104);
__w_pdfjs_require__(105);
__w_pdfjs_require__(106);
__w_pdfjs_require__(107);
__w_pdfjs_require__(109);
var path = __w_pdfjs_require__(42);
module.exports = path.Promise;

/***/ }),
/* 83 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var getPrototypeOf = __w_pdfjs_require__(66);
var setPrototypeOf = __w_pdfjs_require__(70);
var create = __w_pdfjs_require__(58);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var createPropertyDescriptor = __w_pdfjs_require__(15);
var iterate = __w_pdfjs_require__(73);
var $AggregateError = function AggregateError(errors, message) {
 var that = this;
 if (!(that instanceof $AggregateError))
  return new $AggregateError(errors, message);
 if (setPrototypeOf) {
  that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));
 }
 if (message !== undefined)
  createNonEnumerableProperty(that, 'message', String(message));
 var errorsArray = [];
 iterate(errors, errorsArray.push, { that: errorsArray });
 createNonEnumerableProperty(that, 'errors', errorsArray);
 return that;
};
$AggregateError.prototype = create(Error.prototype, {
 constructor: createPropertyDescriptor(5, $AggregateError),
 message: createPropertyDescriptor(5, ''),
 name: createPropertyDescriptor(5, 'AggregateError')
});
$({ global: true }, { AggregateError: $AggregateError });

/***/ }),
/* 84 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);
var redefine = __w_pdfjs_require__(28);
var toString = __w_pdfjs_require__(85);
if (!TO_STRING_TAG_SUPPORT) {
 redefine(Object.prototype, 'toString', toString, { unsafe: true });
}

/***/ }),
/* 85 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(79);
var classof = __w_pdfjs_require__(78);
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
 return '[object ' + classof(this) + ']';
};

/***/ }),
/* 86 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var IS_PURE = __w_pdfjs_require__(36);
var global = __w_pdfjs_require__(10);
var getBuiltIn = __w_pdfjs_require__(41);
var NativePromise = __w_pdfjs_require__(87);
var redefine = __w_pdfjs_require__(28);
var redefineAll = __w_pdfjs_require__(88);
var setToStringTag = __w_pdfjs_require__(69);
var setSpecies = __w_pdfjs_require__(89);
var isObject = __w_pdfjs_require__(21);
var aFunction = __w_pdfjs_require__(76);
var anInstance = __w_pdfjs_require__(90);
var inspectSource = __w_pdfjs_require__(30);
var iterate = __w_pdfjs_require__(73);
var checkCorrectnessOfIteration = __w_pdfjs_require__(91);
var speciesConstructor = __w_pdfjs_require__(92);
var task = __w_pdfjs_require__(93).set;
var microtask = __w_pdfjs_require__(97);
var promiseResolve = __w_pdfjs_require__(99);
var hostReportErrors = __w_pdfjs_require__(101);
var newPromiseCapabilityModule = __w_pdfjs_require__(100);
var perform = __w_pdfjs_require__(102);
var InternalStateModule = __w_pdfjs_require__(32);
var isForced = __w_pdfjs_require__(51);
var wellKnownSymbol = __w_pdfjs_require__(55);
var IS_NODE = __w_pdfjs_require__(96);
var V8_VERSION = __w_pdfjs_require__(103);
var SPECIES = wellKnownSymbol('species');
var PROMISE = 'Promise';
var getInternalState = InternalStateModule.get;
var setInternalState = InternalStateModule.set;
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
var PromiseConstructor = NativePromise;
var TypeError = global.TypeError;
var document = global.document;
var process = global.process;
var $fetch = getBuiltIn('fetch');
var newPromiseCapability = newPromiseCapabilityModule.f;
var newGenericPromiseCapability = newPromiseCapability;
var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
var NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';
var UNHANDLED_REJECTION = 'unhandledrejection';
var REJECTION_HANDLED = 'rejectionhandled';
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
var FORCED = isForced(PROMISE, function () {
 var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
 if (!GLOBAL_CORE_JS_PROMISE) {
  if (V8_VERSION === 66)
   return true;
  if (!IS_NODE && !NATIVE_REJECTION_EVENT)
   return true;
 }
 if (IS_PURE && !PromiseConstructor.prototype['finally'])
  return true;
 if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))
  return false;
 var promise = PromiseConstructor.resolve(1);
 var FakePromise = function (exec) {
  exec(function () {
  }, function () {
  });
 };
 var constructor = promise.constructor = {};
 constructor[SPECIES] = FakePromise;
 return !(promise.then(function () {
 }) instanceof FakePromise);
});
var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
 PromiseConstructor.all(iterable)['catch'](function () {
 });
});
var isThenable = function (it) {
 var then;
 return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
};
var notify = function (state, isReject) {
 if (state.notified)
  return;
 state.notified = true;
 var chain = state.reactions;
 microtask(function () {
  var value = state.value;
  var ok = state.state == FULFILLED;
  var index = 0;
  while (chain.length > index) {
   var reaction = chain[index++];
   var handler = ok ? reaction.ok : reaction.fail;
   var resolve = reaction.resolve;
   var reject = reaction.reject;
   var domain = reaction.domain;
   var result, then, exited;
   try {
    if (handler) {
     if (!ok) {
      if (state.rejection === UNHANDLED)
       onHandleUnhandled(state);
      state.rejection = HANDLED;
     }
     if (handler === true)
      result = value;
     else {
      if (domain)
       domain.enter();
      result = handler(value);
      if (domain) {
       domain.exit();
       exited = true;
      }
     }
     if (result === reaction.promise) {
      reject(TypeError('Promise-chain cycle'));
     } else if (then = isThenable(result)) {
      then.call(result, resolve, reject);
     } else
      resolve(result);
    } else
     reject(value);
   } catch (error) {
    if (domain && !exited)
     domain.exit();
    reject(error);
   }
  }
  state.reactions = [];
  state.notified = false;
  if (isReject && !state.rejection)
   onUnhandled(state);
 });
};
var dispatchEvent = function (name, promise, reason) {
 var event, handler;
 if (DISPATCH_EVENT) {
  event = document.createEvent('Event');
  event.promise = promise;
  event.reason = reason;
  event.initEvent(name, false, true);
  global.dispatchEvent(event);
 } else
  event = {
   promise: promise,
   reason: reason
  };
 if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name]))
  handler(event);
 else if (name === UNHANDLED_REJECTION)
  hostReportErrors('Unhandled promise rejection', reason);
};
var onUnhandled = function (state) {
 task.call(global, function () {
  var promise = state.facade;
  var value = state.value;
  var IS_UNHANDLED = isUnhandled(state);
  var result;
  if (IS_UNHANDLED) {
   result = perform(function () {
    if (IS_NODE) {
     process.emit('unhandledRejection', value, promise);
    } else
     dispatchEvent(UNHANDLED_REJECTION, promise, value);
   });
   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
   if (result.error)
    throw result.value;
  }
 });
};
var isUnhandled = function (state) {
 return state.rejection !== HANDLED && !state.parent;
};
var onHandleUnhandled = function (state) {
 task.call(global, function () {
  var promise = state.facade;
  if (IS_NODE) {
   process.emit('rejectionHandled', promise);
  } else
   dispatchEvent(REJECTION_HANDLED, promise, state.value);
 });
};
var bind = function (fn, state, unwrap) {
 return function (value) {
  fn(state, value, unwrap);
 };
};
var internalReject = function (state, value, unwrap) {
 if (state.done)
  return;
 state.done = true;
 if (unwrap)
  state = unwrap;
 state.value = value;
 state.state = REJECTED;
 notify(state, true);
};
var internalResolve = function (state, value, unwrap) {
 if (state.done)
  return;
 state.done = true;
 if (unwrap)
  state = unwrap;
 try {
  if (state.facade === value)
   throw TypeError("Promise can't be resolved itself");
  var then = isThenable(value);
  if (then) {
   microtask(function () {
    var wrapper = { done: false };
    try {
     then.call(value, bind(internalResolve, wrapper, state), bind(internalReject, wrapper, state));
    } catch (error) {
     internalReject(wrapper, error, state);
    }
   });
  } else {
   state.value = value;
   state.state = FULFILLED;
   notify(state, false);
  }
 } catch (error) {
  internalReject({ done: false }, error, state);
 }
};
if (FORCED) {
 PromiseConstructor = function Promise(executor) {
  anInstance(this, PromiseConstructor, PROMISE);
  aFunction(executor);
  Internal.call(this);
  var state = getInternalState(this);
  try {
   executor(bind(internalResolve, state), bind(internalReject, state));
  } catch (error) {
   internalReject(state, error);
  }
 };
 Internal = function Promise(executor) {
  setInternalState(this, {
   type: PROMISE,
   done: false,
   notified: false,
   parent: false,
   reactions: [],
   rejection: false,
   state: PENDING,
   value: undefined
  });
 };
 Internal.prototype = redefineAll(PromiseConstructor.prototype, {
  then: function then(onFulfilled, onRejected) {
   var state = getInternalPromiseState(this);
   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
   reaction.fail = typeof onRejected == 'function' && onRejected;
   reaction.domain = IS_NODE ? process.domain : undefined;
   state.parent = true;
   state.reactions.push(reaction);
   if (state.state != PENDING)
    notify(state, false);
   return reaction.promise;
  },
  'catch': function (onRejected) {
   return this.then(undefined, onRejected);
  }
 });
 OwnPromiseCapability = function () {
  var promise = new Internal();
  var state = getInternalState(promise);
  this.promise = promise;
  this.resolve = bind(internalResolve, state);
  this.reject = bind(internalReject, state);
 };
 newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
 };
 if (!IS_PURE && typeof NativePromise == 'function') {
  nativeThen = NativePromise.prototype.then;
  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
   var that = this;
   return new PromiseConstructor(function (resolve, reject) {
    nativeThen.call(that, resolve, reject);
   }).then(onFulfilled, onRejected);
  }, { unsafe: true });
  if (typeof $fetch == 'function')
   $({
    global: true,
    enumerable: true,
    forced: true
   }, {
    fetch: function fetch(input) {
     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
    }
   });
 }
}
$({
 global: true,
 wrap: true,
 forced: FORCED
}, { Promise: PromiseConstructor });
setToStringTag(PromiseConstructor, PROMISE, false, true);
setSpecies(PROMISE);
PromiseWrapper = getBuiltIn(PROMISE);
$({
 target: PROMISE,
 stat: true,
 forced: FORCED
}, {
 reject: function reject(r) {
  var capability = newPromiseCapability(this);
  capability.reject.call(undefined, r);
  return capability.promise;
 }
});
$({
 target: PROMISE,
 stat: true,
 forced: IS_PURE || FORCED
}, {
 resolve: function resolve(x) {
  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
 }
});
$({
 target: PROMISE,
 stat: true,
 forced: INCORRECT_ITERATION
}, {
 all: function all(iterable) {
  var C = this;
  var capability = newPromiseCapability(C);
  var resolve = capability.resolve;
  var reject = capability.reject;
  var result = perform(function () {
   var $promiseResolve = aFunction(C.resolve);
   var values = [];
   var counter = 0;
   var remaining = 1;
   iterate(iterable, function (promise) {
    var index = counter++;
    var alreadyCalled = false;
    values.push(undefined);
    remaining++;
    $promiseResolve.call(C, promise).then(function (value) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = value;
     --remaining || resolve(values);
    }, reject);
   });
   --remaining || resolve(values);
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 },
 race: function race(iterable) {
  var C = this;
  var capability = newPromiseCapability(C);
  var reject = capability.reject;
  var result = perform(function () {
   var $promiseResolve = aFunction(C.resolve);
   iterate(iterable, function (promise) {
    $promiseResolve.call(C, promise).then(capability.resolve, reject);
   });
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 }
});

/***/ }),
/* 87 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
module.exports = global.Promise;

/***/ }),
/* 88 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var redefine = __w_pdfjs_require__(28);
module.exports = function (target, src, options) {
 for (var key in src)
  redefine(target, key, src[key], options);
 return target;
};

/***/ }),
/* 89 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var getBuiltIn = __w_pdfjs_require__(41);
var definePropertyModule = __w_pdfjs_require__(26);
var wellKnownSymbol = __w_pdfjs_require__(55);
var DESCRIPTORS = __w_pdfjs_require__(12);
var SPECIES = wellKnownSymbol('species');
module.exports = function (CONSTRUCTOR_NAME) {
 var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
 var defineProperty = definePropertyModule.f;
 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
  defineProperty(Constructor, SPECIES, {
   configurable: true,
   get: function () {
    return this;
   }
  });
 }
};

/***/ }),
/* 90 */
/***/ ((module) => {

module.exports = function (it, Constructor, name) {
 if (!(it instanceof Constructor)) {
  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
 }
 return it;
};

/***/ }),
/* 91 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var wellKnownSymbol = __w_pdfjs_require__(55);
var ITERATOR = wellKnownSymbol('iterator');
var SAFE_CLOSING = false;
try {
 var called = 0;
 var iteratorWithReturn = {
  next: function () {
   return { done: !!called++ };
  },
  'return': function () {
   SAFE_CLOSING = true;
  }
 };
 iteratorWithReturn[ITERATOR] = function () {
  return this;
 };
 Array.from(iteratorWithReturn, function () {
  throw 2;
 });
} catch (error) {
}
module.exports = function (exec, SKIP_CLOSING) {
 if (!SKIP_CLOSING && !SAFE_CLOSING)
  return false;
 var ITERATION_SUPPORT = false;
 try {
  var object = {};
  object[ITERATOR] = function () {
   return {
    next: function () {
     return { done: ITERATION_SUPPORT = true };
    }
   };
  };
  exec(object);
 } catch (error) {
 }
 return ITERATION_SUPPORT;
};

/***/ }),
/* 92 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var aFunction = __w_pdfjs_require__(76);
var wellKnownSymbol = __w_pdfjs_require__(55);
var SPECIES = wellKnownSymbol('species');
module.exports = function (O, defaultConstructor) {
 var C = anObject(O).constructor;
 var S;
 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
};

/***/ }),
/* 93 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var fails = __w_pdfjs_require__(13);
var bind = __w_pdfjs_require__(75);
var html = __w_pdfjs_require__(61);
var createElement = __w_pdfjs_require__(24);
var IS_IOS = __w_pdfjs_require__(94);
var IS_NODE = __w_pdfjs_require__(96);
var location = global.location;
var set = global.setImmediate;
var clear = global.clearImmediate;
var process = global.process;
var MessageChannel = global.MessageChannel;
var Dispatch = global.Dispatch;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var defer, channel, port;
var run = function (id) {
 if (queue.hasOwnProperty(id)) {
  var fn = queue[id];
  delete queue[id];
  fn();
 }
};
var runner = function (id) {
 return function () {
  run(id);
 };
};
var listener = function (event) {
 run(event.data);
};
var post = function (id) {
 global.postMessage(id + '', location.protocol + '//' + location.host);
};
if (!set || !clear) {
 set = function setImmediate(fn) {
  var args = [];
  var i = 1;
  while (arguments.length > i)
   args.push(arguments[i++]);
  queue[++counter] = function () {
   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
  };
  defer(counter);
  return counter;
 };
 clear = function clearImmediate(id) {
  delete queue[id];
 };
 if (IS_NODE) {
  defer = function (id) {
   process.nextTick(runner(id));
  };
 } else if (Dispatch && Dispatch.now) {
  defer = function (id) {
   Dispatch.now(runner(id));
  };
 } else if (MessageChannel && !IS_IOS) {
  channel = new MessageChannel();
  port = channel.port2;
  channel.port1.onmessage = listener;
  defer = bind(port.postMessage, port, 1);
 } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && location && location.protocol !== 'file:' && !fails(post)) {
  defer = post;
  global.addEventListener('message', listener, false);
 } else if (ONREADYSTATECHANGE in createElement('script')) {
  defer = function (id) {
   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
    html.removeChild(this);
    run(id);
   };
  };
 } else {
  defer = function (id) {
   setTimeout(runner(id), 0);
  };
 }
}
module.exports = {
 set: set,
 clear: clear
};

/***/ }),
/* 94 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var userAgent = __w_pdfjs_require__(95);
module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);

/***/ }),
/* 95 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var getBuiltIn = __w_pdfjs_require__(41);
module.exports = getBuiltIn('navigator', 'userAgent') || '';

/***/ }),
/* 96 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var classof = __w_pdfjs_require__(18);
var global = __w_pdfjs_require__(10);
module.exports = classof(global.process) == 'process';

/***/ }),
/* 97 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var getOwnPropertyDescriptor = __w_pdfjs_require__(11).f;
var macrotask = __w_pdfjs_require__(93).set;
var IS_IOS = __w_pdfjs_require__(94);
var IS_WEBOS_WEBKIT = __w_pdfjs_require__(98);
var IS_NODE = __w_pdfjs_require__(96);
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
var document = global.document;
var process = global.process;
var Promise = global.Promise;
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
var flush, head, last, notify, toggle, node, promise, then;
if (!queueMicrotask) {
 flush = function () {
  var parent, fn;
  if (IS_NODE && (parent = process.domain))
   parent.exit();
  while (head) {
   fn = head.fn;
   head = head.next;
   try {
    fn();
   } catch (error) {
    if (head)
     notify();
    else
     last = undefined;
    throw error;
   }
  }
  last = undefined;
  if (parent)
   parent.enter();
 };
 if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
  toggle = true;
  node = document.createTextNode('');
  new MutationObserver(flush).observe(node, { characterData: true });
  notify = function () {
   node.data = toggle = !toggle;
  };
 } else if (Promise && Promise.resolve) {
  promise = Promise.resolve(undefined);
  then = promise.then;
  notify = function () {
   then.call(promise, flush);
  };
 } else if (IS_NODE) {
  notify = function () {
   process.nextTick(flush);
  };
 } else {
  notify = function () {
   macrotask.call(global, flush);
  };
 }
}
module.exports = queueMicrotask || function (fn) {
 var task = {
  fn: fn,
  next: undefined
 };
 if (last)
  last.next = task;
 if (!head) {
  head = task;
  notify();
 }
 last = task;
};

/***/ }),
/* 98 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var userAgent = __w_pdfjs_require__(95);
module.exports = /web0s(?!.*chrome)/i.test(userAgent);

/***/ }),
/* 99 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

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

/***/ }),
/* 100 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

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

/***/ }),
/* 101 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
module.exports = function (a, b) {
 var console = global.console;
 if (console && console.error) {
  arguments.length === 1 ? console.error(a) : console.error(a, b);
 }
};

/***/ }),
/* 102 */
/***/ ((module) => {

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

/***/ }),
/* 103 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var userAgent = __w_pdfjs_require__(95);
var process = global.process;
var versions = process && process.versions;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
 match = v8.split('.');
 version = match[0] + match[1];
} else if (userAgent) {
 match = userAgent.match(/Edge\/(\d+)/);
 if (!match || match[1] >= 74) {
  match = userAgent.match(/Chrome\/(\d+)/);
  if (match)
   version = match[1];
 }
}
module.exports = version && +version;

/***/ }),
/* 104 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var aFunction = __w_pdfjs_require__(76);
var newPromiseCapabilityModule = __w_pdfjs_require__(100);
var perform = __w_pdfjs_require__(102);
var iterate = __w_pdfjs_require__(73);
$({
 target: 'Promise',
 stat: true
}, {
 allSettled: function allSettled(iterable) {
  var C = this;
  var capability = newPromiseCapabilityModule.f(C);
  var resolve = capability.resolve;
  var reject = capability.reject;
  var result = perform(function () {
   var promiseResolve = aFunction(C.resolve);
   var values = [];
   var counter = 0;
   var remaining = 1;
   iterate(iterable, function (promise) {
    var index = counter++;
    var alreadyCalled = false;
    values.push(undefined);
    remaining++;
    promiseResolve.call(C, promise).then(function (value) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = {
      status: 'fulfilled',
      value: value
     };
     --remaining || resolve(values);
    }, function (error) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = {
      status: 'rejected',
      reason: error
     };
     --remaining || resolve(values);
    });
   });
   --remaining || resolve(values);
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 }
});

/***/ }),
/* 105 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var aFunction = __w_pdfjs_require__(76);
var getBuiltIn = __w_pdfjs_require__(41);
var newPromiseCapabilityModule = __w_pdfjs_require__(100);
var perform = __w_pdfjs_require__(102);
var iterate = __w_pdfjs_require__(73);
var PROMISE_ANY_ERROR = 'No one promise resolved';
$({
 target: 'Promise',
 stat: true
}, {
 any: function any(iterable) {
  var C = this;
  var capability = newPromiseCapabilityModule.f(C);
  var resolve = capability.resolve;
  var reject = capability.reject;
  var result = perform(function () {
   var promiseResolve = aFunction(C.resolve);
   var errors = [];
   var counter = 0;
   var remaining = 1;
   var alreadyResolved = false;
   iterate(iterable, function (promise) {
    var index = counter++;
    var alreadyRejected = false;
    errors.push(undefined);
    remaining++;
    promiseResolve.call(C, promise).then(function (value) {
     if (alreadyRejected || alreadyResolved)
      return;
     alreadyResolved = true;
     resolve(value);
    }, function (error) {
     if (alreadyRejected || alreadyResolved)
      return;
     alreadyRejected = true;
     errors[index] = error;
     --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));
    });
   });
   --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 }
});

/***/ }),
/* 106 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var IS_PURE = __w_pdfjs_require__(36);
var NativePromise = __w_pdfjs_require__(87);
var fails = __w_pdfjs_require__(13);
var getBuiltIn = __w_pdfjs_require__(41);
var speciesConstructor = __w_pdfjs_require__(92);
var promiseResolve = __w_pdfjs_require__(99);
var redefine = __w_pdfjs_require__(28);
var NON_GENERIC = !!NativePromise && fails(function () {
 NativePromise.prototype['finally'].call({
  then: function () {
  }
 }, function () {
 });
});
$({
 target: 'Promise',
 proto: true,
 real: true,
 forced: NON_GENERIC
}, {
 'finally': function (onFinally) {
  var C = speciesConstructor(this, getBuiltIn('Promise'));
  var isFunction = typeof onFinally == 'function';
  return this.then(isFunction ? function (x) {
   return promiseResolve(C, onFinally()).then(function () {
    return x;
   });
  } : onFinally, isFunction ? function (e) {
   return promiseResolve(C, onFinally()).then(function () {
    throw e;
   });
  } : onFinally);
 }
});
if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
 redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
}

/***/ }),
/* 107 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var charAt = __w_pdfjs_require__(108).charAt;
var InternalStateModule = __w_pdfjs_require__(32);
var defineIterator = __w_pdfjs_require__(63);
var STRING_ITERATOR = 'String Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
defineIterator(String, 'String', function (iterated) {
 setInternalState(this, {
  type: STRING_ITERATOR,
  string: String(iterated),
  index: 0
 });
}, function next() {
 var state = getInternalState(this);
 var string = state.string;
 var index = state.index;
 var point;
 if (index >= string.length)
  return {
   value: undefined,
   done: true
  };
 point = charAt(string, index);
 state.index += point.length;
 return {
  value: point,
  done: false
 };
});

/***/ }),
/* 108 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var toInteger = __w_pdfjs_require__(47);
var requireObjectCoercible = __w_pdfjs_require__(19);
var createMethod = function (CONVERT_TO_STRING) {
 return function ($this, pos) {
  var S = String(requireObjectCoercible($this));
  var position = toInteger(pos);
  var size = S.length;
  var first, second;
  if (position < 0 || position >= size)
   return CONVERT_TO_STRING ? '' : undefined;
  first = S.charCodeAt(position);
  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
 };
};
module.exports = {
 codeAt: createMethod(false),
 charAt: createMethod(true)
};

/***/ }),
/* 109 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var DOMIterables = __w_pdfjs_require__(110);
var ArrayIteratorMethods = __w_pdfjs_require__(53);
var createNonEnumerableProperty = __w_pdfjs_require__(25);
var wellKnownSymbol = __w_pdfjs_require__(55);
var ITERATOR = wellKnownSymbol('iterator');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ArrayValues = ArrayIteratorMethods.values;
for (var COLLECTION_NAME in DOMIterables) {
 var Collection = global[COLLECTION_NAME];
 var CollectionPrototype = Collection && Collection.prototype;
 if (CollectionPrototype) {
  if (CollectionPrototype[ITERATOR] !== ArrayValues)
   try {
    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
   } catch (error) {
    CollectionPrototype[ITERATOR] = ArrayValues;
   }
  if (!CollectionPrototype[TO_STRING_TAG]) {
   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
  }
  if (DOMIterables[COLLECTION_NAME])
   for (var METHOD_NAME in ArrayIteratorMethods) {
    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
     try {
      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
     } catch (error) {
      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
     }
   }
 }
}

/***/ }),
/* 110 */
/***/ ((module) => {

module.exports = {
 CSSRuleList: 0,
 CSSStyleDeclaration: 0,
 CSSValueList: 0,
 ClientRectList: 0,
 DOMRectList: 0,
 DOMStringList: 0,
 DOMTokenList: 1,
 DataTransferItemList: 0,
 FileList: 0,
 HTMLAllCollection: 0,
 HTMLCollection: 0,
 HTMLFormElement: 0,
 HTMLSelectElement: 0,
 MediaList: 0,
 MimeTypeArray: 0,
 NamedNodeMap: 0,
 NodeList: 1,
 PaintRequestList: 0,
 Plugin: 0,
 PluginArray: 0,
 SVGLengthList: 0,
 SVGNumberList: 0,
 SVGPathSegList: 0,
 SVGPointList: 0,
 SVGStringList: 0,
 SVGTransformList: 0,
 SourceBufferList: 0,
 StyleSheetList: 0,
 TextTrackCueList: 0,
 TextTrackList: 0,
 TouchList: 0
};

/***/ }),
/* 111 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(112);
__w_pdfjs_require__(120);
__w_pdfjs_require__(118);
var path = __w_pdfjs_require__(42);
module.exports = path.URL;

/***/ }),
/* 112 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

__w_pdfjs_require__(107);
var $ = __w_pdfjs_require__(9);
var DESCRIPTORS = __w_pdfjs_require__(12);
var USE_NATIVE_URL = __w_pdfjs_require__(113);
var global = __w_pdfjs_require__(10);
var defineProperties = __w_pdfjs_require__(59);
var redefine = __w_pdfjs_require__(28);
var anInstance = __w_pdfjs_require__(90);
var has = __w_pdfjs_require__(22);
var assign = __w_pdfjs_require__(114);
var arrayFrom = __w_pdfjs_require__(115);
var codeAt = __w_pdfjs_require__(108).codeAt;
var toASCII = __w_pdfjs_require__(117);
var setToStringTag = __w_pdfjs_require__(69);
var URLSearchParamsModule = __w_pdfjs_require__(118);
var InternalStateModule = __w_pdfjs_require__(32);
var NativeURL = global.URL;
var URLSearchParams = URLSearchParamsModule.URLSearchParams;
var getInternalSearchParamsState = URLSearchParamsModule.getState;
var setInternalState = InternalStateModule.set;
var getInternalURLState = InternalStateModule.getterFor('URL');
var floor = Math.floor;
var pow = Math.pow;
var INVALID_AUTHORITY = 'Invalid authority';
var INVALID_SCHEME = 'Invalid scheme';
var INVALID_HOST = 'Invalid host';
var INVALID_PORT = 'Invalid port';
var ALPHA = /[A-Za-z]/;
var ALPHANUMERIC = /[\d+-.A-Za-z]/;
var DIGIT = /\d/;
var HEX_START = /^(0x|0X)/;
var OCT = /^[0-7]+$/;
var DEC = /^\d+$/;
var HEX = /^[\dA-Fa-f]+$/;
var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
var EOF;
var parseHost = function (url, input) {
 var result, codePoints, index;
 if (input.charAt(0) == '[') {
  if (input.charAt(input.length - 1) != ']')
   return INVALID_HOST;
  result = parseIPv6(input.slice(1, -1));
  if (!result)
   return INVALID_HOST;
  url.host = result;
 } else if (!isSpecial(url)) {
  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
   return INVALID_HOST;
  result = '';
  codePoints = arrayFrom(input);
  for (index = 0; index < codePoints.length; index++) {
   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
  }
  url.host = result;
 } else {
  input = toASCII(input);
  if (FORBIDDEN_HOST_CODE_POINT.test(input))
   return INVALID_HOST;
  result = parseIPv4(input);
  if (result === null)
   return INVALID_HOST;
  url.host = result;
 }
};
var parseIPv4 = function (input) {
 var parts = input.split('.');
 var partsLength, numbers, index, part, radix, number, ipv4;
 if (parts.length && parts[parts.length - 1] == '') {
  parts.pop();
 }
 partsLength = parts.length;
 if (partsLength > 4)
  return input;
 numbers = [];
 for (index = 0; index < partsLength; index++) {
  part = parts[index];
  if (part == '')
   return input;
  radix = 10;
  if (part.length > 1 && part.charAt(0) == '0') {
   radix = HEX_START.test(part) ? 16 : 8;
   part = part.slice(radix == 8 ? 1 : 2);
  }
  if (part === '') {
   number = 0;
  } else {
   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
    return input;
   number = parseInt(part, radix);
  }
  numbers.push(number);
 }
 for (index = 0; index < partsLength; index++) {
  number = numbers[index];
  if (index == partsLength - 1) {
   if (number >= pow(256, 5 - partsLength))
    return null;
  } else if (number > 255)
   return null;
 }
 ipv4 = numbers.pop();
 for (index = 0; index < numbers.length; index++) {
  ipv4 += numbers[index] * pow(256, 3 - index);
 }
 return ipv4;
};
var parseIPv6 = function (input) {
 var address = [
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0
 ];
 var pieceIndex = 0;
 var compress = null;
 var pointer = 0;
 var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
 var char = function () {
  return input.charAt(pointer);
 };
 if (char() == ':') {
  if (input.charAt(1) != ':')
   return;
  pointer += 2;
  pieceIndex++;
  compress = pieceIndex;
 }
 while (char()) {
  if (pieceIndex == 8)
   return;
  if (char() == ':') {
   if (compress !== null)
    return;
   pointer++;
   pieceIndex++;
   compress = pieceIndex;
   continue;
  }
  value = length = 0;
  while (length < 4 && HEX.test(char())) {
   value = value * 16 + parseInt(char(), 16);
   pointer++;
   length++;
  }
  if (char() == '.') {
   if (length == 0)
    return;
   pointer -= length;
   if (pieceIndex > 6)
    return;
   numbersSeen = 0;
   while (char()) {
    ipv4Piece = null;
    if (numbersSeen > 0) {
     if (char() == '.' && numbersSeen < 4)
      pointer++;
     else
      return;
    }
    if (!DIGIT.test(char()))
     return;
    while (DIGIT.test(char())) {
     number = parseInt(char(), 10);
     if (ipv4Piece === null)
      ipv4Piece = number;
     else if (ipv4Piece == 0)
      return;
     else
      ipv4Piece = ipv4Piece * 10 + number;
     if (ipv4Piece > 255)
      return;
     pointer++;
    }
    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
    numbersSeen++;
    if (numbersSeen == 2 || numbersSeen == 4)
     pieceIndex++;
   }
   if (numbersSeen != 4)
    return;
   break;
  } else if (char() == ':') {
   pointer++;
   if (!char())
    return;
  } else if (char())
   return;
  address[pieceIndex++] = value;
 }
 if (compress !== null) {
  swaps = pieceIndex - compress;
  pieceIndex = 7;
  while (pieceIndex != 0 && swaps > 0) {
   swap = address[pieceIndex];
   address[pieceIndex--] = address[compress + swaps - 1];
   address[compress + --swaps] = swap;
  }
 } else if (pieceIndex != 8)
  return;
 return address;
};
var findLongestZeroSequence = function (ipv6) {
 var maxIndex = null;
 var maxLength = 1;
 var currStart = null;
 var currLength = 0;
 var index = 0;
 for (; index < 8; index++) {
  if (ipv6[index] !== 0) {
   if (currLength > maxLength) {
    maxIndex = currStart;
    maxLength = currLength;
   }
   currStart = null;
   currLength = 0;
  } else {
   if (currStart === null)
    currStart = index;
   ++currLength;
  }
 }
 if (currLength > maxLength) {
  maxIndex = currStart;
  maxLength = currLength;
 }
 return maxIndex;
};
var serializeHost = function (host) {
 var result, index, compress, ignore0;
 if (typeof host == 'number') {
  result = [];
  for (index = 0; index < 4; index++) {
   result.unshift(host % 256);
   host = floor(host / 256);
  }
  return result.join('.');
 } else if (typeof host == 'object') {
  result = '';
  compress = findLongestZeroSequence(host);
  for (index = 0; index < 8; index++) {
   if (ignore0 && host[index] === 0)
    continue;
   if (ignore0)
    ignore0 = false;
   if (compress === index) {
    result += index ? ':' : '::';
    ignore0 = true;
   } else {
    result += host[index].toString(16);
    if (index < 7)
     result += ':';
   }
  }
  return '[' + result + ']';
 }
 return host;
};
var C0ControlPercentEncodeSet = {};
var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
 ' ': 1,
 '"': 1,
 '<': 1,
 '>': 1,
 '`': 1
});
var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
 '#': 1,
 '?': 1,
 '{': 1,
 '}': 1
});
var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
 '/': 1,
 ':': 1,
 ';': 1,
 '=': 1,
 '@': 1,
 '[': 1,
 '\\': 1,
 ']': 1,
 '^': 1,
 '|': 1
});
var percentEncode = function (char, set) {
 var code = codeAt(char, 0);
 return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
};
var specialSchemes = {
 ftp: 21,
 file: null,
 http: 80,
 https: 443,
 ws: 80,
 wss: 443
};
var isSpecial = function (url) {
 return has(specialSchemes, url.scheme);
};
var includesCredentials = function (url) {
 return url.username != '' || url.password != '';
};
var cannotHaveUsernamePasswordPort = function (url) {
 return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
};
var isWindowsDriveLetter = function (string, normalized) {
 var second;
 return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
};
var startsWithWindowsDriveLetter = function (string) {
 var third;
 return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
};
var shortenURLsPath = function (url) {
 var path = url.path;
 var pathSize = path.length;
 if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
  path.pop();
 }
};
var isSingleDot = function (segment) {
 return segment === '.' || segment.toLowerCase() === '%2e';
};
var isDoubleDot = function (segment) {
 segment = segment.toLowerCase();
 return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
};
var SCHEME_START = {};
var SCHEME = {};
var NO_SCHEME = {};
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
var PATH_OR_AUTHORITY = {};
var RELATIVE = {};
var RELATIVE_SLASH = {};
var SPECIAL_AUTHORITY_SLASHES = {};
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
var AUTHORITY = {};
var HOST = {};
var HOSTNAME = {};
var PORT = {};
var FILE = {};
var FILE_SLASH = {};
var FILE_HOST = {};
var PATH_START = {};
var PATH = {};
var CANNOT_BE_A_BASE_URL_PATH = {};
var QUERY = {};
var FRAGMENT = {};
var parseURL = function (url, input, stateOverride, base) {
 var state = stateOverride || SCHEME_START;
 var pointer = 0;
 var buffer = '';
 var seenAt = false;
 var seenBracket = false;
 var seenPasswordToken = false;
 var codePoints, char, bufferCodePoints, failure;
 if (!stateOverride) {
  url.scheme = '';
  url.username = '';
  url.password = '';
  url.host = null;
  url.port = null;
  url.path = [];
  url.query = null;
  url.fragment = null;
  url.cannotBeABaseURL = false;
  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
 }
 input = input.replace(TAB_AND_NEW_LINE, '');
 codePoints = arrayFrom(input);
 while (pointer <= codePoints.length) {
  char = codePoints[pointer];
  switch (state) {
  case SCHEME_START:
   if (char && ALPHA.test(char)) {
    buffer += char.toLowerCase();
    state = SCHEME;
   } else if (!stateOverride) {
    state = NO_SCHEME;
    continue;
   } else
    return INVALID_SCHEME;
   break;
  case SCHEME:
   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
    buffer += char.toLowerCase();
   } else if (char == ':') {
    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
     return;
    url.scheme = buffer;
    if (stateOverride) {
     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
      url.port = null;
     return;
    }
    buffer = '';
    if (url.scheme == 'file') {
     state = FILE;
    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
     state = SPECIAL_RELATIVE_OR_AUTHORITY;
    } else if (isSpecial(url)) {
     state = SPECIAL_AUTHORITY_SLASHES;
    } else if (codePoints[pointer + 1] == '/') {
     state = PATH_OR_AUTHORITY;
     pointer++;
    } else {
     url.cannotBeABaseURL = true;
     url.path.push('');
     state = CANNOT_BE_A_BASE_URL_PATH;
    }
   } else if (!stateOverride) {
    buffer = '';
    state = NO_SCHEME;
    pointer = 0;
    continue;
   } else
    return INVALID_SCHEME;
   break;
  case NO_SCHEME:
   if (!base || base.cannotBeABaseURL && char != '#')
    return INVALID_SCHEME;
   if (base.cannotBeABaseURL && char == '#') {
    url.scheme = base.scheme;
    url.path = base.path.slice();
    url.query = base.query;
    url.fragment = '';
    url.cannotBeABaseURL = true;
    state = FRAGMENT;
    break;
   }
   state = base.scheme == 'file' ? FILE : RELATIVE;
   continue;
  case SPECIAL_RELATIVE_OR_AUTHORITY:
   if (char == '/' && codePoints[pointer + 1] == '/') {
    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
    pointer++;
   } else {
    state = RELATIVE;
    continue;
   }
   break;
  case PATH_OR_AUTHORITY:
   if (char == '/') {
    state = AUTHORITY;
    break;
   } else {
    state = PATH;
    continue;
   }
  case RELATIVE:
   url.scheme = base.scheme;
   if (char == EOF) {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = base.query;
   } else if (char == '/' || char == '\\' && isSpecial(url)) {
    state = RELATIVE_SLASH;
   } else if (char == '?') {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = '';
    state = QUERY;
   } else if (char == '#') {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = base.query;
    url.fragment = '';
    state = FRAGMENT;
   } else {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.path.pop();
    state = PATH;
    continue;
   }
   break;
  case RELATIVE_SLASH:
   if (isSpecial(url) && (char == '/' || char == '\\')) {
    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
   } else if (char == '/') {
    state = AUTHORITY;
   } else {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    state = PATH;
    continue;
   }
   break;
  case SPECIAL_AUTHORITY_SLASHES:
   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
   if (char != '/' || buffer.charAt(pointer + 1) != '/')
    continue;
   pointer++;
   break;
  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
   if (char != '/' && char != '\\') {
    state = AUTHORITY;
    continue;
   }
   break;
  case AUTHORITY:
   if (char == '@') {
    if (seenAt)
     buffer = '%40' + buffer;
    seenAt = true;
    bufferCodePoints = arrayFrom(buffer);
    for (var i = 0; i < bufferCodePoints.length; i++) {
     var codePoint = bufferCodePoints[i];
     if (codePoint == ':' && !seenPasswordToken) {
      seenPasswordToken = true;
      continue;
     }
     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
     if (seenPasswordToken)
      url.password += encodedCodePoints;
     else
      url.username += encodedCodePoints;
    }
    buffer = '';
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
    if (seenAt && buffer == '')
     return INVALID_AUTHORITY;
    pointer -= arrayFrom(buffer).length + 1;
    buffer = '';
    state = HOST;
   } else
    buffer += char;
   break;
  case HOST:
  case HOSTNAME:
   if (stateOverride && url.scheme == 'file') {
    state = FILE_HOST;
    continue;
   } else if (char == ':' && !seenBracket) {
    if (buffer == '')
     return INVALID_HOST;
    failure = parseHost(url, buffer);
    if (failure)
     return failure;
    buffer = '';
    state = PORT;
    if (stateOverride == HOSTNAME)
     return;
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
    if (isSpecial(url) && buffer == '')
     return INVALID_HOST;
    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
     return;
    failure = parseHost(url, buffer);
    if (failure)
     return failure;
    buffer = '';
    state = PATH_START;
    if (stateOverride)
     return;
    continue;
   } else {
    if (char == '[')
     seenBracket = true;
    else if (char == ']')
     seenBracket = false;
    buffer += char;
   }
   break;
  case PORT:
   if (DIGIT.test(char)) {
    buffer += char;
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
    if (buffer != '') {
     var port = parseInt(buffer, 10);
     if (port > 0xFFFF)
      return INVALID_PORT;
     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
     buffer = '';
    }
    if (stateOverride)
     return;
    state = PATH_START;
    continue;
   } else
    return INVALID_PORT;
   break;
  case FILE:
   url.scheme = 'file';
   if (char == '/' || char == '\\')
    state = FILE_SLASH;
   else if (base && base.scheme == 'file') {
    if (char == EOF) {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = base.query;
    } else if (char == '?') {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = '';
     state = QUERY;
    } else if (char == '#') {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = base.query;
     url.fragment = '';
     state = FRAGMENT;
    } else {
     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
      url.host = base.host;
      url.path = base.path.slice();
      shortenURLsPath(url);
     }
     state = PATH;
     continue;
    }
   } else {
    state = PATH;
    continue;
   }
   break;
  case FILE_SLASH:
   if (char == '/' || char == '\\') {
    state = FILE_HOST;
    break;
   }
   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
    if (isWindowsDriveLetter(base.path[0], true))
     url.path.push(base.path[0]);
    else
     url.host = base.host;
   }
   state = PATH;
   continue;
  case FILE_HOST:
   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
    if (!stateOverride && isWindowsDriveLetter(buffer)) {
     state = PATH;
    } else if (buffer == '') {
     url.host = '';
     if (stateOverride)
      return;
     state = PATH_START;
    } else {
     failure = parseHost(url, buffer);
     if (failure)
      return failure;
     if (url.host == 'localhost')
      url.host = '';
     if (stateOverride)
      return;
     buffer = '';
     state = PATH_START;
    }
    continue;
   } else
    buffer += char;
   break;
  case PATH_START:
   if (isSpecial(url)) {
    state = PATH;
    if (char != '/' && char != '\\')
     continue;
   } else if (!stateOverride && char == '?') {
    url.query = '';
    state = QUERY;
   } else if (!stateOverride && char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    state = PATH;
    if (char != '/')
     continue;
   }
   break;
  case PATH:
   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
    if (isDoubleDot(buffer)) {
     shortenURLsPath(url);
     if (char != '/' && !(char == '\\' && isSpecial(url))) {
      url.path.push('');
     }
    } else if (isSingleDot(buffer)) {
     if (char != '/' && !(char == '\\' && isSpecial(url))) {
      url.path.push('');
     }
    } else {
     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
      if (url.host)
       url.host = '';
      buffer = buffer.charAt(0) + ':';
     }
     url.path.push(buffer);
    }
    buffer = '';
    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
     while (url.path.length > 1 && url.path[0] === '') {
      url.path.shift();
     }
    }
    if (char == '?') {
     url.query = '';
     state = QUERY;
    } else if (char == '#') {
     url.fragment = '';
     state = FRAGMENT;
    }
   } else {
    buffer += percentEncode(char, pathPercentEncodeSet);
   }
   break;
  case CANNOT_BE_A_BASE_URL_PATH:
   if (char == '?') {
    url.query = '';
    state = QUERY;
   } else if (char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
   }
   break;
  case QUERY:
   if (!stateOverride && char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    if (char == "'" && isSpecial(url))
     url.query += '%27';
    else if (char == '#')
     url.query += '%23';
    else
     url.query += percentEncode(char, C0ControlPercentEncodeSet);
   }
   break;
  case FRAGMENT:
   if (char != EOF)
    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
   break;
  }
  pointer++;
 }
};
var URLConstructor = function URL(url) {
 var that = anInstance(this, URLConstructor, 'URL');
 var base = arguments.length > 1 ? arguments[1] : undefined;
 var urlString = String(url);
 var state = setInternalState(that, { type: 'URL' });
 var baseState, failure;
 if (base !== undefined) {
  if (base instanceof URLConstructor)
   baseState = getInternalURLState(base);
  else {
   failure = parseURL(baseState = {}, String(base));
   if (failure)
    throw TypeError(failure);
  }
 }
 failure = parseURL(state, urlString, null, baseState);
 if (failure)
  throw TypeError(failure);
 var searchParams = state.searchParams = new URLSearchParams();
 var searchParamsState = getInternalSearchParamsState(searchParams);
 searchParamsState.updateSearchParams(state.query);
 searchParamsState.updateURL = function () {
  state.query = String(searchParams) || null;
 };
 if (!DESCRIPTORS) {
  that.href = serializeURL.call(that);
  that.origin = getOrigin.call(that);
  that.protocol = getProtocol.call(that);
  that.username = getUsername.call(that);
  that.password = getPassword.call(that);
  that.host = getHost.call(that);
  that.hostname = getHostname.call(that);
  that.port = getPort.call(that);
  that.pathname = getPathname.call(that);
  that.search = getSearch.call(that);
  that.searchParams = getSearchParams.call(that);
  that.hash = getHash.call(that);
 }
};
var URLPrototype = URLConstructor.prototype;
var serializeURL = function () {
 var url = getInternalURLState(this);
 var scheme = url.scheme;
 var username = url.username;
 var password = url.password;
 var host = url.host;
 var port = url.port;
 var path = url.path;
 var query = url.query;
 var fragment = url.fragment;
 var output = scheme + ':';
 if (host !== null) {
  output += '//';
  if (includesCredentials(url)) {
   output += username + (password ? ':' + password : '') + '@';
  }
  output += serializeHost(host);
  if (port !== null)
   output += ':' + port;
 } else if (scheme == 'file')
  output += '//';
 output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
 if (query !== null)
  output += '?' + query;
 if (fragment !== null)
  output += '#' + fragment;
 return output;
};
var getOrigin = function () {
 var url = getInternalURLState(this);
 var scheme = url.scheme;
 var port = url.port;
 if (scheme == 'blob')
  try {
   return new URL(scheme.path[0]).origin;
  } catch (error) {
   return 'null';
  }
 if (scheme == 'file' || !isSpecial(url))
  return 'null';
 return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
};
var getProtocol = function () {
 return getInternalURLState(this).scheme + ':';
};
var getUsername = function () {
 return getInternalURLState(this).username;
};
var getPassword = function () {
 return getInternalURLState(this).password;
};
var getHost = function () {
 var url = getInternalURLState(this);
 var host = url.host;
 var port = url.port;
 return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
};
var getHostname = function () {
 var host = getInternalURLState(this).host;
 return host === null ? '' : serializeHost(host);
};
var getPort = function () {
 var port = getInternalURLState(this).port;
 return port === null ? '' : String(port);
};
var getPathname = function () {
 var url = getInternalURLState(this);
 var path = url.path;
 return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
};
var getSearch = function () {
 var query = getInternalURLState(this).query;
 return query ? '?' + query : '';
};
var getSearchParams = function () {
 return getInternalURLState(this).searchParams;
};
var getHash = function () {
 var fragment = getInternalURLState(this).fragment;
 return fragment ? '#' + fragment : '';
};
var accessorDescriptor = function (getter, setter) {
 return {
  get: getter,
  set: setter,
  configurable: true,
  enumerable: true
 };
};
if (DESCRIPTORS) {
 defineProperties(URLPrototype, {
  href: accessorDescriptor(serializeURL, function (href) {
   var url = getInternalURLState(this);
   var urlString = String(href);
   var failure = parseURL(url, urlString);
   if (failure)
    throw TypeError(failure);
   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
  }),
  origin: accessorDescriptor(getOrigin),
  protocol: accessorDescriptor(getProtocol, function (protocol) {
   var url = getInternalURLState(this);
   parseURL(url, String(protocol) + ':', SCHEME_START);
  }),
  username: accessorDescriptor(getUsername, function (username) {
   var url = getInternalURLState(this);
   var codePoints = arrayFrom(String(username));
   if (cannotHaveUsernamePasswordPort(url))
    return;
   url.username = '';
   for (var i = 0; i < codePoints.length; i++) {
    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
   }
  }),
  password: accessorDescriptor(getPassword, function (password) {
   var url = getInternalURLState(this);
   var codePoints = arrayFrom(String(password));
   if (cannotHaveUsernamePasswordPort(url))
    return;
   url.password = '';
   for (var i = 0; i < codePoints.length; i++) {
    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
   }
  }),
  host: accessorDescriptor(getHost, function (host) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   parseURL(url, String(host), HOST);
  }),
  hostname: accessorDescriptor(getHostname, function (hostname) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   parseURL(url, String(hostname), HOSTNAME);
  }),
  port: accessorDescriptor(getPort, function (port) {
   var url = getInternalURLState(this);
   if (cannotHaveUsernamePasswordPort(url))
    return;
   port = String(port);
   if (port == '')
    url.port = null;
   else
    parseURL(url, port, PORT);
  }),
  pathname: accessorDescriptor(getPathname, function (pathname) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   url.path = [];
   parseURL(url, pathname + '', PATH_START);
  }),
  search: accessorDescriptor(getSearch, function (search) {
   var url = getInternalURLState(this);
   search = String(search);
   if (search == '') {
    url.query = null;
   } else {
    if ('?' == search.charAt(0))
     search = search.slice(1);
    url.query = '';
    parseURL(url, search, QUERY);
   }
   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
  }),
  searchParams: accessorDescriptor(getSearchParams),
  hash: accessorDescriptor(getHash, function (hash) {
   var url = getInternalURLState(this);
   hash = String(hash);
   if (hash == '') {
    url.fragment = null;
    return;
   }
   if ('#' == hash.charAt(0))
    hash = hash.slice(1);
   url.fragment = '';
   parseURL(url, hash, FRAGMENT);
  })
 });
}
redefine(URLPrototype, 'toJSON', function toJSON() {
 return serializeURL.call(this);
}, { enumerable: true });
redefine(URLPrototype, 'toString', function toString() {
 return serializeURL.call(this);
}, { enumerable: true });
if (NativeURL) {
 var nativeCreateObjectURL = NativeURL.createObjectURL;
 var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
 if (nativeCreateObjectURL)
  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
   return nativeCreateObjectURL.apply(NativeURL, arguments);
  });
 if (nativeRevokeObjectURL)
  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
   return nativeRevokeObjectURL.apply(NativeURL, arguments);
  });
}
setToStringTag(URLConstructor, 'URL');
$({
 global: true,
 forced: !USE_NATIVE_URL,
 sham: !DESCRIPTORS
}, { URL: URLConstructor });

/***/ }),
/* 113 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var fails = __w_pdfjs_require__(13);
var wellKnownSymbol = __w_pdfjs_require__(55);
var IS_PURE = __w_pdfjs_require__(36);
var ITERATOR = wellKnownSymbol('iterator');
module.exports = !fails(function () {
 var url = new URL('b?a=1&b=2&c=3', 'http://a');
 var searchParams = url.searchParams;
 var result = '';
 url.pathname = 'c%20d';
 searchParams.forEach(function (value, key) {
  searchParams['delete']('b');
  result += key + value;
 });
 return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';
});

/***/ }),
/* 114 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var DESCRIPTORS = __w_pdfjs_require__(12);
var fails = __w_pdfjs_require__(13);
var objectKeys = __w_pdfjs_require__(60);
var getOwnPropertySymbolsModule = __w_pdfjs_require__(50);
var propertyIsEnumerableModule = __w_pdfjs_require__(14);
var toObject = __w_pdfjs_require__(67);
var IndexedObject = __w_pdfjs_require__(17);
var nativeAssign = Object.assign;
var defineProperty = Object.defineProperty;
module.exports = !nativeAssign || fails(function () {
 if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
   enumerable: true,
   get: function () {
    defineProperty(this, 'b', {
     value: 3,
     enumerable: false
    });
   }
  }), { b: 2 })).b !== 1)
  return true;
 var A = {};
 var B = {};
 var symbol = Symbol();
 var alphabet = 'abcdefghijklmnopqrst';
 A[symbol] = 7;
 alphabet.split('').forEach(function (chr) {
  B[chr] = chr;
 });
 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
}) ? function assign(target, source) {
 var T = toObject(target);
 var argumentsLength = arguments.length;
 var index = 1;
 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
 var propertyIsEnumerable = propertyIsEnumerableModule.f;
 while (argumentsLength > index) {
  var S = IndexedObject(arguments[index++]);
  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
  var length = keys.length;
  var j = 0;
  var key;
  while (length > j) {
   key = keys[j++];
   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
    T[key] = S[key];
  }
 }
 return T;
} : nativeAssign;

/***/ }),
/* 115 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var bind = __w_pdfjs_require__(75);
var toObject = __w_pdfjs_require__(67);
var callWithSafeIterationClosing = __w_pdfjs_require__(116);
var isArrayIteratorMethod = __w_pdfjs_require__(74);
var toLength = __w_pdfjs_require__(46);
var createProperty = __w_pdfjs_require__(81);
var getIteratorMethod = __w_pdfjs_require__(77);
module.exports = function from(arrayLike) {
 var O = toObject(arrayLike);
 var C = typeof this == 'function' ? this : Array;
 var argumentsLength = arguments.length;
 var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
 var mapping = mapfn !== undefined;
 var iteratorMethod = getIteratorMethod(O);
 var index = 0;
 var length, result, step, iterator, next, value;
 if (mapping)
  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
 if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
  iterator = iteratorMethod.call(O);
  next = iterator.next;
  result = new C();
  for (; !(step = next.call(iterator)).done; index++) {
   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [
    step.value,
    index
   ], true) : step.value;
   createProperty(result, index, value);
  }
 } else {
  length = toLength(O.length);
  result = new C(length);
  for (; length > index; index++) {
   value = mapping ? mapfn(O[index], index) : O[index];
   createProperty(result, index, value);
  }
 }
 result.length = index;
 return result;
};

/***/ }),
/* 116 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var iteratorClose = __w_pdfjs_require__(80);
module.exports = function (iterator, fn, value, ENTRIES) {
 try {
  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
 } catch (error) {
  iteratorClose(iterator);
  throw error;
 }
};

/***/ }),
/* 117 */
/***/ ((module) => {

"use strict";

var maxInt = 2147483647;
var base = 36;
var tMin = 1;
var tMax = 26;
var skew = 38;
var damp = 700;
var initialBias = 72;
var initialN = 128;
var delimiter = '-';
var regexNonASCII = /[^\0-\u007E]/;
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
var baseMinusTMin = base - tMin;
var floor = Math.floor;
var stringFromCharCode = String.fromCharCode;
var ucs2decode = function (string) {
 var output = [];
 var counter = 0;
 var length = string.length;
 while (counter < length) {
  var value = string.charCodeAt(counter++);
  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
   var extra = string.charCodeAt(counter++);
   if ((extra & 0xFC00) == 0xDC00) {
    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
   } else {
    output.push(value);
    counter--;
   }
  } else {
   output.push(value);
  }
 }
 return output;
};
var digitToBasic = function (digit) {
 return digit + 22 + 75 * (digit < 26);
};
var adapt = function (delta, numPoints, firstTime) {
 var k = 0;
 delta = firstTime ? floor(delta / damp) : delta >> 1;
 delta += floor(delta / numPoints);
 for (; delta > baseMinusTMin * tMax >> 1; k += base) {
  delta = floor(delta / baseMinusTMin);
 }
 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
};
var encode = function (input) {
 var output = [];
 input = ucs2decode(input);
 var inputLength = input.length;
 var n = initialN;
 var delta = 0;
 var bias = initialBias;
 var i, currentValue;
 for (i = 0; i < input.length; i++) {
  currentValue = input[i];
  if (currentValue < 0x80) {
   output.push(stringFromCharCode(currentValue));
  }
 }
 var basicLength = output.length;
 var handledCPCount = basicLength;
 if (basicLength) {
  output.push(delimiter);
 }
 while (handledCPCount < inputLength) {
  var m = maxInt;
  for (i = 0; i < input.length; i++) {
   currentValue = input[i];
   if (currentValue >= n && currentValue < m) {
    m = currentValue;
   }
  }
  var handledCPCountPlusOne = handledCPCount + 1;
  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
   throw RangeError(OVERFLOW_ERROR);
  }
  delta += (m - n) * handledCPCountPlusOne;
  n = m;
  for (i = 0; i < input.length; i++) {
   currentValue = input[i];
   if (currentValue < n && ++delta > maxInt) {
    throw RangeError(OVERFLOW_ERROR);
   }
   if (currentValue == n) {
    var q = delta;
    for (var k = base;; k += base) {
     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
     if (q < t)
      break;
     var qMinusT = q - t;
     var baseMinusT = base - t;
     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
     q = floor(qMinusT / baseMinusT);
    }
    output.push(stringFromCharCode(digitToBasic(q)));
    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
    delta = 0;
    ++handledCPCount;
   }
  }
  ++delta;
  ++n;
 }
 return output.join('');
};
module.exports = function (input) {
 var encoded = [];
 var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
 var i, label;
 for (i = 0; i < labels.length; i++) {
  label = labels[i];
  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
 }
 return encoded.join('.');
};

/***/ }),
/* 118 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

__w_pdfjs_require__(53);
var $ = __w_pdfjs_require__(9);
var getBuiltIn = __w_pdfjs_require__(41);
var USE_NATIVE_URL = __w_pdfjs_require__(113);
var redefine = __w_pdfjs_require__(28);
var redefineAll = __w_pdfjs_require__(88);
var setToStringTag = __w_pdfjs_require__(69);
var createIteratorConstructor = __w_pdfjs_require__(64);
var InternalStateModule = __w_pdfjs_require__(32);
var anInstance = __w_pdfjs_require__(90);
var hasOwn = __w_pdfjs_require__(22);
var bind = __w_pdfjs_require__(75);
var classof = __w_pdfjs_require__(78);
var anObject = __w_pdfjs_require__(27);
var isObject = __w_pdfjs_require__(21);
var create = __w_pdfjs_require__(58);
var createPropertyDescriptor = __w_pdfjs_require__(15);
var getIterator = __w_pdfjs_require__(119);
var getIteratorMethod = __w_pdfjs_require__(77);
var wellKnownSymbol = __w_pdfjs_require__(55);
var $fetch = getBuiltIn('fetch');
var Headers = getBuiltIn('Headers');
var ITERATOR = wellKnownSymbol('iterator');
var URL_SEARCH_PARAMS = 'URLSearchParams';
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
var setInternalState = InternalStateModule.set;
var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
var plus = /\+/g;
var sequences = Array(4);
var percentSequence = function (bytes) {
 return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
};
var percentDecode = function (sequence) {
 try {
  return decodeURIComponent(sequence);
 } catch (error) {
  return sequence;
 }
};
var deserialize = function (it) {
 var result = it.replace(plus, ' ');
 var bytes = 4;
 try {
  return decodeURIComponent(result);
 } catch (error) {
  while (bytes) {
   result = result.replace(percentSequence(bytes--), percentDecode);
  }
  return result;
 }
};
var find = /[!'()~]|%20/g;
var replace = {
 '!': '%21',
 "'": '%27',
 '(': '%28',
 ')': '%29',
 '~': '%7E',
 '%20': '+'
};
var replacer = function (match) {
 return replace[match];
};
var serialize = function (it) {
 return encodeURIComponent(it).replace(find, replacer);
};
var parseSearchParams = function (result, query) {
 if (query) {
  var attributes = query.split('&');
  var index = 0;
  var attribute, entry;
  while (index < attributes.length) {
   attribute = attributes[index++];
   if (attribute.length) {
    entry = attribute.split('=');
    result.push({
     key: deserialize(entry.shift()),
     value: deserialize(entry.join('='))
    });
   }
  }
 }
};
var updateSearchParams = function (query) {
 this.entries.length = 0;
 parseSearchParams(this.entries, query);
};
var validateArgumentsLength = function (passed, required) {
 if (passed < required)
  throw TypeError('Not enough arguments');
};
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
 setInternalState(this, {
  type: URL_SEARCH_PARAMS_ITERATOR,
  iterator: getIterator(getInternalParamsState(params).entries),
  kind: kind
 });
}, 'Iterator', function next() {
 var state = getInternalIteratorState(this);
 var kind = state.kind;
 var step = state.iterator.next();
 var entry = step.value;
 if (!step.done) {
  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
   entry.key,
   entry.value
  ];
 }
 return step;
});
var URLSearchParamsConstructor = function URLSearchParams() {
 anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
 var init = arguments.length > 0 ? arguments[0] : undefined;
 var that = this;
 var entries = [];
 var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
 setInternalState(that, {
  type: URL_SEARCH_PARAMS,
  entries: entries,
  updateURL: function () {
  },
  updateSearchParams: updateSearchParams
 });
 if (init !== undefined) {
  if (isObject(init)) {
   iteratorMethod = getIteratorMethod(init);
   if (typeof iteratorMethod === 'function') {
    iterator = iteratorMethod.call(init);
    next = iterator.next;
    while (!(step = next.call(iterator)).done) {
     entryIterator = getIterator(anObject(step.value));
     entryNext = entryIterator.next;
     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)
      throw TypeError('Expected sequence with length 2');
     entries.push({
      key: first.value + '',
      value: second.value + ''
     });
    }
   } else
    for (key in init)
     if (hasOwn(init, key))
      entries.push({
       key: key,
       value: init[key] + ''
      });
  } else {
   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
  }
 }
};
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
redefineAll(URLSearchParamsPrototype, {
 append: function append(name, value) {
  validateArgumentsLength(arguments.length, 2);
  var state = getInternalParamsState(this);
  state.entries.push({
   key: name + '',
   value: value + ''
  });
  state.updateURL();
 },
 'delete': function (name) {
  validateArgumentsLength(arguments.length, 1);
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var key = name + '';
  var index = 0;
  while (index < entries.length) {
   if (entries[index].key === key)
    entries.splice(index, 1);
   else
    index++;
  }
  state.updateURL();
 },
 get: function get(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var index = 0;
  for (; index < entries.length; index++) {
   if (entries[index].key === key)
    return entries[index].value;
  }
  return null;
 },
 getAll: function getAll(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var result = [];
  var index = 0;
  for (; index < entries.length; index++) {
   if (entries[index].key === key)
    result.push(entries[index].value);
  }
  return result;
 },
 has: function has(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var index = 0;
  while (index < entries.length) {
   if (entries[index++].key === key)
    return true;
  }
  return false;
 },
 set: function set(name, value) {
  validateArgumentsLength(arguments.length, 1);
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var found = false;
  var key = name + '';
  var val = value + '';
  var index = 0;
  var entry;
  for (; index < entries.length; index++) {
   entry = entries[index];
   if (entry.key === key) {
    if (found)
     entries.splice(index--, 1);
    else {
     found = true;
     entry.value = val;
    }
   }
  }
  if (!found)
   entries.push({
    key: key,
    value: val
   });
  state.updateURL();
 },
 sort: function sort() {
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var slice = entries.slice();
  var entry, entriesIndex, sliceIndex;
  entries.length = 0;
  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
   entry = slice[sliceIndex];
   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
    if (entries[entriesIndex].key > entry.key) {
     entries.splice(entriesIndex, 0, entry);
     break;
    }
   }
   if (entriesIndex === sliceIndex)
    entries.push(entry);
  }
  state.updateURL();
 },
 forEach: function forEach(callback) {
  var entries = getInternalParamsState(this).entries;
  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
  var index = 0;
  var entry;
  while (index < entries.length) {
   entry = entries[index++];
   boundFunction(entry.value, entry.key, this);
  }
 },
 keys: function keys() {
  return new URLSearchParamsIterator(this, 'keys');
 },
 values: function values() {
  return new URLSearchParamsIterator(this, 'values');
 },
 entries: function entries() {
  return new URLSearchParamsIterator(this, 'entries');
 }
}, { enumerable: true });
redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
redefine(URLSearchParamsPrototype, 'toString', function toString() {
 var entries = getInternalParamsState(this).entries;
 var result = [];
 var index = 0;
 var entry;
 while (index < entries.length) {
  entry = entries[index++];
  result.push(serialize(entry.key) + '=' + serialize(entry.value));
 }
 return result.join('&');
}, { enumerable: true });
setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
$({
 global: true,
 forced: !USE_NATIVE_URL
}, { URLSearchParams: URLSearchParamsConstructor });
if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
 $({
  global: true,
  enumerable: true,
  forced: true
 }, {
  fetch: function fetch(input) {
   var args = [input];
   var init, body, headers;
   if (arguments.length > 1) {
    init = arguments[1];
    if (isObject(init)) {
     body = init.body;
     if (classof(body) === URL_SEARCH_PARAMS) {
      headers = init.headers ? new Headers(init.headers) : new Headers();
      if (!headers.has('content-type')) {
       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
      }
      init = create(init, {
       body: createPropertyDescriptor(0, String(body)),
       headers: createPropertyDescriptor(0, headers)
      });
     }
    }
    args.push(init);
   }
   return $fetch.apply(this, args);
  }
 });
}
module.exports = {
 URLSearchParams: URLSearchParamsConstructor,
 getState: getInternalParamsState
};

/***/ }),
/* 119 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var anObject = __w_pdfjs_require__(27);
var getIteratorMethod = __w_pdfjs_require__(77);
module.exports = function (it) {
 var iteratorMethod = getIteratorMethod(it);
 if (typeof iteratorMethod != 'function') {
  throw TypeError(String(it) + ' is not iterable');
 }
 return anObject(iteratorMethod.call(it));
};

/***/ }),
/* 120 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
$({
 target: 'URL',
 proto: true,
 enumerable: true
}, {
 toJSON: function toJSON() {
  return URL.prototype.toString.call(this);
 }
});

/***/ }),
/* 121 */
/***/ (function(__unused_webpack_module, exports) {

(function (global, factory) {
  true ? factory(exports) : undefined;
}(this, function (exports) {
 'use strict';
 var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
  return "Symbol(" + description + ")";
 };
 function noop() {
 }
 function getGlobals() {
  if (typeof self !== 'undefined') {
   return self;
  } else if (typeof window !== 'undefined') {
   return window;
  } else if (typeof global !== 'undefined') {
   return global;
  }
  return undefined;
 }
 var globals = getGlobals();
 function typeIsObject(x) {
  return typeof x === 'object' && x !== null || typeof x === 'function';
 }
 var rethrowAssertionErrorRejection = noop;
 var originalPromise = Promise;
 var originalPromiseThen = Promise.prototype.then;
 var originalPromiseResolve = Promise.resolve.bind(originalPromise);
 var originalPromiseReject = Promise.reject.bind(originalPromise);
 function newPromise(executor) {
  return new originalPromise(executor);
 }
 function promiseResolvedWith(value) {
  return originalPromiseResolve(value);
 }
 function promiseRejectedWith(reason) {
  return originalPromiseReject(reason);
 }
 function PerformPromiseThen(promise, onFulfilled, onRejected) {
  return originalPromiseThen.call(promise, onFulfilled, onRejected);
 }
 function uponPromise(promise, onFulfilled, onRejected) {
  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
 }
 function uponFulfillment(promise, onFulfilled) {
  uponPromise(promise, onFulfilled);
 }
 function uponRejection(promise, onRejected) {
  uponPromise(promise, undefined, onRejected);
 }
 function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
 }
 function setPromiseIsHandledToTrue(promise) {
  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
 }
 var queueMicrotask = function () {
  var globalQueueMicrotask = globals && globals.queueMicrotask;
  if (typeof globalQueueMicrotask === 'function') {
   return globalQueueMicrotask;
  }
  var resolvedPromise = promiseResolvedWith(undefined);
  return function (fn) {
   return PerformPromiseThen(resolvedPromise, fn);
  };
 }();
 function reflectCall(F, V, args) {
  if (typeof F !== 'function') {
   throw new TypeError('Argument is not a function');
  }
  return Function.prototype.apply.call(F, V, args);
 }
 function promiseCall(F, V, args) {
  try {
   return promiseResolvedWith(reflectCall(F, V, args));
  } catch (value) {
   return promiseRejectedWith(value);
  }
 }
 var QUEUE_MAX_ARRAY_SIZE = 16384;
 var SimpleQueue = function () {
  function SimpleQueue() {
   this._cursor = 0;
   this._size = 0;
   this._front = {
    _elements: [],
    _next: undefined
   };
   this._back = this._front;
   this._cursor = 0;
   this._size = 0;
  }
  Object.defineProperty(SimpleQueue.prototype, "length", {
   get: function () {
    return this._size;
   },
   enumerable: false,
   configurable: true
  });
  SimpleQueue.prototype.push = function (element) {
   var oldBack = this._back;
   var newBack = oldBack;
   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
    newBack = {
     _elements: [],
     _next: undefined
    };
   }
   oldBack._elements.push(element);
   if (newBack !== oldBack) {
    this._back = newBack;
    oldBack._next = newBack;
   }
   ++this._size;
  };
  SimpleQueue.prototype.shift = function () {
   var oldFront = this._front;
   var newFront = oldFront;
   var oldCursor = this._cursor;
   var newCursor = oldCursor + 1;
   var elements = oldFront._elements;
   var element = elements[oldCursor];
   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
    newFront = oldFront._next;
    newCursor = 0;
   }
   --this._size;
   this._cursor = newCursor;
   if (oldFront !== newFront) {
    this._front = newFront;
   }
   elements[oldCursor] = undefined;
   return element;
  };
  SimpleQueue.prototype.forEach = function (callback) {
   var i = this._cursor;
   var node = this._front;
   var elements = node._elements;
   while (i !== elements.length || node._next !== undefined) {
    if (i === elements.length) {
     node = node._next;
     elements = node._elements;
     i = 0;
     if (elements.length === 0) {
      break;
     }
    }
    callback(elements[i]);
    ++i;
   }
  };
  SimpleQueue.prototype.peek = function () {
   var front = this._front;
   var cursor = this._cursor;
   return front._elements[cursor];
  };
  return SimpleQueue;
 }();
 function ReadableStreamReaderGenericInitialize(reader, stream) {
  reader._ownerReadableStream = stream;
  stream._reader = reader;
  if (stream._state === 'readable') {
   defaultReaderClosedPromiseInitialize(reader);
  } else if (stream._state === 'closed') {
   defaultReaderClosedPromiseInitializeAsResolved(reader);
  } else {
   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
  }
 }
 function ReadableStreamReaderGenericCancel(reader, reason) {
  var stream = reader._ownerReadableStream;
  return ReadableStreamCancel(stream, reason);
 }
 function ReadableStreamReaderGenericRelease(reader) {
  if (reader._ownerReadableStream._state === 'readable') {
   defaultReaderClosedPromiseReject(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
  } else {
   defaultReaderClosedPromiseResetToRejected(reader, new TypeError("Reader was released and can no longer be used to monitor the stream's closedness"));
  }
  reader._ownerReadableStream._reader = undefined;
  reader._ownerReadableStream = undefined;
 }
 function readerLockException(name) {
  return new TypeError('Cannot ' + name + ' a stream using a released reader');
 }
 function defaultReaderClosedPromiseInitialize(reader) {
  reader._closedPromise = newPromise(function (resolve, reject) {
   reader._closedPromise_resolve = resolve;
   reader._closedPromise_reject = reject;
  });
 }
 function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
  defaultReaderClosedPromiseInitialize(reader);
  defaultReaderClosedPromiseReject(reader, reason);
 }
 function defaultReaderClosedPromiseInitializeAsResolved(reader) {
  defaultReaderClosedPromiseInitialize(reader);
  defaultReaderClosedPromiseResolve(reader);
 }
 function defaultReaderClosedPromiseReject(reader, reason) {
  if (reader._closedPromise_reject === undefined) {
   return;
  }
  setPromiseIsHandledToTrue(reader._closedPromise);
  reader._closedPromise_reject(reason);
  reader._closedPromise_resolve = undefined;
  reader._closedPromise_reject = undefined;
 }
 function defaultReaderClosedPromiseResetToRejected(reader, reason) {
  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
 }
 function defaultReaderClosedPromiseResolve(reader) {
  if (reader._closedPromise_resolve === undefined) {
   return;
  }
  reader._closedPromise_resolve(undefined);
  reader._closedPromise_resolve = undefined;
  reader._closedPromise_reject = undefined;
 }
 var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
 var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
 var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
 var PullSteps = SymbolPolyfill('[[PullSteps]]');
 var NumberIsFinite = Number.isFinite || function (x) {
  return typeof x === 'number' && isFinite(x);
 };
 var MathTrunc = Math.trunc || function (v) {
  return v < 0 ? Math.ceil(v) : Math.floor(v);
 };
 function isDictionary(x) {
  return typeof x === 'object' || typeof x === 'function';
 }
 function assertDictionary(obj, context) {
  if (obj !== undefined && !isDictionary(obj)) {
   throw new TypeError(context + " is not an object.");
  }
 }
 function assertFunction(x, context) {
  if (typeof x !== 'function') {
   throw new TypeError(context + " is not a function.");
  }
 }
 function isObject(x) {
  return typeof x === 'object' && x !== null || typeof x === 'function';
 }
 function assertObject(x, context) {
  if (!isObject(x)) {
   throw new TypeError(context + " is not an object.");
  }
 }
 function assertRequiredArgument(x, position, context) {
  if (x === undefined) {
   throw new TypeError("Parameter " + position + " is required in '" + context + "'.");
  }
 }
 function assertRequiredField(x, field, context) {
  if (x === undefined) {
   throw new TypeError(field + " is required in '" + context + "'.");
  }
 }
 function convertUnrestrictedDouble(value) {
  return Number(value);
 }
 function censorNegativeZero(x) {
  return x === 0 ? 0 : x;
 }
 function integerPart(x) {
  return censorNegativeZero(MathTrunc(x));
 }
 function convertUnsignedLongLongWithEnforceRange(value, context) {
  var lowerBound = 0;
  var upperBound = Number.MAX_SAFE_INTEGER;
  var x = Number(value);
  x = censorNegativeZero(x);
  if (!NumberIsFinite(x)) {
   throw new TypeError(context + " is not a finite number");
  }
  x = integerPart(x);
  if (x < lowerBound || x > upperBound) {
   throw new TypeError(context + " is outside the accepted range of " + lowerBound + " to " + upperBound + ", inclusive");
  }
  if (!NumberIsFinite(x) || x === 0) {
   return 0;
  }
  return x;
 }
 function assertReadableStream(x, context) {
  if (!IsReadableStream(x)) {
   throw new TypeError(context + " is not a ReadableStream.");
  }
 }
 function AcquireReadableStreamDefaultReader(stream) {
  return new ReadableStreamDefaultReader(stream);
 }
 function ReadableStreamAddReadRequest(stream, readRequest) {
  stream._reader._readRequests.push(readRequest);
 }
 function ReadableStreamFulfillReadRequest(stream, chunk, done) {
  var reader = stream._reader;
  var readRequest = reader._readRequests.shift();
  if (done) {
   readRequest._closeSteps();
  } else {
   readRequest._chunkSteps(chunk);
  }
 }
 function ReadableStreamGetNumReadRequests(stream) {
  return stream._reader._readRequests.length;
 }
 function ReadableStreamHasDefaultReader(stream) {
  var reader = stream._reader;
  if (reader === undefined) {
   return false;
  }
  if (!IsReadableStreamDefaultReader(reader)) {
   return false;
  }
  return true;
 }
 var ReadableStreamDefaultReader = function () {
  function ReadableStreamDefaultReader(stream) {
   assertRequiredArgument(stream, 1, 'ReadableStreamDefaultReader');
   assertReadableStream(stream, 'First parameter');
   if (IsReadableStreamLocked(stream)) {
    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
   }
   ReadableStreamReaderGenericInitialize(this, stream);
   this._readRequests = new SimpleQueue();
  }
  Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
   get: function () {
    if (!IsReadableStreamDefaultReader(this)) {
     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: false,
   configurable: true
  });
  ReadableStreamDefaultReader.prototype.cancel = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsReadableStreamDefaultReader(this)) {
    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('cancel'));
   }
   return ReadableStreamReaderGenericCancel(this, reason);
  };
  ReadableStreamDefaultReader.prototype.read = function () {
   if (!IsReadableStreamDefaultReader(this)) {
    return promiseRejectedWith(defaultReaderBrandCheckException('read'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('read from'));
   }
   var resolvePromise;
   var rejectPromise;
   var promise = newPromise(function (resolve, reject) {
    resolvePromise = resolve;
    rejectPromise = reject;
   });
   var readRequest = {
    _chunkSteps: function (chunk) {
     return resolvePromise({
      value: chunk,
      done: false
     });
    },
    _closeSteps: function () {
     return resolvePromise({
      value: undefined,
      done: true
     });
    },
    _errorSteps: function (e) {
     return rejectPromise(e);
    }
   };
   ReadableStreamDefaultReaderRead(this, readRequest);
   return promise;
  };
  ReadableStreamDefaultReader.prototype.releaseLock = function () {
   if (!IsReadableStreamDefaultReader(this)) {
    throw defaultReaderBrandCheckException('releaseLock');
   }
   if (this._ownerReadableStream === undefined) {
    return;
   }
   if (this._readRequests.length > 0) {
    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
   }
   ReadableStreamReaderGenericRelease(this);
  };
  return ReadableStreamDefaultReader;
 }();
 Object.defineProperties(ReadableStreamDefaultReader.prototype, {
  cancel: { enumerable: true },
  read: { enumerable: true },
  releaseLock: { enumerable: true },
  closed: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableStreamDefaultReader.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableStreamDefaultReader',
   configurable: true
  });
 }
 function IsReadableStreamDefaultReader(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultReaderRead(reader, readRequest) {
  var stream = reader._ownerReadableStream;
  stream._disturbed = true;
  if (stream._state === 'closed') {
   readRequest._closeSteps();
  } else if (stream._state === 'errored') {
   readRequest._errorSteps(stream._storedError);
  } else {
   stream._readableStreamController[PullSteps](readRequest);
  }
 }
 function defaultReaderBrandCheckException(name) {
  return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
 }
 var _a;
 var AsyncIteratorPrototype;
 if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
   return this;
  }, _a);
  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
 }
 var ReadableStreamAsyncIteratorImpl = function () {
  function ReadableStreamAsyncIteratorImpl(reader, preventCancel) {
   this._ongoingPromise = undefined;
   this._isFinished = false;
   this._reader = reader;
   this._preventCancel = preventCancel;
  }
  ReadableStreamAsyncIteratorImpl.prototype.next = function () {
   var _this = this;
   var nextSteps = function () {
    return _this._nextSteps();
   };
   this._ongoingPromise = this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, nextSteps, nextSteps) : nextSteps();
   return this._ongoingPromise;
  };
  ReadableStreamAsyncIteratorImpl.prototype.return = function (value) {
   var _this = this;
   var returnSteps = function () {
    return _this._returnSteps(value);
   };
   return this._ongoingPromise ? transformPromiseWith(this._ongoingPromise, returnSteps, returnSteps) : returnSteps();
  };
  ReadableStreamAsyncIteratorImpl.prototype._nextSteps = function () {
   var _this = this;
   if (this._isFinished) {
    return Promise.resolve({
     value: undefined,
     done: true
    });
   }
   var reader = this._reader;
   if (reader._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('iterate'));
   }
   var resolvePromise;
   var rejectPromise;
   var promise = newPromise(function (resolve, reject) {
    resolvePromise = resolve;
    rejectPromise = reject;
   });
   var readRequest = {
    _chunkSteps: function (chunk) {
     _this._ongoingPromise = undefined;
     queueMicrotask(function () {
      return resolvePromise({
       value: chunk,
       done: false
      });
     });
    },
    _closeSteps: function () {
     _this._ongoingPromise = undefined;
     _this._isFinished = true;
     ReadableStreamReaderGenericRelease(reader);
     resolvePromise({
      value: undefined,
      done: true
     });
    },
    _errorSteps: function (reason) {
     _this._ongoingPromise = undefined;
     _this._isFinished = true;
     ReadableStreamReaderGenericRelease(reader);
     rejectPromise(reason);
    }
   };
   ReadableStreamDefaultReaderRead(reader, readRequest);
   return promise;
  };
  ReadableStreamAsyncIteratorImpl.prototype._returnSteps = function (value) {
   if (this._isFinished) {
    return Promise.resolve({
     value: value,
     done: true
    });
   }
   this._isFinished = true;
   var reader = this._reader;
   if (reader._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('finish iterating'));
   }
   if (!this._preventCancel) {
    var result = ReadableStreamReaderGenericCancel(reader, value);
    ReadableStreamReaderGenericRelease(reader);
    return transformPromiseWith(result, function () {
     return {
      value: value,
      done: true
     };
    });
   }
   ReadableStreamReaderGenericRelease(reader);
   return promiseResolvedWith({
    value: value,
    done: true
   });
  };
  return ReadableStreamAsyncIteratorImpl;
 }();
 var ReadableStreamAsyncIteratorPrototype = {
  next: function () {
   if (!IsReadableStreamAsyncIterator(this)) {
    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
   }
   return this._asyncIteratorImpl.next();
  },
  return: function (value) {
   if (!IsReadableStreamAsyncIterator(this)) {
    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('return'));
   }
   return this._asyncIteratorImpl.return(value);
  }
 };
 if (AsyncIteratorPrototype !== undefined) {
  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
 }
 function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
  var reader = AcquireReadableStreamDefaultReader(stream);
  var impl = new ReadableStreamAsyncIteratorImpl(reader, preventCancel);
  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
  iterator._asyncIteratorImpl = impl;
  return iterator;
 }
 function IsReadableStreamAsyncIterator(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorImpl')) {
   return false;
  }
  return true;
 }
 function streamAsyncIteratorBrandCheckException(name) {
  return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
 }
 var NumberIsNaN = Number.isNaN || function (x) {
  return x !== x;
 };
 function IsFiniteNonNegativeNumber(v) {
  if (!IsNonNegativeNumber(v)) {
   return false;
  }
  if (v === Infinity) {
   return false;
  }
  return true;
 }
 function IsNonNegativeNumber(v) {
  if (typeof v !== 'number') {
   return false;
  }
  if (NumberIsNaN(v)) {
   return false;
  }
  if (v < 0) {
   return false;
  }
  return true;
 }
 function DequeueValue(container) {
  var pair = container._queue.shift();
  container._queueTotalSize -= pair.size;
  if (container._queueTotalSize < 0) {
   container._queueTotalSize = 0;
  }
  return pair.value;
 }
 function EnqueueValueWithSize(container, value, size) {
  size = Number(size);
  if (!IsFiniteNonNegativeNumber(size)) {
   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
  }
  container._queue.push({
   value: value,
   size: size
  });
  container._queueTotalSize += size;
 }
 function PeekQueueValue(container) {
  var pair = container._queue.peek();
  return pair.value;
 }
 function ResetQueue(container) {
  container._queue = new SimpleQueue();
  container._queueTotalSize = 0;
 }
 function CreateArrayFromList(elements) {
  return elements.slice();
 }
 function CopyDataBlockBytes(dest, destOffset, src, srcOffset, n) {
  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
 }
 function TransferArrayBuffer(O) {
  return O;
 }
 function IsDetachedBuffer(O) {
  return false;
 }
 var ReadableStreamBYOBRequest = function () {
  function ReadableStreamBYOBRequest() {
   throw new TypeError('Illegal constructor');
  }
  Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
   get: function () {
    if (!IsReadableStreamBYOBRequest(this)) {
     throw byobRequestBrandCheckException('view');
    }
    return this._view;
   },
   enumerable: false,
   configurable: true
  });
  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
   if (!IsReadableStreamBYOBRequest(this)) {
    throw byobRequestBrandCheckException('respond');
   }
   assertRequiredArgument(bytesWritten, 1, 'respond');
   bytesWritten = convertUnsignedLongLongWithEnforceRange(bytesWritten, 'First parameter');
   if (this._associatedReadableByteStreamController === undefined) {
    throw new TypeError('This BYOB request has been invalidated');
   }
   if (IsDetachedBuffer(this._view.buffer));
   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
  };
  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
   if (!IsReadableStreamBYOBRequest(this)) {
    throw byobRequestBrandCheckException('respondWithNewView');
   }
   assertRequiredArgument(view, 1, 'respondWithNewView');
   if (!ArrayBuffer.isView(view)) {
    throw new TypeError('You can only respond with array buffer views');
   }
   if (view.byteLength === 0) {
    throw new TypeError('chunk must have non-zero byteLength');
   }
   if (view.buffer.byteLength === 0) {
    throw new TypeError("chunk's buffer must have non-zero byteLength");
   }
   if (this._associatedReadableByteStreamController === undefined) {
    throw new TypeError('This BYOB request has been invalidated');
   }
   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
  };
  return ReadableStreamBYOBRequest;
 }();
 Object.defineProperties(ReadableStreamBYOBRequest.prototype, {
  respond: { enumerable: true },
  respondWithNewView: { enumerable: true },
  view: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableStreamBYOBRequest.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableStreamBYOBRequest',
   configurable: true
  });
 }
 var ReadableByteStreamController = function () {
  function ReadableByteStreamController() {
   throw new TypeError('Illegal constructor');
  }
  Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
   get: function () {
    if (!IsReadableByteStreamController(this)) {
     throw byteStreamControllerBrandCheckException('byobRequest');
    }
    if (this._byobRequest === null && this._pendingPullIntos.length > 0) {
     var firstDescriptor = this._pendingPullIntos.peek();
     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
     SetUpReadableStreamBYOBRequest(byobRequest, this, view);
     this._byobRequest = byobRequest;
    }
    return this._byobRequest;
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
   get: function () {
    if (!IsReadableByteStreamController(this)) {
     throw byteStreamControllerBrandCheckException('desiredSize');
    }
    return ReadableByteStreamControllerGetDesiredSize(this);
   },
   enumerable: false,
   configurable: true
  });
  ReadableByteStreamController.prototype.close = function () {
   if (!IsReadableByteStreamController(this)) {
    throw byteStreamControllerBrandCheckException('close');
   }
   if (this._closeRequested) {
    throw new TypeError('The stream has already been closed; do not close it again!');
   }
   var state = this._controlledReadableByteStream._state;
   if (state !== 'readable') {
    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
   }
   ReadableByteStreamControllerClose(this);
  };
  ReadableByteStreamController.prototype.enqueue = function (chunk) {
   if (!IsReadableByteStreamController(this)) {
    throw byteStreamControllerBrandCheckException('enqueue');
   }
   assertRequiredArgument(chunk, 1, 'enqueue');
   if (!ArrayBuffer.isView(chunk)) {
    throw new TypeError('chunk must be an array buffer view');
   }
   if (chunk.byteLength === 0) {
    throw new TypeError('chunk must have non-zero byteLength');
   }
   if (chunk.buffer.byteLength === 0) {
    throw new TypeError("chunk's buffer must have non-zero byteLength");
   }
   if (this._closeRequested) {
    throw new TypeError('stream is closed or draining');
   }
   var state = this._controlledReadableByteStream._state;
   if (state !== 'readable') {
    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
   }
   ReadableByteStreamControllerEnqueue(this, chunk);
  };
  ReadableByteStreamController.prototype.error = function (e) {
   if (e === void 0) {
    e = undefined;
   }
   if (!IsReadableByteStreamController(this)) {
    throw byteStreamControllerBrandCheckException('error');
   }
   ReadableByteStreamControllerError(this, e);
  };
  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
   if (this._pendingPullIntos.length > 0) {
    var firstDescriptor = this._pendingPullIntos.peek();
    firstDescriptor.bytesFilled = 0;
   }
   ResetQueue(this);
   var result = this._cancelAlgorithm(reason);
   ReadableByteStreamControllerClearAlgorithms(this);
   return result;
  };
  ReadableByteStreamController.prototype[PullSteps] = function (readRequest) {
   var stream = this._controlledReadableByteStream;
   if (this._queueTotalSize > 0) {
    var entry = this._queue.shift();
    this._queueTotalSize -= entry.byteLength;
    ReadableByteStreamControllerHandleQueueDrain(this);
    var view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
    readRequest._chunkSteps(view);
    return;
   }
   var autoAllocateChunkSize = this._autoAllocateChunkSize;
   if (autoAllocateChunkSize !== undefined) {
    var buffer = void 0;
    try {
     buffer = new ArrayBuffer(autoAllocateChunkSize);
    } catch (bufferE) {
     readRequest._errorSteps(bufferE);
     return;
    }
    var pullIntoDescriptor = {
     buffer: buffer,
     byteOffset: 0,
     byteLength: autoAllocateChunkSize,
     bytesFilled: 0,
     elementSize: 1,
     viewConstructor: Uint8Array,
     readerType: 'default'
    };
    this._pendingPullIntos.push(pullIntoDescriptor);
   }
   ReadableStreamAddReadRequest(stream, readRequest);
   ReadableByteStreamControllerCallPullIfNeeded(this);
  };
  return ReadableByteStreamController;
 }();
 Object.defineProperties(ReadableByteStreamController.prototype, {
  close: { enumerable: true },
  enqueue: { enumerable: true },
  error: { enumerable: true },
  byobRequest: { enumerable: true },
  desiredSize: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableByteStreamController.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableByteStreamController',
   configurable: true
  });
 }
 function IsReadableByteStreamController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
   return false;
  }
  return true;
 }
 function IsReadableStreamBYOBRequest(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
   return false;
  }
  return true;
 }
 function ReadableByteStreamControllerCallPullIfNeeded(controller) {
  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
  if (!shouldPull) {
   return;
  }
  if (controller._pulling) {
   controller._pullAgain = true;
   return;
  }
  controller._pulling = true;
  var pullPromise = controller._pullAlgorithm();
  uponPromise(pullPromise, function () {
   controller._pulling = false;
   if (controller._pullAgain) {
    controller._pullAgain = false;
    ReadableByteStreamControllerCallPullIfNeeded(controller);
   }
  }, function (e) {
   ReadableByteStreamControllerError(controller, e);
  });
 }
 function ReadableByteStreamControllerClearPendingPullIntos(controller) {
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  controller._pendingPullIntos = new SimpleQueue();
 }
 function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
  var done = false;
  if (stream._state === 'closed') {
   done = true;
  }
  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
  if (pullIntoDescriptor.readerType === 'default') {
   ReadableStreamFulfillReadRequest(stream, filledView, done);
  } else {
   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
  }
 }
 function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
  var bytesFilled = pullIntoDescriptor.bytesFilled;
  var elementSize = pullIntoDescriptor.elementSize;
  return new pullIntoDescriptor.viewConstructor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
 }
 function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
  controller._queue.push({
   buffer: buffer,
   byteOffset: byteOffset,
   byteLength: byteLength
  });
  controller._queueTotalSize += byteLength;
 }
 function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
  var elementSize = pullIntoDescriptor.elementSize;
  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
  var totalBytesToCopyRemaining = maxBytesToCopy;
  var ready = false;
  if (maxAlignedBytes > currentAlignedBytes) {
   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
   ready = true;
  }
  var queue = controller._queue;
  while (totalBytesToCopyRemaining > 0) {
   var headOfQueue = queue.peek();
   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
   CopyDataBlockBytes(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
   if (headOfQueue.byteLength === bytesToCopy) {
    queue.shift();
   } else {
    headOfQueue.byteOffset += bytesToCopy;
    headOfQueue.byteLength -= bytesToCopy;
   }
   controller._queueTotalSize -= bytesToCopy;
   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
   totalBytesToCopyRemaining -= bytesToCopy;
  }
  return ready;
 }
 function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  pullIntoDescriptor.bytesFilled += size;
 }
 function ReadableByteStreamControllerHandleQueueDrain(controller) {
  if (controller._queueTotalSize === 0 && controller._closeRequested) {
   ReadableByteStreamControllerClearAlgorithms(controller);
   ReadableStreamClose(controller._controlledReadableByteStream);
  } else {
   ReadableByteStreamControllerCallPullIfNeeded(controller);
  }
 }
 function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
  if (controller._byobRequest === null) {
   return;
  }
  controller._byobRequest._associatedReadableByteStreamController = undefined;
  controller._byobRequest._view = null;
  controller._byobRequest = null;
 }
 function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
  while (controller._pendingPullIntos.length > 0) {
   if (controller._queueTotalSize === 0) {
    return;
   }
   var pullIntoDescriptor = controller._pendingPullIntos.peek();
   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
    ReadableByteStreamControllerShiftPendingPullInto(controller);
    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
   }
  }
 }
 function ReadableByteStreamControllerPullInto(controller, view, readIntoRequest) {
  var stream = controller._controlledReadableByteStream;
  var elementSize = 1;
  if (view.constructor !== DataView) {
   elementSize = view.constructor.BYTES_PER_ELEMENT;
  }
  var ctor = view.constructor;
  var buffer = TransferArrayBuffer(view.buffer);
  var pullIntoDescriptor = {
   buffer: buffer,
   byteOffset: view.byteOffset,
   byteLength: view.byteLength,
   bytesFilled: 0,
   elementSize: elementSize,
   viewConstructor: ctor,
   readerType: 'byob'
  };
  if (controller._pendingPullIntos.length > 0) {
   controller._pendingPullIntos.push(pullIntoDescriptor);
   ReadableStreamAddReadIntoRequest(stream, readIntoRequest);
   return;
  }
  if (stream._state === 'closed') {
   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
   readIntoRequest._closeSteps(emptyView);
   return;
  }
  if (controller._queueTotalSize > 0) {
   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor)) {
    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
    ReadableByteStreamControllerHandleQueueDrain(controller);
    readIntoRequest._chunkSteps(filledView);
    return;
   }
   if (controller._closeRequested) {
    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
    ReadableByteStreamControllerError(controller, e);
    readIntoRequest._errorSteps(e);
    return;
   }
  }
  controller._pendingPullIntos.push(pullIntoDescriptor);
  ReadableStreamAddReadIntoRequest(stream, readIntoRequest);
  ReadableByteStreamControllerCallPullIfNeeded(controller);
 }
 function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
  var stream = controller._controlledReadableByteStream;
  if (ReadableStreamHasBYOBReader(stream)) {
   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
   }
  }
 }
 function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
   throw new RangeError('bytesWritten out of range');
  }
  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
   return;
  }
  ReadableByteStreamControllerShiftPendingPullInto(controller);
  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
  if (remainderSize > 0) {
   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
  }
  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
  pullIntoDescriptor.bytesFilled -= remainderSize;
  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
 }
 function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
  var firstDescriptor = controller._pendingPullIntos.peek();
  var state = controller._controlledReadableByteStream._state;
  if (state === 'closed') {
   if (bytesWritten !== 0) {
    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
   }
   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
  } else {
   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
  }
  ReadableByteStreamControllerCallPullIfNeeded(controller);
 }
 function ReadableByteStreamControllerShiftPendingPullInto(controller) {
  var descriptor = controller._pendingPullIntos.shift();
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  return descriptor;
 }
 function ReadableByteStreamControllerShouldCallPull(controller) {
  var stream = controller._controlledReadableByteStream;
  if (stream._state !== 'readable') {
   return false;
  }
  if (controller._closeRequested) {
   return false;
  }
  if (!controller._started) {
   return false;
  }
  if (ReadableStreamHasDefaultReader(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
   return true;
  }
  if (ReadableStreamHasBYOBReader(stream) && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
   return true;
  }
  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
  if (desiredSize > 0) {
   return true;
  }
  return false;
 }
 function ReadableByteStreamControllerClearAlgorithms(controller) {
  controller._pullAlgorithm = undefined;
  controller._cancelAlgorithm = undefined;
 }
 function ReadableByteStreamControllerClose(controller) {
  var stream = controller._controlledReadableByteStream;
  if (controller._closeRequested || stream._state !== 'readable') {
   return;
  }
  if (controller._queueTotalSize > 0) {
   controller._closeRequested = true;
   return;
  }
  if (controller._pendingPullIntos.length > 0) {
   var firstPendingPullInto = controller._pendingPullIntos.peek();
   if (firstPendingPullInto.bytesFilled > 0) {
    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
    ReadableByteStreamControllerError(controller, e);
    throw e;
   }
  }
  ReadableByteStreamControllerClearAlgorithms(controller);
  ReadableStreamClose(stream);
 }
 function ReadableByteStreamControllerEnqueue(controller, chunk) {
  var stream = controller._controlledReadableByteStream;
  if (controller._closeRequested || stream._state !== 'readable') {
   return;
  }
  var buffer = chunk.buffer;
  var byteOffset = chunk.byteOffset;
  var byteLength = chunk.byteLength;
  var transferredBuffer = TransferArrayBuffer(buffer);
  if (ReadableStreamHasDefaultReader(stream)) {
   if (ReadableStreamGetNumReadRequests(stream) === 0) {
    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
   } else {
    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
    ReadableStreamFulfillReadRequest(stream, transferredView, false);
   }
  } else if (ReadableStreamHasBYOBReader(stream)) {
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
  } else {
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
  }
  ReadableByteStreamControllerCallPullIfNeeded(controller);
 }
 function ReadableByteStreamControllerError(controller, e) {
  var stream = controller._controlledReadableByteStream;
  if (stream._state !== 'readable') {
   return;
  }
  ReadableByteStreamControllerClearPendingPullIntos(controller);
  ResetQueue(controller);
  ReadableByteStreamControllerClearAlgorithms(controller);
  ReadableStreamError(stream, e);
 }
 function ReadableByteStreamControllerGetDesiredSize(controller) {
  var state = controller._controlledReadableByteStream._state;
  if (state === 'errored') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function ReadableByteStreamControllerRespond(controller, bytesWritten) {
  bytesWritten = Number(bytesWritten);
  if (!IsFiniteNonNegativeNumber(bytesWritten)) {
   throw new RangeError('bytesWritten must be a finite');
  }
  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
 }
 function ReadableByteStreamControllerRespondWithNewView(controller, view) {
  var firstDescriptor = controller._pendingPullIntos.peek();
  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
   throw new RangeError('The region specified by view does not match byobRequest');
  }
  if (firstDescriptor.byteLength !== view.byteLength) {
   throw new RangeError('The buffer of view has different capacity than byobRequest');
  }
  firstDescriptor.buffer = view.buffer;
  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
 }
 function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
  controller._controlledReadableByteStream = stream;
  controller._pullAgain = false;
  controller._pulling = false;
  controller._byobRequest = null;
  controller._queue = controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._closeRequested = false;
  controller._started = false;
  controller._strategyHWM = highWaterMark;
  controller._pullAlgorithm = pullAlgorithm;
  controller._cancelAlgorithm = cancelAlgorithm;
  controller._autoAllocateChunkSize = autoAllocateChunkSize;
  controller._pendingPullIntos = new SimpleQueue();
  stream._readableStreamController = controller;
  var startResult = startAlgorithm();
  uponPromise(promiseResolvedWith(startResult), function () {
   controller._started = true;
   ReadableByteStreamControllerCallPullIfNeeded(controller);
  }, function (r) {
   ReadableByteStreamControllerError(controller, r);
  });
 }
 function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
  var controller = Object.create(ReadableByteStreamController.prototype);
  var startAlgorithm = function () {
   return undefined;
  };
  var pullAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  var cancelAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  if (underlyingByteSource.start !== undefined) {
   startAlgorithm = function () {
    return underlyingByteSource.start(controller);
   };
  }
  if (underlyingByteSource.pull !== undefined) {
   pullAlgorithm = function () {
    return underlyingByteSource.pull(controller);
   };
  }
  if (underlyingByteSource.cancel !== undefined) {
   cancelAlgorithm = function (reason) {
    return underlyingByteSource.cancel(reason);
   };
  }
  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
 }
 function SetUpReadableStreamBYOBRequest(request, controller, view) {
  request._associatedReadableByteStreamController = controller;
  request._view = view;
 }
 function byobRequestBrandCheckException(name) {
  return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
 }
 function byteStreamControllerBrandCheckException(name) {
  return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
 }
 function AcquireReadableStreamBYOBReader(stream) {
  return new ReadableStreamBYOBReader(stream);
 }
 function ReadableStreamAddReadIntoRequest(stream, readIntoRequest) {
  stream._reader._readIntoRequests.push(readIntoRequest);
 }
 function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
  var reader = stream._reader;
  var readIntoRequest = reader._readIntoRequests.shift();
  if (done) {
   readIntoRequest._closeSteps(chunk);
  } else {
   readIntoRequest._chunkSteps(chunk);
  }
 }
 function ReadableStreamGetNumReadIntoRequests(stream) {
  return stream._reader._readIntoRequests.length;
 }
 function ReadableStreamHasBYOBReader(stream) {
  var reader = stream._reader;
  if (reader === undefined) {
   return false;
  }
  if (!IsReadableStreamBYOBReader(reader)) {
   return false;
  }
  return true;
 }
 var ReadableStreamBYOBReader = function () {
  function ReadableStreamBYOBReader(stream) {
   assertRequiredArgument(stream, 1, 'ReadableStreamBYOBReader');
   assertReadableStream(stream, 'First parameter');
   if (IsReadableStreamLocked(stream)) {
    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
   }
   if (!IsReadableByteStreamController(stream._readableStreamController)) {
    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
   }
   ReadableStreamReaderGenericInitialize(this, stream);
   this._readIntoRequests = new SimpleQueue();
  }
  Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
   get: function () {
    if (!IsReadableStreamBYOBReader(this)) {
     return promiseRejectedWith(byobReaderBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: false,
   configurable: true
  });
  ReadableStreamBYOBReader.prototype.cancel = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsReadableStreamBYOBReader(this)) {
    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('cancel'));
   }
   return ReadableStreamReaderGenericCancel(this, reason);
  };
  ReadableStreamBYOBReader.prototype.read = function (view) {
   if (!IsReadableStreamBYOBReader(this)) {
    return promiseRejectedWith(byobReaderBrandCheckException('read'));
   }
   if (!ArrayBuffer.isView(view)) {
    return promiseRejectedWith(new TypeError('view must be an array buffer view'));
   }
   if (view.byteLength === 0) {
    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
   }
   if (view.buffer.byteLength === 0) {
    return promiseRejectedWith(new TypeError("view's buffer must have non-zero byteLength"));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('read from'));
   }
   var resolvePromise;
   var rejectPromise;
   var promise = newPromise(function (resolve, reject) {
    resolvePromise = resolve;
    rejectPromise = reject;
   });
   var readIntoRequest = {
    _chunkSteps: function (chunk) {
     return resolvePromise({
      value: chunk,
      done: false
     });
    },
    _closeSteps: function (chunk) {
     return resolvePromise({
      value: chunk,
      done: true
     });
    },
    _errorSteps: function (e) {
     return rejectPromise(e);
    }
   };
   ReadableStreamBYOBReaderRead(this, view, readIntoRequest);
   return promise;
  };
  ReadableStreamBYOBReader.prototype.releaseLock = function () {
   if (!IsReadableStreamBYOBReader(this)) {
    throw byobReaderBrandCheckException('releaseLock');
   }
   if (this._ownerReadableStream === undefined) {
    return;
   }
   if (this._readIntoRequests.length > 0) {
    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
   }
   ReadableStreamReaderGenericRelease(this);
  };
  return ReadableStreamBYOBReader;
 }();
 Object.defineProperties(ReadableStreamBYOBReader.prototype, {
  cancel: { enumerable: true },
  read: { enumerable: true },
  releaseLock: { enumerable: true },
  closed: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableStreamBYOBReader.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableStreamBYOBReader',
   configurable: true
  });
 }
 function IsReadableStreamBYOBReader(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
   return false;
  }
  return true;
 }
 function ReadableStreamBYOBReaderRead(reader, view, readIntoRequest) {
  var stream = reader._ownerReadableStream;
  stream._disturbed = true;
  if (stream._state === 'errored') {
   readIntoRequest._errorSteps(stream._storedError);
  } else {
   ReadableByteStreamControllerPullInto(stream._readableStreamController, view, readIntoRequest);
  }
 }
 function byobReaderBrandCheckException(name) {
  return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
 }
 function ExtractHighWaterMark(strategy, defaultHWM) {
  var highWaterMark = strategy.highWaterMark;
  if (highWaterMark === undefined) {
   return defaultHWM;
  }
  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
   throw new RangeError('Invalid highWaterMark');
  }
  return highWaterMark;
 }
 function ExtractSizeAlgorithm(strategy) {
  var size = strategy.size;
  if (!size) {
   return function () {
    return 1;
   };
  }
  return size;
 }
 function convertQueuingStrategy(init, context) {
  assertDictionary(init, context);
  var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;
  var size = init === null || init === void 0 ? void 0 : init.size;
  return {
   highWaterMark: highWaterMark === undefined ? undefined : convertUnrestrictedDouble(highWaterMark),
   size: size === undefined ? undefined : convertQueuingStrategySize(size, context + " has member 'size' that")
  };
 }
 function convertQueuingStrategySize(fn, context) {
  assertFunction(fn, context);
  return function (chunk) {
   return convertUnrestrictedDouble(fn(chunk));
  };
 }
 function convertUnderlyingSink(original, context) {
  assertDictionary(original, context);
  var abort = original === null || original === void 0 ? void 0 : original.abort;
  var close = original === null || original === void 0 ? void 0 : original.close;
  var start = original === null || original === void 0 ? void 0 : original.start;
  var type = original === null || original === void 0 ? void 0 : original.type;
  var write = original === null || original === void 0 ? void 0 : original.write;
  return {
   abort: abort === undefined ? undefined : convertUnderlyingSinkAbortCallback(abort, original, context + " has member 'abort' that"),
   close: close === undefined ? undefined : convertUnderlyingSinkCloseCallback(close, original, context + " has member 'close' that"),
   start: start === undefined ? undefined : convertUnderlyingSinkStartCallback(start, original, context + " has member 'start' that"),
   write: write === undefined ? undefined : convertUnderlyingSinkWriteCallback(write, original, context + " has member 'write' that"),
   type: type
  };
 }
 function convertUnderlyingSinkAbortCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (reason) {
   return promiseCall(fn, original, [reason]);
  };
 }
 function convertUnderlyingSinkCloseCallback(fn, original, context) {
  assertFunction(fn, context);
  return function () {
   return promiseCall(fn, original, []);
  };
 }
 function convertUnderlyingSinkStartCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (controller) {
   return reflectCall(fn, original, [controller]);
  };
 }
 function convertUnderlyingSinkWriteCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (chunk, controller) {
   return promiseCall(fn, original, [
    chunk,
    controller
   ]);
  };
 }
 function assertWritableStream(x, context) {
  if (!IsWritableStream(x)) {
   throw new TypeError(context + " is not a WritableStream.");
  }
 }
 var WritableStream = function () {
  function WritableStream(rawUnderlyingSink, rawStrategy) {
   if (rawUnderlyingSink === void 0) {
    rawUnderlyingSink = {};
   }
   if (rawStrategy === void 0) {
    rawStrategy = {};
   }
   if (rawUnderlyingSink === undefined) {
    rawUnderlyingSink = null;
   } else {
    assertObject(rawUnderlyingSink, 'First parameter');
   }
   var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');
   var underlyingSink = convertUnderlyingSink(rawUnderlyingSink, 'First parameter');
   InitializeWritableStream(this);
   var type = underlyingSink.type;
   if (type !== undefined) {
    throw new RangeError('Invalid type is specified');
   }
   var sizeAlgorithm = ExtractSizeAlgorithm(strategy);
   var highWaterMark = ExtractHighWaterMark(strategy, 1);
   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
  }
  Object.defineProperty(WritableStream.prototype, "locked", {
   get: function () {
    if (!IsWritableStream(this)) {
     throw streamBrandCheckException('locked');
    }
    return IsWritableStreamLocked(this);
   },
   enumerable: false,
   configurable: true
  });
  WritableStream.prototype.abort = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsWritableStream(this)) {
    return promiseRejectedWith(streamBrandCheckException('abort'));
   }
   if (IsWritableStreamLocked(this)) {
    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
   }
   return WritableStreamAbort(this, reason);
  };
  WritableStream.prototype.close = function () {
   if (!IsWritableStream(this)) {
    return promiseRejectedWith(streamBrandCheckException('close'));
   }
   if (IsWritableStreamLocked(this)) {
    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));
   }
   if (WritableStreamCloseQueuedOrInFlight(this)) {
    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
   }
   return WritableStreamClose(this);
  };
  WritableStream.prototype.getWriter = function () {
   if (!IsWritableStream(this)) {
    throw streamBrandCheckException('getWriter');
   }
   return AcquireWritableStreamDefaultWriter(this);
  };
  return WritableStream;
 }();
 Object.defineProperties(WritableStream.prototype, {
  abort: { enumerable: true },
  close: { enumerable: true },
  getWriter: { enumerable: true },
  locked: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(WritableStream.prototype, SymbolPolyfill.toStringTag, {
   value: 'WritableStream',
   configurable: true
  });
 }
 function AcquireWritableStreamDefaultWriter(stream) {
  return new WritableStreamDefaultWriter(stream);
 }
 function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  if (highWaterMark === void 0) {
   highWaterMark = 1;
  }
  if (sizeAlgorithm === void 0) {
   sizeAlgorithm = function () {
    return 1;
   };
  }
  var stream = Object.create(WritableStream.prototype);
  InitializeWritableStream(stream);
  var controller = Object.create(WritableStreamDefaultController.prototype);
  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
  return stream;
 }
 function InitializeWritableStream(stream) {
  stream._state = 'writable';
  stream._storedError = undefined;
  stream._writer = undefined;
  stream._writableStreamController = undefined;
  stream._writeRequests = new SimpleQueue();
  stream._inFlightWriteRequest = undefined;
  stream._closeRequest = undefined;
  stream._inFlightCloseRequest = undefined;
  stream._pendingAbortRequest = undefined;
  stream._backpressure = false;
 }
 function IsWritableStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
   return false;
  }
  return true;
 }
 function IsWritableStreamLocked(stream) {
  if (stream._writer === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamAbort(stream, reason) {
  var state = stream._state;
  if (state === 'closed' || state === 'errored') {
   return promiseResolvedWith(undefined);
  }
  if (stream._pendingAbortRequest !== undefined) {
   return stream._pendingAbortRequest._promise;
  }
  var wasAlreadyErroring = false;
  if (state === 'erroring') {
   wasAlreadyErroring = true;
   reason = undefined;
  }
  var promise = newPromise(function (resolve, reject) {
   stream._pendingAbortRequest = {
    _promise: undefined,
    _resolve: resolve,
    _reject: reject,
    _reason: reason,
    _wasAlreadyErroring: wasAlreadyErroring
   };
  });
  stream._pendingAbortRequest._promise = promise;
  if (!wasAlreadyErroring) {
   WritableStreamStartErroring(stream, reason);
  }
  return promise;
 }
 function WritableStreamClose(stream) {
  var state = stream._state;
  if (state === 'closed' || state === 'errored') {
   return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
  }
  var promise = newPromise(function (resolve, reject) {
   var closeRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._closeRequest = closeRequest;
  });
  var writer = stream._writer;
  if (writer !== undefined && stream._backpressure && state === 'writable') {
   defaultWriterReadyPromiseResolve(writer);
  }
  WritableStreamDefaultControllerClose(stream._writableStreamController);
  return promise;
 }
 function WritableStreamAddWriteRequest(stream) {
  var promise = newPromise(function (resolve, reject) {
   var writeRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._writeRequests.push(writeRequest);
  });
  return promise;
 }
 function WritableStreamDealWithRejection(stream, error) {
  var state = stream._state;
  if (state === 'writable') {
   WritableStreamStartErroring(stream, error);
   return;
  }
  WritableStreamFinishErroring(stream);
 }
 function WritableStreamStartErroring(stream, reason) {
  var controller = stream._writableStreamController;
  stream._state = 'erroring';
  stream._storedError = reason;
  var writer = stream._writer;
  if (writer !== undefined) {
   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
  }
  if (!WritableStreamHasOperationMarkedInFlight(stream) && controller._started) {
   WritableStreamFinishErroring(stream);
  }
 }
 function WritableStreamFinishErroring(stream) {
  stream._state = 'errored';
  stream._writableStreamController[ErrorSteps]();
  var storedError = stream._storedError;
  stream._writeRequests.forEach(function (writeRequest) {
   writeRequest._reject(storedError);
  });
  stream._writeRequests = new SimpleQueue();
  if (stream._pendingAbortRequest === undefined) {
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
   return;
  }
  var abortRequest = stream._pendingAbortRequest;
  stream._pendingAbortRequest = undefined;
  if (abortRequest._wasAlreadyErroring) {
   abortRequest._reject(storedError);
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
   return;
  }
  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
  uponPromise(promise, function () {
   abortRequest._resolve();
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  }, function (reason) {
   abortRequest._reject(reason);
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  });
 }
 function WritableStreamFinishInFlightWrite(stream) {
  stream._inFlightWriteRequest._resolve(undefined);
  stream._inFlightWriteRequest = undefined;
 }
 function WritableStreamFinishInFlightWriteWithError(stream, error) {
  stream._inFlightWriteRequest._reject(error);
  stream._inFlightWriteRequest = undefined;
  WritableStreamDealWithRejection(stream, error);
 }
 function WritableStreamFinishInFlightClose(stream) {
  stream._inFlightCloseRequest._resolve(undefined);
  stream._inFlightCloseRequest = undefined;
  var state = stream._state;
  if (state === 'erroring') {
   stream._storedError = undefined;
   if (stream._pendingAbortRequest !== undefined) {
    stream._pendingAbortRequest._resolve();
    stream._pendingAbortRequest = undefined;
   }
  }
  stream._state = 'closed';
  var writer = stream._writer;
  if (writer !== undefined) {
   defaultWriterClosedPromiseResolve(writer);
  }
 }
 function WritableStreamFinishInFlightCloseWithError(stream, error) {
  stream._inFlightCloseRequest._reject(error);
  stream._inFlightCloseRequest = undefined;
  if (stream._pendingAbortRequest !== undefined) {
   stream._pendingAbortRequest._reject(error);
   stream._pendingAbortRequest = undefined;
  }
  WritableStreamDealWithRejection(stream, error);
 }
 function WritableStreamCloseQueuedOrInFlight(stream) {
  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamHasOperationMarkedInFlight(stream) {
  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamMarkCloseRequestInFlight(stream) {
  stream._inFlightCloseRequest = stream._closeRequest;
  stream._closeRequest = undefined;
 }
 function WritableStreamMarkFirstWriteRequestInFlight(stream) {
  stream._inFlightWriteRequest = stream._writeRequests.shift();
 }
 function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
  if (stream._closeRequest !== undefined) {
   stream._closeRequest._reject(stream._storedError);
   stream._closeRequest = undefined;
  }
  var writer = stream._writer;
  if (writer !== undefined) {
   defaultWriterClosedPromiseReject(writer, stream._storedError);
  }
 }
 function WritableStreamUpdateBackpressure(stream, backpressure) {
  var writer = stream._writer;
  if (writer !== undefined && backpressure !== stream._backpressure) {
   if (backpressure) {
    defaultWriterReadyPromiseReset(writer);
   } else {
    defaultWriterReadyPromiseResolve(writer);
   }
  }
  stream._backpressure = backpressure;
 }
 var WritableStreamDefaultWriter = function () {
  function WritableStreamDefaultWriter(stream) {
   assertRequiredArgument(stream, 1, 'WritableStreamDefaultWriter');
   assertWritableStream(stream, 'First parameter');
   if (IsWritableStreamLocked(stream)) {
    throw new TypeError('This stream has already been locked for exclusive writing by another writer');
   }
   this._ownerWritableStream = stream;
   stream._writer = this;
   var state = stream._state;
   if (state === 'writable') {
    if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._backpressure) {
     defaultWriterReadyPromiseInitialize(this);
    } else {
     defaultWriterReadyPromiseInitializeAsResolved(this);
    }
    defaultWriterClosedPromiseInitialize(this);
   } else if (state === 'erroring') {
    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
    defaultWriterClosedPromiseInitialize(this);
   } else if (state === 'closed') {
    defaultWriterReadyPromiseInitializeAsResolved(this);
    defaultWriterClosedPromiseInitializeAsResolved(this);
   } else {
    var storedError = stream._storedError;
    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
   }
  }
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
   get: function () {
    if (!IsWritableStreamDefaultWriter(this)) {
     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
   get: function () {
    if (!IsWritableStreamDefaultWriter(this)) {
     throw defaultWriterBrandCheckException('desiredSize');
    }
    if (this._ownerWritableStream === undefined) {
     throw defaultWriterLockException('desiredSize');
    }
    return WritableStreamDefaultWriterGetDesiredSize(this);
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
   get: function () {
    if (!IsWritableStreamDefaultWriter(this)) {
     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
    }
    return this._readyPromise;
   },
   enumerable: false,
   configurable: true
  });
  WritableStreamDefaultWriter.prototype.abort = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsWritableStreamDefaultWriter(this)) {
    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
   }
   if (this._ownerWritableStream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('abort'));
   }
   return WritableStreamDefaultWriterAbort(this, reason);
  };
  WritableStreamDefaultWriter.prototype.close = function () {
   if (!IsWritableStreamDefaultWriter(this)) {
    return promiseRejectedWith(defaultWriterBrandCheckException('close'));
   }
   var stream = this._ownerWritableStream;
   if (stream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('close'));
   }
   if (WritableStreamCloseQueuedOrInFlight(stream)) {
    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
   }
   return WritableStreamDefaultWriterClose(this);
  };
  WritableStreamDefaultWriter.prototype.releaseLock = function () {
   if (!IsWritableStreamDefaultWriter(this)) {
    throw defaultWriterBrandCheckException('releaseLock');
   }
   var stream = this._ownerWritableStream;
   if (stream === undefined) {
    return;
   }
   WritableStreamDefaultWriterRelease(this);
  };
  WritableStreamDefaultWriter.prototype.write = function (chunk) {
   if (chunk === void 0) {
    chunk = undefined;
   }
   if (!IsWritableStreamDefaultWriter(this)) {
    return promiseRejectedWith(defaultWriterBrandCheckException('write'));
   }
   if (this._ownerWritableStream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('write to'));
   }
   return WritableStreamDefaultWriterWrite(this, chunk);
  };
  return WritableStreamDefaultWriter;
 }();
 Object.defineProperties(WritableStreamDefaultWriter.prototype, {
  abort: { enumerable: true },
  close: { enumerable: true },
  releaseLock: { enumerable: true },
  write: { enumerable: true },
  closed: { enumerable: true },
  desiredSize: { enumerable: true },
  ready: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(WritableStreamDefaultWriter.prototype, SymbolPolyfill.toStringTag, {
   value: 'WritableStreamDefaultWriter',
   configurable: true
  });
 }
 function IsWritableStreamDefaultWriter(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
   return false;
  }
  return true;
 }
 function WritableStreamDefaultWriterAbort(writer, reason) {
  var stream = writer._ownerWritableStream;
  return WritableStreamAbort(stream, reason);
 }
 function WritableStreamDefaultWriterClose(writer) {
  var stream = writer._ownerWritableStream;
  return WritableStreamClose(stream);
 }
 function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
  var stream = writer._ownerWritableStream;
  var state = stream._state;
  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {
   return promiseResolvedWith(undefined);
  }
  if (state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  return WritableStreamDefaultWriterClose(writer);
 }
 function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
  if (writer._closedPromiseState === 'pending') {
   defaultWriterClosedPromiseReject(writer, error);
  } else {
   defaultWriterClosedPromiseResetToRejected(writer, error);
  }
 }
 function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
  if (writer._readyPromiseState === 'pending') {
   defaultWriterReadyPromiseReject(writer, error);
  } else {
   defaultWriterReadyPromiseResetToRejected(writer, error);
  }
 }
 function WritableStreamDefaultWriterGetDesiredSize(writer) {
  var stream = writer._ownerWritableStream;
  var state = stream._state;
  if (state === 'errored' || state === 'erroring') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
 }
 function WritableStreamDefaultWriterRelease(writer) {
  var stream = writer._ownerWritableStream;
  var releasedError = new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");
  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
  stream._writer = undefined;
  writer._ownerWritableStream = undefined;
 }
 function WritableStreamDefaultWriterWrite(writer, chunk) {
  var stream = writer._ownerWritableStream;
  var controller = stream._writableStreamController;
  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
  if (stream !== writer._ownerWritableStream) {
   return promiseRejectedWith(defaultWriterLockException('write to'));
  }
  var state = stream._state;
  if (state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  if (WritableStreamCloseQueuedOrInFlight(stream) || state === 'closed') {
   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
  }
  if (state === 'erroring') {
   return promiseRejectedWith(stream._storedError);
  }
  var promise = WritableStreamAddWriteRequest(stream);
  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
  return promise;
 }
 var closeSentinel = {};
 var WritableStreamDefaultController = function () {
  function WritableStreamDefaultController() {
   throw new TypeError('Illegal constructor');
  }
  WritableStreamDefaultController.prototype.error = function (e) {
   if (e === void 0) {
    e = undefined;
   }
   if (!IsWritableStreamDefaultController(this)) {
    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
   }
   var state = this._controlledWritableStream._state;
   if (state !== 'writable') {
    return;
   }
   WritableStreamDefaultControllerError(this, e);
  };
  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
   var result = this._abortAlgorithm(reason);
   WritableStreamDefaultControllerClearAlgorithms(this);
   return result;
  };
  WritableStreamDefaultController.prototype[ErrorSteps] = function () {
   ResetQueue(this);
  };
  return WritableStreamDefaultController;
 }();
 Object.defineProperties(WritableStreamDefaultController.prototype, { error: { enumerable: true } });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(WritableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
   value: 'WritableStreamDefaultController',
   configurable: true
  });
 }
 function IsWritableStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
   return false;
  }
  return true;
 }
 function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  controller._controlledWritableStream = stream;
  stream._writableStreamController = controller;
  controller._queue = undefined;
  controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._started = false;
  controller._strategySizeAlgorithm = sizeAlgorithm;
  controller._strategyHWM = highWaterMark;
  controller._writeAlgorithm = writeAlgorithm;
  controller._closeAlgorithm = closeAlgorithm;
  controller._abortAlgorithm = abortAlgorithm;
  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
  WritableStreamUpdateBackpressure(stream, backpressure);
  var startResult = startAlgorithm();
  var startPromise = promiseResolvedWith(startResult);
  uponPromise(startPromise, function () {
   controller._started = true;
   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  }, function (r) {
   controller._started = true;
   WritableStreamDealWithRejection(stream, r);
  });
 }
 function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
  var controller = Object.create(WritableStreamDefaultController.prototype);
  var startAlgorithm = function () {
   return undefined;
  };
  var writeAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  var closeAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  var abortAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  if (underlyingSink.start !== undefined) {
   startAlgorithm = function () {
    return underlyingSink.start(controller);
   };
  }
  if (underlyingSink.write !== undefined) {
   writeAlgorithm = function (chunk) {
    return underlyingSink.write(chunk, controller);
   };
  }
  if (underlyingSink.close !== undefined) {
   closeAlgorithm = function () {
    return underlyingSink.close();
   };
  }
  if (underlyingSink.abort !== undefined) {
   abortAlgorithm = function (reason) {
    return underlyingSink.abort(reason);
   };
  }
  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
 }
 function WritableStreamDefaultControllerClearAlgorithms(controller) {
  controller._writeAlgorithm = undefined;
  controller._closeAlgorithm = undefined;
  controller._abortAlgorithm = undefined;
  controller._strategySizeAlgorithm = undefined;
 }
 function WritableStreamDefaultControllerClose(controller) {
  EnqueueValueWithSize(controller, closeSentinel, 0);
  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
 }
 function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
  try {
   return controller._strategySizeAlgorithm(chunk);
  } catch (chunkSizeE) {
   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
   return 1;
  }
 }
 function WritableStreamDefaultControllerGetDesiredSize(controller) {
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
  try {
   EnqueueValueWithSize(controller, chunk, chunkSize);
  } catch (enqueueE) {
   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
   return;
  }
  var stream = controller._controlledWritableStream;
  if (!WritableStreamCloseQueuedOrInFlight(stream) && stream._state === 'writable') {
   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
   WritableStreamUpdateBackpressure(stream, backpressure);
  }
  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
 }
 function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
  var stream = controller._controlledWritableStream;
  if (!controller._started) {
   return;
  }
  if (stream._inFlightWriteRequest !== undefined) {
   return;
  }
  var state = stream._state;
  if (state === 'erroring') {
   WritableStreamFinishErroring(stream);
   return;
  }
  if (controller._queue.length === 0) {
   return;
  }
  var value = PeekQueueValue(controller);
  if (value === closeSentinel) {
   WritableStreamDefaultControllerProcessClose(controller);
  } else {
   WritableStreamDefaultControllerProcessWrite(controller, value);
  }
 }
 function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
  if (controller._controlledWritableStream._state === 'writable') {
   WritableStreamDefaultControllerError(controller, error);
  }
 }
 function WritableStreamDefaultControllerProcessClose(controller) {
  var stream = controller._controlledWritableStream;
  WritableStreamMarkCloseRequestInFlight(stream);
  DequeueValue(controller);
  var sinkClosePromise = controller._closeAlgorithm();
  WritableStreamDefaultControllerClearAlgorithms(controller);
  uponPromise(sinkClosePromise, function () {
   WritableStreamFinishInFlightClose(stream);
  }, function (reason) {
   WritableStreamFinishInFlightCloseWithError(stream, reason);
  });
 }
 function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
  var stream = controller._controlledWritableStream;
  WritableStreamMarkFirstWriteRequestInFlight(stream);
  var sinkWritePromise = controller._writeAlgorithm(chunk);
  uponPromise(sinkWritePromise, function () {
   WritableStreamFinishInFlightWrite(stream);
   var state = stream._state;
   DequeueValue(controller);
   if (!WritableStreamCloseQueuedOrInFlight(stream) && state === 'writable') {
    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
    WritableStreamUpdateBackpressure(stream, backpressure);
   }
   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  }, function (reason) {
   if (stream._state === 'writable') {
    WritableStreamDefaultControllerClearAlgorithms(controller);
   }
   WritableStreamFinishInFlightWriteWithError(stream, reason);
  });
 }
 function WritableStreamDefaultControllerGetBackpressure(controller) {
  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
  return desiredSize <= 0;
 }
 function WritableStreamDefaultControllerError(controller, error) {
  var stream = controller._controlledWritableStream;
  WritableStreamDefaultControllerClearAlgorithms(controller);
  WritableStreamStartErroring(stream, error);
 }
 function streamBrandCheckException(name) {
  return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
 }
 function defaultWriterBrandCheckException(name) {
  return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
 }
 function defaultWriterLockException(name) {
  return new TypeError('Cannot ' + name + ' a stream using a released writer');
 }
 function defaultWriterClosedPromiseInitialize(writer) {
  writer._closedPromise = newPromise(function (resolve, reject) {
   writer._closedPromise_resolve = resolve;
   writer._closedPromise_reject = reject;
   writer._closedPromiseState = 'pending';
  });
 }
 function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
  defaultWriterClosedPromiseInitialize(writer);
  defaultWriterClosedPromiseReject(writer, reason);
 }
 function defaultWriterClosedPromiseInitializeAsResolved(writer) {
  defaultWriterClosedPromiseInitialize(writer);
  defaultWriterClosedPromiseResolve(writer);
 }
 function defaultWriterClosedPromiseReject(writer, reason) {
  if (writer._closedPromise_reject === undefined) {
   return;
  }
  setPromiseIsHandledToTrue(writer._closedPromise);
  writer._closedPromise_reject(reason);
  writer._closedPromise_resolve = undefined;
  writer._closedPromise_reject = undefined;
  writer._closedPromiseState = 'rejected';
 }
 function defaultWriterClosedPromiseResetToRejected(writer, reason) {
  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
 }
 function defaultWriterClosedPromiseResolve(writer) {
  if (writer._closedPromise_resolve === undefined) {
   return;
  }
  writer._closedPromise_resolve(undefined);
  writer._closedPromise_resolve = undefined;
  writer._closedPromise_reject = undefined;
  writer._closedPromiseState = 'resolved';
 }
 function defaultWriterReadyPromiseInitialize(writer) {
  writer._readyPromise = newPromise(function (resolve, reject) {
   writer._readyPromise_resolve = resolve;
   writer._readyPromise_reject = reject;
  });
  writer._readyPromiseState = 'pending';
 }
 function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
  defaultWriterReadyPromiseInitialize(writer);
  defaultWriterReadyPromiseReject(writer, reason);
 }
 function defaultWriterReadyPromiseInitializeAsResolved(writer) {
  defaultWriterReadyPromiseInitialize(writer);
  defaultWriterReadyPromiseResolve(writer);
 }
 function defaultWriterReadyPromiseReject(writer, reason) {
  if (writer._readyPromise_reject === undefined) {
   return;
  }
  setPromiseIsHandledToTrue(writer._readyPromise);
  writer._readyPromise_reject(reason);
  writer._readyPromise_resolve = undefined;
  writer._readyPromise_reject = undefined;
  writer._readyPromiseState = 'rejected';
 }
 function defaultWriterReadyPromiseReset(writer) {
  defaultWriterReadyPromiseInitialize(writer);
 }
 function defaultWriterReadyPromiseResetToRejected(writer, reason) {
  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
 }
 function defaultWriterReadyPromiseResolve(writer) {
  if (writer._readyPromise_resolve === undefined) {
   return;
  }
  writer._readyPromise_resolve(undefined);
  writer._readyPromise_resolve = undefined;
  writer._readyPromise_reject = undefined;
  writer._readyPromiseState = 'fulfilled';
 }
 function isAbortSignal(value) {
  if (typeof value !== 'object' || value === null) {
   return false;
  }
  try {
   return typeof value.aborted === 'boolean';
  } catch (_a) {
   return false;
  }
 }
 var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
 function isDOMExceptionConstructor(ctor) {
  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
   return false;
  }
  try {
   new ctor();
   return true;
  } catch (_a) {
   return false;
  }
 }
 function createDOMExceptionPolyfill() {
  var ctor = function DOMException(message, name) {
   this.message = message || '';
   this.name = name || 'Error';
   if (Error.captureStackTrace) {
    Error.captureStackTrace(this, this.constructor);
   }
  };
  ctor.prototype = Object.create(Error.prototype);
  Object.defineProperty(ctor.prototype, 'constructor', {
   value: ctor,
   writable: true,
   configurable: true
  });
  return ctor;
 }
 var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
 function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
  var reader = AcquireReadableStreamDefaultReader(source);
  var writer = AcquireWritableStreamDefaultWriter(dest);
  source._disturbed = true;
  var shuttingDown = false;
  var currentWrite = promiseResolvedWith(undefined);
  return newPromise(function (resolve, reject) {
   var abortAlgorithm;
   if (signal !== undefined) {
    abortAlgorithm = function () {
     var error = new DOMException$1('Aborted', 'AbortError');
     var actions = [];
     if (!preventAbort) {
      actions.push(function () {
       if (dest._state === 'writable') {
        return WritableStreamAbort(dest, error);
       }
       return promiseResolvedWith(undefined);
      });
     }
     if (!preventCancel) {
      actions.push(function () {
       if (source._state === 'readable') {
        return ReadableStreamCancel(source, error);
       }
       return promiseResolvedWith(undefined);
      });
     }
     shutdownWithAction(function () {
      return Promise.all(actions.map(function (action) {
       return action();
      }));
     }, true, error);
    };
    if (signal.aborted) {
     abortAlgorithm();
     return;
    }
    signal.addEventListener('abort', abortAlgorithm);
   }
   function pipeLoop() {
    return newPromise(function (resolveLoop, rejectLoop) {
     function next(done) {
      if (done) {
       resolveLoop();
      } else {
       PerformPromiseThen(pipeStep(), next, rejectLoop);
      }
     }
     next(false);
    });
   }
   function pipeStep() {
    if (shuttingDown) {
     return promiseResolvedWith(true);
    }
    return PerformPromiseThen(writer._readyPromise, function () {
     return newPromise(function (resolveRead, rejectRead) {
      ReadableStreamDefaultReaderRead(reader, {
       _chunkSteps: function (chunk) {
        currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, chunk), undefined, noop);
        resolveRead(false);
       },
       _closeSteps: function () {
        return resolveRead(true);
       },
       _errorSteps: rejectRead
      });
     });
    });
   }
   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
    if (!preventAbort) {
     shutdownWithAction(function () {
      return WritableStreamAbort(dest, storedError);
     }, true, storedError);
    } else {
     shutdown(true, storedError);
    }
   });
   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
    if (!preventCancel) {
     shutdownWithAction(function () {
      return ReadableStreamCancel(source, storedError);
     }, true, storedError);
    } else {
     shutdown(true, storedError);
    }
   });
   isOrBecomesClosed(source, reader._closedPromise, function () {
    if (!preventClose) {
     shutdownWithAction(function () {
      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
     });
    } else {
     shutdown();
    }
   });
   if (WritableStreamCloseQueuedOrInFlight(dest) || dest._state === 'closed') {
    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
    if (!preventCancel) {
     shutdownWithAction(function () {
      return ReadableStreamCancel(source, destClosed_1);
     }, true, destClosed_1);
    } else {
     shutdown(true, destClosed_1);
    }
   }
   setPromiseIsHandledToTrue(pipeLoop());
   function waitForWritesToFinish() {
    var oldCurrentWrite = currentWrite;
    return PerformPromiseThen(currentWrite, function () {
     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
    });
   }
   function isOrBecomesErrored(stream, promise, action) {
    if (stream._state === 'errored') {
     action(stream._storedError);
    } else {
     uponRejection(promise, action);
    }
   }
   function isOrBecomesClosed(stream, promise, action) {
    if (stream._state === 'closed') {
     action();
    } else {
     uponFulfillment(promise, action);
    }
   }
   function shutdownWithAction(action, originalIsError, originalError) {
    if (shuttingDown) {
     return;
    }
    shuttingDown = true;
    if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {
     uponFulfillment(waitForWritesToFinish(), doTheRest);
    } else {
     doTheRest();
    }
    function doTheRest() {
     uponPromise(action(), function () {
      return finalize(originalIsError, originalError);
     }, function (newError) {
      return finalize(true, newError);
     });
    }
   }
   function shutdown(isError, error) {
    if (shuttingDown) {
     return;
    }
    shuttingDown = true;
    if (dest._state === 'writable' && !WritableStreamCloseQueuedOrInFlight(dest)) {
     uponFulfillment(waitForWritesToFinish(), function () {
      return finalize(isError, error);
     });
    } else {
     finalize(isError, error);
    }
   }
   function finalize(isError, error) {
    WritableStreamDefaultWriterRelease(writer);
    ReadableStreamReaderGenericRelease(reader);
    if (signal !== undefined) {
     signal.removeEventListener('abort', abortAlgorithm);
    }
    if (isError) {
     reject(error);
    } else {
     resolve(undefined);
    }
   }
  });
 }
 var ReadableStreamDefaultController = function () {
  function ReadableStreamDefaultController() {
   throw new TypeError('Illegal constructor');
  }
  Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
   get: function () {
    if (!IsReadableStreamDefaultController(this)) {
     throw defaultControllerBrandCheckException('desiredSize');
    }
    return ReadableStreamDefaultControllerGetDesiredSize(this);
   },
   enumerable: false,
   configurable: true
  });
  ReadableStreamDefaultController.prototype.close = function () {
   if (!IsReadableStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException('close');
   }
   if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
    throw new TypeError('The stream is not in a state that permits close');
   }
   ReadableStreamDefaultControllerClose(this);
  };
  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
   if (chunk === void 0) {
    chunk = undefined;
   }
   if (!IsReadableStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException('enqueue');
   }
   if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(this)) {
    throw new TypeError('The stream is not in a state that permits enqueue');
   }
   return ReadableStreamDefaultControllerEnqueue(this, chunk);
  };
  ReadableStreamDefaultController.prototype.error = function (e) {
   if (e === void 0) {
    e = undefined;
   }
   if (!IsReadableStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException('error');
   }
   ReadableStreamDefaultControllerError(this, e);
  };
  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
   ResetQueue(this);
   var result = this._cancelAlgorithm(reason);
   ReadableStreamDefaultControllerClearAlgorithms(this);
   return result;
  };
  ReadableStreamDefaultController.prototype[PullSteps] = function (readRequest) {
   var stream = this._controlledReadableStream;
   if (this._queue.length > 0) {
    var chunk = DequeueValue(this);
    if (this._closeRequested && this._queue.length === 0) {
     ReadableStreamDefaultControllerClearAlgorithms(this);
     ReadableStreamClose(stream);
    } else {
     ReadableStreamDefaultControllerCallPullIfNeeded(this);
    }
    readRequest._chunkSteps(chunk);
   } else {
    ReadableStreamAddReadRequest(stream, readRequest);
    ReadableStreamDefaultControllerCallPullIfNeeded(this);
   }
  };
  return ReadableStreamDefaultController;
 }();
 Object.defineProperties(ReadableStreamDefaultController.prototype, {
  close: { enumerable: true },
  enqueue: { enumerable: true },
  error: { enumerable: true },
  desiredSize: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableStreamDefaultController',
   configurable: true
  });
 }
 function IsReadableStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
  if (!shouldPull) {
   return;
  }
  if (controller._pulling) {
   controller._pullAgain = true;
   return;
  }
  controller._pulling = true;
  var pullPromise = controller._pullAlgorithm();
  uponPromise(pullPromise, function () {
   controller._pulling = false;
   if (controller._pullAgain) {
    controller._pullAgain = false;
    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
   }
  }, function (e) {
   ReadableStreamDefaultControllerError(controller, e);
  });
 }
 function ReadableStreamDefaultControllerShouldCallPull(controller) {
  var stream = controller._controlledReadableStream;
  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
   return false;
  }
  if (!controller._started) {
   return false;
  }
  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
   return true;
  }
  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
  if (desiredSize > 0) {
   return true;
  }
  return false;
 }
 function ReadableStreamDefaultControllerClearAlgorithms(controller) {
  controller._pullAlgorithm = undefined;
  controller._cancelAlgorithm = undefined;
  controller._strategySizeAlgorithm = undefined;
 }
 function ReadableStreamDefaultControllerClose(controller) {
  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
   return;
  }
  var stream = controller._controlledReadableStream;
  controller._closeRequested = true;
  if (controller._queue.length === 0) {
   ReadableStreamDefaultControllerClearAlgorithms(controller);
   ReadableStreamClose(stream);
  }
 }
 function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(controller)) {
   return;
  }
  var stream = controller._controlledReadableStream;
  if (IsReadableStreamLocked(stream) && ReadableStreamGetNumReadRequests(stream) > 0) {
   ReadableStreamFulfillReadRequest(stream, chunk, false);
  } else {
   var chunkSize = void 0;
   try {
    chunkSize = controller._strategySizeAlgorithm(chunk);
   } catch (chunkSizeE) {
    ReadableStreamDefaultControllerError(controller, chunkSizeE);
    throw chunkSizeE;
   }
   try {
    EnqueueValueWithSize(controller, chunk, chunkSize);
   } catch (enqueueE) {
    ReadableStreamDefaultControllerError(controller, enqueueE);
    throw enqueueE;
   }
  }
  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
 }
 function ReadableStreamDefaultControllerError(controller, e) {
  var stream = controller._controlledReadableStream;
  if (stream._state !== 'readable') {
   return;
  }
  ResetQueue(controller);
  ReadableStreamDefaultControllerClearAlgorithms(controller);
  ReadableStreamError(stream, e);
 }
 function ReadableStreamDefaultControllerGetDesiredSize(controller) {
  var state = controller._controlledReadableStream._state;
  if (state === 'errored') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function ReadableStreamDefaultControllerHasBackpressure(controller) {
  if (ReadableStreamDefaultControllerShouldCallPull(controller)) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
  var state = controller._controlledReadableStream._state;
  if (!controller._closeRequested && state === 'readable') {
   return true;
  }
  return false;
 }
 function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  controller._controlledReadableStream = stream;
  controller._queue = undefined;
  controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._started = false;
  controller._closeRequested = false;
  controller._pullAgain = false;
  controller._pulling = false;
  controller._strategySizeAlgorithm = sizeAlgorithm;
  controller._strategyHWM = highWaterMark;
  controller._pullAlgorithm = pullAlgorithm;
  controller._cancelAlgorithm = cancelAlgorithm;
  stream._readableStreamController = controller;
  var startResult = startAlgorithm();
  uponPromise(promiseResolvedWith(startResult), function () {
   controller._started = true;
   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  }, function (r) {
   ReadableStreamDefaultControllerError(controller, r);
  });
 }
 function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
  var controller = Object.create(ReadableStreamDefaultController.prototype);
  var startAlgorithm = function () {
   return undefined;
  };
  var pullAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  var cancelAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  if (underlyingSource.start !== undefined) {
   startAlgorithm = function () {
    return underlyingSource.start(controller);
   };
  }
  if (underlyingSource.pull !== undefined) {
   pullAlgorithm = function () {
    return underlyingSource.pull(controller);
   };
  }
  if (underlyingSource.cancel !== undefined) {
   cancelAlgorithm = function (reason) {
    return underlyingSource.cancel(reason);
   };
  }
  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
 }
 function defaultControllerBrandCheckException(name) {
  return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
 }
 function ReadableStreamTee(stream, cloneForBranch2) {
  var reader = AcquireReadableStreamDefaultReader(stream);
  var reading = false;
  var canceled1 = false;
  var canceled2 = false;
  var reason1;
  var reason2;
  var branch1;
  var branch2;
  var resolveCancelPromise;
  var cancelPromise = newPromise(function (resolve) {
   resolveCancelPromise = resolve;
  });
  function pullAlgorithm() {
   if (reading) {
    return promiseResolvedWith(undefined);
   }
   reading = true;
   var readRequest = {
    _chunkSteps: function (value) {
     queueMicrotask(function () {
      reading = false;
      var value1 = value;
      var value2 = value;
      if (!canceled1) {
       ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
      }
      if (!canceled2) {
       ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
      }
      resolveCancelPromise(undefined);
     });
    },
    _closeSteps: function () {
     reading = false;
     if (!canceled1) {
      ReadableStreamDefaultControllerClose(branch1._readableStreamController);
     }
     if (!canceled2) {
      ReadableStreamDefaultControllerClose(branch2._readableStreamController);
     }
    },
    _errorSteps: function () {
     reading = false;
    }
   };
   ReadableStreamDefaultReaderRead(reader, readRequest);
   return promiseResolvedWith(undefined);
  }
  function cancel1Algorithm(reason) {
   canceled1 = true;
   reason1 = reason;
   if (canceled2) {
    var compositeReason = CreateArrayFromList([
     reason1,
     reason2
    ]);
    var cancelResult = ReadableStreamCancel(stream, compositeReason);
    resolveCancelPromise(cancelResult);
   }
   return cancelPromise;
  }
  function cancel2Algorithm(reason) {
   canceled2 = true;
   reason2 = reason;
   if (canceled1) {
    var compositeReason = CreateArrayFromList([
     reason1,
     reason2
    ]);
    var cancelResult = ReadableStreamCancel(stream, compositeReason);
    resolveCancelPromise(cancelResult);
   }
   return cancelPromise;
  }
  function startAlgorithm() {
  }
  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
  uponRejection(reader._closedPromise, function (r) {
   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
   resolveCancelPromise(undefined);
  });
  return [
   branch1,
   branch2
  ];
 }
 function convertUnderlyingDefaultOrByteSource(source, context) {
  assertDictionary(source, context);
  var original = source;
  var autoAllocateChunkSize = original === null || original === void 0 ? void 0 : original.autoAllocateChunkSize;
  var cancel = original === null || original === void 0 ? void 0 : original.cancel;
  var pull = original === null || original === void 0 ? void 0 : original.pull;
  var start = original === null || original === void 0 ? void 0 : original.start;
  var type = original === null || original === void 0 ? void 0 : original.type;
  return {
   autoAllocateChunkSize: autoAllocateChunkSize === undefined ? undefined : convertUnsignedLongLongWithEnforceRange(autoAllocateChunkSize, context + " has member 'autoAllocateChunkSize' that"),
   cancel: cancel === undefined ? undefined : convertUnderlyingSourceCancelCallback(cancel, original, context + " has member 'cancel' that"),
   pull: pull === undefined ? undefined : convertUnderlyingSourcePullCallback(pull, original, context + " has member 'pull' that"),
   start: start === undefined ? undefined : convertUnderlyingSourceStartCallback(start, original, context + " has member 'start' that"),
   type: type === undefined ? undefined : convertReadableStreamType(type, context + " has member 'type' that")
  };
 }
 function convertUnderlyingSourceCancelCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (reason) {
   return promiseCall(fn, original, [reason]);
  };
 }
 function convertUnderlyingSourcePullCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (controller) {
   return promiseCall(fn, original, [controller]);
  };
 }
 function convertUnderlyingSourceStartCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (controller) {
   return reflectCall(fn, original, [controller]);
  };
 }
 function convertReadableStreamType(type, context) {
  type = "" + type;
  if (type !== 'bytes') {
   throw new TypeError(context + " '" + type + "' is not a valid enumeration value for ReadableStreamType");
  }
  return type;
 }
 function convertReaderOptions(options, context) {
  assertDictionary(options, context);
  var mode = options === null || options === void 0 ? void 0 : options.mode;
  return { mode: mode === undefined ? undefined : convertReadableStreamReaderMode(mode, context + " has member 'mode' that") };
 }
 function convertReadableStreamReaderMode(mode, context) {
  mode = "" + mode;
  if (mode !== 'byob') {
   throw new TypeError(context + " '" + mode + "' is not a valid enumeration value for ReadableStreamReaderMode");
  }
  return mode;
 }
 function convertIteratorOptions(options, context) {
  assertDictionary(options, context);
  var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;
  return { preventCancel: Boolean(preventCancel) };
 }
 function convertPipeOptions(options, context) {
  assertDictionary(options, context);
  var preventAbort = options === null || options === void 0 ? void 0 : options.preventAbort;
  var preventCancel = options === null || options === void 0 ? void 0 : options.preventCancel;
  var preventClose = options === null || options === void 0 ? void 0 : options.preventClose;
  var signal = options === null || options === void 0 ? void 0 : options.signal;
  if (signal !== undefined) {
   assertAbortSignal(signal, context + " has member 'signal' that");
  }
  return {
   preventAbort: Boolean(preventAbort),
   preventCancel: Boolean(preventCancel),
   preventClose: Boolean(preventClose),
   signal: signal
  };
 }
 function assertAbortSignal(signal, context) {
  if (!isAbortSignal(signal)) {
   throw new TypeError(context + " is not an AbortSignal.");
  }
 }
 function convertReadableWritablePair(pair, context) {
  assertDictionary(pair, context);
  var readable = pair === null || pair === void 0 ? void 0 : pair.readable;
  assertRequiredField(readable, 'readable', 'ReadableWritablePair');
  assertReadableStream(readable, context + " has member 'readable' that");
  var writable = pair === null || pair === void 0 ? void 0 : pair.writable;
  assertRequiredField(writable, 'writable', 'ReadableWritablePair');
  assertWritableStream(writable, context + " has member 'writable' that");
  return {
   readable: readable,
   writable: writable
  };
 }
 var ReadableStream = function () {
  function ReadableStream(rawUnderlyingSource, rawStrategy) {
   if (rawUnderlyingSource === void 0) {
    rawUnderlyingSource = {};
   }
   if (rawStrategy === void 0) {
    rawStrategy = {};
   }
   if (rawUnderlyingSource === undefined) {
    rawUnderlyingSource = null;
   } else {
    assertObject(rawUnderlyingSource, 'First parameter');
   }
   var strategy = convertQueuingStrategy(rawStrategy, 'Second parameter');
   var underlyingSource = convertUnderlyingDefaultOrByteSource(rawUnderlyingSource, 'First parameter');
   InitializeReadableStream(this);
   if (underlyingSource.type === 'bytes') {
    if (strategy.size !== undefined) {
     throw new RangeError('The strategy for a byte stream cannot have a size function');
    }
    var highWaterMark = ExtractHighWaterMark(strategy, 0);
    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
   } else {
    var sizeAlgorithm = ExtractSizeAlgorithm(strategy);
    var highWaterMark = ExtractHighWaterMark(strategy, 1);
    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
   }
  }
  Object.defineProperty(ReadableStream.prototype, "locked", {
   get: function () {
    if (!IsReadableStream(this)) {
     throw streamBrandCheckException$1('locked');
    }
    return IsReadableStreamLocked(this);
   },
   enumerable: false,
   configurable: true
  });
  ReadableStream.prototype.cancel = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsReadableStream(this)) {
    return promiseRejectedWith(streamBrandCheckException$1('cancel'));
   }
   if (IsReadableStreamLocked(this)) {
    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
   }
   return ReadableStreamCancel(this, reason);
  };
  ReadableStream.prototype.getReader = function (rawOptions) {
   if (rawOptions === void 0) {
    rawOptions = undefined;
   }
   if (!IsReadableStream(this)) {
    throw streamBrandCheckException$1('getReader');
   }
   var options = convertReaderOptions(rawOptions, 'First parameter');
   if (options.mode === undefined) {
    return AcquireReadableStreamDefaultReader(this);
   }
   return AcquireReadableStreamBYOBReader(this);
  };
  ReadableStream.prototype.pipeThrough = function (rawTransform, rawOptions) {
   if (rawOptions === void 0) {
    rawOptions = {};
   }
   if (!IsReadableStream(this)) {
    throw streamBrandCheckException$1('pipeThrough');
   }
   assertRequiredArgument(rawTransform, 1, 'pipeThrough');
   var transform = convertReadableWritablePair(rawTransform, 'First parameter');
   var options = convertPipeOptions(rawOptions, 'Second parameter');
   if (IsReadableStreamLocked(this)) {
    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
   }
   if (IsWritableStreamLocked(transform.writable)) {
    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
   }
   var promise = ReadableStreamPipeTo(this, transform.writable, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
   setPromiseIsHandledToTrue(promise);
   return transform.readable;
  };
  ReadableStream.prototype.pipeTo = function (destination, rawOptions) {
   if (rawOptions === void 0) {
    rawOptions = {};
   }
   if (!IsReadableStream(this)) {
    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
   }
   if (destination === undefined) {
    return promiseRejectedWith("Parameter 1 is required in 'pipeTo'.");
   }
   if (!IsWritableStream(destination)) {
    return promiseRejectedWith(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));
   }
   var options;
   try {
    options = convertPipeOptions(rawOptions, 'Second parameter');
   } catch (e) {
    return promiseRejectedWith(e);
   }
   if (IsReadableStreamLocked(this)) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
   }
   if (IsWritableStreamLocked(destination)) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
   }
   return ReadableStreamPipeTo(this, destination, options.preventClose, options.preventAbort, options.preventCancel, options.signal);
  };
  ReadableStream.prototype.tee = function () {
   if (!IsReadableStream(this)) {
    throw streamBrandCheckException$1('tee');
   }
   var branches = ReadableStreamTee(this);
   return CreateArrayFromList(branches);
  };
  ReadableStream.prototype.values = function (rawOptions) {
   if (rawOptions === void 0) {
    rawOptions = undefined;
   }
   if (!IsReadableStream(this)) {
    throw streamBrandCheckException$1('values');
   }
   var options = convertIteratorOptions(rawOptions, 'First parameter');
   return AcquireReadableStreamAsyncIterator(this, options.preventCancel);
  };
  return ReadableStream;
 }();
 Object.defineProperties(ReadableStream.prototype, {
  cancel: { enumerable: true },
  getReader: { enumerable: true },
  pipeThrough: { enumerable: true },
  pipeTo: { enumerable: true },
  tee: { enumerable: true },
  values: { enumerable: true },
  locked: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.toStringTag, {
   value: 'ReadableStream',
   configurable: true
  });
 }
 if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
   value: ReadableStream.prototype.values,
   writable: true,
   configurable: true
  });
 }
 function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  if (highWaterMark === void 0) {
   highWaterMark = 1;
  }
  if (sizeAlgorithm === void 0) {
   sizeAlgorithm = function () {
    return 1;
   };
  }
  var stream = Object.create(ReadableStream.prototype);
  InitializeReadableStream(stream);
  var controller = Object.create(ReadableStreamDefaultController.prototype);
  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
  return stream;
 }
 function InitializeReadableStream(stream) {
  stream._state = 'readable';
  stream._reader = undefined;
  stream._storedError = undefined;
  stream._disturbed = false;
 }
 function IsReadableStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
   return false;
  }
  return true;
 }
 function IsReadableStreamLocked(stream) {
  if (stream._reader === undefined) {
   return false;
  }
  return true;
 }
 function ReadableStreamCancel(stream, reason) {
  stream._disturbed = true;
  if (stream._state === 'closed') {
   return promiseResolvedWith(undefined);
  }
  if (stream._state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  ReadableStreamClose(stream);
  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
  return transformPromiseWith(sourceCancelPromise, noop);
 }
 function ReadableStreamClose(stream) {
  stream._state = 'closed';
  var reader = stream._reader;
  if (reader === undefined) {
   return;
  }
  if (IsReadableStreamDefaultReader(reader)) {
   reader._readRequests.forEach(function (readRequest) {
    readRequest._closeSteps();
   });
   reader._readRequests = new SimpleQueue();
  }
  defaultReaderClosedPromiseResolve(reader);
 }
 function ReadableStreamError(stream, e) {
  stream._state = 'errored';
  stream._storedError = e;
  var reader = stream._reader;
  if (reader === undefined) {
   return;
  }
  if (IsReadableStreamDefaultReader(reader)) {
   reader._readRequests.forEach(function (readRequest) {
    readRequest._errorSteps(e);
   });
   reader._readRequests = new SimpleQueue();
  } else {
   reader._readIntoRequests.forEach(function (readIntoRequest) {
    readIntoRequest._errorSteps(e);
   });
   reader._readIntoRequests = new SimpleQueue();
  }
  defaultReaderClosedPromiseReject(reader, e);
 }
 function streamBrandCheckException$1(name) {
  return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
 }
 function convertQueuingStrategyInit(init, context) {
  assertDictionary(init, context);
  var highWaterMark = init === null || init === void 0 ? void 0 : init.highWaterMark;
  assertRequiredField(highWaterMark, 'highWaterMark', 'QueuingStrategyInit');
  return { highWaterMark: convertUnrestrictedDouble(highWaterMark) };
 }
 var byteLengthSizeFunction = function size(chunk) {
  return chunk.byteLength;
 };
 var ByteLengthQueuingStrategy = function () {
  function ByteLengthQueuingStrategy(options) {
   assertRequiredArgument(options, 1, 'ByteLengthQueuingStrategy');
   options = convertQueuingStrategyInit(options, 'First parameter');
   this._byteLengthQueuingStrategyHighWaterMark = options.highWaterMark;
  }
  Object.defineProperty(ByteLengthQueuingStrategy.prototype, "highWaterMark", {
   get: function () {
    if (!IsByteLengthQueuingStrategy(this)) {
     throw byteLengthBrandCheckException('highWaterMark');
    }
    return this._byteLengthQueuingStrategyHighWaterMark;
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(ByteLengthQueuingStrategy.prototype, "size", {
   get: function () {
    if (!IsByteLengthQueuingStrategy(this)) {
     throw byteLengthBrandCheckException('size');
    }
    return byteLengthSizeFunction;
   },
   enumerable: false,
   configurable: true
  });
  return ByteLengthQueuingStrategy;
 }();
 Object.defineProperties(ByteLengthQueuingStrategy.prototype, {
  highWaterMark: { enumerable: true },
  size: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(ByteLengthQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {
   value: 'ByteLengthQueuingStrategy',
   configurable: true
  });
 }
 function byteLengthBrandCheckException(name) {
  return new TypeError("ByteLengthQueuingStrategy.prototype." + name + " can only be used on a ByteLengthQueuingStrategy");
 }
 function IsByteLengthQueuingStrategy(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_byteLengthQueuingStrategyHighWaterMark')) {
   return false;
  }
  return true;
 }
 var countSizeFunction = function size() {
  return 1;
 };
 var CountQueuingStrategy = function () {
  function CountQueuingStrategy(options) {
   assertRequiredArgument(options, 1, 'CountQueuingStrategy');
   options = convertQueuingStrategyInit(options, 'First parameter');
   this._countQueuingStrategyHighWaterMark = options.highWaterMark;
  }
  Object.defineProperty(CountQueuingStrategy.prototype, "highWaterMark", {
   get: function () {
    if (!IsCountQueuingStrategy(this)) {
     throw countBrandCheckException('highWaterMark');
    }
    return this._countQueuingStrategyHighWaterMark;
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(CountQueuingStrategy.prototype, "size", {
   get: function () {
    if (!IsCountQueuingStrategy(this)) {
     throw countBrandCheckException('size');
    }
    return countSizeFunction;
   },
   enumerable: false,
   configurable: true
  });
  return CountQueuingStrategy;
 }();
 Object.defineProperties(CountQueuingStrategy.prototype, {
  highWaterMark: { enumerable: true },
  size: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(CountQueuingStrategy.prototype, SymbolPolyfill.toStringTag, {
   value: 'CountQueuingStrategy',
   configurable: true
  });
 }
 function countBrandCheckException(name) {
  return new TypeError("CountQueuingStrategy.prototype." + name + " can only be used on a CountQueuingStrategy");
 }
 function IsCountQueuingStrategy(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_countQueuingStrategyHighWaterMark')) {
   return false;
  }
  return true;
 }
 function convertTransformer(original, context) {
  assertDictionary(original, context);
  var flush = original === null || original === void 0 ? void 0 : original.flush;
  var readableType = original === null || original === void 0 ? void 0 : original.readableType;
  var start = original === null || original === void 0 ? void 0 : original.start;
  var transform = original === null || original === void 0 ? void 0 : original.transform;
  var writableType = original === null || original === void 0 ? void 0 : original.writableType;
  return {
   flush: flush === undefined ? undefined : convertTransformerFlushCallback(flush, original, context + " has member 'flush' that"),
   readableType: readableType,
   start: start === undefined ? undefined : convertTransformerStartCallback(start, original, context + " has member 'start' that"),
   transform: transform === undefined ? undefined : convertTransformerTransformCallback(transform, original, context + " has member 'transform' that"),
   writableType: writableType
  };
 }
 function convertTransformerFlushCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (controller) {
   return promiseCall(fn, original, [controller]);
  };
 }
 function convertTransformerStartCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (controller) {
   return reflectCall(fn, original, [controller]);
  };
 }
 function convertTransformerTransformCallback(fn, original, context) {
  assertFunction(fn, context);
  return function (chunk, controller) {
   return promiseCall(fn, original, [
    chunk,
    controller
   ]);
  };
 }
 var TransformStream = function () {
  function TransformStream(rawTransformer, rawWritableStrategy, rawReadableStrategy) {
   if (rawTransformer === void 0) {
    rawTransformer = {};
   }
   if (rawWritableStrategy === void 0) {
    rawWritableStrategy = {};
   }
   if (rawReadableStrategy === void 0) {
    rawReadableStrategy = {};
   }
   if (rawTransformer === undefined) {
    rawTransformer = null;
   }
   var writableStrategy = convertQueuingStrategy(rawWritableStrategy, 'Second parameter');
   var readableStrategy = convertQueuingStrategy(rawReadableStrategy, 'Third parameter');
   var transformer = convertTransformer(rawTransformer, 'First parameter');
   if (transformer.readableType !== undefined) {
    throw new RangeError('Invalid readableType specified');
   }
   if (transformer.writableType !== undefined) {
    throw new RangeError('Invalid writableType specified');
   }
   var readableHighWaterMark = ExtractHighWaterMark(readableStrategy, 0);
   var readableSizeAlgorithm = ExtractSizeAlgorithm(readableStrategy);
   var writableHighWaterMark = ExtractHighWaterMark(writableStrategy, 1);
   var writableSizeAlgorithm = ExtractSizeAlgorithm(writableStrategy);
   var startPromise_resolve;
   var startPromise = newPromise(function (resolve) {
    startPromise_resolve = resolve;
   });
   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
   if (transformer.start !== undefined) {
    startPromise_resolve(transformer.start(this._transformStreamController));
   } else {
    startPromise_resolve(undefined);
   }
  }
  Object.defineProperty(TransformStream.prototype, "readable", {
   get: function () {
    if (!IsTransformStream(this)) {
     throw streamBrandCheckException$2('readable');
    }
    return this._readable;
   },
   enumerable: false,
   configurable: true
  });
  Object.defineProperty(TransformStream.prototype, "writable", {
   get: function () {
    if (!IsTransformStream(this)) {
     throw streamBrandCheckException$2('writable');
    }
    return this._writable;
   },
   enumerable: false,
   configurable: true
  });
  return TransformStream;
 }();
 Object.defineProperties(TransformStream.prototype, {
  readable: { enumerable: true },
  writable: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(TransformStream.prototype, SymbolPolyfill.toStringTag, {
   value: 'TransformStream',
   configurable: true
  });
 }
 function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
  function startAlgorithm() {
   return startPromise;
  }
  function writeAlgorithm(chunk) {
   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
  }
  function abortAlgorithm(reason) {
   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
  }
  function closeAlgorithm() {
   return TransformStreamDefaultSinkCloseAlgorithm(stream);
  }
  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
  function pullAlgorithm() {
   return TransformStreamDefaultSourcePullAlgorithm(stream);
  }
  function cancelAlgorithm(reason) {
   TransformStreamErrorWritableAndUnblockWrite(stream, reason);
   return promiseResolvedWith(undefined);
  }
  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
  stream._backpressure = undefined;
  stream._backpressureChangePromise = undefined;
  stream._backpressureChangePromise_resolve = undefined;
  TransformStreamSetBackpressure(stream, true);
  stream._transformStreamController = undefined;
 }
 function IsTransformStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
   return false;
  }
  return true;
 }
 function TransformStreamError(stream, e) {
  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
  TransformStreamErrorWritableAndUnblockWrite(stream, e);
 }
 function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
  if (stream._backpressure) {
   TransformStreamSetBackpressure(stream, false);
  }
 }
 function TransformStreamSetBackpressure(stream, backpressure) {
  if (stream._backpressureChangePromise !== undefined) {
   stream._backpressureChangePromise_resolve();
  }
  stream._backpressureChangePromise = newPromise(function (resolve) {
   stream._backpressureChangePromise_resolve = resolve;
  });
  stream._backpressure = backpressure;
 }
 var TransformStreamDefaultController = function () {
  function TransformStreamDefaultController() {
   throw new TypeError('Illegal constructor');
  }
  Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
   get: function () {
    if (!IsTransformStreamDefaultController(this)) {
     throw defaultControllerBrandCheckException$1('desiredSize');
    }
    var readableController = this._controlledTransformStream._readable._readableStreamController;
    return ReadableStreamDefaultControllerGetDesiredSize(readableController);
   },
   enumerable: false,
   configurable: true
  });
  TransformStreamDefaultController.prototype.enqueue = function (chunk) {
   if (chunk === void 0) {
    chunk = undefined;
   }
   if (!IsTransformStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException$1('enqueue');
   }
   TransformStreamDefaultControllerEnqueue(this, chunk);
  };
  TransformStreamDefaultController.prototype.error = function (reason) {
   if (reason === void 0) {
    reason = undefined;
   }
   if (!IsTransformStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException$1('error');
   }
   TransformStreamDefaultControllerError(this, reason);
  };
  TransformStreamDefaultController.prototype.terminate = function () {
   if (!IsTransformStreamDefaultController(this)) {
    throw defaultControllerBrandCheckException$1('terminate');
   }
   TransformStreamDefaultControllerTerminate(this);
  };
  return TransformStreamDefaultController;
 }();
 Object.defineProperties(TransformStreamDefaultController.prototype, {
  enqueue: { enumerable: true },
  error: { enumerable: true },
  terminate: { enumerable: true },
  desiredSize: { enumerable: true }
 });
 if (typeof SymbolPolyfill.toStringTag === 'symbol') {
  Object.defineProperty(TransformStreamDefaultController.prototype, SymbolPolyfill.toStringTag, {
   value: 'TransformStreamDefaultController',
   configurable: true
  });
 }
 function IsTransformStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
   return false;
  }
  return true;
 }
 function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
  controller._controlledTransformStream = stream;
  stream._transformStreamController = controller;
  controller._transformAlgorithm = transformAlgorithm;
  controller._flushAlgorithm = flushAlgorithm;
 }
 function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
  var controller = Object.create(TransformStreamDefaultController.prototype);
  var transformAlgorithm = function (chunk) {
   try {
    TransformStreamDefaultControllerEnqueue(controller, chunk);
    return promiseResolvedWith(undefined);
   } catch (transformResultE) {
    return promiseRejectedWith(transformResultE);
   }
  };
  var flushAlgorithm = function () {
   return promiseResolvedWith(undefined);
  };
  if (transformer.transform !== undefined) {
   transformAlgorithm = function (chunk) {
    return transformer.transform(chunk, controller);
   };
  }
  if (transformer.flush !== undefined) {
   flushAlgorithm = function () {
    return transformer.flush(controller);
   };
  }
  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
 }
 function TransformStreamDefaultControllerClearAlgorithms(controller) {
  controller._transformAlgorithm = undefined;
  controller._flushAlgorithm = undefined;
 }
 function TransformStreamDefaultControllerEnqueue(controller, chunk) {
  var stream = controller._controlledTransformStream;
  var readableController = stream._readable._readableStreamController;
  if (!ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController)) {
   throw new TypeError('Readable side is not in a state that permits enqueue');
  }
  try {
   ReadableStreamDefaultControllerEnqueue(readableController, chunk);
  } catch (e) {
   TransformStreamErrorWritableAndUnblockWrite(stream, e);
   throw stream._readable._storedError;
  }
  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
  if (backpressure !== stream._backpressure) {
   TransformStreamSetBackpressure(stream, true);
  }
 }
 function TransformStreamDefaultControllerError(controller, e) {
  TransformStreamError(controller._controlledTransformStream, e);
 }
 function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
  var transformPromise = controller._transformAlgorithm(chunk);
  return transformPromiseWith(transformPromise, undefined, function (r) {
   TransformStreamError(controller._controlledTransformStream, r);
   throw r;
  });
 }
 function TransformStreamDefaultControllerTerminate(controller) {
  var stream = controller._controlledTransformStream;
  var readableController = stream._readable._readableStreamController;
  ReadableStreamDefaultControllerClose(readableController);
  var error = new TypeError('TransformStream terminated');
  TransformStreamErrorWritableAndUnblockWrite(stream, error);
 }
 function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
  var controller = stream._transformStreamController;
  if (stream._backpressure) {
   var backpressureChangePromise = stream._backpressureChangePromise;
   return transformPromiseWith(backpressureChangePromise, function () {
    var writable = stream._writable;
    var state = writable._state;
    if (state === 'erroring') {
     throw writable._storedError;
    }
    return TransformStreamDefaultControllerPerformTransform(controller, chunk);
   });
  }
  return TransformStreamDefaultControllerPerformTransform(controller, chunk);
 }
 function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
  TransformStreamError(stream, reason);
  return promiseResolvedWith(undefined);
 }
 function TransformStreamDefaultSinkCloseAlgorithm(stream) {
  var readable = stream._readable;
  var controller = stream._transformStreamController;
  var flushPromise = controller._flushAlgorithm();
  TransformStreamDefaultControllerClearAlgorithms(controller);
  return transformPromiseWith(flushPromise, function () {
   if (readable._state === 'errored') {
    throw readable._storedError;
   }
   ReadableStreamDefaultControllerClose(readable._readableStreamController);
  }, function (r) {
   TransformStreamError(stream, r);
   throw readable._storedError;
  });
 }
 function TransformStreamDefaultSourcePullAlgorithm(stream) {
  TransformStreamSetBackpressure(stream, false);
  return stream._backpressureChangePromise;
 }
 function defaultControllerBrandCheckException$1(name) {
  return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
 }
 function streamBrandCheckException$2(name) {
  return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
 }
 exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
 exports.CountQueuingStrategy = CountQueuingStrategy;
 exports.ReadableByteStreamController = ReadableByteStreamController;
 exports.ReadableStream = ReadableStream;
 exports.ReadableStreamBYOBReader = ReadableStreamBYOBReader;
 exports.ReadableStreamBYOBRequest = ReadableStreamBYOBRequest;
 exports.ReadableStreamDefaultController = ReadableStreamDefaultController;
 exports.ReadableStreamDefaultReader = ReadableStreamDefaultReader;
 exports.TransformStream = TransformStream;
 exports.TransformStreamDefaultController = TransformStreamDefaultController;
 exports.WritableStream = WritableStream;
 exports.WritableStreamDefaultController = WritableStreamDefaultController;
 exports.WritableStreamDefaultWriter = WritableStreamDefaultWriter;
 Object.defineProperty(exports, '__esModule', { value: true });
}));

/***/ }),
/* 122 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(123);
var entryUnbind = __w_pdfjs_require__(127);
module.exports = entryUnbind('String', 'padStart');

/***/ }),
/* 123 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var $padStart = __w_pdfjs_require__(124).start;
var WEBKIT_BUG = __w_pdfjs_require__(126);
$({
 target: 'String',
 proto: true,
 forced: WEBKIT_BUG
}, {
 padStart: function padStart(maxLength) {
  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
 }
});

/***/ }),
/* 124 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var toLength = __w_pdfjs_require__(46);
var repeat = __w_pdfjs_require__(125);
var requireObjectCoercible = __w_pdfjs_require__(19);
var ceil = Math.ceil;
var createMethod = function (IS_END) {
 return function ($this, maxLength, fillString) {
  var S = String(requireObjectCoercible($this));
  var stringLength = S.length;
  var fillStr = fillString === undefined ? ' ' : String(fillString);
  var intMaxLength = toLength(maxLength);
  var fillLen, stringFiller;
  if (intMaxLength <= stringLength || fillStr == '')
   return S;
  fillLen = intMaxLength - stringLength;
  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
  if (stringFiller.length > fillLen)
   stringFiller = stringFiller.slice(0, fillLen);
  return IS_END ? S + stringFiller : stringFiller + S;
 };
};
module.exports = {
 start: createMethod(false),
 end: createMethod(true)
};

/***/ }),
/* 125 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var toInteger = __w_pdfjs_require__(47);
var requireObjectCoercible = __w_pdfjs_require__(19);
module.exports = ''.repeat || function repeat(count) {
 var str = String(requireObjectCoercible(this));
 var result = '';
 var n = toInteger(count);
 if (n < 0 || n == Infinity)
  throw RangeError('Wrong number of repetitions');
 for (; n > 0; (n >>>= 1) && (str += str))
  if (n & 1)
   result += str;
 return result;
};

/***/ }),
/* 126 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var userAgent = __w_pdfjs_require__(95);
module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);

/***/ }),
/* 127 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var global = __w_pdfjs_require__(10);
var bind = __w_pdfjs_require__(75);
var call = Function.call;
module.exports = function (CONSTRUCTOR, METHOD, length) {
 return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
};

/***/ }),
/* 128 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(129);
var entryUnbind = __w_pdfjs_require__(127);
module.exports = entryUnbind('String', 'padEnd');

/***/ }),
/* 129 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

"use strict";

var $ = __w_pdfjs_require__(9);
var $padEnd = __w_pdfjs_require__(124).end;
var WEBKIT_BUG = __w_pdfjs_require__(126);
$({
 target: 'String',
 proto: true,
 forced: WEBKIT_BUG
}, {
 padEnd: function padEnd(maxLength) {
  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
 }
});

/***/ }),
/* 130 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(131);
var path = __w_pdfjs_require__(42);
module.exports = path.Object.values;

/***/ }),
/* 131 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var $ = __w_pdfjs_require__(9);
var $values = __w_pdfjs_require__(132).values;
$({
 target: 'Object',
 stat: true
}, {
 values: function values(O) {
  return $values(O);
 }
});

/***/ }),
/* 132 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

var DESCRIPTORS = __w_pdfjs_require__(12);
var objectKeys = __w_pdfjs_require__(60);
var toIndexedObject = __w_pdfjs_require__(16);
var propertyIsEnumerable = __w_pdfjs_require__(14).f;
var createMethod = function (TO_ENTRIES) {
 return function (it) {
  var O = toIndexedObject(it);
  var keys = objectKeys(O);
  var length = keys.length;
  var i = 0;
  var result = [];
  var key;
  while (length > i) {
   key = keys[i++];
   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
    result.push(TO_ENTRIES ? [
     key,
     O[key]
    ] : O[key]);
   }
  }
  return result;
 };
};
module.exports = {
 entries: createMethod(true),
 values: createMethod(false)
};

/***/ }),
/* 133 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

__w_pdfjs_require__(134);
var path = __w_pdfjs_require__(42);
module.exports = path.Object.entries;

/***/ }),
/* 134 */
/***/ ((__unused_webpack_module, __unused_webpack_exports, __w_pdfjs_require__) => {

var $ = __w_pdfjs_require__(9);
var $entries = __w_pdfjs_require__(132).entries;
$({
 target: 'Object',
 stat: true
}, {
 entries: function entries(O) {
  return $entries(O);
 }
});

/***/ }),
/* 135 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getDocument = getDocument;
exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
exports.version = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultCMapReaderFactory = exports.DefaultCanvasFactory = exports.build = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

var _display_utils = __w_pdfjs_require__(1);

var _font_loader = __w_pdfjs_require__(136);

var _node_utils = __w_pdfjs_require__(137);

var _annotation_storage = __w_pdfjs_require__(138);

var _api_compatibility = __w_pdfjs_require__(139);

var _canvas = __w_pdfjs_require__(140);

var _worker_options = __w_pdfjs_require__(142);

var _is_node = __w_pdfjs_require__(6);

var _message_handler = __w_pdfjs_require__(143);

var _metadata = __w_pdfjs_require__(144);

var _optional_content_config = __w_pdfjs_require__(146);

var _transport_stream = __w_pdfjs_require__(147);

var _webgl = __w_pdfjs_require__(148);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var DEFAULT_RANGE_CHUNK_SIZE = 65536;
var RENDERING_CANCELLED_TIMEOUT = 100;
var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;
exports.DefaultCanvasFactory = DefaultCanvasFactory;
var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;
exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;
var createPDFNetworkStream;

function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
  createPDFNetworkStream = pdfNetworkStreamFactory;
}

function getDocument(src) {
  var task = new PDFDocumentLoadingTask();
  var source;

  if (typeof src === "string") {
    source = {
      url: src
    };
  } else if ((0, _util.isArrayBuffer)(src)) {
    source = {
      data: src
    };
  } else if (src instanceof PDFDataRangeTransport) {
    source = {
      range: src
    };
  } else {
    if (_typeof(src) !== "object") {
      throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
    }

    if (!src.url && !src.data && !src.range) {
      throw new Error("Invalid parameter object: need either .data, .range or .url");
    }

    source = src;
  }

  var params = Object.create(null);
  var rangeTransport = null,
      worker = null;

  for (var key in source) {
    if (key === "url" && typeof window !== "undefined") {
      params[key] = new URL(source[key], window.location).href;
      continue;
    } else if (key === "range") {
      rangeTransport = source[key];
      continue;
    } else if (key === "worker") {
      worker = source[key];
      continue;
    } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
      var pdfBytes = source[key];

      if (typeof pdfBytes === "string") {
        params[key] = (0, _util.stringToBytes)(pdfBytes);
      } else if (_typeof(pdfBytes) === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
        params[key] = new Uint8Array(pdfBytes);
      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
        params[key] = new Uint8Array(pdfBytes);
      } else {
        throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
      }

      continue;
    }

    params[key] = source[key];
  }

  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
  params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;
  params.ignoreErrors = params.stopAtErrors !== true;
  params.fontExtraProperties = params.fontExtraProperties === true;
  params.pdfBug = params.pdfBug === true;

  if (!Number.isInteger(params.maxImageSize)) {
    params.maxImageSize = -1;
  }

  if (typeof params.isEvalSupported !== "boolean") {
    params.isEvalSupported = true;
  }

  if (typeof params.disableFontFace !== "boolean") {
    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
  }

  if (typeof params.ownerDocument === "undefined") {
    params.ownerDocument = globalThis.document;
  }

  if (typeof params.disableRange !== "boolean") {
    params.disableRange = false;
  }

  if (typeof params.disableStream !== "boolean") {
    params.disableStream = false;
  }

  if (typeof params.disableAutoFetch !== "boolean") {
    params.disableAutoFetch = false;
  }

  (0, _util.setVerbosityLevel)(params.verbosity);

  if (!worker) {
    var workerParams = {
      verbosity: params.verbosity,
      port: _worker_options.GlobalWorkerOptions.workerPort
    };
    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
    task._worker = worker;
  }

  var docId = task.docId;
  worker.promise.then(function () {
    if (task.destroyed) {
      throw new Error("Loading aborted");
    }

    var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);

    var networkStreamPromise = new Promise(function (resolve) {
      var networkStream;

      if (rangeTransport) {
        networkStream = new _transport_stream.PDFDataTransportStream({
          length: params.length,
          initialData: params.initialData,
          progressiveDone: params.progressiveDone,
          disableRange: params.disableRange,
          disableStream: params.disableStream
        }, rangeTransport);
      } else if (!params.data) {
        networkStream = createPDFNetworkStream({
          url: params.url,
          length: params.length,
          httpHeaders: params.httpHeaders,
          withCredentials: params.withCredentials,
          rangeChunkSize: params.rangeChunkSize,
          disableRange: params.disableRange,
          disableStream: params.disableStream
        });
      }

      resolve(networkStream);
    });
    return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {
      var _ref2 = _slicedToArray(_ref, 2),
          workerId = _ref2[0],
          networkStream = _ref2[1];

      if (task.destroyed) {
        throw new Error("Loading aborted");
      }

      var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
      messageHandler.postMessageTransfers = worker.postMessageTransfers;
      var transport = new WorkerTransport(messageHandler, task, networkStream, params);
      task._transport = transport;
      messageHandler.send("Ready", null);
    });
  })["catch"](task._capability.reject);
  return task;
}

function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
  if (worker.destroyed) {
    return Promise.reject(new Error("Worker was destroyed"));
  }

  if (pdfDataRangeTransport) {
    source.length = pdfDataRangeTransport.length;
    source.initialData = pdfDataRangeTransport.initialData;
    source.progressiveDone = pdfDataRangeTransport.progressiveDone;
  }

  return worker.messageHandler.sendWithPromise("GetDocRequest", {
    docId: docId,
    apiVersion: '2.7.570',
    source: {
      data: source.data,
      url: source.url,
      password: source.password,
      disableAutoFetch: source.disableAutoFetch,
      rangeChunkSize: source.rangeChunkSize,
      length: source.length
    },
    maxImageSize: source.maxImageSize,
    disableFontFace: source.disableFontFace,
    postMessageTransfers: worker.postMessageTransfers,
    docBaseUrl: source.docBaseUrl,
    ignoreErrors: source.ignoreErrors,
    isEvalSupported: source.isEvalSupported,
    fontExtraProperties: source.fontExtraProperties
  }).then(function (workerId) {
    if (worker.destroyed) {
      throw new Error("Worker was destroyed");
    }

    return workerId;
  });
}

var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
  var nextDocumentId = 0;

  var PDFDocumentLoadingTask = /*#__PURE__*/function () {
    function PDFDocumentLoadingTask() {
      _classCallCheck(this, PDFDocumentLoadingTask);

      this._capability = (0, _util.createPromiseCapability)();
      this._transport = null;
      this._worker = null;
      this.docId = "d" + nextDocumentId++;
      this.destroyed = false;
      this.onPassword = null;
      this.onProgress = null;
      this.onUnsupportedFeature = null;
    }

    _createClass(PDFDocumentLoadingTask, [{
      key: "destroy",
      value: function destroy() {
        var _this = this;

        this.destroyed = true;
        var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
        return transportDestroyed.then(function () {
          _this._transport = null;

          if (_this._worker) {
            _this._worker.destroy();

            _this._worker = null;
          }
        });
      }
    }, {
      key: "promise",
      get: function get() {
        return this._capability.promise;
      }
    }]);

    return PDFDocumentLoadingTask;
  }();

  return PDFDocumentLoadingTask;
}();

var PDFDataRangeTransport = /*#__PURE__*/function () {
  function PDFDataRangeTransport(length, initialData) {
    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _classCallCheck(this, PDFDataRangeTransport);

    this.length = length;
    this.initialData = initialData;
    this.progressiveDone = progressiveDone;
    this._rangeListeners = [];
    this._progressListeners = [];
    this._progressiveReadListeners = [];
    this._progressiveDoneListeners = [];
    this._readyCapability = (0, _util.createPromiseCapability)();
  }

  _createClass(PDFDataRangeTransport, [{
    key: "addRangeListener",
    value: function addRangeListener(listener) {
      this._rangeListeners.push(listener);
    }
  }, {
    key: "addProgressListener",
    value: function addProgressListener(listener) {
      this._progressListeners.push(listener);
    }
  }, {
    key: "addProgressiveReadListener",
    value: function addProgressiveReadListener(listener) {
      this._progressiveReadListeners.push(listener);
    }
  }, {
    key: "addProgressiveDoneListener",
    value: function addProgressiveDoneListener(listener) {
      this._progressiveDoneListeners.push(listener);
    }
  }, {
    key: "onDataRange",
    value: function onDataRange(begin, chunk) {
      var _iterator = _createForOfIteratorHelper(this._rangeListeners),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var listener = _step.value;
          listener(begin, chunk);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    }
  }, {
    key: "onDataProgress",
    value: function onDataProgress(loaded, total) {
      var _this2 = this;

      this._readyCapability.promise.then(function () {
        var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),
            _step2;

        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var listener = _step2.value;
            listener(loaded, total);
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
      });
    }
  }, {
    key: "onDataProgressiveRead",
    value: function onDataProgressiveRead(chunk) {
      var _this3 = this;

      this._readyCapability.promise.then(function () {
        var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var listener = _step3.value;
            listener(chunk);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      });
    }
  }, {
    key: "onDataProgressiveDone",
    value: function onDataProgressiveDone() {
      var _this4 = this;

      this._readyCapability.promise.then(function () {
        var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),
            _step4;

        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var listener = _step4.value;
            listener();
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }
      });
    }
  }, {
    key: "transportReady",
    value: function transportReady() {
      this._readyCapability.resolve();
    }
  }, {
    key: "requestDataRange",
    value: function requestDataRange(begin, end) {
      (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
    }
  }, {
    key: "abort",
    value: function abort() {}
  }]);

  return PDFDataRangeTransport;
}();

exports.PDFDataRangeTransport = PDFDataRangeTransport;

var PDFDocumentProxy = /*#__PURE__*/function () {
  function PDFDocumentProxy(pdfInfo, transport) {
    _classCallCheck(this, PDFDocumentProxy);

    this._pdfInfo = pdfInfo;
    this._transport = transport;
  }

  _createClass(PDFDocumentProxy, [{
    key: "getPage",
    value: function getPage(pageNumber) {
      return this._transport.getPage(pageNumber);
    }
  }, {
    key: "getPageIndex",
    value: function getPageIndex(ref) {
      return this._transport.getPageIndex(ref);
    }
  }, {
    key: "getDestinations",
    value: function getDestinations() {
      return this._transport.getDestinations();
    }
  }, {
    key: "getDestination",
    value: function getDestination(id) {
      return this._transport.getDestination(id);
    }
  }, {
    key: "getPageLabels",
    value: function getPageLabels() {
      return this._transport.getPageLabels();
    }
  }, {
    key: "getPageLayout",
    value: function getPageLayout() {
      return this._transport.getPageLayout();
    }
  }, {
    key: "getPageMode",
    value: function getPageMode() {
      return this._transport.getPageMode();
    }
  }, {
    key: "getViewerPreferences",
    value: function getViewerPreferences() {
      return this._transport.getViewerPreferences();
    }
  }, {
    key: "getOpenAction",
    value: function getOpenAction() {
      return this._transport.getOpenAction();
    }
  }, {
    key: "getAttachments",
    value: function getAttachments() {
      return this._transport.getAttachments();
    }
  }, {
    key: "getJavaScript",
    value: function getJavaScript() {
      return this._transport.getJavaScript();
    }
  }, {
    key: "getJSActions",
    value: function getJSActions() {
      return this._transport.getDocJSActions();
    }
  }, {
    key: "getOutline",
    value: function getOutline() {
      return this._transport.getOutline();
    }
  }, {
    key: "getOptionalContentConfig",
    value: function getOptionalContentConfig() {
      return this._transport.getOptionalContentConfig();
    }
  }, {
    key: "getPermissions",
    value: function getPermissions() {
      return this._transport.getPermissions();
    }
  }, {
    key: "getMetadata",
    value: function getMetadata() {
      return this._transport.getMetadata();
    }
  }, {
    key: "getMarkInfo",
    value: function getMarkInfo() {
      return this._transport.getMarkInfo();
    }
  }, {
    key: "getData",
    value: function getData() {
      return this._transport.getData();
    }
  }, {
    key: "getDownloadInfo",
    value: function getDownloadInfo() {
      return this._transport.downloadInfoCapability.promise;
    }
  }, {
    key: "getStats",
    value: function getStats() {
      return this._transport.getStats();
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      return this._transport.startCleanup();
    }
  }, {
    key: "destroy",
    value: function destroy() {
      return this.loadingTask.destroy();
    }
  }, {
    key: "saveDocument",
    value: function saveDocument(annotationStorage) {
      return this._transport.saveDocument(annotationStorage);
    }
  }, {
    key: "getFieldObjects",
    value: function getFieldObjects() {
      return this._transport.getFieldObjects();
    }
  }, {
    key: "hasJSActions",
    value: function hasJSActions() {
      return this._transport.hasJSActions();
    }
  }, {
    key: "getCalculationOrderIds",
    value: function getCalculationOrderIds() {
      return this._transport.getCalculationOrderIds();
    }
  }, {
    key: "annotationStorage",
    get: function get() {
      return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage());
    }
  }, {
    key: "numPages",
    get: function get() {
      return this._pdfInfo.numPages;
    }
  }, {
    key: "fingerprint",
    get: function get() {
      return this._pdfInfo.fingerprint;
    }
  }, {
    key: "loadingParams",
    get: function get() {
      return this._transport.loadingParams;
    }
  }, {
    key: "loadingTask",
    get: function get() {
      return this._transport.loadingTask;
    }
  }]);

  return PDFDocumentProxy;
}();

exports.PDFDocumentProxy = PDFDocumentProxy;

var PDFPageProxy = /*#__PURE__*/function () {
  function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {
    var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;

    _classCallCheck(this, PDFPageProxy);

    this._pageIndex = pageIndex;
    this._pageInfo = pageInfo;
    this._ownerDocument = ownerDocument;
    this._transport = transport;
    this._stats = pdfBug ? new _display_utils.StatTimer() : null;
    this._pdfBug = pdfBug;
    this.commonObjs = transport.commonObjs;
    this.objs = new PDFObjects();
    this.cleanupAfterRender = false;
    this.pendingCleanup = false;
    this._intentStates = new Map();
    this.destroyed = false;
  }

  _createClass(PDFPageProxy, [{
    key: "getViewport",
    value: function getViewport() {
      var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          scale = _ref3.scale,
          _ref3$rotation = _ref3.rotation,
          rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,
          _ref3$offsetX = _ref3.offsetX,
          offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,
          _ref3$offsetY = _ref3.offsetY,
          offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,
          _ref3$dontFlip = _ref3.dontFlip,
          dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;

      return new _display_utils.PageViewport({
        viewBox: this.view,
        scale: scale,
        rotation: rotation,
        offsetX: offsetX,
        offsetY: offsetY,
        dontFlip: dontFlip
      });
    }
  }, {
    key: "getAnnotations",
    value: function getAnnotations() {
      var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref4$intent = _ref4.intent,
          intent = _ref4$intent === void 0 ? null : _ref4$intent;

      if (!this.annotationsPromise || this.annotationsIntent !== intent) {
        this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
        this.annotationsIntent = intent;
      }

      return this.annotationsPromise;
    }
  }, {
    key: "getJSActions",
    value: function getJSActions() {
      return this._jsActionsPromise || (this._jsActionsPromise = this._transport.getPageJSActions(this._pageIndex));
    }
  }, {
    key: "render",
    value: function render(_ref5) {
      var _this5 = this;

      var canvasContext = _ref5.canvasContext,
          viewport = _ref5.viewport,
          _ref5$intent = _ref5.intent,
          intent = _ref5$intent === void 0 ? "display" : _ref5$intent,
          _ref5$enableWebGL = _ref5.enableWebGL,
          enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,
          _ref5$renderInteracti = _ref5.renderInteractiveForms,
          renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,
          _ref5$transform = _ref5.transform,
          transform = _ref5$transform === void 0 ? null : _ref5$transform,
          _ref5$imageLayer = _ref5.imageLayer,
          imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,
          _ref5$canvasFactory = _ref5.canvasFactory,
          canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,
          _ref5$background = _ref5.background,
          background = _ref5$background === void 0 ? null : _ref5$background,
          _ref5$annotationStora = _ref5.annotationStorage,
          annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,
          _ref5$optionalContent = _ref5.optionalContentConfigPromise,
          optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;

      if (this._stats) {
        this._stats.time("Overall");
      }

      var renderingIntent = intent === "print" ? "print" : "display";
      this.pendingCleanup = false;

      if (!optionalContentConfigPromise) {
        optionalContentConfigPromise = this._transport.getOptionalContentConfig();
      }

      var intentState = this._intentStates.get(renderingIntent);

      if (!intentState) {
        intentState = Object.create(null);

        this._intentStates.set(renderingIntent, intentState);
      }

      if (intentState.streamReaderCancelTimeout) {
        clearTimeout(intentState.streamReaderCancelTimeout);
        intentState.streamReaderCancelTimeout = null;
      }

      var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({
        ownerDocument: this._ownerDocument
      });
      var webGLContext = new _webgl.WebGLContext({
        enable: enableWebGL
      });

      if (!intentState.displayReadyCapability) {
        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
        intentState.operatorList = {
          fnArray: [],
          argsArray: [],
          lastChunk: false
        };

        if (this._stats) {
          this._stats.time("Page Request");
        }

        this._pumpOperatorList({
          pageIndex: this._pageIndex,
          intent: renderingIntent,
          renderInteractiveForms: renderInteractiveForms === true,
          annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null
        });
      }

      var complete = function complete(error) {
        var i = intentState.renderTasks.indexOf(internalRenderTask);

        if (i >= 0) {
          intentState.renderTasks.splice(i, 1);
        }

        if (_this5.cleanupAfterRender || renderingIntent === "print") {
          _this5.pendingCleanup = true;
        }

        _this5._tryCleanup();

        if (error) {
          internalRenderTask.capability.reject(error);

          _this5._abortOperatorList({
            intentState: intentState,
            reason: error
          });
        } else {
          internalRenderTask.capability.resolve();
        }

        if (_this5._stats) {
          _this5._stats.timeEnd("Rendering");

          _this5._stats.timeEnd("Overall");
        }
      };

      var internalRenderTask = new InternalRenderTask({
        callback: complete,
        params: {
          canvasContext: canvasContext,
          viewport: viewport,
          transform: transform,
          imageLayer: imageLayer,
          background: background
        },
        objs: this.objs,
        commonObjs: this.commonObjs,
        operatorList: intentState.operatorList,
        pageIndex: this._pageIndex,
        canvasFactory: canvasFactoryInstance,
        webGLContext: webGLContext,
        useRequestAnimationFrame: renderingIntent !== "print",
        pdfBug: this._pdfBug
      });

      if (!intentState.renderTasks) {
        intentState.renderTasks = [];
      }

      intentState.renderTasks.push(internalRenderTask);
      var renderTask = internalRenderTask.task;
      Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {
        var _ref7 = _slicedToArray(_ref6, 2),
            transparency = _ref7[0],
            optionalContentConfig = _ref7[1];

        if (_this5.pendingCleanup) {
          complete();
          return;
        }

        if (_this5._stats) {
          _this5._stats.time("Rendering");
        }

        internalRenderTask.initializeGraphics({
          transparency: transparency,
          optionalContentConfig: optionalContentConfig
        });
        internalRenderTask.operatorListChanged();
      })["catch"](complete);
      return renderTask;
    }
  }, {
    key: "getOperatorList",
    value: function getOperatorList() {
      function operatorListChanged() {
        if (intentState.operatorList.lastChunk) {
          intentState.opListReadCapability.resolve(intentState.operatorList);
          var i = intentState.renderTasks.indexOf(opListTask);

          if (i >= 0) {
            intentState.renderTasks.splice(i, 1);
          }
        }
      }

      var renderingIntent = "oplist";

      var intentState = this._intentStates.get(renderingIntent);

      if (!intentState) {
        intentState = Object.create(null);

        this._intentStates.set(renderingIntent, intentState);
      }

      var opListTask;

      if (!intentState.opListReadCapability) {
        opListTask = Object.create(null);
        opListTask.operatorListChanged = operatorListChanged;
        intentState.opListReadCapability = (0, _util.createPromiseCapability)();
        intentState.renderTasks = [];
        intentState.renderTasks.push(opListTask);
        intentState.operatorList = {
          fnArray: [],
          argsArray: [],
          lastChunk: false
        };

        if (this._stats) {
          this._stats.time("Page Request");
        }

        this._pumpOperatorList({
          pageIndex: this._pageIndex,
          intent: renderingIntent
        });
      }

      return intentState.opListReadCapability.promise;
    }
  }, {
    key: "streamTextContent",
    value: function streamTextContent() {
      var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref8$normalizeWhites = _ref8.normalizeWhitespace,
          normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,
          _ref8$disableCombineT = _ref8.disableCombineTextItems,
          disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT;

      var TEXT_CONTENT_CHUNK_SIZE = 100;
      return this._transport.messageHandler.sendWithStream("GetTextContent", {
        pageIndex: this._pageIndex,
        normalizeWhitespace: normalizeWhitespace === true,
        combineTextItems: disableCombineTextItems !== true
      }, {
        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
        size: function size(textContent) {
          return textContent.items.length;
        }
      });
    }
  }, {
    key: "getTextContent",
    value: function getTextContent() {
      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var readableStream = this.streamTextContent(params);
      return new Promise(function (resolve, reject) {
        function pump() {
          reader.read().then(function (_ref9) {
            var _textContent$items;

            var value = _ref9.value,
                done = _ref9.done;

            if (done) {
              resolve(textContent);
              return;
            }

            Object.assign(textContent.styles, value.styles);

            (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));

            pump();
          }, reject);
        }

        var reader = readableStream.getReader();
        var textContent = {
          items: [],
          styles: Object.create(null)
        };
        pump();
      });
    }
  }, {
    key: "_destroy",
    value: function _destroy() {
      this.destroyed = true;
      this._transport.pageCache[this._pageIndex] = null;
      var waitOn = [];

      var _iterator5 = _createForOfIteratorHelper(this._intentStates),
          _step5;

      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var _step5$value = _slicedToArray(_step5.value, 2),
              intent = _step5$value[0],
              intentState = _step5$value[1];

          this._abortOperatorList({
            intentState: intentState,
            reason: new Error("Page was destroyed."),
            force: true
          });

          if (intent === "oplist") {
            continue;
          }

          var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),
              _step6;

          try {
            for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
              var internalRenderTask = _step6.value;
              waitOn.push(internalRenderTask.completed);
              internalRenderTask.cancel();
            }
          } catch (err) {
            _iterator6.e(err);
          } finally {
            _iterator6.f();
          }
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }

      this.objs.clear();
      this.annotationsPromise = null;
      this._jsActionsPromise = null;
      this.pendingCleanup = false;
      return Promise.all(waitOn);
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      this.pendingCleanup = true;
      return this._tryCleanup(resetStats);
    }
  }, {
    key: "_tryCleanup",
    value: function _tryCleanup() {
      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this.pendingCleanup) {
        return false;
      }

      var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),
          _step7;

      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var _step7$value = _step7.value,
              renderTasks = _step7$value.renderTasks,
              operatorList = _step7$value.operatorList;

          if (renderTasks.length !== 0 || !operatorList.lastChunk) {
            return false;
          }
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }

      this._intentStates.clear();

      this.objs.clear();
      this.annotationsPromise = null;
      this._jsActionsPromise = null;

      if (resetStats && this._stats) {
        this._stats = new _display_utils.StatTimer();
      }

      this.pendingCleanup = false;
      return true;
    }
  }, {
    key: "_startRenderPage",
    value: function _startRenderPage(transparency, intent) {
      var intentState = this._intentStates.get(intent);

      if (!intentState) {
        return;
      }

      if (this._stats) {
        this._stats.timeEnd("Page Request");
      }

      if (intentState.displayReadyCapability) {
        intentState.displayReadyCapability.resolve(transparency);
      }
    }
  }, {
    key: "_renderPageChunk",
    value: function _renderPageChunk(operatorListChunk, intentState) {
      for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
      }

      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;

      for (var _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {
        intentState.renderTasks[_i2].operatorListChanged();
      }

      if (operatorListChunk.lastChunk) {
        this._tryCleanup();
      }
    }
  }, {
    key: "_pumpOperatorList",
    value: function _pumpOperatorList(args) {
      var _this6 = this;

      (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');

      var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);

      var reader = readableStream.getReader();

      var intentState = this._intentStates.get(args.intent);

      intentState.streamReader = reader;

      var pump = function pump() {
        reader.read().then(function (_ref10) {
          var value = _ref10.value,
              done = _ref10.done;

          if (done) {
            intentState.streamReader = null;
            return;
          }

          if (_this6._transport.destroyed) {
            return;
          }

          _this6._renderPageChunk(value, intentState);

          pump();
        }, function (reason) {
          intentState.streamReader = null;

          if (_this6._transport.destroyed) {
            return;
          }

          if (intentState.operatorList) {
            intentState.operatorList.lastChunk = true;

            for (var i = 0; i < intentState.renderTasks.length; i++) {
              intentState.renderTasks[i].operatorListChanged();
            }

            _this6._tryCleanup();
          }

          if (intentState.displayReadyCapability) {
            intentState.displayReadyCapability.reject(reason);
          } else if (intentState.opListReadCapability) {
            intentState.opListReadCapability.reject(reason);
          } else {
            throw reason;
          }
        });
      };

      pump();
    }
  }, {
    key: "_abortOperatorList",
    value: function _abortOperatorList(_ref11) {
      var _this7 = this;

      var intentState = _ref11.intentState,
          reason = _ref11.reason,
          _ref11$force = _ref11.force,
          force = _ref11$force === void 0 ? false : _ref11$force;
      (0, _util.assert)(reason instanceof Error || _typeof(reason) === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');

      if (!intentState.streamReader) {
        return;
      }

      if (!force) {
        if (intentState.renderTasks.length !== 0) {
          return;
        }

        if (reason instanceof _display_utils.RenderingCancelledException) {
          intentState.streamReaderCancelTimeout = setTimeout(function () {
            _this7._abortOperatorList({
              intentState: intentState,
              reason: reason,
              force: true
            });

            intentState.streamReaderCancelTimeout = null;
          }, RENDERING_CANCELLED_TIMEOUT);
          return;
        }
      }

      intentState.streamReader.cancel(new _util.AbortException(reason === null || reason === void 0 ? void 0 : reason.message));
      intentState.streamReader = null;

      if (this._transport.destroyed) {
        return;
      }

      var _iterator8 = _createForOfIteratorHelper(this._intentStates),
          _step8;

      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var _step8$value = _slicedToArray(_step8.value, 2),
              intent = _step8$value[0],
              curIntentState = _step8$value[1];

          if (curIntentState === intentState) {
            this._intentStates["delete"](intent);

            break;
          }
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }

      this.cleanup();
    }
  }, {
    key: "pageNumber",
    get: function get() {
      return this._pageIndex + 1;
    }
  }, {
    key: "rotate",
    get: function get() {
      return this._pageInfo.rotate;
    }
  }, {
    key: "ref",
    get: function get() {
      return this._pageInfo.ref;
    }
  }, {
    key: "userUnit",
    get: function get() {
      return this._pageInfo.userUnit;
    }
  }, {
    key: "view",
    get: function get() {
      return this._pageInfo.view;
    }
  }, {
    key: "stats",
    get: function get() {
      return this._stats;
    }
  }]);

  return PDFPageProxy;
}();

exports.PDFPageProxy = PDFPageProxy;

var LoopbackPort = /*#__PURE__*/function () {
  function LoopbackPort() {
    var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

    _classCallCheck(this, LoopbackPort);

    this._listeners = [];
    this._defer = defer;
    this._deferred = Promise.resolve(undefined);
  }

  _createClass(LoopbackPort, [{
    key: "postMessage",
    value: function postMessage(obj, transfers) {
      var _this8 = this;

      function cloneValue(value) {
        if (_typeof(value) !== "object" || value === null) {
          return value;
        }

        if (cloned.has(value)) {
          return cloned.get(value);
        }

        var buffer, result;

        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
          if (transfers !== null && transfers !== void 0 && transfers.includes(buffer)) {
            result = new value.constructor(buffer, value.byteOffset, value.byteLength);
          } else {
            result = new value.constructor(value);
          }

          cloned.set(value, result);
          return result;
        }

        result = Array.isArray(value) ? [] : {};
        cloned.set(value, result);

        for (var i in value) {
          var desc = void 0,
              p = value;

          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
            p = Object.getPrototypeOf(p);
          }

          if (typeof desc.value === "undefined") {
            continue;
          }

          if (typeof desc.value === "function") {
            if (value.hasOwnProperty && value.hasOwnProperty(i)) {
              throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
            }

            continue;
          }

          result[i] = cloneValue(desc.value);
        }

        return result;
      }

      if (!this._defer) {
        this._listeners.forEach(function (listener) {
          listener.call(_this8, {
            data: obj
          });
        });

        return;
      }

      var cloned = new WeakMap();
      var e = {
        data: cloneValue(obj)
      };

      this._deferred.then(function () {
        _this8._listeners.forEach(function (listener) {
          listener.call(_this8, e);
        });
      });
    }
  }, {
    key: "addEventListener",
    value: function addEventListener(name, listener) {
      this._listeners.push(listener);
    }
  }, {
    key: "removeEventListener",
    value: function removeEventListener(name, listener) {
      var i = this._listeners.indexOf(listener);

      this._listeners.splice(i, 1);
    }
  }, {
    key: "terminate",
    value: function terminate() {
      this._listeners.length = 0;
    }
  }]);

  return LoopbackPort;
}();

exports.LoopbackPort = LoopbackPort;

var PDFWorker = function PDFWorkerClosure() {
  var pdfWorkerPorts = new WeakMap();
  var isWorkerDisabled = false;
  var fallbackWorkerSrc;
  var nextFakeWorkerId = 0;
  var fakeWorkerCapability;

  if (_is_node.isNodeJS && "function" === "function") {
    isWorkerDisabled = true;
    fallbackWorkerSrc = "./pdf.worker.js";
  } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) {
    var _document$currentScri;

    var pdfjsFilePath = (_document$currentScri = document.currentScript) === null || _document$currentScri === void 0 ? void 0 : _document$currentScri.src;

    if (pdfjsFilePath) {
      fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
    }
  }

  function _getWorkerSrc() {
    if (_worker_options.GlobalWorkerOptions.workerSrc) {
      return _worker_options.GlobalWorkerOptions.workerSrc;
    }

    if (typeof fallbackWorkerSrc !== "undefined") {
      if (!_is_node.isNodeJS) {
        (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
      }

      return fallbackWorkerSrc;
    }

    throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
  }

  function getMainThreadWorkerMessageHandler() {
    var mainWorkerMessageHandler;

    try {
      var _globalThis$pdfjsWork;

      mainWorkerMessageHandler = (_globalThis$pdfjsWork = globalThis.pdfjsWorker) === null || _globalThis$pdfjsWork === void 0 ? void 0 : _globalThis$pdfjsWork.WorkerMessageHandler;
    } catch (ex) {}

    return mainWorkerMessageHandler || null;
  }

  function setupFakeWorkerGlobal() {
    if (fakeWorkerCapability) {
      return fakeWorkerCapability.promise;
    }

    fakeWorkerCapability = (0, _util.createPromiseCapability)();

    var loader = /*#__PURE__*/function () {
      var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var mainWorkerMessageHandler, worker;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();

                if (!mainWorkerMessageHandler) {
                  _context.next = 3;
                  break;
                }

                return _context.abrupt("return", mainWorkerMessageHandler);

              case 3:
                if (!(_is_node.isNodeJS && "function" === "function")) {
                  _context.next = 6;
                  break;
                }

                worker = eval("require")(_getWorkerSrc());
                return _context.abrupt("return", worker.WorkerMessageHandler);

              case 6:
                _context.next = 8;
                return (0, _display_utils.loadScript)(_getWorkerSrc());

              case 8:
                return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }));

      return function loader() {
        return _ref12.apply(this, arguments);
      };
    }();

    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
    return fakeWorkerCapability.promise;
  }

  function createCDNWrapper(url) {
    var wrapper = "importScripts('" + url + "');";
    return URL.createObjectURL(new Blob([wrapper]));
  }

  var PDFWorker = /*#__PURE__*/function () {
    function PDFWorker() {
      var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref13$name = _ref13.name,
          name = _ref13$name === void 0 ? null : _ref13$name,
          _ref13$port = _ref13.port,
          port = _ref13$port === void 0 ? null : _ref13$port,
          _ref13$verbosity = _ref13.verbosity,
          verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$verbosity;

      _classCallCheck(this, PDFWorker);

      if (port && pdfWorkerPorts.has(port)) {
        throw new Error("Cannot use more than one PDFWorker per port");
      }

      this.name = name;
      this.destroyed = false;
      this.postMessageTransfers = true;
      this.verbosity = verbosity;
      this._readyCapability = (0, _util.createPromiseCapability)();
      this._port = null;
      this._webWorker = null;
      this._messageHandler = null;

      if (port) {
        pdfWorkerPorts.set(port, this);

        this._initializeFromPort(port);

        return;
      }

      this._initialize();
    }

    _createClass(PDFWorker, [{
      key: "_initializeFromPort",
      value: function _initializeFromPort(port) {
        this._port = port;
        this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);

        this._messageHandler.on("ready", function () {});

        this._readyCapability.resolve();
      }
    }, {
      key: "_initialize",
      value: function _initialize() {
        var _this9 = this;

        if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
          var workerSrc = _getWorkerSrc();

          try {
            if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
              workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
            }

            var worker = new Worker(workerSrc);
            var messageHandler = new _message_handler.MessageHandler("main", "worker", worker);

            var terminateEarly = function terminateEarly() {
              worker.removeEventListener("error", onWorkerError);
              messageHandler.destroy();
              worker.terminate();

              if (_this9.destroyed) {
                _this9._readyCapability.reject(new Error("Worker was destroyed"));
              } else {
                _this9._setupFakeWorker();
              }
            };

            var onWorkerError = function onWorkerError() {
              if (!_this9._webWorker) {
                terminateEarly();
              }
            };

            worker.addEventListener("error", onWorkerError);
            messageHandler.on("test", function (data) {
              worker.removeEventListener("error", onWorkerError);

              if (_this9.destroyed) {
                terminateEarly();
                return;
              }

              if (data) {
                _this9._messageHandler = messageHandler;
                _this9._port = worker;
                _this9._webWorker = worker;

                if (!data.supportTransfers) {
                  _this9.postMessageTransfers = false;
                }

                _this9._readyCapability.resolve();

                messageHandler.send("configure", {
                  verbosity: _this9.verbosity
                });
              } else {
                _this9._setupFakeWorker();

                messageHandler.destroy();
                worker.terminate();
              }
            });
            messageHandler.on("ready", function (data) {
              worker.removeEventListener("error", onWorkerError);

              if (_this9.destroyed) {
                terminateEarly();
                return;
              }

              try {
                sendTest();
              } catch (e) {
                _this9._setupFakeWorker();
              }
            });

            var sendTest = function sendTest() {
              var testObj = new Uint8Array([_this9.postMessageTransfers ? 255 : 0]);

              try {
                messageHandler.send("test", testObj, [testObj.buffer]);
              } catch (ex) {
                (0, _util.warn)("Cannot use postMessage transfers.");
                testObj[0] = 0;
                messageHandler.send("test", testObj);
              }
            };

            sendTest();
            return;
          } catch (e) {
            (0, _util.info)("The worker has been disabled.");
          }
        }

        this._setupFakeWorker();
      }
    }, {
      key: "_setupFakeWorker",
      value: function _setupFakeWorker() {
        var _this10 = this;

        if (!isWorkerDisabled) {
          (0, _util.warn)("Setting up fake worker.");
          isWorkerDisabled = true;
        }

        setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
          if (_this10.destroyed) {
            _this10._readyCapability.reject(new Error("Worker was destroyed"));

            return;
          }

          var port = new LoopbackPort();
          _this10._port = port;
          var id = "fake" + nextFakeWorkerId++;
          var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
          WorkerMessageHandler.setup(workerHandler, port);
          var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
          _this10._messageHandler = messageHandler;

          _this10._readyCapability.resolve();

          messageHandler.send("configure", {
            verbosity: _this10.verbosity
          });
        })["catch"](function (reason) {
          _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
        });
      }
    }, {
      key: "destroy",
      value: function destroy() {
        this.destroyed = true;

        if (this._webWorker) {
          this._webWorker.terminate();

          this._webWorker = null;
        }

        pdfWorkerPorts["delete"](this._port);
        this._port = null;

        if (this._messageHandler) {
          this._messageHandler.destroy();

          this._messageHandler = null;
        }
      }
    }, {
      key: "promise",
      get: function get() {
        return this._readyCapability.promise;
      }
    }, {
      key: "port",
      get: function get() {
        return this._port;
      }
    }, {
      key: "messageHandler",
      get: function get() {
        return this._messageHandler;
      }
    }], [{
      key: "fromPort",
      value: function fromPort(params) {
        if (!params || !params.port) {
          throw new Error("PDFWorker.fromPort - invalid method signature.");
        }

        if (pdfWorkerPorts.has(params.port)) {
          return pdfWorkerPorts.get(params.port);
        }

        return new PDFWorker(params);
      }
    }, {
      key: "getWorkerSrc",
      value: function getWorkerSrc() {
        return _getWorkerSrc();
      }
    }]);

    return PDFWorker;
  }();

  return PDFWorker;
}();

exports.PDFWorker = PDFWorker;

var WorkerTransport = /*#__PURE__*/function () {
  function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
    _classCallCheck(this, WorkerTransport);

    this.messageHandler = messageHandler;
    this.loadingTask = loadingTask;
    this.commonObjs = new PDFObjects();
    this.fontLoader = new _font_loader.FontLoader({
      docId: loadingTask.docId,
      onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
      ownerDocument: params.ownerDocument
    });
    this._params = params;
    this.CMapReaderFactory = new params.CMapReaderFactory({
      baseUrl: params.cMapUrl,
      isCompressed: params.cMapPacked
    });
    this.destroyed = false;
    this.destroyCapability = null;
    this._passwordCapability = null;
    this._networkStream = networkStream;
    this._fullReader = null;
    this._lastProgress = null;
    this.pageCache = [];
    this.pagePromises = [];
    this.downloadInfoCapability = (0, _util.createPromiseCapability)();
    this.setupMessageHandler();
  }

  _createClass(WorkerTransport, [{
    key: "destroy",
    value: function destroy() {
      var _this11 = this;

      if (this.destroyCapability) {
        return this.destroyCapability.promise;
      }

      this.destroyed = true;
      this.destroyCapability = (0, _util.createPromiseCapability)();

      if (this._passwordCapability) {
        this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
      }

      var waitOn = [];
      this.pageCache.forEach(function (page) {
        if (page) {
          waitOn.push(page._destroy());
        }
      });
      this.pageCache.length = 0;
      this.pagePromises.length = 0;
      var terminated = this.messageHandler.sendWithPromise("Terminate", null);
      waitOn.push(terminated);

      if (this.loadingTaskSettled) {
        var annotationStorageResetModified = this.loadingTask.promise.then(function (pdfDocument) {
          if (pdfDocument.hasOwnProperty("annotationStorage")) {
            pdfDocument.annotationStorage.resetModified();
          }
        })["catch"](function () {});
        waitOn.push(annotationStorageResetModified);
      }

      Promise.all(waitOn).then(function () {
        _this11.commonObjs.clear();

        _this11.fontLoader.clear();

        _this11._hasJSActionsPromise = null;

        if (_this11._networkStream) {
          _this11._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
        }

        if (_this11.messageHandler) {
          _this11.messageHandler.destroy();

          _this11.messageHandler = null;
        }

        _this11.destroyCapability.resolve();
      }, this.destroyCapability.reject);
      return this.destroyCapability.promise;
    }
  }, {
    key: "setupMessageHandler",
    value: function setupMessageHandler() {
      var _this12 = this;

      var messageHandler = this.messageHandler,
          loadingTask = this.loadingTask;
      messageHandler.on("GetReader", function (data, sink) {
        (0, _util.assert)(_this12._networkStream, "GetReader - no `IPDFStream` instance available.");
        _this12._fullReader = _this12._networkStream.getFullReader();

        _this12._fullReader.onProgress = function (evt) {
          _this12._lastProgress = {
            loaded: evt.loaded,
            total: evt.total
          };
        };

        sink.onPull = function () {
          _this12._fullReader.read().then(function (_ref14) {
            var value = _ref14.value,
                done = _ref14.done;

            if (done) {
              sink.close();
              return;
            }

            (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer.");
            sink.enqueue(new Uint8Array(value), 1, [value]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };

        sink.onCancel = function (reason) {
          _this12._fullReader.cancel(reason);

          sink.ready["catch"](function (readyReason) {
            if (_this12.destroyed) {
              return;
            }

            throw readyReason;
          });
        };
      });
      messageHandler.on("ReaderHeadersReady", function (data) {
        var headersCapability = (0, _util.createPromiseCapability)();
        var fullReader = _this12._fullReader;
        fullReader.headersReady.then(function () {
          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
            if (_this12._lastProgress && loadingTask.onProgress) {
              loadingTask.onProgress(_this12._lastProgress);
            }

            fullReader.onProgress = function (evt) {
              if (loadingTask.onProgress) {
                loadingTask.onProgress({
                  loaded: evt.loaded,
                  total: evt.total
                });
              }
            };
          }

          headersCapability.resolve({
            isStreamingSupported: fullReader.isStreamingSupported,
            isRangeSupported: fullReader.isRangeSupported,
            contentLength: fullReader.contentLength
          });
        }, headersCapability.reject);
        return headersCapability.promise;
      });
      messageHandler.on("GetRangeReader", function (data, sink) {
        (0, _util.assert)(_this12._networkStream, "GetRangeReader - no `IPDFStream` instance available.");

        var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end);

        if (!rangeReader) {
          sink.close();
          return;
        }

        sink.onPull = function () {
          rangeReader.read().then(function (_ref15) {
            var value = _ref15.value,
                done = _ref15.done;

            if (done) {
              sink.close();
              return;
            }

            (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer.");
            sink.enqueue(new Uint8Array(value), 1, [value]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };

        sink.onCancel = function (reason) {
          rangeReader.cancel(reason);
          sink.ready["catch"](function (readyReason) {
            if (_this12.destroyed) {
              return;
            }

            throw readyReason;
          });
        };
      });
      messageHandler.on("GetDoc", function (_ref16) {
        var pdfInfo = _ref16.pdfInfo;
        _this12._numPages = pdfInfo.numPages;

        loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));
      });
      messageHandler.on("DocException", function (ex) {
        var reason;

        switch (ex.name) {
          case "PasswordException":
            reason = new _util.PasswordException(ex.message, ex.code);
            break;

          case "InvalidPDFException":
            reason = new _util.InvalidPDFException(ex.message);
            break;

          case "MissingPDFException":
            reason = new _util.MissingPDFException(ex.message);
            break;

          case "UnexpectedResponseException":
            reason = new _util.UnexpectedResponseException(ex.message, ex.status);
            break;

          case "UnknownErrorException":
            reason = new _util.UnknownErrorException(ex.message, ex.details);
            break;
        }

        if (!(reason instanceof Error)) {
          var msg = "DocException - expected a valid Error.";
          (0, _util.warn)(msg);
        }

        loadingTask._capability.reject(reason);
      });
      messageHandler.on("PasswordRequest", function (exception) {
        _this12._passwordCapability = (0, _util.createPromiseCapability)();

        if (loadingTask.onPassword) {
          var updatePassword = function updatePassword(password) {
            _this12._passwordCapability.resolve({
              password: password
            });
          };

          try {
            loadingTask.onPassword(updatePassword, exception.code);
          } catch (ex) {
            _this12._passwordCapability.reject(ex);
          }
        } else {
          _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
        }

        return _this12._passwordCapability.promise;
      });
      messageHandler.on("DataLoaded", function (data) {
        if (loadingTask.onProgress) {
          loadingTask.onProgress({
            loaded: data.length,
            total: data.length
          });
        }

        _this12.downloadInfoCapability.resolve(data);
      });
      messageHandler.on("StartRenderPage", function (data) {
        if (_this12.destroyed) {
          return;
        }

        var page = _this12.pageCache[data.pageIndex];

        page._startRenderPage(data.transparency, data.intent);
      });
      messageHandler.on("commonobj", function (data) {
        var _globalThis$FontInspe;

        if (_this12.destroyed) {
          return;
        }

        var _data = _slicedToArray(data, 3),
            id = _data[0],
            type = _data[1],
            exportedData = _data[2];

        if (_this12.commonObjs.has(id)) {
          return;
        }

        switch (type) {
          case "Font":
            var params = _this12._params;

            if ("error" in exportedData) {
              var exportedError = exportedData.error;
              (0, _util.warn)("Error during font loading: ".concat(exportedError));

              _this12.commonObjs.resolve(id, exportedError);

              break;
            }

            var fontRegistry = null;

            if (params.pdfBug && (_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled) {
              fontRegistry = {
                registerFont: function registerFont(font, url) {
                  globalThis.FontInspector.fontAdded(font, url);
                }
              };
            }

            var font = new _font_loader.FontFaceObject(exportedData, {
              isEvalSupported: params.isEvalSupported,
              disableFontFace: params.disableFontFace,
              ignoreErrors: params.ignoreErrors,
              onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12),
              fontRegistry: fontRegistry
            });

            _this12.fontLoader.bind(font)["catch"](function (reason) {
              return messageHandler.sendWithPromise("FontFallback", {
                id: id
              });
            })["finally"](function () {
              if (!params.fontExtraProperties && font.data) {
                font.data = null;
              }

              _this12.commonObjs.resolve(id, font);
            });

            break;

          case "FontPath":
          case "Image":
            _this12.commonObjs.resolve(id, exportedData);

            break;

          default:
            throw new Error("Got unknown common object type ".concat(type));
        }
      });
      messageHandler.on("obj", function (data) {
        var _imageData$data;

        if (_this12.destroyed) {
          return undefined;
        }

        var _data2 = _slicedToArray(data, 4),
            id = _data2[0],
            pageIndex = _data2[1],
            type = _data2[2],
            imageData = _data2[3];

        var pageProxy = _this12.pageCache[pageIndex];

        if (pageProxy.objs.has(id)) {
          return undefined;
        }

        switch (type) {
          case "Image":
            pageProxy.objs.resolve(id, imageData);
            var MAX_IMAGE_SIZE_TO_STORE = 8000000;

            if ((imageData === null || imageData === void 0 ? void 0 : (_imageData$data = imageData.data) === null || _imageData$data === void 0 ? void 0 : _imageData$data.length) > MAX_IMAGE_SIZE_TO_STORE) {
              pageProxy.cleanupAfterRender = true;
            }

            break;

          default:
            throw new Error("Got unknown object type ".concat(type));
        }

        return undefined;
      });
      messageHandler.on("DocProgress", function (data) {
        if (_this12.destroyed) {
          return;
        }

        if (loadingTask.onProgress) {
          loadingTask.onProgress({
            loaded: data.loaded,
            total: data.total
          });
        }
      });
      messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
      messageHandler.on("FetchBuiltInCMap", function (data, sink) {
        if (_this12.destroyed) {
          sink.error(new Error("Worker was destroyed"));
          return;
        }

        var fetched = false;

        sink.onPull = function () {
          if (fetched) {
            sink.close();
            return;
          }

          fetched = true;

          _this12.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };
      });
    }
  }, {
    key: "_onUnsupportedFeature",
    value: function _onUnsupportedFeature(_ref17) {
      var featureId = _ref17.featureId;

      if (this.destroyed) {
        return;
      }

      if (this.loadingTask.onUnsupportedFeature) {
        this.loadingTask.onUnsupportedFeature(featureId);
      }
    }
  }, {
    key: "getData",
    value: function getData() {
      return this.messageHandler.sendWithPromise("GetData", null);
    }
  }, {
    key: "getPage",
    value: function getPage(pageNumber) {
      var _this13 = this;

      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
        return Promise.reject(new Error("Invalid page request"));
      }

      var pageIndex = pageNumber - 1;

      if (pageIndex in this.pagePromises) {
        return this.pagePromises[pageIndex];
      }

      var promise = this.messageHandler.sendWithPromise("GetPage", {
        pageIndex: pageIndex
      }).then(function (pageInfo) {
        if (_this13.destroyed) {
          throw new Error("Transport destroyed");
        }

        var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);
        _this13.pageCache[pageIndex] = page;
        return page;
      });
      this.pagePromises[pageIndex] = promise;
      return promise;
    }
  }, {
    key: "getPageIndex",
    value: function getPageIndex(ref) {
      return this.messageHandler.sendWithPromise("GetPageIndex", {
        ref: ref
      })["catch"](function (reason) {
        return Promise.reject(new Error(reason));
      });
    }
  }, {
    key: "getAnnotations",
    value: function getAnnotations(pageIndex, intent) {
      return this.messageHandler.sendWithPromise("GetAnnotations", {
        pageIndex: pageIndex,
        intent: intent
      });
    }
  }, {
    key: "saveDocument",
    value: function saveDocument(annotationStorage) {
      var _this$_fullReader$fil, _this$_fullReader;

      return this.messageHandler.sendWithPromise("SaveDocument", {
        numPages: this._numPages,
        annotationStorage: (annotationStorage === null || annotationStorage === void 0 ? void 0 : annotationStorage.getAll()) || null,
        filename: (_this$_fullReader$fil = (_this$_fullReader = this._fullReader) === null || _this$_fullReader === void 0 ? void 0 : _this$_fullReader.filename) !== null && _this$_fullReader$fil !== void 0 ? _this$_fullReader$fil : null
      })["finally"](function () {
        if (annotationStorage) {
          annotationStorage.resetModified();
        }
      });
    }
  }, {
    key: "getFieldObjects",
    value: function getFieldObjects() {
      return this.messageHandler.sendWithPromise("GetFieldObjects", null);
    }
  }, {
    key: "hasJSActions",
    value: function hasJSActions() {
      return this._hasJSActionsPromise || (this._hasJSActionsPromise = this.messageHandler.sendWithPromise("HasJSActions", null));
    }
  }, {
    key: "getCalculationOrderIds",
    value: function getCalculationOrderIds() {
      return this.messageHandler.sendWithPromise("GetCalculationOrderIds", null);
    }
  }, {
    key: "getDestinations",
    value: function getDestinations() {
      return this.messageHandler.sendWithPromise("GetDestinations", null);
    }
  }, {
    key: "getDestination",
    value: function getDestination(id) {
      if (typeof id !== "string") {
        return Promise.reject(new Error("Invalid destination request."));
      }

      return this.messageHandler.sendWithPromise("GetDestination", {
        id: id
      });
    }
  }, {
    key: "getPageLabels",
    value: function getPageLabels() {
      return this.messageHandler.sendWithPromise("GetPageLabels", null);
    }
  }, {
    key: "getPageLayout",
    value: function getPageLayout() {
      return this.messageHandler.sendWithPromise("GetPageLayout", null);
    }
  }, {
    key: "getPageMode",
    value: function getPageMode() {
      return this.messageHandler.sendWithPromise("GetPageMode", null);
    }
  }, {
    key: "getViewerPreferences",
    value: function getViewerPreferences() {
      return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
    }
  }, {
    key: "getOpenAction",
    value: function getOpenAction() {
      return this.messageHandler.sendWithPromise("GetOpenAction", null);
    }
  }, {
    key: "getAttachments",
    value: function getAttachments() {
      return this.messageHandler.sendWithPromise("GetAttachments", null);
    }
  }, {
    key: "getJavaScript",
    value: function getJavaScript() {
      return this.messageHandler.sendWithPromise("GetJavaScript", null);
    }
  }, {
    key: "getDocJSActions",
    value: function getDocJSActions() {
      return this.messageHandler.sendWithPromise("GetDocJSActions", null);
    }
  }, {
    key: "getPageJSActions",
    value: function getPageJSActions(pageIndex) {
      return this.messageHandler.sendWithPromise("GetPageJSActions", {
        pageIndex: pageIndex
      });
    }
  }, {
    key: "getOutline",
    value: function getOutline() {
      return this.messageHandler.sendWithPromise("GetOutline", null);
    }
  }, {
    key: "getOptionalContentConfig",
    value: function getOptionalContentConfig() {
      return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) {
        return new _optional_content_config.OptionalContentConfig(results);
      });
    }
  }, {
    key: "getPermissions",
    value: function getPermissions() {
      return this.messageHandler.sendWithPromise("GetPermissions", null);
    }
  }, {
    key: "getMetadata",
    value: function getMetadata() {
      var _this14 = this;

      return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) {
        var _this14$_fullReader$f, _this14$_fullReader, _this14$_fullReader$c, _this14$_fullReader2;

        return {
          info: results[0],
          metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
          contentDispositionFilename: (_this14$_fullReader$f = (_this14$_fullReader = _this14._fullReader) === null || _this14$_fullReader === void 0 ? void 0 : _this14$_fullReader.filename) !== null && _this14$_fullReader$f !== void 0 ? _this14$_fullReader$f : null,
          contentLength: (_this14$_fullReader$c = (_this14$_fullReader2 = _this14._fullReader) === null || _this14$_fullReader2 === void 0 ? void 0 : _this14$_fullReader2.contentLength) !== null && _this14$_fullReader$c !== void 0 ? _this14$_fullReader$c : null
        };
      });
    }
  }, {
    key: "getMarkInfo",
    value: function getMarkInfo() {
      return this.messageHandler.sendWithPromise("GetMarkInfo", null);
    }
  }, {
    key: "getStats",
    value: function getStats() {
      return this.messageHandler.sendWithPromise("GetStats", null);
    }
  }, {
    key: "startCleanup",
    value: function startCleanup() {
      var _this15 = this;

      return this.messageHandler.sendWithPromise("Cleanup", null).then(function () {
        for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {
          var page = _this15.pageCache[i];

          if (page) {
            var cleanupSuccessful = page.cleanup();

            if (!cleanupSuccessful) {
              throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering."));
            }
          }
        }

        _this15.commonObjs.clear();

        _this15.fontLoader.clear();

        _this15._hasJSActionsPromise = null;
      });
    }
  }, {
    key: "loadingTaskSettled",
    get: function get() {
      return this.loadingTask._capability.settled;
    }
  }, {
    key: "loadingParams",
    get: function get() {
      var params = this._params;
      return (0, _util.shadow)(this, "loadingParams", {
        disableAutoFetch: params.disableAutoFetch,
        disableFontFace: params.disableFontFace
      });
    }
  }]);

  return WorkerTransport;
}();

var PDFObjects = /*#__PURE__*/function () {
  function PDFObjects() {
    _classCallCheck(this, PDFObjects);

    this._objs = Object.create(null);
  }

  _createClass(PDFObjects, [{
    key: "_ensureObj",
    value: function _ensureObj(objId) {
      if (this._objs[objId]) {
        return this._objs[objId];
      }

      return this._objs[objId] = {
        capability: (0, _util.createPromiseCapability)(),
        data: null,
        resolved: false
      };
    }
  }, {
    key: "get",
    value: function get(objId) {
      var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

      if (callback) {
        this._ensureObj(objId).capability.promise.then(callback);

        return null;
      }

      var obj = this._objs[objId];

      if (!obj || !obj.resolved) {
        throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
      }

      return obj.data;
    }
  }, {
    key: "has",
    value: function has(objId) {
      var obj = this._objs[objId];
      return (obj === null || obj === void 0 ? void 0 : obj.resolved) || false;
    }
  }, {
    key: "resolve",
    value: function resolve(objId, data) {
      var obj = this._ensureObj(objId);

      obj.resolved = true;
      obj.data = data;
      obj.capability.resolve(data);
    }
  }, {
    key: "clear",
    value: function clear() {
      this._objs = Object.create(null);
    }
  }]);

  return PDFObjects;
}();

var RenderTask = /*#__PURE__*/function () {
  function RenderTask(internalRenderTask) {
    _classCallCheck(this, RenderTask);

    this._internalRenderTask = internalRenderTask;
    this.onContinue = null;
  }

  _createClass(RenderTask, [{
    key: "cancel",
    value: function cancel() {
      this._internalRenderTask.cancel();
    }
  }, {
    key: "promise",
    get: function get() {
      return this._internalRenderTask.capability.promise;
    }
  }]);

  return RenderTask;
}();

var InternalRenderTask = function InternalRenderTaskClosure() {
  var canvasInRendering = new WeakSet();

  var InternalRenderTask = /*#__PURE__*/function () {
    function InternalRenderTask(_ref18) {
      var callback = _ref18.callback,
          params = _ref18.params,
          objs = _ref18.objs,
          commonObjs = _ref18.commonObjs,
          operatorList = _ref18.operatorList,
          pageIndex = _ref18.pageIndex,
          canvasFactory = _ref18.canvasFactory,
          webGLContext = _ref18.webGLContext,
          _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,
          useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,
          _ref18$pdfBug = _ref18.pdfBug,
          pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$pdfBug;

      _classCallCheck(this, InternalRenderTask);

      this.callback = callback;
      this.params = params;
      this.objs = objs;
      this.commonObjs = commonObjs;
      this.operatorListIdx = null;
      this.operatorList = operatorList;
      this._pageIndex = pageIndex;
      this.canvasFactory = canvasFactory;
      this.webGLContext = webGLContext;
      this._pdfBug = pdfBug;
      this.running = false;
      this.graphicsReadyCallback = null;
      this.graphicsReady = false;
      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
      this.cancelled = false;
      this.capability = (0, _util.createPromiseCapability)();
      this.task = new RenderTask(this);
      this._continueBound = this._continue.bind(this);
      this._scheduleNextBound = this._scheduleNext.bind(this);
      this._nextBound = this._next.bind(this);
      this._canvas = params.canvasContext.canvas;
    }

    _createClass(InternalRenderTask, [{
      key: "initializeGraphics",
      value: function initializeGraphics(_ref19) {
        var _globalThis$StepperMa;

        var _ref19$transparency = _ref19.transparency,
            transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,
            optionalContentConfig = _ref19.optionalContentConfig;

        if (this.cancelled) {
          return;
        }

        if (this._canvas) {
          if (canvasInRendering.has(this._canvas)) {
            throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
          }

          canvasInRendering.add(this._canvas);
        }

        if (this._pdfBug && (_globalThis$StepperMa = globalThis.StepperManager) !== null && _globalThis$StepperMa !== void 0 && _globalThis$StepperMa.enabled) {
          this.stepper = globalThis.StepperManager.create(this._pageIndex);
          this.stepper.init(this.operatorList);
          this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
        }

        var _this$params = this.params,
            canvasContext = _this$params.canvasContext,
            viewport = _this$params.viewport,
            transform = _this$params.transform,
            imageLayer = _this$params.imageLayer,
            background = _this$params.background;
        this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);
        this.gfx.beginDrawing({
          transform: transform,
          viewport: viewport,
          transparency: transparency,
          background: background
        });
        this.operatorListIdx = 0;
        this.graphicsReady = true;

        if (this.graphicsReadyCallback) {
          this.graphicsReadyCallback();
        }
      }
    }, {
      key: "cancel",
      value: function cancel() {
        var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
        this.running = false;
        this.cancelled = true;

        if (this.gfx) {
          this.gfx.endDrawing();
        }

        if (this._canvas) {
          canvasInRendering["delete"](this._canvas);
        }

        this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas"));
      }
    }, {
      key: "operatorListChanged",
      value: function operatorListChanged() {
        if (!this.graphicsReady) {
          if (!this.graphicsReadyCallback) {
            this.graphicsReadyCallback = this._continueBound;
          }

          return;
        }

        if (this.stepper) {
          this.stepper.updateOperatorList(this.operatorList);
        }

        if (this.running) {
          return;
        }

        this._continue();
      }
    }, {
      key: "_continue",
      value: function _continue() {
        this.running = true;

        if (this.cancelled) {
          return;
        }

        if (this.task.onContinue) {
          this.task.onContinue(this._scheduleNextBound);
        } else {
          this._scheduleNext();
        }
      }
    }, {
      key: "_scheduleNext",
      value: function _scheduleNext() {
        var _this16 = this;

        if (this._useRequestAnimationFrame) {
          window.requestAnimationFrame(function () {
            _this16._nextBound()["catch"](_this16.cancel.bind(_this16));
          });
        } else {
          Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
        }
      }
    }, {
      key: "_next",
      value: function () {
        var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
          return _regenerator["default"].wrap(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  if (!this.cancelled) {
                    _context2.next = 2;
                    break;
                  }

                  return _context2.abrupt("return");

                case 2:
                  this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);

                  if (this.operatorListIdx === this.operatorList.argsArray.length) {
                    this.running = false;

                    if (this.operatorList.lastChunk) {
                      this.gfx.endDrawing();

                      if (this._canvas) {
                        canvasInRendering["delete"](this._canvas);
                      }

                      this.callback();
                    }
                  }

                case 4:
                case "end":
                  return _context2.stop();
              }
            }
          }, _callee2, this);
        }));

        function _next() {
          return _next2.apply(this, arguments);
        }

        return _next;
      }()
    }, {
      key: "completed",
      get: function get() {
        return this.capability.promise["catch"](function () {});
      }
    }]);

    return InternalRenderTask;
  }();

  return InternalRenderTask;
}();

var version = '2.7.570';
exports.version = version;
var build = 'f2c7338b0';
exports.build = build;

/***/ }),
/* 136 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.FontLoader = exports.FontFaceObject = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var BaseFontLoader = /*#__PURE__*/function () {
  function BaseFontLoader(_ref) {
    var docId = _ref.docId,
        onUnsupportedFeature = _ref.onUnsupportedFeature,
        _ref$ownerDocument = _ref.ownerDocument,
        ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;

    _classCallCheck(this, BaseFontLoader);

    if (this.constructor === BaseFontLoader) {
      (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
    }

    this.docId = docId;
    this._onUnsupportedFeature = onUnsupportedFeature;
    this._document = ownerDocument;
    this.nativeFontFaces = [];
    this.styleElement = null;
  }

  _createClass(BaseFontLoader, [{
    key: "addNativeFontFace",
    value: function addNativeFontFace(nativeFontFace) {
      this.nativeFontFaces.push(nativeFontFace);

      this._document.fonts.add(nativeFontFace);
    }
  }, {
    key: "insertRule",
    value: function insertRule(rule) {
      var styleElement = this.styleElement;

      if (!styleElement) {
        styleElement = this.styleElement = this._document.createElement("style");
        styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);

        this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
      }

      var styleSheet = styleElement.sheet;
      styleSheet.insertRule(rule, styleSheet.cssRules.length);
    }
  }, {
    key: "clear",
    value: function clear() {
      var _this = this;

      this.nativeFontFaces.forEach(function (nativeFontFace) {
        _this._document.fonts["delete"](nativeFontFace);
      });
      this.nativeFontFaces.length = 0;

      if (this.styleElement) {
        this.styleElement.remove();
        this.styleElement = null;
      }
    }
  }, {
    key: "bind",
    value: function () {
      var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) {
        var _this2 = this;

        var nativeFontFace, rule;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(font.attached || font.missingFile)) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return");

              case 2:
                font.attached = true;

                if (!this.isFontLoadingAPISupported) {
                  _context.next = 19;
                  break;
                }

                nativeFontFace = font.createNativeFontFace();

                if (!nativeFontFace) {
                  _context.next = 18;
                  break;
                }

                this.addNativeFontFace(nativeFontFace);
                _context.prev = 7;
                _context.next = 10;
                return nativeFontFace.loaded;

              case 10:
                _context.next = 18;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](7);

                this._onUnsupportedFeature({
                  featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative
                });

                (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
                font.disableFontFace = true;
                throw _context.t0;

              case 18:
                return _context.abrupt("return");

              case 19:
                rule = font.createFontFaceRule();

                if (!rule) {
                  _context.next = 26;
                  break;
                }

                this.insertRule(rule);

                if (!this.isSyncFontLoadingSupported) {
                  _context.next = 24;
                  break;
                }

                return _context.abrupt("return");

              case 24:
                _context.next = 26;
                return new Promise(function (resolve) {
                  var request = _this2._queueLoadingCallback(resolve);

                  _this2._prepareFontLoadEvent([rule], [font], request);
                });

              case 26:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[7, 12]]);
      }));

      function bind(_x) {
        return _bind.apply(this, arguments);
      }

      return bind;
    }()
  }, {
    key: "_queueLoadingCallback",
    value: function _queueLoadingCallback(callback) {
      (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
    }
  }, {
    key: "_prepareFontLoadEvent",
    value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
      (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
    }
  }, {
    key: "isFontLoadingAPISupported",
    get: function get() {
      var _this$_document;

      return (0, _util.shadow)(this, "isFontLoadingAPISupported", !!((_this$_document = this._document) !== null && _this$_document !== void 0 && _this$_document.fonts));
    }
  }, {
    key: "isSyncFontLoadingSupported",
    get: function get() {
      (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
    }
  }, {
    key: "_loadTestFont",
    get: function get() {
      (0, _util.unreachable)("Abstract method `_loadTestFont`.");
    }
  }]);

  return BaseFontLoader;
}();

var FontLoader;
exports.FontLoader = FontLoader;
{
  exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {
    _inherits(GenericFontLoader, _BaseFontLoader);

    var _super = _createSuper(GenericFontLoader);

    function GenericFontLoader(params) {
      var _this3;

      _classCallCheck(this, GenericFontLoader);

      _this3 = _super.call(this, params);
      _this3.loadingContext = {
        requests: [],
        nextRequestId: 0
      };
      _this3.loadTestFontId = 0;
      return _this3;
    }

    _createClass(GenericFontLoader, [{
      key: "_queueLoadingCallback",
      value: function _queueLoadingCallback(callback) {
        function completeRequest() {
          (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
          request.done = true;

          while (context.requests.length > 0 && context.requests[0].done) {
            var otherRequest = context.requests.shift();
            setTimeout(otherRequest.callback, 0);
          }
        }

        var context = this.loadingContext;
        var request = {
          id: "pdfjs-font-loading-".concat(context.nextRequestId++),
          done: false,
          complete: completeRequest,
          callback: callback
        };
        context.requests.push(request);
        return request;
      }
    }, {
      key: "_prepareFontLoadEvent",
      value: function _prepareFontLoadEvent(rules, fonts, request) {
        var _this4 = this;

        function int32(data, offset) {
          return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
        }

        function spliceString(s, offset, remove, insert) {
          var chunk1 = s.substring(0, offset);
          var chunk2 = s.substring(offset + remove);
          return chunk1 + insert + chunk2;
        }

        var i, ii;

        var canvas = this._document.createElement("canvas");

        canvas.width = 1;
        canvas.height = 1;
        var ctx = canvas.getContext("2d");
        var called = 0;

        function isFontReady(name, callback) {
          called++;

          if (called > 30) {
            (0, _util.warn)("Load test font never loaded.");
            callback();
            return;
          }

          ctx.font = "30px " + name;
          ctx.fillText(".", 0, 20);
          var imageData = ctx.getImageData(0, 0, 1, 1);

          if (imageData.data[3] > 0) {
            callback();
            return;
          }

          setTimeout(isFontReady.bind(null, name, callback));
        }

        var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
        var data = this._loadTestFont;
        var COMMENT_OFFSET = 976;
        data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
        var CFF_CHECKSUM_OFFSET = 16;
        var XXXX_VALUE = 0x58585858;
        var checksum = int32(data, CFF_CHECKSUM_OFFSET);

        for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
          checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
        }

        if (i < loadTestFontId.length) {
          checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
        }

        data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
        var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
        var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
        this.insertRule(rule);
        var names = [];

        for (i = 0, ii = fonts.length; i < ii; i++) {
          names.push(fonts[i].loadedName);
        }

        names.push(loadTestFontId);

        var div = this._document.createElement("div");

        div.style.visibility = "hidden";
        div.style.width = div.style.height = "10px";
        div.style.position = "absolute";
        div.style.top = div.style.left = "0px";

        for (i = 0, ii = names.length; i < ii; ++i) {
          var span = this._document.createElement("span");

          span.textContent = "Hi";
          span.style.fontFamily = names[i];
          div.appendChild(span);
        }

        this._document.body.appendChild(div);

        isFontReady(loadTestFontId, function () {
          _this4._document.body.removeChild(div);

          request.complete();
        });
      }
    }, {
      key: "isSyncFontLoadingSupported",
      get: function get() {
        var supported = false;

        if (typeof navigator === "undefined") {
          supported = true;
        } else {
          var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);

          if ((m === null || m === void 0 ? void 0 : m[1]) >= 14) {
            supported = true;
          }
        }

        return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
      }
    }, {
      key: "_loadTestFont",
      get: function get() {
        var getLoadTestFont = function getLoadTestFont() {
          return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
        };

        return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
      }
    }]);

    return GenericFontLoader;
  }(BaseFontLoader);
}

var FontFaceObject = /*#__PURE__*/function () {
  function FontFaceObject(translatedData, _ref2) {
    var _ref2$isEvalSupported = _ref2.isEvalSupported,
        isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
        _ref2$disableFontFace = _ref2.disableFontFace,
        disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
        _ref2$ignoreErrors = _ref2.ignoreErrors,
        ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
        _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
        onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
        _ref2$fontRegistry = _ref2.fontRegistry,
        fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;

    _classCallCheck(this, FontFaceObject);

    this.compiledGlyphs = Object.create(null);

    for (var i in translatedData) {
      this[i] = translatedData[i];
    }

    this.isEvalSupported = isEvalSupported !== false;
    this.disableFontFace = disableFontFace === true;
    this.ignoreErrors = ignoreErrors === true;
    this._onUnsupportedFeature = onUnsupportedFeature;
    this.fontRegistry = fontRegistry;
  }

  _createClass(FontFaceObject, [{
    key: "createNativeFontFace",
    value: function createNativeFontFace() {
      if (!this.data || this.disableFontFace) {
        return null;
      }

      var nativeFontFace = new FontFace(this.loadedName, this.data, {});

      if (this.fontRegistry) {
        this.fontRegistry.registerFont(this);
      }

      return nativeFontFace;
    }
  }, {
    key: "createFontFaceRule",
    value: function createFontFaceRule() {
      if (!this.data || this.disableFontFace) {
        return null;
      }

      var data = (0, _util.bytesToString)(new Uint8Array(this.data));
      var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
      var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");

      if (this.fontRegistry) {
        this.fontRegistry.registerFont(this, url);
      }

      return rule;
    }
  }, {
    key: "getPathGenerator",
    value: function getPathGenerator(objs, character) {
      if (this.compiledGlyphs[character] !== undefined) {
        return this.compiledGlyphs[character];
      }

      var cmds, current;

      try {
        cmds = objs.get(this.loadedName + "_path_" + character);
      } catch (ex) {
        if (!this.ignoreErrors) {
          throw ex;
        }

        if (this._onUnsupportedFeature) {
          this._onUnsupportedFeature({
            featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath
          });
        }

        (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
        return this.compiledGlyphs[character] = function (c, size) {};
      }

      if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
        var args,
            js = "";

        for (var i = 0, ii = cmds.length; i < ii; i++) {
          current = cmds[i];

          if (current.args !== undefined) {
            args = current.args.join(",");
          } else {
            args = "";
          }

          js += "c." + current.cmd + "(" + args + ");\n";
        }

        return this.compiledGlyphs[character] = new Function("c", "size", js);
      }

      return this.compiledGlyphs[character] = function (c, size) {
        for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
          current = cmds[_i];

          if (current.cmd === "scale") {
            current.args = [size, -size];
          }

          c[current.cmd].apply(c, current.args);
        }
      };
    }
  }]);

  return FontFaceObject;
}();

exports.FontFaceObject = FontFaceObject;

/***/ }),
/* 137 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;

var _display_utils = __w_pdfjs_require__(1);

var _is_node = __w_pdfjs_require__(6);

var _util = __w_pdfjs_require__(4);

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var NodeCanvasFactory = function NodeCanvasFactory() {
  _classCallCheck(this, NodeCanvasFactory);

  (0, _util.unreachable)("Not implemented: NodeCanvasFactory");
};

exports.NodeCanvasFactory = NodeCanvasFactory;

var NodeCMapReaderFactory = function NodeCMapReaderFactory() {
  _classCallCheck(this, NodeCMapReaderFactory);

  (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory");
};

exports.NodeCMapReaderFactory = NodeCMapReaderFactory;

if (_is_node.isNodeJS) {
  exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
    _inherits(NodeCanvasFactory, _BaseCanvasFactory);

    var _super = _createSuper(NodeCanvasFactory);

    function NodeCanvasFactory() {
      _classCallCheck(this, NodeCanvasFactory);

      return _super.apply(this, arguments);
    }

    _createClass(NodeCanvasFactory, [{
      key: "create",
      value: function create(width, height) {
        if (width <= 0 || height <= 0) {
          throw new Error("Invalid canvas size");
        }

        var Canvas = __webpack_require__(2);

        var canvas = Canvas.createCanvas(width, height);
        return {
          canvas: canvas,
          context: canvas.getContext("2d")
        };
      }
    }]);

    return NodeCanvasFactory;
  }(_display_utils.BaseCanvasFactory);

  exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
    _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);

    var _super2 = _createSuper(NodeCMapReaderFactory);

    function NodeCMapReaderFactory() {
      _classCallCheck(this, NodeCMapReaderFactory);

      return _super2.apply(this, arguments);
    }

    _createClass(NodeCMapReaderFactory, [{
      key: "_fetchData",
      value: function _fetchData(url, compressionType) {
        return new Promise(function (resolve, reject) {
          var fs = __webpack_require__(0);

          fs.readFile(url, function (error, data) {
            if (error || !data) {
              reject(new Error(error));
              return;
            }

            resolve({
              cMapData: new Uint8Array(data),
              compressionType: compressionType
            });
          });
        });
      }
    }]);

    return NodeCMapReaderFactory;
  }(_display_utils.BaseCMapReaderFactory);
}

/***/ }),
/* 138 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.AnnotationStorage = void 0;

var _util = __w_pdfjs_require__(4);

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationStorage = /*#__PURE__*/function () {
  function AnnotationStorage() {
    _classCallCheck(this, AnnotationStorage);

    this._storage = new Map();
    this._modified = false;
    this.onSetModified = null;
    this.onResetModified = null;
  }

  _createClass(AnnotationStorage, [{
    key: "getOrCreateValue",
    value: function getOrCreateValue(key, defaultValue) {
      if (this._storage.has(key)) {
        return this._storage.get(key);
      }

      this._storage.set(key, defaultValue);

      return defaultValue;
    }
  }, {
    key: "setValue",
    value: function setValue(key, value) {
      var obj = this._storage.get(key);

      var modified = false;

      if (obj !== undefined) {
        for (var _i = 0, _Object$entries = Object.entries(value); _i < _Object$entries.length; _i++) {
          var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
              entry = _Object$entries$_i[0],
              val = _Object$entries$_i[1];

          if (obj[entry] !== val) {
            modified = true;
            obj[entry] = val;
          }
        }
      } else {
        this._storage.set(key, value);

        modified = true;
      }

      if (modified) {
        this._setModified();
      }
    }
  }, {
    key: "getAll",
    value: function getAll() {
      if (this._storage.size === 0) {
        return null;
      }

      return (0, _util.objectFromEntries)(this._storage);
    }
  }, {
    key: "_setModified",
    value: function _setModified() {
      if (!this._modified) {
        this._modified = true;

        if (typeof this.onSetModified === "function") {
          this.onSetModified();
        }
      }
    }
  }, {
    key: "resetModified",
    value: function resetModified() {
      if (this._modified) {
        this._modified = false;

        if (typeof this.onResetModified === "function") {
          this.onResetModified();
        }
      }
    }
  }, {
    key: "size",
    get: function get() {
      return this._storage.size;
    }
  }]);

  return AnnotationStorage;
}();

exports.AnnotationStorage = AnnotationStorage;

/***/ }),
/* 139 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.apiCompatibilityParams = void 0;

var _is_node = __w_pdfjs_require__(6);

var compatibilityParams = Object.create(null);
{
  (function checkFontFace() {
    if (_is_node.isNodeJS) {
      compatibilityParams.disableFontFace = true;
    }
  })();
}
var apiCompatibilityParams = Object.freeze(compatibilityParams);
exports.apiCompatibilityParams = apiCompatibilityParams;

/***/ }),
/* 140 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.CanvasGraphics = void 0;

var _util = __w_pdfjs_require__(4);

var _pattern_helper = __w_pdfjs_require__(141);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

var MIN_FONT_SIZE = 16;
var MAX_FONT_SIZE = 100;
var MAX_GROUP_SIZE = 4096;
var COMPILE_TYPE3_GLYPHS = true;
var MAX_SIZE_TO_COMPILE = 1000;
var FULL_CHUNK_HEIGHT = 16;

function addContextCurrentTransform(ctx) {
  if (!ctx.mozCurrentTransform) {
    ctx._originalSave = ctx.save;
    ctx._originalRestore = ctx.restore;
    ctx._originalRotate = ctx.rotate;
    ctx._originalScale = ctx.scale;
    ctx._originalTranslate = ctx.translate;
    ctx._originalTransform = ctx.transform;
    ctx._originalSetTransform = ctx.setTransform;
    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
    ctx._transformStack = [];
    Object.defineProperty(ctx, "mozCurrentTransform", {
      get: function getCurrentTransform() {
        return this._transformMatrix;
      }
    });
    Object.defineProperty(ctx, "mozCurrentTransformInverse", {
      get: function getCurrentTransformInverse() {
        var m = this._transformMatrix;
        var a = m[0],
            b = m[1],
            c = m[2],
            d = m[3],
            e = m[4],
            f = m[5];
        var ad_bc = a * d - b * c;
        var bc_ad = b * c - a * d;
        return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];
      }
    });

    ctx.save = function ctxSave() {
      var old = this._transformMatrix;

      this._transformStack.push(old);

      this._transformMatrix = old.slice(0, 6);

      this._originalSave();
    };

    ctx.restore = function ctxRestore() {
      var prev = this._transformStack.pop();

      if (prev) {
        this._transformMatrix = prev;

        this._originalRestore();
      }
    };

    ctx.translate = function ctxTranslate(x, y) {
      var m = this._transformMatrix;
      m[4] = m[0] * x + m[2] * y + m[4];
      m[5] = m[1] * x + m[3] * y + m[5];

      this._originalTranslate(x, y);
    };

    ctx.scale = function ctxScale(x, y) {
      var m = this._transformMatrix;
      m[0] = m[0] * x;
      m[1] = m[1] * x;
      m[2] = m[2] * y;
      m[3] = m[3] * y;

      this._originalScale(x, y);
    };

    ctx.transform = function ctxTransform(a, b, c, d, e, f) {
      var m = this._transformMatrix;
      this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];

      ctx._originalTransform(a, b, c, d, e, f);
    };

    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
      this._transformMatrix = [a, b, c, d, e, f];

      ctx._originalSetTransform(a, b, c, d, e, f);
    };

    ctx.rotate = function ctxRotate(angle) {
      var cosValue = Math.cos(angle);
      var sinValue = Math.sin(angle);
      var m = this._transformMatrix;
      this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];

      this._originalRotate(angle);
    };
  }
}

var CachedCanvases = function CachedCanvasesClosure() {
  function CachedCanvases(canvasFactory) {
    this.canvasFactory = canvasFactory;
    this.cache = Object.create(null);
  }

  CachedCanvases.prototype = {
    getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {
      var canvasEntry;

      if (this.cache[id] !== undefined) {
        canvasEntry = this.cache[id];
        this.canvasFactory.reset(canvasEntry, width, height);
        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);
      } else {
        canvasEntry = this.canvasFactory.create(width, height);
        this.cache[id] = canvasEntry;
      }

      if (trackTransform) {
        addContextCurrentTransform(canvasEntry.context);
      }

      return canvasEntry;
    },
    clear: function clear() {
      for (var id in this.cache) {
        var canvasEntry = this.cache[id];
        this.canvasFactory.destroy(canvasEntry);
        delete this.cache[id];
      }
    }
  };
  return CachedCanvases;
}();

function compileType3Glyph(imgData) {
  var POINT_TO_PROCESS_LIMIT = 1000;
  var width = imgData.width,
      height = imgData.height,
      width1 = width + 1;
  var i, ii, j, j0;
  var points = new Uint8Array(width1 * (height + 1));
  var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
  var lineSize = width + 7 & ~7,
      data0 = imgData.data;
  var data = new Uint8Array(lineSize * height);
  var pos = 0;

  for (i = 0, ii = data0.length; i < ii; i++) {
    var elem = data0[i];
    var mask = 128;

    while (mask > 0) {
      data[pos++] = elem & mask ? 0 : 255;
      mask >>= 1;
    }
  }

  var count = 0;
  pos = 0;

  if (data[pos] !== 0) {
    points[0] = 1;
    ++count;
  }

  for (j = 1; j < width; j++) {
    if (data[pos] !== data[pos + 1]) {
      points[j] = data[pos] ? 2 : 1;
      ++count;
    }

    pos++;
  }

  if (data[pos] !== 0) {
    points[j] = 2;
    ++count;
  }

  for (i = 1; i < height; i++) {
    pos = i * lineSize;
    j0 = i * width1;

    if (data[pos - lineSize] !== data[pos]) {
      points[j0] = data[pos] ? 1 : 8;
      ++count;
    }

    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);

    for (j = 1; j < width; j++) {
      sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);

      if (POINT_TYPES[sum]) {
        points[j0 + j] = POINT_TYPES[sum];
        ++count;
      }

      pos++;
    }

    if (data[pos - lineSize] !== data[pos]) {
      points[j0 + j] = data[pos] ? 2 : 4;
      ++count;
    }

    if (count > POINT_TO_PROCESS_LIMIT) {
      return null;
    }
  }

  pos = lineSize * (height - 1);
  j0 = i * width1;

  if (data[pos] !== 0) {
    points[j0] = 8;
    ++count;
  }

  for (j = 1; j < width; j++) {
    if (data[pos] !== data[pos + 1]) {
      points[j0 + j] = data[pos] ? 4 : 8;
      ++count;
    }

    pos++;
  }

  if (data[pos] !== 0) {
    points[j0 + j] = 4;
    ++count;
  }

  if (count > POINT_TO_PROCESS_LIMIT) {
    return null;
  }

  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
  var outlines = [];

  for (i = 0; count && i <= height; i++) {
    var p = i * width1;
    var end = p + width;

    while (p < end && !points[p]) {
      p++;
    }

    if (p === end) {
      continue;
    }

    var coords = [p % width1, i];
    var p0 = p;
    var type = points[p];

    do {
      var step = steps[type];

      do {
        p += step;
      } while (!points[p]);

      var pp = points[p];

      if (pp !== 5 && pp !== 10) {
        type = pp;
        points[p] = 0;
      } else {
        type = pp & 0x33 * type >> 4;
        points[p] &= type >> 2 | type << 2;
      }

      coords.push(p % width1);
      coords.push(p / width1 | 0);

      if (!points[p]) {
        --count;
      }
    } while (p0 !== p);

    outlines.push(coords);
    --i;
  }

  var drawOutline = function drawOutline(c) {
    c.save();
    c.scale(1 / width, -1 / height);
    c.translate(0, -height);
    c.beginPath();

    for (var k = 0, kk = outlines.length; k < kk; k++) {
      var o = outlines[k];
      c.moveTo(o[0], o[1]);

      for (var l = 2, ll = o.length; l < ll; l += 2) {
        c.lineTo(o[l], o[l + 1]);
      }
    }

    c.fill();
    c.beginPath();
    c.restore();
  };

  return drawOutline;
}

var CanvasExtraState = function CanvasExtraStateClosure() {
  function CanvasExtraState() {
    this.alphaIsShape = false;
    this.fontSize = 0;
    this.fontSizeScale = 1;
    this.textMatrix = _util.IDENTITY_MATRIX;
    this.textMatrixScale = 1;
    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
    this.leading = 0;
    this.x = 0;
    this.y = 0;
    this.lineX = 0;
    this.lineY = 0;
    this.charSpacing = 0;
    this.wordSpacing = 0;
    this.textHScale = 1;
    this.textRenderingMode = _util.TextRenderingMode.FILL;
    this.textRise = 0;
    this.fillColor = "#000000";
    this.strokeColor = "#000000";
    this.patternFill = false;
    this.fillAlpha = 1;
    this.strokeAlpha = 1;
    this.lineWidth = 1;
    this.activeSMask = null;
    this.resumeSMaskCtx = null;
    this.transferMaps = null;
  }

  CanvasExtraState.prototype = {
    clone: function CanvasExtraState_clone() {
      return Object.create(this);
    },
    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {
      this.x = x;
      this.y = y;
    }
  };
  return CanvasExtraState;
}();

var CanvasGraphics = function CanvasGraphicsClosure() {
  var EXECUTION_TIME = 15;
  var EXECUTION_STEPS = 10;

  function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {
    this.ctx = canvasCtx;
    this.current = new CanvasExtraState();
    this.stateStack = [];
    this.pendingClip = null;
    this.pendingEOFill = false;
    this.res = null;
    this.xobjs = null;
    this.commonObjs = commonObjs;
    this.objs = objs;
    this.canvasFactory = canvasFactory;
    this.webGLContext = webGLContext;
    this.imageLayer = imageLayer;
    this.groupStack = [];
    this.processingType3 = null;
    this.baseTransform = null;
    this.baseTransformStack = [];
    this.groupLevel = 0;
    this.smaskStack = [];
    this.smaskCounter = 0;
    this.tempSMask = null;
    this.contentVisible = true;
    this.markedContentStack = [];
    this.optionalContentConfig = optionalContentConfig;
    this.cachedCanvases = new CachedCanvases(this.canvasFactory);

    if (canvasCtx) {
      addContextCurrentTransform(canvasCtx);
    }

    this._cachedGetSinglePixelWidth = null;
  }

  function putBinaryImageData(ctx, imgData) {
    var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

    if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
      ctx.putImageData(imgData, 0, 0);
      return;
    }

    var height = imgData.height,
        width = imgData.width;
    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
    var srcPos = 0,
        destPos;
    var src = imgData.data;
    var dest = chunkImgData.data;
    var i, j, thisChunkHeight, elemsInThisChunk;
    var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;

    if (transferMaps) {
      switch (transferMaps.length) {
        case 1:
          transferMapRed = transferMaps[0];
          transferMapGreen = transferMaps[0];
          transferMapBlue = transferMaps[0];
          transferMapGray = transferMaps[0];
          break;

        case 4:
          transferMapRed = transferMaps[0];
          transferMapGreen = transferMaps[1];
          transferMapBlue = transferMaps[2];
          transferMapGray = transferMaps[3];
          break;
      }
    }

    if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
      var srcLength = src.byteLength;
      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
      var dest32DataLength = dest32.length;
      var fullSrcDiff = width + 7 >> 3;
      var white = 0xffffffff;
      var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;

      if (transferMapGray) {
        if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {
          var _ref = [black, white];
          white = _ref[0];
          black = _ref[1];
        }
      }

      for (i = 0; i < totalChunks; i++) {
        thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
        destPos = 0;

        for (j = 0; j < thisChunkHeight; j++) {
          var srcDiff = srcLength - srcPos;
          var k = 0;
          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
          var kEndUnrolled = kEnd & ~7;
          var mask = 0;
          var srcByte = 0;

          for (; k < kEndUnrolled; k += 8) {
            srcByte = src[srcPos++];
            dest32[destPos++] = srcByte & 128 ? white : black;
            dest32[destPos++] = srcByte & 64 ? white : black;
            dest32[destPos++] = srcByte & 32 ? white : black;
            dest32[destPos++] = srcByte & 16 ? white : black;
            dest32[destPos++] = srcByte & 8 ? white : black;
            dest32[destPos++] = srcByte & 4 ? white : black;
            dest32[destPos++] = srcByte & 2 ? white : black;
            dest32[destPos++] = srcByte & 1 ? white : black;
          }

          for (; k < kEnd; k++) {
            if (mask === 0) {
              srcByte = src[srcPos++];
              mask = 128;
            }

            dest32[destPos++] = srcByte & mask ? white : black;
            mask >>= 1;
          }
        }

        while (destPos < dest32DataLength) {
          dest32[destPos++] = 0;
        }

        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
      }
    } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
      var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
      j = 0;
      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;

      for (i = 0; i < fullChunks; i++) {
        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
        srcPos += elemsInThisChunk;

        if (hasTransferMaps) {
          for (var _k = 0; _k < elemsInThisChunk; _k += 4) {
            if (transferMapRed) {
              dest[_k + 0] = transferMapRed[dest[_k + 0]];
            }

            if (transferMapGreen) {
              dest[_k + 1] = transferMapGreen[dest[_k + 1]];
            }

            if (transferMapBlue) {
              dest[_k + 2] = transferMapBlue[dest[_k + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, j);
        j += FULL_CHUNK_HEIGHT;
      }

      if (i < totalChunks) {
        elemsInThisChunk = width * partialChunkHeight * 4;
        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));

        if (hasTransferMaps) {
          for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {
            if (transferMapRed) {
              dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];
            }

            if (transferMapGreen) {
              dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];
            }

            if (transferMapBlue) {
              dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, j);
      }
    } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
      var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);

      thisChunkHeight = FULL_CHUNK_HEIGHT;
      elemsInThisChunk = width * thisChunkHeight;

      for (i = 0; i < totalChunks; i++) {
        if (i >= fullChunks) {
          thisChunkHeight = partialChunkHeight;
          elemsInThisChunk = width * thisChunkHeight;
        }

        destPos = 0;

        for (j = elemsInThisChunk; j--;) {
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = 255;
        }

        if (_hasTransferMaps) {
          for (var _k3 = 0; _k3 < destPos; _k3 += 4) {
            if (transferMapRed) {
              dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];
            }

            if (transferMapGreen) {
              dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];
            }

            if (transferMapBlue) {
              dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
      }
    } else {
      throw new Error("bad image kind: ".concat(imgData.kind));
    }
  }

  function putBinaryImageMask(ctx, imgData) {
    var height = imgData.height,
        width = imgData.width;
    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
    var srcPos = 0;
    var src = imgData.data;
    var dest = chunkImgData.data;

    for (var i = 0; i < totalChunks; i++) {
      var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
      var destPos = 3;

      for (var j = 0; j < thisChunkHeight; j++) {
        var elem = void 0,
            mask = 0;

        for (var k = 0; k < width; k++) {
          if (!mask) {
            elem = src[srcPos++];
            mask = 128;
          }

          dest[destPos] = elem & mask ? 0 : 255;
          destPos += 4;
          mask >>= 1;
        }
      }

      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
    }
  }

  function copyCtxState(sourceCtx, destCtx) {
    var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];

    for (var i = 0, ii = properties.length; i < ii; i++) {
      var property = properties[i];

      if (sourceCtx[property] !== undefined) {
        destCtx[property] = sourceCtx[property];
      }
    }

    if (sourceCtx.setLineDash !== undefined) {
      destCtx.setLineDash(sourceCtx.getLineDash());
      destCtx.lineDashOffset = sourceCtx.lineDashOffset;
    }
  }

  function resetCtxToDefault(ctx) {
    ctx.strokeStyle = "#000000";
    ctx.fillStyle = "#000000";
    ctx.fillRule = "nonzero";
    ctx.globalAlpha = 1;
    ctx.lineWidth = 1;
    ctx.lineCap = "butt";
    ctx.lineJoin = "miter";
    ctx.miterLimit = 10;
    ctx.globalCompositeOperation = "source-over";
    ctx.font = "10px sans-serif";

    if (ctx.setLineDash !== undefined) {
      ctx.setLineDash([]);
      ctx.lineDashOffset = 0;
    }
  }

  function composeSMaskBackdrop(bytes, r0, g0, b0) {
    var length = bytes.length;

    for (var i = 3; i < length; i += 4) {
      var alpha = bytes[i];

      if (alpha === 0) {
        bytes[i - 3] = r0;
        bytes[i - 2] = g0;
        bytes[i - 1] = b0;
      } else if (alpha < 255) {
        var alpha_ = 255 - alpha;
        bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
        bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
        bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
      }
    }
  }

  function composeSMaskAlpha(maskData, layerData, transferMap) {
    var length = maskData.length;
    var scale = 1 / 255;

    for (var i = 3; i < length; i += 4) {
      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
      layerData[i] = layerData[i] * alpha * scale | 0;
    }
  }

  function composeSMaskLuminosity(maskData, layerData, transferMap) {
    var length = maskData.length;

    for (var i = 3; i < length; i += 4) {
      var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
      layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
    }
  }

  function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {
    var hasBackdrop = !!backdrop;
    var r0 = hasBackdrop ? backdrop[0] : 0;
    var g0 = hasBackdrop ? backdrop[1] : 0;
    var b0 = hasBackdrop ? backdrop[2] : 0;
    var composeFn;

    if (subtype === "Luminosity") {
      composeFn = composeSMaskLuminosity;
    } else {
      composeFn = composeSMaskAlpha;
    }

    var PIXELS_TO_PROCESS = 1048576;
    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));

    for (var row = 0; row < height; row += chunkSize) {
      var chunkHeight = Math.min(chunkSize, height - row);
      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);

      if (hasBackdrop) {
        composeSMaskBackdrop(maskData.data, r0, g0, b0);
      }

      composeFn(maskData.data, layerData.data, transferMap);
      maskCtx.putImageData(layerData, 0, row);
    }
  }

  function composeSMask(ctx, smask, layerCtx, webGLContext) {
    var mask = smask.canvas;
    var maskCtx = smask.context;
    ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
    var backdrop = smask.backdrop || null;

    if (!smask.transferMap && webGLContext.isEnabled) {
      var composed = webGLContext.composeSMask({
        layer: layerCtx.canvas,
        mask: mask,
        properties: {
          subtype: smask.subtype,
          backdrop: backdrop
        }
      });
      ctx.setTransform(1, 0, 0, 1, 0, 0);
      ctx.drawImage(composed, smask.offsetX, smask.offsetY);
      return;
    }

    genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);
    ctx.drawImage(mask, 0, 0);
  }

  var LINE_CAP_STYLES = ["butt", "round", "square"];
  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
  var NORMAL_CLIP = {};
  var EO_CLIP = {};
  CanvasGraphics.prototype = {
    beginDrawing: function beginDrawing(_ref2) {
      var transform = _ref2.transform,
          viewport = _ref2.viewport,
          _ref2$transparency = _ref2.transparency,
          transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,
          _ref2$background = _ref2.background,
          background = _ref2$background === void 0 ? null : _ref2$background;
      var width = this.ctx.canvas.width;
      var height = this.ctx.canvas.height;
      this.ctx.save();
      this.ctx.fillStyle = background || "rgb(255, 255, 255)";
      this.ctx.fillRect(0, 0, width, height);
      this.ctx.restore();

      if (transparency) {
        var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
        this.compositeCtx = this.ctx;
        this.transparentCanvas = transparentCanvas.canvas;
        this.ctx = transparentCanvas.context;
        this.ctx.save();
        this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);
      }

      this.ctx.save();
      resetCtxToDefault(this.ctx);

      if (transform) {
        this.ctx.transform.apply(this.ctx, transform);
      }

      this.ctx.transform.apply(this.ctx, viewport.transform);
      this.baseTransform = this.ctx.mozCurrentTransform.slice();
      this._combinedScaleFactor = Math.hypot(this.baseTransform[0], this.baseTransform[2]);

      if (this.imageLayer) {
        this.imageLayer.beginLayout();
      }
    },
    executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
      var argsArray = operatorList.argsArray;
      var fnArray = operatorList.fnArray;
      var i = executionStartIdx || 0;
      var argsArrayLen = argsArray.length;

      if (argsArrayLen === i) {
        return i;
      }

      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
      var steps = 0;
      var commonObjs = this.commonObjs;
      var objs = this.objs;
      var fnId;

      while (true) {
        if (stepper !== undefined && i === stepper.nextBreakPoint) {
          stepper.breakIt(i, continueCallback);
          return i;
        }

        fnId = fnArray[i];

        if (fnId !== _util.OPS.dependency) {
          this[fnId].apply(this, argsArray[i]);
        } else {
          var _iterator = _createForOfIteratorHelper(argsArray[i]),
              _step;

          try {
            for (_iterator.s(); !(_step = _iterator.n()).done;) {
              var depObjId = _step.value;
              var objsPool = depObjId.startsWith("g_") ? commonObjs : objs;

              if (!objsPool.has(depObjId)) {
                objsPool.get(depObjId, continueCallback);
                return i;
              }
            }
          } catch (err) {
            _iterator.e(err);
          } finally {
            _iterator.f();
          }
        }

        i++;

        if (i === argsArrayLen) {
          return i;
        }

        if (chunkOperations && ++steps > EXECUTION_STEPS) {
          if (Date.now() > endTime) {
            continueCallback();
            return i;
          }

          steps = 0;
        }
      }
    },
    endDrawing: function CanvasGraphics_endDrawing() {
      while (this.stateStack.length || this.current.activeSMask !== null) {
        this.restore();
      }

      this.ctx.restore();

      if (this.transparentCanvas) {
        this.ctx = this.compositeCtx;
        this.ctx.save();
        this.ctx.setTransform(1, 0, 0, 1, 0, 0);
        this.ctx.drawImage(this.transparentCanvas, 0, 0);
        this.ctx.restore();
        this.transparentCanvas = null;
      }

      this.cachedCanvases.clear();
      this.webGLContext.clear();

      if (this.imageLayer) {
        this.imageLayer.endLayout();
      }
    },
    setLineWidth: function CanvasGraphics_setLineWidth(width) {
      this.current.lineWidth = width;
      this.ctx.lineWidth = width;
    },
    setLineCap: function CanvasGraphics_setLineCap(style) {
      this.ctx.lineCap = LINE_CAP_STYLES[style];
    },
    setLineJoin: function CanvasGraphics_setLineJoin(style) {
      this.ctx.lineJoin = LINE_JOIN_STYLES[style];
    },
    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {
      this.ctx.miterLimit = limit;
    },
    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
      var ctx = this.ctx;

      if (ctx.setLineDash !== undefined) {
        ctx.setLineDash(dashArray);
        ctx.lineDashOffset = dashPhase;
      }
    },
    setRenderingIntent: function setRenderingIntent(intent) {},
    setFlatness: function setFlatness(flatness) {},
    setGState: function CanvasGraphics_setGState(states) {
      for (var i = 0, ii = states.length; i < ii; i++) {
        var state = states[i];
        var key = state[0];
        var value = state[1];

        switch (key) {
          case "LW":
            this.setLineWidth(value);
            break;

          case "LC":
            this.setLineCap(value);
            break;

          case "LJ":
            this.setLineJoin(value);
            break;

          case "ML":
            this.setMiterLimit(value);
            break;

          case "D":
            this.setDash(value[0], value[1]);
            break;

          case "RI":
            this.setRenderingIntent(value);
            break;

          case "FL":
            this.setFlatness(value);
            break;

          case "Font":
            this.setFont(value[0], value[1]);
            break;

          case "CA":
            this.current.strokeAlpha = state[1];
            break;

          case "ca":
            this.current.fillAlpha = state[1];
            this.ctx.globalAlpha = state[1];
            break;

          case "BM":
            this.ctx.globalCompositeOperation = value;
            break;

          case "SMask":
            if (this.current.activeSMask) {
              if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {
                this.suspendSMaskGroup();
              } else {
                this.endSMaskGroup();
              }
            }

            this.current.activeSMask = value ? this.tempSMask : null;

            if (this.current.activeSMask) {
              this.beginSMaskGroup();
            }

            this.tempSMask = null;
            break;

          case "TR":
            this.current.transferMaps = value;
        }
      }
    },
    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {
      var activeSMask = this.current.activeSMask;
      var drawnWidth = activeSMask.canvas.width;
      var drawnHeight = activeSMask.canvas.height;
      var cacheId = "smaskGroupAt" + this.groupLevel;
      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
      var currentCtx = this.ctx;
      var currentTransform = currentCtx.mozCurrentTransform;
      this.ctx.save();
      var groupCtx = scratchCanvas.context;
      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
      groupCtx.transform.apply(groupCtx, currentTransform);
      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
      copyCtxState(currentCtx, groupCtx);
      this.ctx = groupCtx;
      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
      this.groupStack.push(currentCtx);
      this.groupLevel++;
    },
    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {
      var groupCtx = this.ctx;
      this.groupLevel--;
      this.ctx = this.groupStack.pop();
      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
      this.ctx.restore();
      this.ctx.save();
      copyCtxState(groupCtx, this.ctx);
      this.current.resumeSMaskCtx = groupCtx;

      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);

      this.ctx.transform.apply(this.ctx, deltaTransform);
      groupCtx.save();
      groupCtx.setTransform(1, 0, 0, 1, 0, 0);
      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);
      groupCtx.restore();
    },
    resumeSMaskGroup: function CanvasGraphics_resumeSMaskGroup() {
      var groupCtx = this.current.resumeSMaskCtx;
      var currentCtx = this.ctx;
      this.ctx = groupCtx;
      this.groupStack.push(currentCtx);
      this.groupLevel++;
    },
    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {
      var groupCtx = this.ctx;
      this.groupLevel--;
      this.ctx = this.groupStack.pop();
      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
      this.ctx.restore();
      copyCtxState(groupCtx, this.ctx);

      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);

      this.ctx.transform.apply(this.ctx, deltaTransform);
    },
    save: function CanvasGraphics_save() {
      this.ctx.save();
      var old = this.current;
      this.stateStack.push(old);
      this.current = old.clone();
      this.current.resumeSMaskCtx = null;
    },
    restore: function CanvasGraphics_restore() {
      if (this.current.resumeSMaskCtx) {
        this.resumeSMaskGroup();
      }

      if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {
        this.endSMaskGroup();
      }

      if (this.stateStack.length !== 0) {
        this.current = this.stateStack.pop();
        this.ctx.restore();
        this.pendingClip = null;
        this._cachedGetSinglePixelWidth = null;
      } else {
        this.current.activeSMask = null;
      }
    },
    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
      this.ctx.transform(a, b, c, d, e, f);
      this._cachedGetSinglePixelWidth = null;
    },
    constructPath: function CanvasGraphics_constructPath(ops, args) {
      var ctx = this.ctx;
      var current = this.current;
      var x = current.x,
          y = current.y;

      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
        switch (ops[i] | 0) {
          case _util.OPS.rectangle:
            x = args[j++];
            y = args[j++];
            var width = args[j++];
            var height = args[j++];
            var xw = x + width;
            var yh = y + height;
            ctx.moveTo(x, y);

            if (width === 0 || height === 0) {
              ctx.lineTo(xw, yh);
            } else {
              ctx.lineTo(xw, y);
              ctx.lineTo(xw, yh);
              ctx.lineTo(x, yh);
            }

            ctx.closePath();
            break;

          case _util.OPS.moveTo:
            x = args[j++];
            y = args[j++];
            ctx.moveTo(x, y);
            break;

          case _util.OPS.lineTo:
            x = args[j++];
            y = args[j++];
            ctx.lineTo(x, y);
            break;

          case _util.OPS.curveTo:
            x = args[j + 4];
            y = args[j + 5];
            ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
            j += 6;
            break;

          case _util.OPS.curveTo2:
            ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
            x = args[j + 2];
            y = args[j + 3];
            j += 4;
            break;

          case _util.OPS.curveTo3:
            x = args[j + 2];
            y = args[j + 3];
            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
            j += 4;
            break;

          case _util.OPS.closePath:
            ctx.closePath();
            break;
        }
      }

      current.setCurrentPoint(x, y);
    },
    closePath: function CanvasGraphics_closePath() {
      this.ctx.closePath();
    },
    stroke: function CanvasGraphics_stroke(consumePath) {
      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
      var ctx = this.ctx;
      var strokeColor = this.current.strokeColor;
      ctx.globalAlpha = this.current.strokeAlpha;

      if (this.contentVisible) {
        if (_typeof(strokeColor) === "object" && strokeColor !== null && strokeColor !== void 0 && strokeColor.getPattern) {
          ctx.save();
          var transform = ctx.mozCurrentTransform;

          var scale = _util.Util.singularValueDecompose2dScale(transform)[0];

          ctx.strokeStyle = strokeColor.getPattern(ctx, this);
          var lineWidth = this.getSinglePixelWidth();
          var scaledLineWidth = this.current.lineWidth * scale;

          if (lineWidth < 0 && -lineWidth >= scaledLineWidth) {
            ctx.resetTransform();
            ctx.lineWidth = Math.round(this._combinedScaleFactor);
          } else {
            ctx.lineWidth = Math.max(lineWidth, scaledLineWidth);
          }

          ctx.stroke();
          ctx.restore();
        } else {
          var _lineWidth = this.getSinglePixelWidth();

          if (_lineWidth < 0 && -_lineWidth >= this.current.lineWidth) {
            ctx.save();
            ctx.resetTransform();
            ctx.lineWidth = Math.round(this._combinedScaleFactor);
            ctx.stroke();
            ctx.restore();
          } else {
            ctx.lineWidth = Math.max(_lineWidth, this.current.lineWidth);
            ctx.stroke();
          }
        }
      }

      if (consumePath) {
        this.consumePath();
      }

      ctx.globalAlpha = this.current.fillAlpha;
    },
    closeStroke: function CanvasGraphics_closeStroke() {
      this.closePath();
      this.stroke();
    },
    fill: function CanvasGraphics_fill(consumePath) {
      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
      var ctx = this.ctx;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var needRestore = false;

      if (isPatternFill) {
        ctx.save();

        if (this.baseTransform) {
          ctx.setTransform.apply(ctx, this.baseTransform);
        }

        ctx.fillStyle = fillColor.getPattern(ctx, this);
        needRestore = true;
      }

      if (this.contentVisible) {
        if (this.pendingEOFill) {
          ctx.fill("evenodd");
          this.pendingEOFill = false;
        } else {
          ctx.fill();
        }
      }

      if (needRestore) {
        ctx.restore();
      }

      if (consumePath) {
        this.consumePath();
      }
    },
    eoFill: function CanvasGraphics_eoFill() {
      this.pendingEOFill = true;
      this.fill();
    },
    fillStroke: function CanvasGraphics_fillStroke() {
      this.fill(false);
      this.stroke(false);
      this.consumePath();
    },
    eoFillStroke: function CanvasGraphics_eoFillStroke() {
      this.pendingEOFill = true;
      this.fillStroke();
    },
    closeFillStroke: function CanvasGraphics_closeFillStroke() {
      this.closePath();
      this.fillStroke();
    },
    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {
      this.pendingEOFill = true;
      this.closePath();
      this.fillStroke();
    },
    endPath: function CanvasGraphics_endPath() {
      this.consumePath();
    },
    clip: function CanvasGraphics_clip() {
      this.pendingClip = NORMAL_CLIP;
    },
    eoClip: function CanvasGraphics_eoClip() {
      this.pendingClip = EO_CLIP;
    },
    beginText: function CanvasGraphics_beginText() {
      this.current.textMatrix = _util.IDENTITY_MATRIX;
      this.current.textMatrixScale = 1;
      this.current.x = this.current.lineX = 0;
      this.current.y = this.current.lineY = 0;
    },
    endText: function CanvasGraphics_endText() {
      var paths = this.pendingTextPaths;
      var ctx = this.ctx;

      if (paths === undefined) {
        ctx.beginPath();
        return;
      }

      ctx.save();
      ctx.beginPath();

      for (var i = 0; i < paths.length; i++) {
        var path = paths[i];
        ctx.setTransform.apply(ctx, path.transform);
        ctx.translate(path.x, path.y);
        path.addToPath(ctx, path.fontSize);
      }

      ctx.restore();
      ctx.clip();
      ctx.beginPath();
      delete this.pendingTextPaths;
    },
    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {
      this.current.charSpacing = spacing;
    },
    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {
      this.current.wordSpacing = spacing;
    },
    setHScale: function CanvasGraphics_setHScale(scale) {
      this.current.textHScale = scale / 100;
    },
    setLeading: function CanvasGraphics_setLeading(leading) {
      this.current.leading = -leading;
    },
    setFont: function CanvasGraphics_setFont(fontRefName, size) {
      var fontObj = this.commonObjs.get(fontRefName);
      var current = this.current;

      if (!fontObj) {
        throw new Error("Can't find font for ".concat(fontRefName));
      }

      current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;

      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
        (0, _util.warn)("Invalid font matrix for font " + fontRefName);
      }

      if (size < 0) {
        size = -size;
        current.fontDirection = -1;
      } else {
        current.fontDirection = 1;
      }

      this.current.font = fontObj;
      this.current.fontSize = size;

      if (fontObj.isType3Font) {
        return;
      }

      var name = fontObj.loadedName || "sans-serif";
      var bold = "normal";

      if (fontObj.black) {
        bold = "900";
      } else if (fontObj.bold) {
        bold = "bold";
      }

      var italic = fontObj.italic ? "italic" : "normal";
      var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
      var browserFontSize = size;

      if (size < MIN_FONT_SIZE) {
        browserFontSize = MIN_FONT_SIZE;
      } else if (size > MAX_FONT_SIZE) {
        browserFontSize = MAX_FONT_SIZE;
      }

      this.current.fontSizeScale = size / browserFontSize;
      this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
    },
    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
      this.current.textRenderingMode = mode;
    },
    setTextRise: function CanvasGraphics_setTextRise(rise) {
      this.current.textRise = rise;
    },
    moveText: function CanvasGraphics_moveText(x, y) {
      this.current.x = this.current.lineX += x;
      this.current.y = this.current.lineY += y;
    },
    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {
      this.setLeading(-y);
      this.moveText(x, y);
    },
    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {
      this.current.textMatrix = [a, b, c, d, e, f];
      this.current.textMatrixScale = Math.sqrt(a * a + b * b);
      this.current.x = this.current.lineX = 0;
      this.current.y = this.current.lineY = 0;
    },
    nextLine: function CanvasGraphics_nextLine() {
      this.moveText(0, this.current.leading);
    },
    paintChar: function paintChar(character, x, y, patternTransform, resetLineWidthToOne) {
      var ctx = this.ctx;
      var current = this.current;
      var font = current.font;
      var textRenderingMode = current.textRenderingMode;
      var fontSize = current.fontSize / current.fontSizeScale;
      var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
      var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
      var patternFill = current.patternFill && !font.missingFile;
      var addToPath;

      if (font.disableFontFace || isAddToPathSet || patternFill) {
        addToPath = font.getPathGenerator(this.commonObjs, character);
      }

      if (font.disableFontFace || patternFill) {
        ctx.save();
        ctx.translate(x, y);
        ctx.beginPath();
        addToPath(ctx, fontSize);

        if (patternTransform) {
          ctx.setTransform.apply(ctx, patternTransform);
        }

        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.fill();
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          if (resetLineWidthToOne) {
            ctx.resetTransform();
            ctx.lineWidth = Math.round(this._combinedScaleFactor);
          }

          ctx.stroke();
        }

        ctx.restore();
      } else {
        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.fillText(character, x, y);
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          if (resetLineWidthToOne) {
            ctx.save();
            ctx.moveTo(x, y);
            ctx.resetTransform();
            ctx.lineWidth = Math.round(this._combinedScaleFactor);
            ctx.strokeText(character, 0, 0);
            ctx.restore();
          } else {
            ctx.strokeText(character, x, y);
          }
        }
      }

      if (isAddToPathSet) {
        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
        paths.push({
          transform: ctx.mozCurrentTransform,
          x: x,
          y: y,
          fontSize: fontSize,
          addToPath: addToPath
        });
      }
    },

    get isFontSubpixelAAEnabled() {
      var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10),
          ctx = _this$cachedCanvases$.context;

      ctx.scale(1.5, 1);
      ctx.fillText("I", 0, 10);
      var data = ctx.getImageData(0, 0, 10, 10).data;
      var enabled = false;

      for (var i = 3; i < data.length; i += 4) {
        if (data[i] > 0 && data[i] < 255) {
          enabled = true;
          break;
        }
      }

      return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
    },

    showText: function CanvasGraphics_showText(glyphs) {
      var current = this.current;
      var font = current.font;

      if (font.isType3Font) {
        return this.showType3Text(glyphs);
      }

      var fontSize = current.fontSize;

      if (fontSize === 0) {
        return undefined;
      }

      var ctx = this.ctx;
      var fontSizeScale = current.fontSizeScale;
      var charSpacing = current.charSpacing;
      var wordSpacing = current.wordSpacing;
      var fontDirection = current.fontDirection;
      var textHScale = current.textHScale * fontDirection;
      var glyphsLength = glyphs.length;
      var vertical = font.vertical;
      var spacingDir = vertical ? 1 : -1;
      var defaultVMetrics = font.defaultVMetrics;
      var widthAdvanceScale = fontSize * current.fontMatrix[0];
      var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
      ctx.save();
      var patternTransform;

      if (current.patternFill) {
        ctx.save();
        var pattern = current.fillColor.getPattern(ctx, this);
        patternTransform = ctx.mozCurrentTransform;
        ctx.restore();
        ctx.fillStyle = pattern;
      }

      ctx.transform.apply(ctx, current.textMatrix);
      ctx.translate(current.x, current.y + current.textRise);

      if (fontDirection > 0) {
        ctx.scale(textHScale, -1);
      } else {
        ctx.scale(textHScale, 1);
      }

      var lineWidth = current.lineWidth;
      var resetLineWidthToOne = false;
      var scale = current.textMatrixScale;

      if (scale === 0 || lineWidth === 0) {
        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          this._cachedGetSinglePixelWidth = null;
          lineWidth = this.getSinglePixelWidth();
          resetLineWidthToOne = lineWidth < 0;
        }
      } else {
        lineWidth /= scale;
      }

      if (fontSizeScale !== 1.0) {
        ctx.scale(fontSizeScale, fontSizeScale);
        lineWidth /= fontSizeScale;
      }

      ctx.lineWidth = lineWidth;
      var x = 0,
          i;

      for (i = 0; i < glyphsLength; ++i) {
        var glyph = glyphs[i];

        if ((0, _util.isNum)(glyph)) {
          x += spacingDir * glyph * fontSize / 1000;
          continue;
        }

        var restoreNeeded = false;
        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
        var character = glyph.fontChar;
        var accent = glyph.accent;
        var scaledX = void 0,
            scaledY = void 0;
        var width = glyph.width;

        if (vertical) {
          var vmetric = glyph.vmetric || defaultVMetrics;
          var vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;
          var vy = vmetric[2] * widthAdvanceScale;
          width = vmetric ? -vmetric[0] : width;
          scaledX = vx / fontSizeScale;
          scaledY = (x + vy) / fontSizeScale;
        } else {
          scaledX = x / fontSizeScale;
          scaledY = 0;
        }

        if (font.remeasure && width > 0) {
          var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;

          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
            var characterScaleX = width / measuredWidth;
            restoreNeeded = true;
            ctx.save();
            ctx.scale(characterScaleX, 1);
            scaledX /= characterScaleX;
          } else if (width !== measuredWidth) {
            scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
          }
        }

        if (this.contentVisible && (glyph.isInFont || font.missingFile)) {
          if (simpleFillText && !accent) {
            ctx.fillText(character, scaledX, scaledY);
          } else {
            this.paintChar(character, scaledX, scaledY, patternTransform, resetLineWidthToOne);

            if (accent) {
              var scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;
              var scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;
              this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform, resetLineWidthToOne);
            }
          }
        }

        var charWidth = void 0;

        if (vertical) {
          charWidth = width * widthAdvanceScale - spacing * fontDirection;
        } else {
          charWidth = width * widthAdvanceScale + spacing * fontDirection;
        }

        x += charWidth;

        if (restoreNeeded) {
          ctx.restore();
        }
      }

      if (vertical) {
        current.y -= x;
      } else {
        current.x += x * textHScale;
      }

      ctx.restore();
    },
    showType3Text: function CanvasGraphics_showType3Text(glyphs) {
      var ctx = this.ctx;
      var current = this.current;
      var font = current.font;
      var fontSize = current.fontSize;
      var fontDirection = current.fontDirection;
      var spacingDir = font.vertical ? 1 : -1;
      var charSpacing = current.charSpacing;
      var wordSpacing = current.wordSpacing;
      var textHScale = current.textHScale * fontDirection;
      var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
      var glyphsLength = glyphs.length;
      var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
      var i, glyph, width, spacingLength;

      if (isTextInvisible || fontSize === 0) {
        return;
      }

      this._cachedGetSinglePixelWidth = null;
      ctx.save();
      ctx.transform.apply(ctx, current.textMatrix);
      ctx.translate(current.x, current.y);
      ctx.scale(textHScale, fontDirection);

      for (i = 0; i < glyphsLength; ++i) {
        glyph = glyphs[i];

        if ((0, _util.isNum)(glyph)) {
          spacingLength = spacingDir * glyph * fontSize / 1000;
          this.ctx.translate(spacingLength, 0);
          current.x += spacingLength * textHScale;
          continue;
        }

        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
        var operatorList = font.charProcOperatorList[glyph.operatorListId];

        if (!operatorList) {
          (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
          continue;
        }

        if (this.contentVisible) {
          this.processingType3 = glyph;
          this.save();
          ctx.scale(fontSize, fontSize);
          ctx.transform.apply(ctx, fontMatrix);
          this.executeOperatorList(operatorList);
          this.restore();
        }

        var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);

        width = transformed[0] * fontSize + spacing;
        ctx.translate(width, 0);
        current.x += width * textHScale;
      }

      ctx.restore();
      this.processingType3 = null;
    },
    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},
    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
      this.ctx.rect(llx, lly, urx - llx, ury - lly);
      this.clip();
      this.endPath();
    },
    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
      var _this = this;

      var pattern;

      if (IR[0] === "TilingPattern") {
        var color = IR[1];
        var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
        var canvasGraphicsFactory = {
          createCanvasGraphics: function createCanvasGraphics(ctx) {
            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);
          }
        };
        pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
      } else {
        pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);
      }

      return pattern;
    },
    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {
      this.current.strokeColor = this.getColorN_Pattern(arguments);
    },
    setFillColorN: function CanvasGraphics_setFillColorN() {
      this.current.fillColor = this.getColorN_Pattern(arguments);
      this.current.patternFill = true;
    },
    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
      var color = _util.Util.makeHexColor(r, g, b);

      this.ctx.strokeStyle = color;
      this.current.strokeColor = color;
    },
    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
      var color = _util.Util.makeHexColor(r, g, b);

      this.ctx.fillStyle = color;
      this.current.fillColor = color;
      this.current.patternFill = false;
    },
    shadingFill: function CanvasGraphics_shadingFill(patternIR) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      this.save();
      var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
      ctx.fillStyle = pattern.getPattern(ctx, this, true);
      var inv = ctx.mozCurrentTransformInverse;

      if (inv) {
        var canvas = ctx.canvas;
        var width = canvas.width;
        var height = canvas.height;

        var bl = _util.Util.applyTransform([0, 0], inv);

        var br = _util.Util.applyTransform([0, height], inv);

        var ul = _util.Util.applyTransform([width, 0], inv);

        var ur = _util.Util.applyTransform([width, height], inv);

        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
      } else {
        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
      }

      this.restore();
    },
    beginInlineImage: function CanvasGraphics_beginInlineImage() {
      (0, _util.unreachable)("Should not call beginInlineImage");
    },
    beginImageData: function CanvasGraphics_beginImageData() {
      (0, _util.unreachable)("Should not call beginImageData");
    },
    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
      if (!this.contentVisible) {
        return;
      }

      this.save();
      this.baseTransformStack.push(this.baseTransform);

      if (Array.isArray(matrix) && matrix.length === 6) {
        this.transform.apply(this, matrix);
      }

      this.baseTransform = this.ctx.mozCurrentTransform;

      if (bbox) {
        var width = bbox[2] - bbox[0];
        var height = bbox[3] - bbox[1];
        this.ctx.rect(bbox[0], bbox[1], width, height);
        this.clip();
        this.endPath();
      }
    },
    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
      if (!this.contentVisible) {
        return;
      }

      this.restore();
      this.baseTransform = this.baseTransformStack.pop();
    },
    beginGroup: function CanvasGraphics_beginGroup(group) {
      if (!this.contentVisible) {
        return;
      }

      this.save();
      var currentCtx = this.ctx;

      if (!group.isolated) {
        (0, _util.info)("TODO: Support non-isolated groups.");
      }

      if (group.knockout) {
        (0, _util.warn)("Knockout groups not supported.");
      }

      var currentTransform = currentCtx.mozCurrentTransform;

      if (group.matrix) {
        currentCtx.transform.apply(currentCtx, group.matrix);
      }

      if (!group.bbox) {
        throw new Error("Bounding box is required.");
      }

      var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);

      var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
      bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
      var offsetX = Math.floor(bounds[0]);
      var offsetY = Math.floor(bounds[1]);
      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
      var scaleX = 1,
          scaleY = 1;

      if (drawnWidth > MAX_GROUP_SIZE) {
        scaleX = drawnWidth / MAX_GROUP_SIZE;
        drawnWidth = MAX_GROUP_SIZE;
      }

      if (drawnHeight > MAX_GROUP_SIZE) {
        scaleY = drawnHeight / MAX_GROUP_SIZE;
        drawnHeight = MAX_GROUP_SIZE;
      }

      var cacheId = "groupAt" + this.groupLevel;

      if (group.smask) {
        cacheId += "_smask_" + this.smaskCounter++ % 2;
      }

      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
      var groupCtx = scratchCanvas.context;
      groupCtx.scale(1 / scaleX, 1 / scaleY);
      groupCtx.translate(-offsetX, -offsetY);
      groupCtx.transform.apply(groupCtx, currentTransform);

      if (group.smask) {
        this.smaskStack.push({
          canvas: scratchCanvas.canvas,
          context: groupCtx,
          offsetX: offsetX,
          offsetY: offsetY,
          scaleX: scaleX,
          scaleY: scaleY,
          subtype: group.smask.subtype,
          backdrop: group.smask.backdrop,
          transferMap: group.smask.transferMap || null,
          startTransformInverse: null
        });
      } else {
        currentCtx.setTransform(1, 0, 0, 1, 0, 0);
        currentCtx.translate(offsetX, offsetY);
        currentCtx.scale(scaleX, scaleY);
      }

      copyCtxState(currentCtx, groupCtx);
      this.ctx = groupCtx;
      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
      this.groupStack.push(currentCtx);
      this.groupLevel++;
      this.current.activeSMask = null;
    },
    endGroup: function CanvasGraphics_endGroup(group) {
      if (!this.contentVisible) {
        return;
      }

      this.groupLevel--;
      var groupCtx = this.ctx;
      this.ctx = this.groupStack.pop();

      if (this.ctx.imageSmoothingEnabled !== undefined) {
        this.ctx.imageSmoothingEnabled = false;
      } else {
        this.ctx.mozImageSmoothingEnabled = false;
      }

      if (group.smask) {
        this.tempSMask = this.smaskStack.pop();
      } else {
        this.ctx.drawImage(groupCtx.canvas, 0, 0);
      }

      this.restore();
    },
    beginAnnotations: function CanvasGraphics_beginAnnotations() {
      this.save();

      if (this.baseTransform) {
        this.ctx.setTransform.apply(this.ctx, this.baseTransform);
      }
    },
    endAnnotations: function CanvasGraphics_endAnnotations() {
      this.restore();
    },
    beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {
      this.save();
      resetCtxToDefault(this.ctx);
      this.current = new CanvasExtraState();

      if (Array.isArray(rect) && rect.length === 4) {
        var width = rect[2] - rect[0];
        var height = rect[3] - rect[1];
        this.ctx.rect(rect[0], rect[1], width, height);
        this.clip();
        this.endPath();
      }

      this.transform.apply(this, transform);
      this.transform.apply(this, matrix);
    },
    endAnnotation: function CanvasGraphics_endAnnotation() {
      this.restore();
    },
    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var width = img.width,
          height = img.height;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var glyph = this.processingType3;

      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
          glyph.compiled = compileType3Glyph({
            data: img.data,
            width: width,
            height: height
          });
        } else {
          glyph.compiled = null;
        }
      }

      if (glyph !== null && glyph !== void 0 && glyph.compiled) {
        glyph.compiled(ctx);
        return;
      }

      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
      var maskCtx = maskCanvas.context;
      maskCtx.save();
      putBinaryImageMask(maskCtx, img);
      maskCtx.globalCompositeOperation = "source-in";
      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
      maskCtx.fillRect(0, 0, width, height);
      maskCtx.restore();
      this.paintInlineImageXObject(maskCanvas.canvas);
    },
    paintImageMaskXObjectRepeat: function paintImageMaskXObjectRepeat(imgData, scaleX) {
      var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
      var scaleY = arguments.length > 4 ? arguments[4] : undefined;
      var positions = arguments.length > 5 ? arguments[5] : undefined;

      if (!this.contentVisible) {
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
      var maskCtx = maskCanvas.context;
      maskCtx.save();
      putBinaryImageMask(maskCtx, imgData);
      maskCtx.globalCompositeOperation = "source-in";
      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
      maskCtx.fillRect(0, 0, width, height);
      maskCtx.restore();
      var ctx = this.ctx;

      for (var i = 0, ii = positions.length; i < ii; i += 2) {
        ctx.save();
        ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);
        ctx.scale(1, -1);
        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
        ctx.restore();
      }
    },
    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;

      for (var i = 0, ii = images.length; i < ii; i++) {
        var image = images[i];
        var width = image.width,
            height = image.height;
        var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
        var maskCtx = maskCanvas.context;
        maskCtx.save();
        putBinaryImageMask(maskCtx, image);
        maskCtx.globalCompositeOperation = "source-in";
        maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
        maskCtx.fillRect(0, 0, width, height);
        maskCtx.restore();
        ctx.save();
        ctx.transform.apply(ctx, image.transform);
        ctx.scale(1, -1);
        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
        ctx.restore();
      }
    },
    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
      if (!this.contentVisible) {
        return;
      }

      var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

      if (!imgData) {
        (0, _util.warn)("Dependent image isn't ready yet");
        return;
      }

      this.paintInlineImageXObject(imgData);
    },
    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
      if (!this.contentVisible) {
        return;
      }

      var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

      if (!imgData) {
        (0, _util.warn)("Dependent image isn't ready yet");
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var map = [];

      for (var i = 0, ii = positions.length; i < ii; i += 2) {
        map.push({
          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
          x: 0,
          y: 0,
          w: width,
          h: height
        });
      }

      this.paintInlineImageXObjectGroup(imgData, map);
    },
    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {
      if (!this.contentVisible) {
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var ctx = this.ctx;
      this.save();
      ctx.scale(1 / width, -1 / height);
      var currentTransform = ctx.mozCurrentTransformInverse;
      var a = currentTransform[0],
          b = currentTransform[1];
      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
      var c = currentTransform[2],
          d = currentTransform[3];
      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
      var imgToPaint, tmpCanvas, tmpCtx;

      if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
        imgToPaint = imgData;
      } else {
        tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
        tmpCtx = tmpCanvas.context;
        putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
        imgToPaint = tmpCanvas.canvas;
      }

      var paintWidth = width,
          paintHeight = height;
      var tmpCanvasId = "prescale1";

      while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
        var newWidth = paintWidth,
            newHeight = paintHeight;

        if (widthScale > 2 && paintWidth > 1) {
          newWidth = Math.ceil(paintWidth / 2);
          widthScale /= paintWidth / newWidth;
        }

        if (heightScale > 2 && paintHeight > 1) {
          newHeight = Math.ceil(paintHeight / 2);
          heightScale /= paintHeight / newHeight;
        }

        tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
        tmpCtx = tmpCanvas.context;
        tmpCtx.clearRect(0, 0, newWidth, newHeight);
        tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
        imgToPaint = tmpCanvas.canvas;
        paintWidth = newWidth;
        paintHeight = newHeight;
        tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
      }

      ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);

      if (this.imageLayer) {
        var position = this.getCanvasPosition(0, -height);
        this.imageLayer.appendImage({
          imgData: imgData,
          left: position[0],
          top: position[1],
          width: width / currentTransform[0],
          height: height / currentTransform[3]
        });
      }

      this.restore();
    },
    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var w = imgData.width;
      var h = imgData.height;
      var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
      var tmpCtx = tmpCanvas.context;
      putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);

      for (var i = 0, ii = map.length; i < ii; i++) {
        var entry = map[i];
        ctx.save();
        ctx.transform.apply(ctx, entry.transform);
        ctx.scale(1, -1);
        ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);

        if (this.imageLayer) {
          var position = this.getCanvasPosition(entry.x, entry.y);
          this.imageLayer.appendImage({
            imgData: imgData,
            left: position[0],
            top: position[1],
            width: w,
            height: h
          });
        }

        ctx.restore();
      }
    },
    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {
      if (!this.contentVisible) {
        return;
      }

      this.ctx.fillRect(0, 0, 1, 1);
    },
    markPoint: function CanvasGraphics_markPoint(tag) {},
    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {
      this.markedContentStack.push({
        visible: true
      });
    },
    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {
      if (tag === "OC") {
        this.markedContentStack.push({
          visible: this.optionalContentConfig.isVisible(properties)
        });
      } else {
        this.markedContentStack.push({
          visible: true
        });
      }

      this.contentVisible = this.isContentVisible();
    },
    endMarkedContent: function CanvasGraphics_endMarkedContent() {
      this.markedContentStack.pop();
      this.contentVisible = this.isContentVisible();
    },
    beginCompat: function CanvasGraphics_beginCompat() {},
    endCompat: function CanvasGraphics_endCompat() {},
    consumePath: function CanvasGraphics_consumePath() {
      var ctx = this.ctx;

      if (this.pendingClip) {
        if (this.pendingClip === EO_CLIP) {
          ctx.clip("evenodd");
        } else {
          ctx.clip();
        }

        this.pendingClip = null;
      }

      ctx.beginPath();
    },
    getSinglePixelWidth: function getSinglePixelWidth() {
      if (this._cachedGetSinglePixelWidth === null) {
        var m = this.ctx.mozCurrentTransform;
        var absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);
        var sqNorm1 = Math.pow(m[0], 2) + Math.pow(m[2], 2);
        var sqNorm2 = Math.pow(m[1], 2) + Math.pow(m[3], 2);
        var pixelHeight = Math.sqrt(Math.max(sqNorm1, sqNorm2)) / absDet;

        if (sqNorm1 !== sqNorm2 && this._combinedScaleFactor * pixelHeight > 1) {
          this._cachedGetSinglePixelWidth = -(this._combinedScaleFactor * pixelHeight);
        } else if (absDet > Number.EPSILON) {
          this._cachedGetSinglePixelWidth = pixelHeight * 1.0000001;
        } else {
          this._cachedGetSinglePixelWidth = 1;
        }
      }

      return this._cachedGetSinglePixelWidth;
    },
    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
      var transform = this.ctx.mozCurrentTransform;
      return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
    },
    isContentVisible: function CanvasGraphics_isContentVisible() {
      for (var i = this.markedContentStack.length - 1; i >= 0; i--) {
        if (!this.markedContentStack[i].visible) {
          return false;
        }
      }

      return true;
    }
  };

  for (var op in _util.OPS) {
    CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
  }

  return CanvasGraphics;
}();

exports.CanvasGraphics = CanvasGraphics;

/***/ }),
/* 141 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getShadingPatternFromIR = getShadingPatternFromIR;
exports.TilingPattern = void 0;

var _util = __w_pdfjs_require__(4);

var ShadingIRs = {};

function applyBoundingBox(ctx, bbox) {
  if (!bbox || typeof Path2D === "undefined") {
    return;
  }

  var width = bbox[2] - bbox[0];
  var height = bbox[3] - bbox[1];
  var region = new Path2D();
  region.rect(bbox[0], bbox[1], width, height);
  ctx.clip(region);
}

ShadingIRs.RadialAxial = {
  fromIR: function RadialAxial_fromIR(raw) {
    var type = raw[1];
    var bbox = raw[2];
    var colorStops = raw[3];
    var p0 = raw[4];
    var p1 = raw[5];
    var r0 = raw[6];
    var r1 = raw[7];
    return {
      getPattern: function RadialAxial_getPattern(ctx) {
        applyBoundingBox(ctx, bbox);
        var grad;

        if (type === "axial") {
          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
        } else if (type === "radial") {
          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
        }

        for (var i = 0, ii = colorStops.length; i < ii; ++i) {
          var c = colorStops[i];
          grad.addColorStop(c[0], c[1]);
        }

        return grad;
      }
    };
  }
};

var createMeshCanvas = function createMeshCanvasClosure() {
  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
    var coords = context.coords,
        colors = context.colors;
    var bytes = data.data,
        rowSize = data.width * 4;
    var tmp;

    if (coords[p1 + 1] > coords[p2 + 1]) {
      tmp = p1;
      p1 = p2;
      p2 = tmp;
      tmp = c1;
      c1 = c2;
      c2 = tmp;
    }

    if (coords[p2 + 1] > coords[p3 + 1]) {
      tmp = p2;
      p2 = p3;
      p3 = tmp;
      tmp = c2;
      c2 = c3;
      c3 = tmp;
    }

    if (coords[p1 + 1] > coords[p2 + 1]) {
      tmp = p1;
      p1 = p2;
      p2 = tmp;
      tmp = c1;
      c1 = c2;
      c2 = tmp;
    }

    var x1 = (coords[p1] + context.offsetX) * context.scaleX;
    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
    var x2 = (coords[p2] + context.offsetX) * context.scaleX;
    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
    var x3 = (coords[p3] + context.offsetX) * context.scaleX;
    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;

    if (y1 >= y3) {
      return;
    }

    var c1r = colors[c1],
        c1g = colors[c1 + 1],
        c1b = colors[c1 + 2];
    var c2r = colors[c2],
        c2g = colors[c2 + 1],
        c2b = colors[c2 + 2];
    var c3r = colors[c3],
        c3g = colors[c3 + 1],
        c3b = colors[c3 + 2];
    var minY = Math.round(y1),
        maxY = Math.round(y3);
    var xa, car, cag, cab;
    var xb, cbr, cbg, cbb;

    for (var y = minY; y <= maxY; y++) {
      if (y < y2) {
        var _k = void 0;

        if (y < y1) {
          _k = 0;
        } else if (y1 === y2) {
          _k = 1;
        } else {
          _k = (y1 - y) / (y1 - y2);
        }

        xa = x1 - (x1 - x2) * _k;
        car = c1r - (c1r - c2r) * _k;
        cag = c1g - (c1g - c2g) * _k;
        cab = c1b - (c1b - c2b) * _k;
      } else {
        var _k2 = void 0;

        if (y > y3) {
          _k2 = 1;
        } else if (y2 === y3) {
          _k2 = 0;
        } else {
          _k2 = (y2 - y) / (y2 - y3);
        }

        xa = x2 - (x2 - x3) * _k2;
        car = c2r - (c2r - c3r) * _k2;
        cag = c2g - (c2g - c3g) * _k2;
        cab = c2b - (c2b - c3b) * _k2;
      }

      var k = void 0;

      if (y < y1) {
        k = 0;
      } else if (y > y3) {
        k = 1;
      } else {
        k = (y1 - y) / (y1 - y3);
      }

      xb = x1 - (x1 - x3) * k;
      cbr = c1r - (c1r - c3r) * k;
      cbg = c1g - (c1g - c3g) * k;
      cbb = c1b - (c1b - c3b) * k;
      var x1_ = Math.round(Math.min(xa, xb));
      var x2_ = Math.round(Math.max(xa, xb));
      var j = rowSize * y + x1_ * 4;

      for (var x = x1_; x <= x2_; x++) {
        k = (xa - x) / (xa - xb);

        if (k < 0) {
          k = 0;
        } else if (k > 1) {
          k = 1;
        }

        bytes[j++] = car - (car - cbr) * k | 0;
        bytes[j++] = cag - (cag - cbg) * k | 0;
        bytes[j++] = cab - (cab - cbb) * k | 0;
        bytes[j++] = 255;
      }
    }
  }

  function drawFigure(data, figure, context) {
    var ps = figure.coords;
    var cs = figure.colors;
    var i, ii;

    switch (figure.type) {
      case "lattice":
        var verticesPerRow = figure.verticesPerRow;
        var rows = Math.floor(ps.length / verticesPerRow) - 1;
        var cols = verticesPerRow - 1;

        for (i = 0; i < rows; i++) {
          var q = i * verticesPerRow;

          for (var j = 0; j < cols; j++, q++) {
            drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
            drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
          }
        }

        break;

      case "triangles":
        for (i = 0, ii = ps.length; i < ii; i += 3) {
          drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
        }

        break;

      default:
        throw new Error("illegal figure");
    }
  }

  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
    var EXPECTED_SCALE = 1.1;
    var MAX_PATTERN_SIZE = 3000;
    var BORDER_SIZE = 2;
    var offsetX = Math.floor(bounds[0]);
    var offsetY = Math.floor(bounds[1]);
    var boundsWidth = Math.ceil(bounds[2]) - offsetX;
    var boundsHeight = Math.ceil(bounds[3]) - offsetY;
    var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
    var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
    var scaleX = boundsWidth / width;
    var scaleY = boundsHeight / height;
    var context = {
      coords: coords,
      colors: colors,
      offsetX: -offsetX,
      offsetY: -offsetY,
      scaleX: 1 / scaleX,
      scaleY: 1 / scaleY
    };
    var paddedWidth = width + BORDER_SIZE * 2;
    var paddedHeight = height + BORDER_SIZE * 2;
    var canvas, tmpCanvas, i, ii;

    if (webGLContext.isEnabled) {
      canvas = webGLContext.drawFigures({
        width: width,
        height: height,
        backgroundColor: backgroundColor,
        figures: figures,
        context: context
      });
      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
      canvas = tmpCanvas.canvas;
    } else {
      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
      var tmpCtx = tmpCanvas.context;
      var data = tmpCtx.createImageData(width, height);

      if (backgroundColor) {
        var bytes = data.data;

        for (i = 0, ii = bytes.length; i < ii; i += 4) {
          bytes[i] = backgroundColor[0];
          bytes[i + 1] = backgroundColor[1];
          bytes[i + 2] = backgroundColor[2];
          bytes[i + 3] = 255;
        }
      }

      for (i = 0; i < figures.length; i++) {
        drawFigure(data, figures[i], context);
      }

      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
      canvas = tmpCanvas.canvas;
    }

    return {
      canvas: canvas,
      offsetX: offsetX - BORDER_SIZE * scaleX,
      offsetY: offsetY - BORDER_SIZE * scaleY,
      scaleX: scaleX,
      scaleY: scaleY
    };
  }

  return createMeshCanvas;
}();

ShadingIRs.Mesh = {
  fromIR: function Mesh_fromIR(raw) {
    var coords = raw[2];
    var colors = raw[3];
    var figures = raw[4];
    var bounds = raw[5];
    var matrix = raw[6];
    var bbox = raw[7];
    var background = raw[8];
    return {
      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
        applyBoundingBox(ctx, bbox);
        var scale;

        if (shadingFill) {
          scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
        } else {
          scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);

          if (matrix) {
            var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);

            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
          }
        }

        var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);

        if (!shadingFill) {
          ctx.setTransform.apply(ctx, owner.baseTransform);

          if (matrix) {
            ctx.transform.apply(ctx, matrix);
          }
        }

        ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
        return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
      }
    };
  }
};
ShadingIRs.Dummy = {
  fromIR: function Dummy_fromIR() {
    return {
      getPattern: function Dummy_fromIR_getPattern() {
        return "hotpink";
      }
    };
  }
};

function getShadingPatternFromIR(raw) {
  var shadingIR = ShadingIRs[raw[0]];

  if (!shadingIR) {
    throw new Error("Unknown IR type: ".concat(raw[0]));
  }

  return shadingIR.fromIR(raw);
}

var TilingPattern = function TilingPatternClosure() {
  var PaintType = {
    COLORED: 1,
    UNCOLORED: 2
  };
  var MAX_PATTERN_SIZE = 3000;

  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
    this.operatorList = IR[2];
    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
    this.bbox = IR[4];
    this.xstep = IR[5];
    this.ystep = IR[6];
    this.paintType = IR[7];
    this.tilingType = IR[8];
    this.color = color;
    this.canvasGraphicsFactory = canvasGraphicsFactory;
    this.baseTransform = baseTransform;
    this.ctx = ctx;
  }

  TilingPattern.prototype = {
    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
      var operatorList = this.operatorList;
      var bbox = this.bbox;
      var xstep = this.xstep;
      var ystep = this.ystep;
      var paintType = this.paintType;
      var tilingType = this.tilingType;
      var color = this.color;
      var canvasGraphicsFactory = this.canvasGraphicsFactory;
      (0, _util.info)("TilingType: " + tilingType);
      var x0 = bbox[0],
          y0 = bbox[1],
          x1 = bbox[2],
          y1 = bbox[3];

      var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);

      var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);

      var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
      var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
      var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
      var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
      var tmpCtx = tmpCanvas.context;
      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
      graphics.groupLevel = owner.groupLevel;
      this.setFillAndStrokeStyleToContext(graphics, paintType, color);
      graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
      graphics.transform(1, 0, 0, 1, -x0, -y0);
      this.clipBbox(graphics, bbox, x0, y0, x1, y1);
      graphics.executeOperatorList(operatorList);
      this.ctx.transform(1, 0, 0, 1, x0, y0);
      this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);
      return tmpCanvas.canvas;
    },
    getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
      step = Math.abs(step);
      var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
      var size = Math.ceil(step * scale);

      if (size >= maxSize) {
        size = maxSize;
      } else {
        scale = size / step;
      }

      return {
        scale: scale,
        size: size
      };
    },
    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
      if (Array.isArray(bbox) && bbox.length === 4) {
        var bboxWidth = x1 - x0;
        var bboxHeight = y1 - y0;
        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
        graphics.clip();
        graphics.endPath();
      }
    },
    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
      var context = graphics.ctx,
          current = graphics.current;

      switch (paintType) {
        case PaintType.COLORED:
          var ctx = this.ctx;
          context.fillStyle = ctx.fillStyle;
          context.strokeStyle = ctx.strokeStyle;
          current.fillColor = ctx.fillStyle;
          current.strokeColor = ctx.strokeStyle;
          break;

        case PaintType.UNCOLORED:
          var cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);

          context.fillStyle = cssColor;
          context.strokeStyle = cssColor;
          current.fillColor = cssColor;
          current.strokeColor = cssColor;
          break;

        default:
          throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
      }
    },
    getPattern: function TilingPattern_getPattern(ctx, owner) {
      ctx = this.ctx;
      ctx.setTransform.apply(ctx, this.baseTransform);
      ctx.transform.apply(ctx, this.matrix);
      var temporaryPatternCanvas = this.createPatternCanvas(owner);
      return ctx.createPattern(temporaryPatternCanvas, "repeat");
    }
  };
  return TilingPattern;
}();

exports.TilingPattern = TilingPattern;

/***/ }),
/* 142 */
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.GlobalWorkerOptions = void 0;
var GlobalWorkerOptions = Object.create(null);
exports.GlobalWorkerOptions = GlobalWorkerOptions;
GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;

/***/ }),
/* 143 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.MessageHandler = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var CallbackKind = {
  UNKNOWN: 0,
  DATA: 1,
  ERROR: 2
};
var StreamKind = {
  UNKNOWN: 0,
  CANCEL: 1,
  CANCEL_COMPLETE: 2,
  CLOSE: 3,
  ENQUEUE: 4,
  ERROR: 5,
  PULL: 6,
  PULL_COMPLETE: 7,
  START_COMPLETE: 8
};

function wrapReason(reason) {
  if (_typeof(reason) !== "object" || reason === null) {
    return reason;
  }

  switch (reason.name) {
    case "AbortException":
      return new _util.AbortException(reason.message);

    case "MissingPDFException":
      return new _util.MissingPDFException(reason.message);

    case "UnexpectedResponseException":
      return new _util.UnexpectedResponseException(reason.message, reason.status);

    case "UnknownErrorException":
      return new _util.UnknownErrorException(reason.message, reason.details);

    default:
      return new _util.UnknownErrorException(reason.message, reason.toString());
  }
}

var MessageHandler = /*#__PURE__*/function () {
  function MessageHandler(sourceName, targetName, comObj) {
    var _this = this;

    _classCallCheck(this, MessageHandler);

    this.sourceName = sourceName;
    this.targetName = targetName;
    this.comObj = comObj;
    this.callbackId = 1;
    this.streamId = 1;
    this.postMessageTransfers = true;
    this.streamSinks = Object.create(null);
    this.streamControllers = Object.create(null);
    this.callbackCapabilities = Object.create(null);
    this.actionHandler = Object.create(null);

    this._onComObjOnMessage = function (event) {
      var data = event.data;

      if (data.targetName !== _this.sourceName) {
        return;
      }

      if (data.stream) {
        _this._processStreamMessage(data);

        return;
      }

      if (data.callback) {
        var callbackId = data.callbackId;
        var capability = _this.callbackCapabilities[callbackId];

        if (!capability) {
          throw new Error("Cannot resolve callback ".concat(callbackId));
        }

        delete _this.callbackCapabilities[callbackId];

        if (data.callback === CallbackKind.DATA) {
          capability.resolve(data.data);
        } else if (data.callback === CallbackKind.ERROR) {
          capability.reject(wrapReason(data.reason));
        } else {
          throw new Error("Unexpected callback case");
        }

        return;
      }

      var action = _this.actionHandler[data.action];

      if (!action) {
        throw new Error("Unknown action from worker: ".concat(data.action));
      }

      if (data.callbackId) {
        var cbSourceName = _this.sourceName;
        var cbTargetName = data.sourceName;
        new Promise(function (resolve) {
          resolve(action(data.data));
        }).then(function (result) {
          comObj.postMessage({
            sourceName: cbSourceName,
            targetName: cbTargetName,
            callback: CallbackKind.DATA,
            callbackId: data.callbackId,
            data: result
          });
        }, function (reason) {
          comObj.postMessage({
            sourceName: cbSourceName,
            targetName: cbTargetName,
            callback: CallbackKind.ERROR,
            callbackId: data.callbackId,
            reason: wrapReason(reason)
          });
        });
        return;
      }

      if (data.streamId) {
        _this._createStreamSink(data);

        return;
      }

      action(data.data);
    };

    comObj.addEventListener("message", this._onComObjOnMessage);
  }

  _createClass(MessageHandler, [{
    key: "on",
    value: function on(actionName, handler) {
      var ah = this.actionHandler;

      if (ah[actionName]) {
        throw new Error("There is already an actionName called \"".concat(actionName, "\""));
      }

      ah[actionName] = handler;
    }
  }, {
    key: "send",
    value: function send(actionName, data, transfers) {
      this._postMessage({
        sourceName: this.sourceName,
        targetName: this.targetName,
        action: actionName,
        data: data
      }, transfers);
    }
  }, {
    key: "sendWithPromise",
    value: function sendWithPromise(actionName, data, transfers) {
      var callbackId = this.callbackId++;
      var capability = (0, _util.createPromiseCapability)();
      this.callbackCapabilities[callbackId] = capability;

      try {
        this._postMessage({
          sourceName: this.sourceName,
          targetName: this.targetName,
          action: actionName,
          callbackId: callbackId,
          data: data
        }, transfers);
      } catch (ex) {
        capability.reject(ex);
      }

      return capability.promise;
    }
  }, {
    key: "sendWithStream",
    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
      var _this2 = this;

      var streamId = this.streamId++;
      var sourceName = this.sourceName;
      var targetName = this.targetName;
      var comObj = this.comObj;
      return new ReadableStream({
        start: function start(controller) {
          var startCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId] = {
            controller: controller,
            startCall: startCapability,
            pullCall: null,
            cancelCall: null,
            isClosed: false
          };

          _this2._postMessage({
            sourceName: sourceName,
            targetName: targetName,
            action: actionName,
            streamId: streamId,
            data: data,
            desiredSize: controller.desiredSize
          }, transfers);

          return startCapability.promise;
        },
        pull: function pull(controller) {
          var pullCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId].pullCall = pullCapability;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.PULL,
            streamId: streamId,
            desiredSize: controller.desiredSize
          });
          return pullCapability.promise;
        },
        cancel: function cancel(reason) {
          (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
          var cancelCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId].cancelCall = cancelCapability;
          _this2.streamControllers[streamId].isClosed = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.CANCEL,
            streamId: streamId,
            reason: wrapReason(reason)
          });
          return cancelCapability.promise;
        }
      }, queueingStrategy);
    }
  }, {
    key: "_createStreamSink",
    value: function _createStreamSink(data) {
      var self = this;
      var action = this.actionHandler[data.action];
      var streamId = data.streamId;
      var sourceName = this.sourceName;
      var targetName = data.sourceName;
      var comObj = this.comObj;
      var streamSink = {
        enqueue: function enqueue(chunk) {
          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
          var transfers = arguments.length > 2 ? arguments[2] : undefined;

          if (this.isCancelled) {
            return;
          }

          var lastDesiredSize = this.desiredSize;
          this.desiredSize -= size;

          if (lastDesiredSize > 0 && this.desiredSize <= 0) {
            this.sinkCapability = (0, _util.createPromiseCapability)();
            this.ready = this.sinkCapability.promise;
          }

          self._postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.ENQUEUE,
            streamId: streamId,
            chunk: chunk
          }, transfers);
        },
        close: function close() {
          if (this.isCancelled) {
            return;
          }

          this.isCancelled = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.CLOSE,
            streamId: streamId
          });
          delete self.streamSinks[streamId];
        },
        error: function error(reason) {
          (0, _util.assert)(reason instanceof Error, "error must have a valid reason");

          if (this.isCancelled) {
            return;
          }

          this.isCancelled = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.ERROR,
            streamId: streamId,
            reason: wrapReason(reason)
          });
        },
        sinkCapability: (0, _util.createPromiseCapability)(),
        onPull: null,
        onCancel: null,
        isCancelled: false,
        desiredSize: data.desiredSize,
        ready: null
      };
      streamSink.sinkCapability.resolve();
      streamSink.ready = streamSink.sinkCapability.promise;
      this.streamSinks[streamId] = streamSink;
      new Promise(function (resolve) {
        resolve(action(data.data, streamSink));
      }).then(function () {
        comObj.postMessage({
          sourceName: sourceName,
          targetName: targetName,
          stream: StreamKind.START_COMPLETE,
          streamId: streamId,
          success: true
        });
      }, function (reason) {
        comObj.postMessage({
          sourceName: sourceName,
          targetName: targetName,
          stream: StreamKind.START_COMPLETE,
          streamId: streamId,
          reason: wrapReason(reason)
        });
      });
    }
  }, {
    key: "_processStreamMessage",
    value: function _processStreamMessage(data) {
      var streamId = data.streamId;
      var sourceName = this.sourceName;
      var targetName = data.sourceName;
      var comObj = this.comObj;

      switch (data.stream) {
        case StreamKind.START_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].startCall.resolve();
          } else {
            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));
          }

          break;

        case StreamKind.PULL_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].pullCall.resolve();
          } else {
            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));
          }

          break;

        case StreamKind.PULL:
          if (!this.streamSinks[streamId]) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              success: true
            });
            break;
          }

          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {
            this.streamSinks[streamId].sinkCapability.resolve();
          }

          this.streamSinks[streamId].desiredSize = data.desiredSize;
          var onPull = this.streamSinks[data.streamId].onPull;
          new Promise(function (resolve) {
            resolve(onPull && onPull());
          }).then(function () {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              success: true
            });
          }, function (reason) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              reason: wrapReason(reason)
            });
          });
          break;

        case StreamKind.ENQUEUE:
          (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");

          if (this.streamControllers[streamId].isClosed) {
            break;
          }

          this.streamControllers[streamId].controller.enqueue(data.chunk);
          break;

        case StreamKind.CLOSE:
          (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");

          if (this.streamControllers[streamId].isClosed) {
            break;
          }

          this.streamControllers[streamId].isClosed = true;
          this.streamControllers[streamId].controller.close();

          this._deleteStreamController(streamId);

          break;

        case StreamKind.ERROR:
          (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
          this.streamControllers[streamId].controller.error(wrapReason(data.reason));

          this._deleteStreamController(streamId);

          break;

        case StreamKind.CANCEL_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].cancelCall.resolve();
          } else {
            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
          }

          this._deleteStreamController(streamId);

          break;

        case StreamKind.CANCEL:
          if (!this.streamSinks[streamId]) {
            break;
          }

          var onCancel = this.streamSinks[data.streamId].onCancel;
          new Promise(function (resolve) {
            resolve(onCancel && onCancel(wrapReason(data.reason)));
          }).then(function () {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.CANCEL_COMPLETE,
              streamId: streamId,
              success: true
            });
          }, function (reason) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.CANCEL_COMPLETE,
              streamId: streamId,
              reason: wrapReason(reason)
            });
          });
          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));
          this.streamSinks[streamId].isCancelled = true;
          delete this.streamSinks[streamId];
          break;

        default:
          throw new Error("Unexpected stream case");
      }
    }
  }, {
    key: "_deleteStreamController",
    value: function () {
      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) {
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
                  return capability && capability.promise;
                }));

              case 2:
                delete this.streamControllers[streamId];

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function _deleteStreamController(_x) {
        return _deleteStreamController2.apply(this, arguments);
      }

      return _deleteStreamController;
    }()
  }, {
    key: "_postMessage",
    value: function _postMessage(message, transfers) {
      if (transfers && this.postMessageTransfers) {
        this.comObj.postMessage(message, transfers);
      } else {
        this.comObj.postMessage(message);
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.comObj.removeEventListener("message", this._onComObjOnMessage);
    }
  }]);

  return MessageHandler;
}();

exports.MessageHandler = MessageHandler;

/***/ }),
/* 144 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.Metadata = void 0;

var _util = __w_pdfjs_require__(4);

var _xml_parser = __w_pdfjs_require__(145);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var Metadata = /*#__PURE__*/function () {
  function Metadata(data) {
    _classCallCheck(this, Metadata);

    (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
    data = this._repair(data);
    var parser = new _xml_parser.SimpleXMLParser({
      lowerCaseName: true
    });
    var xmlDocument = parser.parseFromString(data);
    this._metadataMap = new Map();

    if (xmlDocument) {
      this._parse(xmlDocument);
    }

    this._data = data;
  }

  _createClass(Metadata, [{
    key: "_repair",
    value: function _repair(data) {
      return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
        var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
        }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
          switch (name) {
            case "amp":
              return "&";

            case "apos":
              return "'";

            case "gt":
              return ">";

            case "lt":
              return "<";

            case "quot":
              return '"';
          }

          throw new Error("_repair: ".concat(name, " isn't defined."));
        });
        var chars = "";

        for (var i = 0, ii = bytes.length; i < ii; i += 2) {
          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);

          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
            chars += String.fromCharCode(code);
          } else {
            chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";";
          }
        }

        return ">" + chars;
      });
    }
  }, {
    key: "_getSequence",
    value: function _getSequence(entry) {
      var name = entry.nodeName;

      if (name !== "rdf:bag" && name !== "rdf:seq" && name !== "rdf:alt") {
        return null;
      }

      return entry.childNodes.filter(function (node) {
        return node.nodeName === "rdf:li";
      });
    }
  }, {
    key: "_getCreators",
    value: function _getCreators(entry) {
      if (entry.nodeName !== "dc:creator") {
        return false;
      }

      if (!entry.hasChildNodes()) {
        return true;
      }

      var seqNode = entry.childNodes[0];
      var authors = this._getSequence(seqNode) || [];

      this._metadataMap.set(entry.nodeName, authors.map(function (node) {
        return node.textContent.trim();
      }));

      return true;
    }
  }, {
    key: "_parse",
    value: function _parse(xmlDocument) {
      var rdf = xmlDocument.documentElement;

      if (rdf.nodeName !== "rdf:rdf") {
        rdf = rdf.firstChild;

        while (rdf && rdf.nodeName !== "rdf:rdf") {
          rdf = rdf.nextSibling;
        }
      }

      if (!rdf || rdf.nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
        return;
      }

      var _iterator = _createForOfIteratorHelper(rdf.childNodes),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var desc = _step.value;

          if (desc.nodeName !== "rdf:description") {
            continue;
          }

          var _iterator2 = _createForOfIteratorHelper(desc.childNodes),
              _step2;

          try {
            for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
              var entry = _step2.value;
              var name = entry.nodeName;

              if (name === "#text") {
                continue;
              }

              if (this._getCreators(entry)) {
                continue;
              }

              this._metadataMap.set(name, entry.textContent.trim());
            }
          } catch (err) {
            _iterator2.e(err);
          } finally {
            _iterator2.f();
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    }
  }, {
    key: "getRaw",
    value: function getRaw() {
      return this._data;
    }
  }, {
    key: "get",
    value: function get(name) {
      var _this$_metadataMap$ge;

      return (_this$_metadataMap$ge = this._metadataMap.get(name)) !== null && _this$_metadataMap$ge !== void 0 ? _this$_metadataMap$ge : null;
    }
  }, {
    key: "getAll",
    value: function getAll() {
      return (0, _util.objectFromEntries)(this._metadataMap);
    }
  }, {
    key: "has",
    value: function has(name) {
      return this._metadataMap.has(name);
    }
  }]);

  return Metadata;
}();

exports.Metadata = Metadata;

/***/ }),
/* 145 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.SimpleXMLParser = exports.SimpleDOMNode = void 0;

var _util = __w_pdfjs_require__(4);

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var XMLParserErrorCode = {
  NoError: 0,
  EndOfDocument: -1,
  UnterminatedCdat: -2,
  UnterminatedXmlDeclaration: -3,
  UnterminatedDoctypeDeclaration: -4,
  UnterminatedComment: -5,
  MalformedElement: -6,
  OutOfMemory: -7,
  UnterminatedAttributeValue: -8,
  UnterminatedElement: -9,
  ElementNeverBegun: -10
};

function isWhitespace(s, index) {
  var ch = s[index];
  return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
}

function isWhitespaceString(s) {
  for (var i = 0, ii = s.length; i < ii; i++) {
    if (!isWhitespace(s, i)) {
      return false;
    }
  }

  return true;
}

var XMLParserBase = /*#__PURE__*/function () {
  function XMLParserBase() {
    _classCallCheck(this, XMLParserBase);
  }

  _createClass(XMLParserBase, [{
    key: "_resolveEntities",
    value: function _resolveEntities(s) {
      var _this = this;

      return s.replace(/&([^;]+);/g, function (all, entity) {
        if (entity.substring(0, 2) === "#x") {
          return String.fromCodePoint(parseInt(entity.substring(2), 16));
        } else if (entity.substring(0, 1) === "#") {
          return String.fromCodePoint(parseInt(entity.substring(1), 10));
        }

        switch (entity) {
          case "lt":
            return "<";

          case "gt":
            return ">";

          case "amp":
            return "&";

          case "quot":
            return '"';
        }

        return _this.onResolveEntity(entity);
      });
    }
  }, {
    key: "_parseContent",
    value: function _parseContent(s, start) {
      var attributes = [];
      var pos = start;

      function skipWs() {
        while (pos < s.length && isWhitespace(s, pos)) {
          ++pos;
        }
      }

      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
        ++pos;
      }

      var name = s.substring(start, pos);
      skipWs();

      while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
        skipWs();
        var attrName = "",
            attrValue = "";

        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
          attrName += s[pos];
          ++pos;
        }

        skipWs();

        if (s[pos] !== "=") {
          return null;
        }

        ++pos;
        skipWs();
        var attrEndChar = s[pos];

        if (attrEndChar !== '"' && attrEndChar !== "'") {
          return null;
        }

        var attrEndIndex = s.indexOf(attrEndChar, ++pos);

        if (attrEndIndex < 0) {
          return null;
        }

        attrValue = s.substring(pos, attrEndIndex);
        attributes.push({
          name: attrName,
          value: this._resolveEntities(attrValue)
        });
        pos = attrEndIndex + 1;
        skipWs();
      }

      return {
        name: name,
        attributes: attributes,
        parsed: pos - start
      };
    }
  }, {
    key: "_parseProcessingInstruction",
    value: function _parseProcessingInstruction(s, start) {
      var pos = start;

      function skipWs() {
        while (pos < s.length && isWhitespace(s, pos)) {
          ++pos;
        }
      }

      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
        ++pos;
      }

      var name = s.substring(start, pos);
      skipWs();
      var attrStart = pos;

      while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
        ++pos;
      }

      var value = s.substring(attrStart, pos);
      return {
        name: name,
        value: value,
        parsed: pos - start
      };
    }
  }, {
    key: "parseXml",
    value: function parseXml(s) {
      var i = 0;

      while (i < s.length) {
        var ch = s[i];
        var j = i;

        if (ch === "<") {
          ++j;
          var ch2 = s[j];
          var q = void 0;

          switch (ch2) {
            case "/":
              ++j;
              q = s.indexOf(">", j);

              if (q < 0) {
                this.onError(XMLParserErrorCode.UnterminatedElement);
                return;
              }

              this.onEndElement(s.substring(j, q));
              j = q + 1;
              break;

            case "?":
              ++j;

              var pi = this._parseProcessingInstruction(s, j);

              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
                return;
              }

              this.onPi(pi.name, pi.value);
              j += pi.parsed + 2;
              break;

            case "!":
              if (s.substring(j + 1, j + 3) === "--") {
                q = s.indexOf("-->", j + 3);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedComment);
                  return;
                }

                this.onComment(s.substring(j + 3, q));
                j = q + 3;
              } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
                q = s.indexOf("]]>", j + 8);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedCdat);
                  return;
                }

                this.onCdata(s.substring(j + 8, q));
                j = q + 3;
              } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
                var q2 = s.indexOf("[", j + 8);
                var complexDoctype = false;
                q = s.indexOf(">", j + 8);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                  return;
                }

                if (q2 > 0 && q > q2) {
                  q = s.indexOf("]>", j + 8);

                  if (q < 0) {
                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                    return;
                  }

                  complexDoctype = true;
                }

                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
                this.onDoctype(doctypeContent);
                j = q + (complexDoctype ? 2 : 1);
              } else {
                this.onError(XMLParserErrorCode.MalformedElement);
                return;
              }

              break;

            default:
              var content = this._parseContent(s, j);

              if (content === null) {
                this.onError(XMLParserErrorCode.MalformedElement);
                return;
              }

              var isClosed = false;

              if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
                isClosed = true;
              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
                this.onError(XMLParserErrorCode.UnterminatedElement);
                return;
              }

              this.onBeginElement(content.name, content.attributes, isClosed);
              j += content.parsed + (isClosed ? 2 : 1);
              break;
          }
        } else {
          while (j < s.length && s[j] !== "<") {
            j++;
          }

          var text = s.substring(i, j);
          this.onText(this._resolveEntities(text));
        }

        i = j;
      }
    }
  }, {
    key: "onResolveEntity",
    value: function onResolveEntity(name) {
      return "&".concat(name, ";");
    }
  }, {
    key: "onPi",
    value: function onPi(name, value) {}
  }, {
    key: "onComment",
    value: function onComment(text) {}
  }, {
    key: "onCdata",
    value: function onCdata(text) {}
  }, {
    key: "onDoctype",
    value: function onDoctype(doctypeContent) {}
  }, {
    key: "onText",
    value: function onText(text) {}
  }, {
    key: "onBeginElement",
    value: function onBeginElement(name, attributes, isEmpty) {}
  }, {
    key: "onEndElement",
    value: function onEndElement(name) {}
  }, {
    key: "onError",
    value: function onError(code) {}
  }]);

  return XMLParserBase;
}();

var SimpleDOMNode = /*#__PURE__*/function () {
  function SimpleDOMNode(nodeName, nodeValue) {
    _classCallCheck(this, SimpleDOMNode);

    this.nodeName = nodeName;
    this.nodeValue = nodeValue;
    Object.defineProperty(this, "parentNode", {
      value: null,
      writable: true
    });
  }

  _createClass(SimpleDOMNode, [{
    key: "hasChildNodes",
    value: function hasChildNodes() {
      return this.childNodes && this.childNodes.length > 0;
    }
  }, {
    key: "searchNode",
    value: function searchNode(paths, pos) {
      if (pos >= paths.length) {
        return this;
      }

      var component = paths[pos];
      var stack = [];
      var node = this;

      while (true) {
        if (component.name === node.nodeName) {
          if (component.pos === 0) {
            var res = node.searchNode(paths, pos + 1);

            if (res !== null) {
              return res;
            }
          } else if (stack.length === 0) {
            return null;
          } else {
            var _stack$pop = stack.pop(),
                _stack$pop2 = _slicedToArray(_stack$pop, 1),
                parent = _stack$pop2[0];

            var siblingPos = 0;

            var _iterator = _createForOfIteratorHelper(parent.childNodes),
                _step;

            try {
              for (_iterator.s(); !(_step = _iterator.n()).done;) {
                var child = _step.value;

                if (component.name === child.nodeName) {
                  if (siblingPos === component.pos) {
                    return child.searchNode(paths, pos + 1);
                  }

                  siblingPos++;
                }
              }
            } catch (err) {
              _iterator.e(err);
            } finally {
              _iterator.f();
            }

            return node.searchNode(paths, pos + 1);
          }
        }

        if (node.childNodes && node.childNodes.length !== 0) {
          stack.push([node, 0]);
          node = node.childNodes[0];
        } else if (stack.length === 0) {
          return null;
        } else {
          while (stack.length !== 0) {
            var _stack$pop3 = stack.pop(),
                _stack$pop4 = _slicedToArray(_stack$pop3, 2),
                _parent = _stack$pop4[0],
                currentPos = _stack$pop4[1];

            var newPos = currentPos + 1;

            if (newPos < _parent.childNodes.length) {
              stack.push([_parent, newPos]);
              node = _parent.childNodes[newPos];
              break;
            }
          }

          if (stack.length === 0) {
            return null;
          }
        }
      }
    }
  }, {
    key: "dump",
    value: function dump(buffer) {
      if (this.nodeName === "#text") {
        buffer.push((0, _util.encodeToXmlString)(this.nodeValue));
        return;
      }

      buffer.push("<".concat(this.nodeName));

      if (this.attributes) {
        var _iterator2 = _createForOfIteratorHelper(this.attributes),
            _step2;

        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var attribute = _step2.value;
            buffer.push(" ".concat(attribute.name, "=\"").concat((0, _util.encodeToXmlString)(attribute.value), "\""));
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
      }

      if (this.hasChildNodes()) {
        buffer.push(">");

        var _iterator3 = _createForOfIteratorHelper(this.childNodes),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var child = _step3.value;
            child.dump(buffer);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }

        buffer.push("</".concat(this.nodeName, ">"));
      } else if (this.nodeValue) {
        buffer.push(">".concat((0, _util.encodeToXmlString)(this.nodeValue), "</").concat(this.nodeName, ">"));
      } else {
        buffer.push("/>");
      }
    }
  }, {
    key: "firstChild",
    get: function get() {
      return this.childNodes && this.childNodes[0];
    }
  }, {
    key: "nextSibling",
    get: function get() {
      var childNodes = this.parentNode.childNodes;

      if (!childNodes) {
        return undefined;
      }

      var index = childNodes.indexOf(this);

      if (index === -1) {
        return undefined;
      }

      return childNodes[index + 1];
    }
  }, {
    key: "textContent",
    get: function get() {
      if (!this.childNodes) {
        return this.nodeValue || "";
      }

      return this.childNodes.map(function (child) {
        return child.textContent;
      }).join("");
    }
  }]);

  return SimpleDOMNode;
}();

exports.SimpleDOMNode = SimpleDOMNode;

var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {
  _inherits(SimpleXMLParser, _XMLParserBase);

  var _super = _createSuper(SimpleXMLParser);

  function SimpleXMLParser(_ref) {
    var _this2;

    var _ref$hasAttributes = _ref.hasAttributes,
        hasAttributes = _ref$hasAttributes === void 0 ? false : _ref$hasAttributes,
        _ref$lowerCaseName = _ref.lowerCaseName,
        lowerCaseName = _ref$lowerCaseName === void 0 ? false : _ref$lowerCaseName;

    _classCallCheck(this, SimpleXMLParser);

    _this2 = _super.call(this);
    _this2._currentFragment = null;
    _this2._stack = null;
    _this2._errorCode = XMLParserErrorCode.NoError;
    _this2._hasAttributes = hasAttributes;
    _this2._lowerCaseName = lowerCaseName;
    return _this2;
  }

  _createClass(SimpleXMLParser, [{
    key: "parseFromString",
    value: function parseFromString(data) {
      this._currentFragment = [];
      this._stack = [];
      this._errorCode = XMLParserErrorCode.NoError;
      this.parseXml(data);

      if (this._errorCode !== XMLParserErrorCode.NoError) {
        return undefined;
      }

      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
          documentElement = _this$_currentFragmen[0];

      if (!documentElement) {
        return undefined;
      }

      return {
        documentElement: documentElement
      };
    }
  }, {
    key: "onResolveEntity",
    value: function onResolveEntity(name) {
      switch (name) {
        case "apos":
          return "'";
      }

      return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
    }
  }, {
    key: "onText",
    value: function onText(text) {
      if (isWhitespaceString(text)) {
        return;
      }

      var node = new SimpleDOMNode("#text", text);

      this._currentFragment.push(node);
    }
  }, {
    key: "onCdata",
    value: function onCdata(text) {
      var node = new SimpleDOMNode("#text", text);

      this._currentFragment.push(node);
    }
  }, {
    key: "onBeginElement",
    value: function onBeginElement(name, attributes, isEmpty) {
      if (this._lowerCaseName) {
        name = name.toLowerCase();
      }

      var node = new SimpleDOMNode(name);
      node.childNodes = [];

      if (this._hasAttributes) {
        node.attributes = attributes;
      }

      this._currentFragment.push(node);

      if (isEmpty) {
        return;
      }

      this._stack.push(this._currentFragment);

      this._currentFragment = node.childNodes;
    }
  }, {
    key: "onEndElement",
    value: function onEndElement(name) {
      this._currentFragment = this._stack.pop() || [];
      var lastElement = this._currentFragment[this._currentFragment.length - 1];

      if (!lastElement) {
        return;
      }

      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
        lastElement.childNodes[i].parentNode = lastElement;
      }
    }
  }, {
    key: "onError",
    value: function onError(code) {
      this._errorCode = code;
    }
  }]);

  return SimpleXMLParser;
}(XMLParserBase);

exports.SimpleXMLParser = SimpleXMLParser;

/***/ }),
/* 146 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.OptionalContentConfig = void 0;

var _util = __w_pdfjs_require__(4);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var OptionalContentGroup = function OptionalContentGroup(name, intent) {
  _classCallCheck(this, OptionalContentGroup);

  this.visible = true;
  this.name = name;
  this.intent = intent;
};

var OptionalContentConfig = /*#__PURE__*/function () {
  function OptionalContentConfig(data) {
    _classCallCheck(this, OptionalContentConfig);

    this.name = null;
    this.creator = null;
    this._order = null;
    this._groups = new Map();

    if (data === null) {
      return;
    }

    this.name = data.name;
    this.creator = data.creator;
    this._order = data.order;

    var _iterator = _createForOfIteratorHelper(data.groups),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var _group = _step.value;

        this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    if (data.baseState === "OFF") {
      var _iterator2 = _createForOfIteratorHelper(this._groups),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var group = _step2.value;
          group.visible = false;
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
    }

    var _iterator3 = _createForOfIteratorHelper(data.on),
        _step3;

    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var on = _step3.value;
        this._groups.get(on).visible = true;
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }

    var _iterator4 = _createForOfIteratorHelper(data.off),
        _step4;

    try {
      for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
        var off = _step4.value;
        this._groups.get(off).visible = false;
      }
    } catch (err) {
      _iterator4.e(err);
    } finally {
      _iterator4.f();
    }
  }

  _createClass(OptionalContentConfig, [{
    key: "isVisible",
    value: function isVisible(group) {
      if (group.type === "OCG") {
        if (!this._groups.has(group.id)) {
          (0, _util.warn)("Optional content group not found: ".concat(group.id));
          return true;
        }

        return this._groups.get(group.id).visible;
      } else if (group.type === "OCMD") {
        if (group.expression) {
          (0, _util.warn)("Visibility expression not supported yet.");
        }

        if (!group.policy || group.policy === "AnyOn") {
          var _iterator5 = _createForOfIteratorHelper(group.ids),
              _step5;

          try {
            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
              var id = _step5.value;

              if (!this._groups.has(id)) {
                (0, _util.warn)("Optional content group not found: ".concat(id));
                return true;
              }

              if (this._groups.get(id).visible) {
                return true;
              }
            }
          } catch (err) {
            _iterator5.e(err);
          } finally {
            _iterator5.f();
          }

          return false;
        } else if (group.policy === "AllOn") {
          var _iterator6 = _createForOfIteratorHelper(group.ids),
              _step6;

          try {
            for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
              var _id = _step6.value;

              if (!this._groups.has(_id)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id));
                return true;
              }

              if (!this._groups.get(_id).visible) {
                return false;
              }
            }
          } catch (err) {
            _iterator6.e(err);
          } finally {
            _iterator6.f();
          }

          return true;
        } else if (group.policy === "AnyOff") {
          var _iterator7 = _createForOfIteratorHelper(group.ids),
              _step7;

          try {
            for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
              var _id2 = _step7.value;

              if (!this._groups.has(_id2)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id2));
                return true;
              }

              if (!this._groups.get(_id2).visible) {
                return true;
              }
            }
          } catch (err) {
            _iterator7.e(err);
          } finally {
            _iterator7.f();
          }

          return false;
        } else if (group.policy === "AllOff") {
          var _iterator8 = _createForOfIteratorHelper(group.ids),
              _step8;

          try {
            for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
              var _id3 = _step8.value;

              if (!this._groups.has(_id3)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id3));
                return true;
              }

              if (this._groups.get(_id3).visible) {
                return false;
              }
            }
          } catch (err) {
            _iterator8.e(err);
          } finally {
            _iterator8.f();
          }

          return true;
        }

        (0, _util.warn)("Unknown optional content policy ".concat(group.policy, "."));
        return true;
      }

      (0, _util.warn)("Unknown group type ".concat(group.type, "."));
      return true;
    }
  }, {
    key: "setVisibility",
    value: function setVisibility(id) {
      var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

      if (!this._groups.has(id)) {
        (0, _util.warn)("Optional content group not found: ".concat(id));
        return;
      }

      this._groups.get(id).visible = !!visible;
    }
  }, {
    key: "getOrder",
    value: function getOrder() {
      if (!this._groups.size) {
        return null;
      }

      if (this._order) {
        return this._order.slice();
      }

      return Array.from(this._groups.keys());
    }
  }, {
    key: "getGroups",
    value: function getGroups() {
      if (!this._groups.size) {
        return null;
      }

      return (0, _util.objectFromEntries)(this._groups);
    }
  }, {
    key: "getGroup",
    value: function getGroup(id) {
      return this._groups.get(id) || null;
    }
  }]);

  return OptionalContentConfig;
}();

exports.OptionalContentConfig = OptionalContentConfig;

/***/ }),
/* 147 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFDataTransportStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var PDFDataTransportStream = /*#__PURE__*/function () {
  function PDFDataTransportStream(params, pdfDataRangeTransport) {
    var _this = this;

    _classCallCheck(this, PDFDataTransportStream);

    (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
    this._queuedChunks = [];
    this._progressiveDone = params.progressiveDone || false;
    var initialData = params.initialData;

    if ((initialData === null || initialData === void 0 ? void 0 : initialData.length) > 0) {
      var buffer = new Uint8Array(initialData).buffer;

      this._queuedChunks.push(buffer);
    }

    this._pdfDataRangeTransport = pdfDataRangeTransport;
    this._isStreamingSupported = !params.disableStream;
    this._isRangeSupported = !params.disableRange;
    this._contentLength = params.length;
    this._fullRequestReader = null;
    this._rangeReaders = [];

    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
      _this._onReceiveData({
        begin: begin,
        chunk: chunk
      });
    });

    this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
      _this._onProgress({
        loaded: loaded,
        total: total
      });
    });

    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
      _this._onReceiveData({
        chunk: chunk
      });
    });

    this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
      _this._onProgressiveDone();
    });

    this._pdfDataRangeTransport.transportReady();
  }

  _createClass(PDFDataTransportStream, [{
    key: "_onReceiveData",
    value: function _onReceiveData(args) {
      var buffer = new Uint8Array(args.chunk).buffer;

      if (args.begin === undefined) {
        if (this._fullRequestReader) {
          this._fullRequestReader._enqueue(buffer);
        } else {
          this._queuedChunks.push(buffer);
        }
      } else {
        var found = this._rangeReaders.some(function (rangeReader) {
          if (rangeReader._begin !== args.begin) {
            return false;
          }

          rangeReader._enqueue(buffer);

          return true;
        });

        (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
      }
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(evt) {
      if (evt.total === undefined) {
        var firstReader = this._rangeReaders[0];

        if (firstReader !== null && firstReader !== void 0 && firstReader.onProgress) {
          firstReader.onProgress({
            loaded: evt.loaded
          });
        }
      } else {
        var fullReader = this._fullRequestReader;

        if (fullReader !== null && fullReader !== void 0 && fullReader.onProgress) {
          fullReader.onProgress({
            loaded: evt.loaded,
            total: evt.total
          });
        }
      }
    }
  }, {
    key: "_onProgressiveDone",
    value: function _onProgressiveDone() {
      if (this._fullRequestReader) {
        this._fullRequestReader.progressiveDone();
      }

      this._progressiveDone = true;
    }
  }, {
    key: "_removeRangeReader",
    value: function _removeRangeReader(reader) {
      var i = this._rangeReaders.indexOf(reader);

      if (i >= 0) {
        this._rangeReaders.splice(i, 1);
      }
    }
  }, {
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
      var queuedChunks = this._queuedChunks;
      this._queuedChunks = null;
      return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);

      this._pdfDataRangeTransport.requestDataRange(begin, end);

      this._rangeReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeReaders.slice(0);

      readers.forEach(function (rangeReader) {
        rangeReader.cancel(reason);
      });

      this._pdfDataRangeTransport.abort();
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      var _this$_fullRequestRea, _this$_fullRequestRea2;

      return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
    }
  }]);

  return PDFDataTransportStream;
}();

exports.PDFDataTransportStream = PDFDataTransportStream;

var PDFDataTransportStreamReader = /*#__PURE__*/function () {
  function PDFDataTransportStreamReader(stream, queuedChunks) {
    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _classCallCheck(this, PDFDataTransportStreamReader);

    this._stream = stream;
    this._done = progressiveDone || false;
    this._filename = null;
    this._queuedChunks = queuedChunks || [];
    this._loaded = 0;

    var _iterator = _createForOfIteratorHelper(this._queuedChunks),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var chunk = _step.value;
        this._loaded += chunk.byteLength;
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    this._requests = [];
    this._headersReady = Promise.resolve();
    stream._fullRequestReader = this;
    this.onProgress = null;
  }

  _createClass(PDFDataTransportStreamReader, [{
    key: "_enqueue",
    value: function _enqueue(chunk) {
      if (this._done) {
        return;
      }

      if (this._requests.length > 0) {
        var requestCapability = this._requests.shift();

        requestCapability.resolve({
          value: chunk,
          done: false
        });
      } else {
        this._queuedChunks.push(chunk);
      }

      this._loaded += chunk.byteLength;
    }
  }, {
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(this._queuedChunks.length > 0)) {
                  _context.next = 3;
                  break;
                }

                chunk = this._queuedChunks.shift();
                return _context.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 3:
                if (!this._done) {
                  _context.next = 5;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 5:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context.abrupt("return", requestCapability.promise);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];
    }
  }, {
    key: "progressiveDone",
    value: function progressiveDone() {
      if (this._done) {
        return;
      }

      this._done = true;
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersReady;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._stream._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._stream._isStreamingSupported;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._stream._contentLength;
    }
  }]);

  return PDFDataTransportStreamReader;
}();

var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {
  function PDFDataTransportStreamRangeReader(stream, begin, end) {
    _classCallCheck(this, PDFDataTransportStreamRangeReader);

    this._stream = stream;
    this._begin = begin;
    this._end = end;
    this._queuedChunk = null;
    this._requests = [];
    this._done = false;
    this.onProgress = null;
  }

  _createClass(PDFDataTransportStreamRangeReader, [{
    key: "_enqueue",
    value: function _enqueue(chunk) {
      if (this._done) {
        return;
      }

      if (this._requests.length === 0) {
        this._queuedChunk = chunk;
      } else {
        var requestsCapability = this._requests.shift();

        requestsCapability.resolve({
          value: chunk,
          done: false
        });

        this._requests.forEach(function (requestCapability) {
          requestCapability.resolve({
            value: undefined,
            done: true
          });
        });

        this._requests = [];
      }

      this._done = true;

      this._stream._removeRangeReader(this);
    }
  }, {
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this._queuedChunk) {
                  _context2.next = 4;
                  break;
                }

                chunk = this._queuedChunk;
                this._queuedChunk = null;
                return _context2.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 4:
                if (!this._done) {
                  _context2.next = 6;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 6:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context2.abrupt("return", requestCapability.promise);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      this._stream._removeRangeReader(this);
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return false;
    }
  }]);

  return PDFDataTransportStreamRangeReader;
}();

/***/ }),
/* 148 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.WebGLContext = void 0;

var _util = __w_pdfjs_require__(4);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var WebGLContext = /*#__PURE__*/function () {
  function WebGLContext(_ref) {
    var _ref$enable = _ref.enable,
        enable = _ref$enable === void 0 ? false : _ref$enable;

    _classCallCheck(this, WebGLContext);

    this._enabled = enable === true;
  }

  _createClass(WebGLContext, [{
    key: "composeSMask",
    value: function composeSMask(_ref2) {
      var layer = _ref2.layer,
          mask = _ref2.mask,
          properties = _ref2.properties;
      return WebGLUtils.composeSMask(layer, mask, properties);
    }
  }, {
    key: "drawFigures",
    value: function drawFigures(_ref3) {
      var width = _ref3.width,
          height = _ref3.height,
          backgroundColor = _ref3.backgroundColor,
          figures = _ref3.figures,
          context = _ref3.context;
      return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
    }
  }, {
    key: "clear",
    value: function clear() {
      WebGLUtils.cleanup();
    }
  }, {
    key: "isEnabled",
    get: function get() {
      var enabled = this._enabled;

      if (enabled) {
        enabled = WebGLUtils.tryInitGL();
      }

      return (0, _util.shadow)(this, "isEnabled", enabled);
    }
  }]);

  return WebGLContext;
}();

exports.WebGLContext = WebGLContext;

var WebGLUtils = function WebGLUtilsClosure() {
  function loadShader(gl, code, shaderType) {
    var shader = gl.createShader(shaderType);
    gl.shaderSource(shader, code);
    gl.compileShader(shader);
    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);

    if (!compiled) {
      var errorMsg = gl.getShaderInfoLog(shader);
      throw new Error("Error during shader compilation: " + errorMsg);
    }

    return shader;
  }

  function createVertexShader(gl, code) {
    return loadShader(gl, code, gl.VERTEX_SHADER);
  }

  function createFragmentShader(gl, code) {
    return loadShader(gl, code, gl.FRAGMENT_SHADER);
  }

  function createProgram(gl, shaders) {
    var program = gl.createProgram();

    for (var i = 0, ii = shaders.length; i < ii; ++i) {
      gl.attachShader(program, shaders[i]);
    }

    gl.linkProgram(program);
    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);

    if (!linked) {
      var errorMsg = gl.getProgramInfoLog(program);
      throw new Error("Error during program linking: " + errorMsg);
    }

    return program;
  }

  function createTexture(gl, image, textureId) {
    gl.activeTexture(textureId);
    var texture = gl.createTexture();
    gl.bindTexture(gl.TEXTURE_2D, texture);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
    return texture;
  }

  var currentGL, currentCanvas;

  function generateGL() {
    if (currentGL) {
      return;
    }

    currentCanvas = document.createElement("canvas");
    currentGL = currentCanvas.getContext("webgl", {
      premultipliedalpha: false
    });
  }

  var smaskVertexShaderCode = "\
  attribute vec2 a_position;                                    \
  attribute vec2 a_texCoord;                                    \
                                                                \
  uniform vec2 u_resolution;                                    \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_texCoord = a_texCoord;                                    \
  }                                                             ";
  var smaskFragmentShaderCode = "\
  precision mediump float;                                      \
                                                                \
  uniform vec4 u_backdrop;                                      \
  uniform int u_subtype;                                        \
  uniform sampler2D u_image;                                    \
  uniform sampler2D u_mask;                                     \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec4 imageColor = texture2D(u_image, v_texCoord);           \
    vec4 maskColor = texture2D(u_mask, v_texCoord);             \
    if (u_backdrop.a > 0.0) {                                   \
      maskColor.rgb = maskColor.rgb * maskColor.a +             \
                      u_backdrop.rgb * (1.0 - maskColor.a);     \
    }                                                           \
    float lum;                                                  \
    if (u_subtype == 0) {                                       \
      lum = maskColor.a;                                        \
    } else {                                                    \
      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \
            maskColor.b * 0.11;                                 \
    }                                                           \
    imageColor.a *= lum;                                        \
    imageColor.rgb *= imageColor.a;                             \
    gl_FragColor = imageColor;                                  \
  }                                                             ";
  var smaskCache = null;

  function initSmaskGL() {
    generateGL();
    var canvas = currentCanvas;
    currentCanvas = null;
    var gl = currentGL;
    currentGL = null;
    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);
    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
    var program = createProgram(gl, [vertexShader, fragmentShader]);
    gl.useProgram(program);
    var cache = {};
    cache.gl = gl;
    cache.canvas = canvas;
    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
    cache.positionLocation = gl.getAttribLocation(program, "a_position");
    cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
    cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
    var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
    var texLayerLocation = gl.getUniformLocation(program, "u_image");
    var texMaskLocation = gl.getUniformLocation(program, "u_mask");
    var texCoordBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);
    gl.enableVertexAttribArray(texCoordLocation);
    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);
    gl.uniform1i(texLayerLocation, 0);
    gl.uniform1i(texMaskLocation, 1);
    smaskCache = cache;
  }

  function composeSMask(layer, mask, properties) {
    var width = layer.width,
        height = layer.height;

    if (!smaskCache) {
      initSmaskGL();
    }

    var cache = smaskCache,
        canvas = cache.canvas,
        gl = cache.gl;
    canvas.width = width;
    canvas.height = height;
    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    gl.uniform2f(cache.resolutionLocation, width, height);

    if (properties.backdrop) {
      gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);
    } else {
      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
    }

    gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
    var texture = createTexture(gl, layer, gl.TEXTURE0);
    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
    var buffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.positionLocation);
    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
    gl.clearColor(0, 0, 0, 0);
    gl.enable(gl.BLEND);
    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
    gl.clear(gl.COLOR_BUFFER_BIT);
    gl.drawArrays(gl.TRIANGLES, 0, 6);
    gl.flush();
    gl.deleteTexture(texture);
    gl.deleteTexture(maskTexture);
    gl.deleteBuffer(buffer);
    return canvas;
  }

  var figuresVertexShaderCode = "\
  attribute vec2 a_position;                                    \
  attribute vec3 a_color;                                       \
                                                                \
  uniform vec2 u_resolution;                                    \
  uniform vec2 u_scale;                                         \
  uniform vec2 u_offset;                                        \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    vec2 position = (a_position + u_offset) * u_scale;          \
    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_color = vec4(a_color / 255.0, 1.0);                       \
  }                                                             ";
  var figuresFragmentShaderCode = "\
  precision mediump float;                                      \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    gl_FragColor = v_color;                                     \
  }                                                             ";
  var figuresCache = null;

  function initFiguresGL() {
    generateGL();
    var canvas = currentCanvas;
    currentCanvas = null;
    var gl = currentGL;
    currentGL = null;
    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);
    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
    var program = createProgram(gl, [vertexShader, fragmentShader]);
    gl.useProgram(program);
    var cache = {};
    cache.gl = gl;
    cache.canvas = canvas;
    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
    cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
    cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
    cache.positionLocation = gl.getAttribLocation(program, "a_position");
    cache.colorLocation = gl.getAttribLocation(program, "a_color");
    figuresCache = cache;
  }

  function drawFigures(width, height, backgroundColor, figures, context) {
    if (!figuresCache) {
      initFiguresGL();
    }

    var cache = figuresCache,
        canvas = cache.canvas,
        gl = cache.gl;
    canvas.width = width;
    canvas.height = height;
    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    gl.uniform2f(cache.resolutionLocation, width, height);
    var count = 0;

    for (var i = 0, ii = figures.length; i < ii; i++) {
      switch (figures[i].type) {
        case "lattice":
          var rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
          break;

        case "triangles":
          count += figures[i].coords.length;
          break;
      }
    }

    var coords = new Float32Array(count * 2);
    var colors = new Uint8Array(count * 3);
    var coordsMap = context.coords,
        colorsMap = context.colors;
    var pIndex = 0,
        cIndex = 0;

    for (var _i = 0, _ii = figures.length; _i < _ii; _i++) {
      var figure = figures[_i],
          ps = figure.coords,
          cs = figure.colors;

      switch (figure.type) {
        case "lattice":
          var cols = figure.verticesPerRow;

          var _rows = ps.length / cols | 0;

          for (var row = 1; row < _rows; row++) {
            var offset = row * cols + 1;

            for (var col = 1; col < cols; col++, offset++) {
              coords[pIndex] = coordsMap[ps[offset - cols - 1]];
              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];
              coords[pIndex + 2] = coordsMap[ps[offset - cols]];
              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];
              coords[pIndex + 4] = coordsMap[ps[offset - 1]];
              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];
              colors[cIndex] = colorsMap[cs[offset - cols - 1]];
              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];
              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];
              colors[cIndex + 3] = colorsMap[cs[offset - cols]];
              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];
              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];
              colors[cIndex + 6] = colorsMap[cs[offset - 1]];
              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];
              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];
              coords[pIndex + 6] = coords[pIndex + 2];
              coords[pIndex + 7] = coords[pIndex + 3];
              coords[pIndex + 8] = coords[pIndex + 4];
              coords[pIndex + 9] = coords[pIndex + 5];
              coords[pIndex + 10] = coordsMap[ps[offset]];
              coords[pIndex + 11] = coordsMap[ps[offset] + 1];
              colors[cIndex + 9] = colors[cIndex + 3];
              colors[cIndex + 10] = colors[cIndex + 4];
              colors[cIndex + 11] = colors[cIndex + 5];
              colors[cIndex + 12] = colors[cIndex + 6];
              colors[cIndex + 13] = colors[cIndex + 7];
              colors[cIndex + 14] = colors[cIndex + 8];
              colors[cIndex + 15] = colorsMap[cs[offset]];
              colors[cIndex + 16] = colorsMap[cs[offset] + 1];
              colors[cIndex + 17] = colorsMap[cs[offset] + 2];
              pIndex += 12;
              cIndex += 18;
            }
          }

          break;

        case "triangles":
          for (var j = 0, jj = ps.length; j < jj; j++) {
            coords[pIndex] = coordsMap[ps[j]];
            coords[pIndex + 1] = coordsMap[ps[j] + 1];
            colors[cIndex] = colorsMap[cs[j]];
            colors[cIndex + 1] = colorsMap[cs[j] + 1];
            colors[cIndex + 2] = colorsMap[cs[j] + 2];
            pIndex += 2;
            cIndex += 3;
          }

          break;
      }
    }

    if (backgroundColor) {
      gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);
    } else {
      gl.clearColor(0, 0, 0, 0);
    }

    gl.clear(gl.COLOR_BUFFER_BIT);
    var coordsBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.positionLocation);
    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
    var colorsBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.colorLocation);
    gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);
    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);
    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);
    gl.drawArrays(gl.TRIANGLES, 0, count);
    gl.flush();
    gl.deleteBuffer(coordsBuffer);
    gl.deleteBuffer(colorsBuffer);
    return canvas;
  }

  return {
    tryInitGL: function tryInitGL() {
      try {
        generateGL();
        return !!currentGL;
      } catch (ex) {}

      return false;
    },
    composeSMask: composeSMask,
    drawFigures: drawFigures,
    cleanup: function cleanup() {
      var _smaskCache, _figuresCache;

      if ((_smaskCache = smaskCache) !== null && _smaskCache !== void 0 && _smaskCache.canvas) {
        smaskCache.canvas.width = 0;
        smaskCache.canvas.height = 0;
      }

      if ((_figuresCache = figuresCache) !== null && _figuresCache !== void 0 && _figuresCache.canvas) {
        figuresCache.canvas.width = 0;
        figuresCache.canvas.height = 0;
      }

      smaskCache = null;
      figuresCache = null;
    }
  };
}();

/***/ }),
/* 149 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.AnnotationLayer = void 0;

var _display_utils = __w_pdfjs_require__(1);

var _util = __w_pdfjs_require__(4);

var _annotation_storage = __w_pdfjs_require__(138);

var _scripting_utils = __w_pdfjs_require__(150);

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationElementFactory = /*#__PURE__*/function () {
  function AnnotationElementFactory() {
    _classCallCheck(this, AnnotationElementFactory);
  }

  _createClass(AnnotationElementFactory, null, [{
    key: "create",
    value: function create(parameters) {
      var subtype = parameters.data.annotationType;

      switch (subtype) {
        case _util.AnnotationType.LINK:
          return new LinkAnnotationElement(parameters);

        case _util.AnnotationType.TEXT:
          return new TextAnnotationElement(parameters);

        case _util.AnnotationType.WIDGET:
          var fieldType = parameters.data.fieldType;

          switch (fieldType) {
            case "Tx":
              return new TextWidgetAnnotationElement(parameters);

            case "Btn":
              if (parameters.data.radioButton) {
                return new RadioButtonWidgetAnnotationElement(parameters);
              } else if (parameters.data.checkBox) {
                return new CheckboxWidgetAnnotationElement(parameters);
              }

              return new PushButtonWidgetAnnotationElement(parameters);

            case "Ch":
              return new ChoiceWidgetAnnotationElement(parameters);
          }

          return new WidgetAnnotationElement(parameters);

        case _util.AnnotationType.POPUP:
          return new PopupAnnotationElement(parameters);

        case _util.AnnotationType.FREETEXT:
          return new FreeTextAnnotationElement(parameters);

        case _util.AnnotationType.LINE:
          return new LineAnnotationElement(parameters);

        case _util.AnnotationType.SQUARE:
          return new SquareAnnotationElement(parameters);

        case _util.AnnotationType.CIRCLE:
          return new CircleAnnotationElement(parameters);

        case _util.AnnotationType.POLYLINE:
          return new PolylineAnnotationElement(parameters);

        case _util.AnnotationType.CARET:
          return new CaretAnnotationElement(parameters);

        case _util.AnnotationType.INK:
          return new InkAnnotationElement(parameters);

        case _util.AnnotationType.POLYGON:
          return new PolygonAnnotationElement(parameters);

        case _util.AnnotationType.HIGHLIGHT:
          return new HighlightAnnotationElement(parameters);

        case _util.AnnotationType.UNDERLINE:
          return new UnderlineAnnotationElement(parameters);

        case _util.AnnotationType.SQUIGGLY:
          return new SquigglyAnnotationElement(parameters);

        case _util.AnnotationType.STRIKEOUT:
          return new StrikeOutAnnotationElement(parameters);

        case _util.AnnotationType.STAMP:
          return new StampAnnotationElement(parameters);

        case _util.AnnotationType.FILEATTACHMENT:
          return new FileAttachmentAnnotationElement(parameters);

        default:
          return new AnnotationElement(parameters);
      }
    }
  }]);

  return AnnotationElementFactory;
}();

var AnnotationElement = /*#__PURE__*/function () {
  function AnnotationElement(parameters) {
    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        _ref$isRenderable = _ref.isRenderable,
        isRenderable = _ref$isRenderable === void 0 ? false : _ref$isRenderable,
        _ref$ignoreBorder = _ref.ignoreBorder,
        ignoreBorder = _ref$ignoreBorder === void 0 ? false : _ref$ignoreBorder,
        _ref$createQuadrilate = _ref.createQuadrilaterals,
        createQuadrilaterals = _ref$createQuadrilate === void 0 ? false : _ref$createQuadrilate;

    _classCallCheck(this, AnnotationElement);

    this.isRenderable = isRenderable;
    this.data = parameters.data;
    this.layer = parameters.layer;
    this.page = parameters.page;
    this.viewport = parameters.viewport;
    this.linkService = parameters.linkService;
    this.downloadManager = parameters.downloadManager;
    this.imageResourcesPath = parameters.imageResourcesPath;
    this.renderInteractiveForms = parameters.renderInteractiveForms;
    this.svgFactory = parameters.svgFactory;
    this.annotationStorage = parameters.annotationStorage;
    this.enableScripting = parameters.enableScripting;
    this.hasJSActions = parameters.hasJSActions;
    this._mouseState = parameters.mouseState;

    if (isRenderable) {
      this.container = this._createContainer(ignoreBorder);
    }

    if (createQuadrilaterals) {
      this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);
    }
  }

  _createClass(AnnotationElement, [{
    key: "_createContainer",
    value: function _createContainer() {
      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var data = this.data,
          page = this.page,
          viewport = this.viewport;
      var container = document.createElement("section");
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      container.setAttribute("data-annotation-id", data.id);

      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);

      container.style.transform = "matrix(".concat(viewport.transform.join(","), ")");
      container.style.transformOrigin = "".concat(-rect[0], "px ").concat(-rect[1], "px");

      if (!ignoreBorder && data.borderStyle.width > 0) {
        container.style.borderWidth = "".concat(data.borderStyle.width, "px");

        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
          width = width - 2 * data.borderStyle.width;
          height = height - 2 * data.borderStyle.width;
        }

        var horizontalRadius = data.borderStyle.horizontalCornerRadius;
        var verticalRadius = data.borderStyle.verticalCornerRadius;

        if (horizontalRadius > 0 || verticalRadius > 0) {
          var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
          container.style.borderRadius = radius;
        }

        switch (data.borderStyle.style) {
          case _util.AnnotationBorderStyleType.SOLID:
            container.style.borderStyle = "solid";
            break;

          case _util.AnnotationBorderStyleType.DASHED:
            container.style.borderStyle = "dashed";
            break;

          case _util.AnnotationBorderStyleType.BEVELED:
            (0, _util.warn)("Unimplemented border style: beveled");
            break;

          case _util.AnnotationBorderStyleType.INSET:
            (0, _util.warn)("Unimplemented border style: inset");
            break;

          case _util.AnnotationBorderStyleType.UNDERLINE:
            container.style.borderBottomStyle = "solid";
            break;

          default:
            break;
        }

        if (data.color) {
          container.style.borderColor = _util.Util.makeHexColor(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
        } else {
          container.style.borderWidth = 0;
        }
      }

      container.style.left = "".concat(rect[0], "px");
      container.style.top = "".concat(rect[1], "px");
      container.style.width = "".concat(width, "px");
      container.style.height = "".concat(height, "px");
      return container;
    }
  }, {
    key: "_createQuadrilaterals",
    value: function _createQuadrilaterals() {
      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this.data.quadPoints) {
        return null;
      }

      var quadrilaterals = [];
      var savedRect = this.data.rect;

      var _iterator = _createForOfIteratorHelper(this.data.quadPoints),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var quadPoint = _step.value;
          this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];
          quadrilaterals.push(this._createContainer(ignoreBorder));
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      this.data.rect = savedRect;
      return quadrilaterals;
    }
  }, {
    key: "_createPopup",
    value: function _createPopup(trigger, data) {
      var container = this.container;

      if (this.quadrilaterals) {
        trigger = trigger || this.quadrilaterals;
        container = this.quadrilaterals[0];
      }

      if (!trigger) {
        trigger = document.createElement("div");
        trigger.style.height = container.style.height;
        trigger.style.width = container.style.width;
        container.appendChild(trigger);
      }

      var popupElement = new PopupElement({
        container: container,
        trigger: trigger,
        color: data.color,
        title: data.title,
        modificationDate: data.modificationDate,
        contents: data.contents,
        hideWrapper: true
      });
      var popup = popupElement.render();
      popup.style.left = container.style.width;
      container.appendChild(popup);
    }
  }, {
    key: "_renderQuadrilaterals",
    value: function _renderQuadrilaterals(className) {
      this.quadrilaterals.forEach(function (quadrilateral) {
        quadrilateral.className = className;
      });
      return this.quadrilaterals;
    }
  }, {
    key: "render",
    value: function render() {
      (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
    }
  }]);

  return AnnotationElement;
}();

var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {
  _inherits(LinkAnnotationElement, _AnnotationElement);

  var _super = _createSuper(LinkAnnotationElement);

  function LinkAnnotationElement(parameters) {
    _classCallCheck(this, LinkAnnotationElement);

    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action || parameters.data.isTooltipOnly || parameters.data.actions && (parameters.data.actions.Action || parameters.data.actions["Mouse Up"] || parameters.data.actions["Mouse Down"]));
    return _super.call(this, parameters, {
      isRenderable: isRenderable,
      createQuadrilaterals: true
    });
  }

  _createClass(LinkAnnotationElement, [{
    key: "render",
    value: function render() {
      var data = this.data,
          linkService = this.linkService;
      var link = document.createElement("a");

      if (data.url) {
        (0, _display_utils.addLinkAttributes)(link, {
          url: data.url,
          target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
          rel: linkService.externalLinkRel,
          enabled: linkService.externalLinkEnabled
        });
      } else if (data.action) {
        this._bindNamedAction(link, data.action);
      } else if (data.dest) {
        this._bindLink(link, data.dest);
      } else if (data.actions && (data.actions.Action || data.actions["Mouse Up"] || data.actions["Mouse Down"]) && this.enableScripting && this.hasJSActions) {
        this._bindJSAction(link, data);
      } else {
        this._bindLink(link, "");
      }

      if (this.quadrilaterals) {
        return this._renderQuadrilaterals("linkAnnotation").map(function (quadrilateral, index) {
          var linkElement = index === 0 ? link : link.cloneNode();
          quadrilateral.appendChild(linkElement);
          return quadrilateral;
        });
      }

      this.container.className = "linkAnnotation";
      this.container.appendChild(link);
      return this.container;
    }
  }, {
    key: "_bindLink",
    value: function _bindLink(link, destination) {
      var _this = this;

      link.href = this.linkService.getDestinationHash(destination);

      link.onclick = function () {
        if (destination) {
          _this.linkService.goToDestination(destination);
        }

        return false;
      };

      if (destination || destination === "") {
        link.className = "internalLink";
      }
    }
  }, {
    key: "_bindNamedAction",
    value: function _bindNamedAction(link, action) {
      var _this2 = this;

      link.href = this.linkService.getAnchorUrl("");

      link.onclick = function () {
        _this2.linkService.executeNamedAction(action);

        return false;
      };

      link.className = "internalLink";
    }
  }, {
    key: "_bindJSAction",
    value: function _bindJSAction(link, data) {
      var _this3 = this;

      link.href = this.linkService.getAnchorUrl("");
      var map = new Map([["Action", "onclick"], ["Mouse Up", "onmouseup"], ["Mouse Down", "onmousedown"]]);

      var _loop = function _loop() {
        var name = _Object$keys[_i];
        var jsName = map.get(name);

        if (!jsName) {
          return "continue";
        }

        link[jsName] = function () {
          var _this3$linkService$ev;

          (_this3$linkService$ev = _this3.linkService.eventBus) === null || _this3$linkService$ev === void 0 ? void 0 : _this3$linkService$ev.dispatch("dispatcheventinsandbox", {
            source: _this3,
            detail: {
              id: data.id,
              name: name
            }
          });
          return false;
        };
      };

      for (var _i = 0, _Object$keys = Object.keys(data.actions); _i < _Object$keys.length; _i++) {
        var _ret = _loop();

        if (_ret === "continue") continue;
      }

      link.className = "internalLink";
    }
  }]);

  return LinkAnnotationElement;
}(AnnotationElement);

var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {
  _inherits(TextAnnotationElement, _AnnotationElement2);

  var _super2 = _createSuper(TextAnnotationElement);

  function TextAnnotationElement(parameters) {
    _classCallCheck(this, TextAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super2.call(this, parameters, {
      isRenderable: isRenderable
    });
  }

  _createClass(TextAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "textAnnotation";
      var image = document.createElement("img");
      image.style.height = this.container.style.height;
      image.style.width = this.container.style.width;
      image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
      image.alt = "[{{type}} Annotation]";
      image.dataset.l10nId = "text_annotation_type";
      image.dataset.l10nArgs = JSON.stringify({
        type: this.data.name
      });

      if (!this.data.hasPopup) {
        this._createPopup(image, this.data);
      }

      this.container.appendChild(image);
      return this.container;
    }
  }]);

  return TextAnnotationElement;
}(AnnotationElement);

var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {
  _inherits(WidgetAnnotationElement, _AnnotationElement3);

  var _super3 = _createSuper(WidgetAnnotationElement);

  function WidgetAnnotationElement() {
    _classCallCheck(this, WidgetAnnotationElement);

    return _super3.apply(this, arguments);
  }

  _createClass(WidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      if (this.data.alternativeText) {
        this.container.title = this.data.alternativeText;
      }

      return this.container;
    }
  }, {
    key: "_getKeyModifier",
    value: function _getKeyModifier(event) {
      return navigator.platform.includes("Win") && event.ctrlKey || navigator.platform.includes("Mac") && event.metaKey;
    }
  }, {
    key: "_setEventListener",
    value: function _setEventListener(element, baseName, eventName, valueGetter) {
      var _this4 = this;

      if (baseName.includes("mouse")) {
        element.addEventListener(baseName, function (event) {
          var _this4$linkService$ev;

          (_this4$linkService$ev = _this4.linkService.eventBus) === null || _this4$linkService$ev === void 0 ? void 0 : _this4$linkService$ev.dispatch("dispatcheventinsandbox", {
            source: _this4,
            detail: {
              id: _this4.data.id,
              name: eventName,
              value: valueGetter(event),
              shift: event.shiftKey,
              modifier: _this4._getKeyModifier(event)
            }
          });
        });
      } else {
        element.addEventListener(baseName, function (event) {
          var _this4$linkService$ev2;

          (_this4$linkService$ev2 = _this4.linkService.eventBus) === null || _this4$linkService$ev2 === void 0 ? void 0 : _this4$linkService$ev2.dispatch("dispatcheventinsandbox", {
            source: _this4,
            detail: {
              id: _this4.data.id,
              name: eventName,
              value: event.target.checked
            }
          });
        });
      }
    }
  }, {
    key: "_setEventListeners",
    value: function _setEventListeners(element, names, getter) {
      var _iterator2 = _createForOfIteratorHelper(names),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var _this$data$actions;

          var _step2$value = _slicedToArray(_step2.value, 2),
              baseName = _step2$value[0],
              eventName = _step2$value[1];

          if (eventName === "Action" || (_this$data$actions = this.data.actions) !== null && _this$data$actions !== void 0 && _this$data$actions[eventName]) {
            this._setEventListener(element, baseName, eventName, getter);
          }
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
    }
  }]);

  return WidgetAnnotationElement;
}(AnnotationElement);

var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {
  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);

  var _super4 = _createSuper(TextWidgetAnnotationElement);

  function TextWidgetAnnotationElement(parameters) {
    _classCallCheck(this, TextWidgetAnnotationElement);

    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
    return _super4.call(this, parameters, {
      isRenderable: isRenderable
    });
  }

  _createClass(TextWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var _this5 = this;

      var storage = this.annotationStorage;
      var id = this.data.id;
      this.container.className = "textWidgetAnnotation";
      var element = null;

      if (this.renderInteractiveForms) {
        var textContent = storage.getOrCreateValue(id, {
          value: this.data.fieldValue
        }).value;
        var elementData = {
          userValue: null,
          formattedValue: null,
          beforeInputSelectionRange: null,
          beforeInputValue: null
        };

        if (this.data.multiLine) {
          element = document.createElement("textarea");
          element.textContent = textContent;
        } else {
          element = document.createElement("input");
          element.type = "text";
          element.setAttribute("value", textContent);
        }

        elementData.userValue = textContent;
        element.setAttribute("id", id);
        element.addEventListener("input", function (event) {
          storage.setValue(id, {
            value: event.target.value
          });
        });

        var blurListener = function blurListener(event) {
          if (elementData.formattedValue) {
            event.target.value = elementData.formattedValue;
          }

          event.target.setSelectionRange(0, 0);
          elementData.beforeInputSelectionRange = null;
        };

        if (this.enableScripting && this.hasJSActions) {
          element.addEventListener("focus", function (event) {
            if (elementData.userValue) {
              event.target.value = elementData.userValue;
            }
          });
          element.addEventListener("updatefromsandbox", function (event) {
            var detail = event.detail;
            var actions = {
              value: function value() {
                elementData.userValue = detail.value || "";
                storage.setValue(id, {
                  value: elementData.userValue.toString()
                });

                if (!elementData.formattedValue) {
                  event.target.value = elementData.userValue;
                }
              },
              valueAsString: function valueAsString() {
                elementData.formattedValue = detail.valueAsString || "";

                if (event.target !== document.activeElement) {
                  event.target.value = elementData.formattedValue;
                }

                storage.setValue(id, {
                  formattedValue: elementData.formattedValue
                });
              },
              focus: function focus() {
                setTimeout(function () {
                  return event.target.focus({
                    preventScroll: false
                  });
                }, 0);
              },
              userName: function userName() {
                event.target.title = detail.userName;
              },
              hidden: function hidden() {
                event.target.style.visibility = detail.hidden ? "hidden" : "visible";
                storage.setValue(id, {
                  hidden: detail.hidden
                });
              },
              editable: function editable() {
                event.target.disabled = !detail.editable;
              },
              selRange: function selRange() {
                var _detail$selRange = _slicedToArray(detail.selRange, 2),
                    selStart = _detail$selRange[0],
                    selEnd = _detail$selRange[1];

                if (selStart >= 0 && selEnd < event.target.value.length) {
                  event.target.setSelectionRange(selStart, selEnd);
                }
              },
              strokeColor: function strokeColor() {
                var color = detail.strokeColor;
                event.target.style.color = _scripting_utils.ColorConverters["".concat(color[0], "_HTML")](color.slice(1));
              }
            };
            Object.keys(detail).filter(function (name) {
              return name in actions;
            }).forEach(function (name) {
              return actions[name]();
            });
          });

          if (this.data.actions) {
            element.addEventListener("keydown", function (event) {
              var _this5$linkService$ev;

              elementData.beforeInputValue = event.target.value;
              var commitKey = -1;

              if (event.key === "Escape") {
                commitKey = 0;
              } else if (event.key === "Enter") {
                commitKey = 2;
              } else if (event.key === "Tab") {
                commitKey = 3;
              }

              if (commitKey === -1) {
                return;
              }

              elementData.userValue = event.target.value;
              (_this5$linkService$ev = _this5.linkService.eventBus) === null || _this5$linkService$ev === void 0 ? void 0 : _this5$linkService$ev.dispatch("dispatcheventinsandbox", {
                source: _this5,
                detail: {
                  id: id,
                  name: "Keystroke",
                  value: event.target.value,
                  willCommit: true,
                  commitKey: commitKey,
                  selStart: event.target.selectionStart,
                  selEnd: event.target.selectionEnd
                }
              });
            });
            var _blurListener = blurListener;
            blurListener = null;
            element.addEventListener("blur", function (event) {
              if (_this5._mouseState.isDown) {
                var _this5$linkService$ev2;

                elementData.userValue = event.target.value;
                (_this5$linkService$ev2 = _this5.linkService.eventBus) === null || _this5$linkService$ev2 === void 0 ? void 0 : _this5$linkService$ev2.dispatch("dispatcheventinsandbox", {
                  source: _this5,
                  detail: {
                    id: id,
                    name: "Keystroke",
                    value: event.target.value,
                    willCommit: true,
                    commitKey: 1,
                    selStart: event.target.selectionStart,
                    selEnd: event.target.selectionEnd
                  }
                });
              }

              _blurListener(event);
            });
            element.addEventListener("mousedown", function (event) {
              elementData.beforeInputValue = event.target.value;
              elementData.beforeInputSelectionRange = null;
            });
            element.addEventListener("keyup", function (event) {
              if (event.target.selectionStart === event.target.selectionEnd) {
                elementData.beforeInputSelectionRange = null;
              }
            });
            element.addEventListener("select", function (event) {
              elementData.beforeInputSelectionRange = [event.target.selectionStart, event.target.selectionEnd];
            });

            if ("Keystroke" in this.data.actions) {
              element.addEventListener("input", function (event) {
                var _this5$linkService$ev3;

                var selStart = -1;
                var selEnd = -1;

                if (elementData.beforeInputSelectionRange) {
                  var _elementData$beforeIn = _slicedToArray(elementData.beforeInputSelectionRange, 2);

                  selStart = _elementData$beforeIn[0];
                  selEnd = _elementData$beforeIn[1];
                }

                (_this5$linkService$ev3 = _this5.linkService.eventBus) === null || _this5$linkService$ev3 === void 0 ? void 0 : _this5$linkService$ev3.dispatch("dispatcheventinsandbox", {
                  source: _this5,
                  detail: {
                    id: id,
                    name: "Keystroke",
                    value: elementData.beforeInputValue,
                    change: event.data,
                    willCommit: false,
                    selStart: selStart,
                    selEnd: selEnd
                  }
                });
              });
            }

            this._setEventListeners(element, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
              return event.target.value;
            });
          }
        }

        if (blurListener) {
          element.addEventListener("blur", blurListener);
        }

        element.disabled = this.data.readOnly;
        element.name = this.data.fieldName;

        if (this.data.maxLen !== null) {
          element.maxLength = this.data.maxLen;
        }

        if (this.data.comb) {
          var fieldWidth = this.data.rect[2] - this.data.rect[0];
          var combWidth = fieldWidth / this.data.maxLen;
          element.classList.add("comb");
          element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
        }
      } else {
        element = document.createElement("div");
        element.textContent = this.data.fieldValue;
        element.style.verticalAlign = "middle";
        element.style.display = "table-cell";
      }

      this._setTextStyle(element);

      this.container.appendChild(element);
      return this.container;
    }
  }, {
    key: "_setTextStyle",
    value: function _setTextStyle(element) {
      var TEXT_ALIGNMENT = ["left", "center", "right"];
      var _this$data$defaultApp = this.data.defaultAppearanceData,
          fontSize = _this$data$defaultApp.fontSize,
          fontColor = _this$data$defaultApp.fontColor;
      var style = element.style;

      if (fontSize) {
        style.fontSize = "".concat(fontSize, "px");
      }

      style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);

      if (this.data.textAlignment !== null) {
        style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
      }
    }
  }]);

  return TextWidgetAnnotationElement;
}(WidgetAnnotationElement);

var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {
  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);

  var _super5 = _createSuper(CheckboxWidgetAnnotationElement);

  function CheckboxWidgetAnnotationElement(parameters) {
    _classCallCheck(this, CheckboxWidgetAnnotationElement);

    return _super5.call(this, parameters, {
      isRenderable: parameters.renderInteractiveForms
    });
  }

  _createClass(CheckboxWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var storage = this.annotationStorage;
      var data = this.data;
      var id = data.id;
      var value = storage.getOrCreateValue(id, {
        value: data.fieldValue && data.fieldValue !== "Off"
      }).value;
      this.container.className = "buttonWidgetAnnotation checkBox";
      var element = document.createElement("input");
      element.disabled = data.readOnly;
      element.type = "checkbox";
      element.name = this.data.fieldName;

      if (value) {
        element.setAttribute("checked", true);
      }

      element.setAttribute("id", id);
      element.addEventListener("change", function (event) {
        var name = event.target.name;

        var _iterator3 = _createForOfIteratorHelper(document.getElementsByName(name)),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var checkbox = _step3.value;

            if (checkbox !== event.target) {
              checkbox.checked = false;
              storage.setValue(checkbox.parentNode.getAttribute("data-annotation-id"), {
                value: false
              });
            }
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }

        storage.setValue(id, {
          value: event.target.checked
        });
      });

      if (this.enableScripting && this.hasJSActions) {
        element.addEventListener("updatefromsandbox", function (event) {
          var detail = event.detail;
          var actions = {
            value: function value() {
              event.target.checked = detail.value !== "Off";
              storage.setValue(id, {
                value: event.target.checked
              });
            },
            focus: function focus() {
              setTimeout(function () {
                return event.target.focus({
                  preventScroll: false
                });
              }, 0);
            },
            hidden: function hidden() {
              event.target.style.visibility = detail.hidden ? "hidden" : "visible";
              storage.setValue(id, {
                hidden: detail.hidden
              });
            },
            editable: function editable() {
              event.target.disabled = !detail.editable;
            }
          };
          Object.keys(detail).filter(function (name) {
            return name in actions;
          }).forEach(function (name) {
            return actions[name]();
          });
        });

        this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
          return event.target.checked;
        });
      }

      this.container.appendChild(element);
      return this.container;
    }
  }]);

  return CheckboxWidgetAnnotationElement;
}(WidgetAnnotationElement);

var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {
  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);

  var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);

  function RadioButtonWidgetAnnotationElement(parameters) {
    _classCallCheck(this, RadioButtonWidgetAnnotationElement);

    return _super6.call(this, parameters, {
      isRenderable: parameters.renderInteractiveForms
    });
  }

  _createClass(RadioButtonWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "buttonWidgetAnnotation radioButton";
      var storage = this.annotationStorage;
      var data = this.data;
      var id = data.id;
      var value = storage.getOrCreateValue(id, {
        value: data.fieldValue === data.buttonValue
      }).value;
      var element = document.createElement("input");
      element.disabled = data.readOnly;
      element.type = "radio";
      element.name = data.fieldName;

      if (value) {
        element.setAttribute("checked", true);
      }

      element.setAttribute("pdfButtonValue", data.buttonValue);
      element.setAttribute("id", id);
      element.addEventListener("change", function (event) {
        var target = event.target;

        var _iterator4 = _createForOfIteratorHelper(document.getElementsByName(target.name)),
            _step4;

        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var radio = _step4.value;

            if (radio !== target) {
              storage.setValue(radio.getAttribute("id"), {
                value: false
              });
            }
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }

        storage.setValue(id, {
          value: target.checked
        });
      });

      if (this.enableScripting && this.hasJSActions) {
        element.addEventListener("updatefromsandbox", function (event) {
          var detail = event.detail;
          var actions = {
            value: function value() {
              var fieldValue = detail.value;

              var _iterator5 = _createForOfIteratorHelper(document.getElementsByName(event.target.name)),
                  _step5;

              try {
                for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
                  var radio = _step5.value;
                  var radioId = radio.getAttribute("id");

                  if (fieldValue === radio.getAttribute("pdfButtonValue")) {
                    radio.setAttribute("checked", true);
                    storage.setValue(radioId, {
                      value: true
                    });
                  } else {
                    storage.setValue(radioId, {
                      value: false
                    });
                  }
                }
              } catch (err) {
                _iterator5.e(err);
              } finally {
                _iterator5.f();
              }
            },
            focus: function focus() {
              setTimeout(function () {
                return event.target.focus({
                  preventScroll: false
                });
              }, 0);
            },
            hidden: function hidden() {
              event.target.style.visibility = detail.hidden ? "hidden" : "visible";
              storage.setValue(id, {
                hidden: detail.hidden
              });
            },
            editable: function editable() {
              event.target.disabled = !detail.editable;
            }
          };
          Object.keys(detail).filter(function (name) {
            return name in actions;
          }).forEach(function (name) {
            return actions[name]();
          });
        });

        this._setEventListeners(element, [["change", "Validate"], ["change", "Action"], ["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
          return event.target.checked;
        });
      }

      this.container.appendChild(element);
      return this.container;
    }
  }]);

  return RadioButtonWidgetAnnotationElement;
}(WidgetAnnotationElement);

var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {
  _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);

  var _super7 = _createSuper(PushButtonWidgetAnnotationElement);

  function PushButtonWidgetAnnotationElement() {
    _classCallCheck(this, PushButtonWidgetAnnotationElement);

    return _super7.apply(this, arguments);
  }

  _createClass(PushButtonWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);

      container.className = "buttonWidgetAnnotation pushButton";

      if (this.data.alternativeText) {
        container.title = this.data.alternativeText;
      }

      return container;
    }
  }]);

  return PushButtonWidgetAnnotationElement;
}(LinkAnnotationElement);

var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {
  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);

  var _super8 = _createSuper(ChoiceWidgetAnnotationElement);

  function ChoiceWidgetAnnotationElement(parameters) {
    _classCallCheck(this, ChoiceWidgetAnnotationElement);

    return _super8.call(this, parameters, {
      isRenderable: parameters.renderInteractiveForms
    });
  }

  _createClass(ChoiceWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var _this6 = this;

      this.container.className = "choiceWidgetAnnotation";
      var storage = this.annotationStorage;
      var id = this.data.id;
      storage.getOrCreateValue(id, {
        value: this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : undefined
      });
      var selectElement = document.createElement("select");
      selectElement.disabled = this.data.readOnly;
      selectElement.name = this.data.fieldName;
      selectElement.setAttribute("id", id);

      if (!this.data.combo) {
        selectElement.size = this.data.options.length;

        if (this.data.multiSelect) {
          selectElement.multiple = true;
        }
      }

      var _iterator6 = _createForOfIteratorHelper(this.data.options),
          _step6;

      try {
        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
          var option = _step6.value;
          var optionElement = document.createElement("option");
          optionElement.textContent = option.displayValue;
          optionElement.value = option.exportValue;

          if (this.data.fieldValue.includes(option.exportValue)) {
            optionElement.setAttribute("selected", true);
          }

          selectElement.appendChild(optionElement);
        }
      } catch (err) {
        _iterator6.e(err);
      } finally {
        _iterator6.f();
      }

      function getValue(event) {
        var options = event.target.options;
        return options[options.selectedIndex].value;
      }

      if (this.enableScripting && this.hasJSActions) {
        selectElement.addEventListener("updatefromsandbox", function (event) {
          var detail = event.detail;
          var actions = {
            value: function value() {
              var options = event.target.options;
              var value = detail.value;
              var i = options.indexOf(value);

              if (i !== -1) {
                options.selectedIndex = i;
                storage.setValue(id, {
                  value: value
                });
              }
            },
            focus: function focus() {
              setTimeout(function () {
                return event.target.focus({
                  preventScroll: false
                });
              }, 0);
            },
            hidden: function hidden() {
              event.target.style.visibility = detail.hidden ? "hidden" : "visible";
              storage.setValue(id, {
                hidden: detail.hidden
              });
            },
            editable: function editable() {
              event.target.disabled = !detail.editable;
            }
          };
          Object.keys(detail).filter(function (name) {
            return name in actions;
          }).forEach(function (name) {
            return actions[name]();
          });
        });
        selectElement.addEventListener("input", function (event) {
          var _this6$linkService$ev;

          var value = getValue(event);
          storage.setValue(id, {
            value: value
          });
          (_this6$linkService$ev = _this6.linkService.eventBus) === null || _this6$linkService$ev === void 0 ? void 0 : _this6$linkService$ev.dispatch("dispatcheventinsandbox", {
            source: _this6,
            detail: {
              id: id,
              name: "Keystroke",
              changeEx: value,
              willCommit: true,
              commitKey: 1,
              keyDown: false
            }
          });
        });

        this._setEventListeners(selectElement, [["focus", "Focus"], ["blur", "Blur"], ["mousedown", "Mouse Down"], ["mouseenter", "Mouse Enter"], ["mouseleave", "Mouse Exit"], ["mouseup", "Mouse Up"]], function (event) {
          return event.target.checked;
        });
      } else {
        selectElement.addEventListener("input", function (event) {
          storage.setValue(id, {
            value: getValue(event)
          });
        });
      }

      this.container.appendChild(selectElement);
      return this.container;
    }
  }]);

  return ChoiceWidgetAnnotationElement;
}(WidgetAnnotationElement);

var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {
  _inherits(PopupAnnotationElement, _AnnotationElement4);

  var _super9 = _createSuper(PopupAnnotationElement);

  function PopupAnnotationElement(parameters) {
    _classCallCheck(this, PopupAnnotationElement);

    var isRenderable = !!(parameters.data.title || parameters.data.contents);
    return _super9.call(this, parameters, {
      isRenderable: isRenderable
    });
  }

  _createClass(PopupAnnotationElement, [{
    key: "render",
    value: function render() {
      var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
      this.container.className = "popupAnnotation";

      if (IGNORE_TYPES.includes(this.data.parentType)) {
        return this.container;
      }

      var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
      var parentElements = this.layer.querySelectorAll(selector);

      if (parentElements.length === 0) {
        return this.container;
      }

      var popup = new PopupElement({
        container: this.container,
        trigger: Array.from(parentElements),
        color: this.data.color,
        title: this.data.title,
        modificationDate: this.data.modificationDate,
        contents: this.data.contents
      });
      var page = this.page;

      var rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);

      var popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];
      var popupTop = rect[1];
      this.container.style.transformOrigin = "".concat(-popupLeft, "px ").concat(-popupTop, "px");
      this.container.style.left = "".concat(popupLeft, "px");
      this.container.style.top = "".concat(popupTop, "px");
      this.container.appendChild(popup.render());
      return this.container;
    }
  }]);

  return PopupAnnotationElement;
}(AnnotationElement);

var PopupElement = /*#__PURE__*/function () {
  function PopupElement(parameters) {
    _classCallCheck(this, PopupElement);

    this.container = parameters.container;
    this.trigger = parameters.trigger;
    this.color = parameters.color;
    this.title = parameters.title;
    this.modificationDate = parameters.modificationDate;
    this.contents = parameters.contents;
    this.hideWrapper = parameters.hideWrapper || false;
    this.pinned = false;
  }

  _createClass(PopupElement, [{
    key: "render",
    value: function render() {
      var _this7 = this;

      var BACKGROUND_ENLIGHT = 0.7;
      var wrapper = document.createElement("div");
      wrapper.className = "popupWrapper";
      this.hideElement = this.hideWrapper ? wrapper : this.container;
      this.hideElement.setAttribute("hidden", true);
      var popup = document.createElement("div");
      popup.className = "popup";
      var color = this.color;

      if (color) {
        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
        popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);
      }

      var title = document.createElement("h1");
      title.textContent = this.title;
      popup.appendChild(title);

      var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);

      if (dateObject) {
        var modificationDate = document.createElement("span");
        modificationDate.textContent = "{{date}}, {{time}}";
        modificationDate.dataset.l10nId = "annotation_date_string";
        modificationDate.dataset.l10nArgs = JSON.stringify({
          date: dateObject.toLocaleDateString(),
          time: dateObject.toLocaleTimeString()
        });
        popup.appendChild(modificationDate);
      }

      var contents = this._formatContents(this.contents);

      popup.appendChild(contents);

      if (!Array.isArray(this.trigger)) {
        this.trigger = [this.trigger];
      }

      this.trigger.forEach(function (element) {
        element.addEventListener("click", _this7._toggle.bind(_this7));
        element.addEventListener("mouseover", _this7._show.bind(_this7, false));
        element.addEventListener("mouseout", _this7._hide.bind(_this7, false));
      });
      popup.addEventListener("click", this._hide.bind(this, true));
      wrapper.appendChild(popup);
      return wrapper;
    }
  }, {
    key: "_formatContents",
    value: function _formatContents(contents) {
      var p = document.createElement("p");
      var lines = contents.split(/(?:\r\n?|\n)/);

      for (var i = 0, ii = lines.length; i < ii; ++i) {
        var line = lines[i];
        p.appendChild(document.createTextNode(line));

        if (i < ii - 1) {
          p.appendChild(document.createElement("br"));
        }
      }

      return p;
    }
  }, {
    key: "_toggle",
    value: function _toggle() {
      if (this.pinned) {
        this._hide(true);
      } else {
        this._show(true);
      }
    }
  }, {
    key: "_show",
    value: function _show() {
      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (pin) {
        this.pinned = true;
      }

      if (this.hideElement.hasAttribute("hidden")) {
        this.hideElement.removeAttribute("hidden");
        this.container.style.zIndex += 1;
      }
    }
  }, {
    key: "_hide",
    value: function _hide() {
      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      if (unpin) {
        this.pinned = false;
      }

      if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
        this.hideElement.setAttribute("hidden", true);
        this.container.style.zIndex -= 1;
      }
    }
  }]);

  return PopupElement;
}();

var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {
  _inherits(FreeTextAnnotationElement, _AnnotationElement5);

  var _super10 = _createSuper(FreeTextAnnotationElement);

  function FreeTextAnnotationElement(parameters) {
    _classCallCheck(this, FreeTextAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super10.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(FreeTextAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "freeTextAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      return this.container;
    }
  }]);

  return FreeTextAnnotationElement;
}(AnnotationElement);

var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {
  _inherits(LineAnnotationElement, _AnnotationElement6);

  var _super11 = _createSuper(LineAnnotationElement);

  function LineAnnotationElement(parameters) {
    _classCallCheck(this, LineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super11.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(LineAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "lineAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var line = this.svgFactory.createElement("svg:line");
      line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
      line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
      line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
      line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
      line.setAttribute("stroke-width", data.borderStyle.width || 1);
      line.setAttribute("stroke", "transparent");
      svg.appendChild(line);
      this.container.append(svg);

      this._createPopup(line, data);

      return this.container;
    }
  }]);

  return LineAnnotationElement;
}(AnnotationElement);

var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {
  _inherits(SquareAnnotationElement, _AnnotationElement7);

  var _super12 = _createSuper(SquareAnnotationElement);

  function SquareAnnotationElement(parameters) {
    _classCallCheck(this, SquareAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super12.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(SquareAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "squareAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var borderWidth = data.borderStyle.width;
      var square = this.svgFactory.createElement("svg:rect");
      square.setAttribute("x", borderWidth / 2);
      square.setAttribute("y", borderWidth / 2);
      square.setAttribute("width", width - borderWidth);
      square.setAttribute("height", height - borderWidth);
      square.setAttribute("stroke-width", borderWidth || 1);
      square.setAttribute("stroke", "transparent");
      square.setAttribute("fill", "none");
      svg.appendChild(square);
      this.container.append(svg);

      this._createPopup(square, data);

      return this.container;
    }
  }]);

  return SquareAnnotationElement;
}(AnnotationElement);

var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {
  _inherits(CircleAnnotationElement, _AnnotationElement8);

  var _super13 = _createSuper(CircleAnnotationElement);

  function CircleAnnotationElement(parameters) {
    _classCallCheck(this, CircleAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super13.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(CircleAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "circleAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var borderWidth = data.borderStyle.width;
      var circle = this.svgFactory.createElement("svg:ellipse");
      circle.setAttribute("cx", width / 2);
      circle.setAttribute("cy", height / 2);
      circle.setAttribute("rx", width / 2 - borderWidth / 2);
      circle.setAttribute("ry", height / 2 - borderWidth / 2);
      circle.setAttribute("stroke-width", borderWidth || 1);
      circle.setAttribute("stroke", "transparent");
      circle.setAttribute("fill", "none");
      svg.appendChild(circle);
      this.container.append(svg);

      this._createPopup(circle, data);

      return this.container;
    }
  }]);

  return CircleAnnotationElement;
}(AnnotationElement);

var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {
  _inherits(PolylineAnnotationElement, _AnnotationElement9);

  var _super14 = _createSuper(PolylineAnnotationElement);

  function PolylineAnnotationElement(parameters) {
    var _this8;

    _classCallCheck(this, PolylineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    _this8 = _super14.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
    _this8.containerClassName = "polylineAnnotation";
    _this8.svgElementName = "svg:polyline";
    return _this8;
  }

  _createClass(PolylineAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = this.containerClassName;
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var points = [];

      var _iterator7 = _createForOfIteratorHelper(data.vertices),
          _step7;

      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var coordinate = _step7.value;
          var x = coordinate.x - data.rect[0];
          var y = data.rect[3] - coordinate.y;
          points.push(x + "," + y);
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }

      points = points.join(" ");
      var polyline = this.svgFactory.createElement(this.svgElementName);
      polyline.setAttribute("points", points);
      polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
      polyline.setAttribute("stroke", "transparent");
      polyline.setAttribute("fill", "none");
      svg.appendChild(polyline);
      this.container.append(svg);

      this._createPopup(polyline, data);

      return this.container;
    }
  }]);

  return PolylineAnnotationElement;
}(AnnotationElement);

var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {
  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);

  var _super15 = _createSuper(PolygonAnnotationElement);

  function PolygonAnnotationElement(parameters) {
    var _this9;

    _classCallCheck(this, PolygonAnnotationElement);

    _this9 = _super15.call(this, parameters);
    _this9.containerClassName = "polygonAnnotation";
    _this9.svgElementName = "svg:polygon";
    return _this9;
  }

  return PolygonAnnotationElement;
}(PolylineAnnotationElement);

var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {
  _inherits(CaretAnnotationElement, _AnnotationElement10);

  var _super16 = _createSuper(CaretAnnotationElement);

  function CaretAnnotationElement(parameters) {
    _classCallCheck(this, CaretAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super16.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(CaretAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "caretAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      return this.container;
    }
  }]);

  return CaretAnnotationElement;
}(AnnotationElement);

var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {
  _inherits(InkAnnotationElement, _AnnotationElement11);

  var _super17 = _createSuper(InkAnnotationElement);

  function InkAnnotationElement(parameters) {
    var _this10;

    _classCallCheck(this, InkAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    _this10 = _super17.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
    _this10.containerClassName = "inkAnnotation";
    _this10.svgElementName = "svg:polyline";
    return _this10;
  }

  _createClass(InkAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = this.containerClassName;
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);

      var _iterator8 = _createForOfIteratorHelper(data.inkLists),
          _step8;

      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var inkList = _step8.value;
          var points = [];

          var _iterator9 = _createForOfIteratorHelper(inkList),
              _step9;

          try {
            for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
              var coordinate = _step9.value;
              var x = coordinate.x - data.rect[0];
              var y = data.rect[3] - coordinate.y;
              points.push("".concat(x, ",").concat(y));
            }
          } catch (err) {
            _iterator9.e(err);
          } finally {
            _iterator9.f();
          }

          points = points.join(" ");
          var polyline = this.svgFactory.createElement(this.svgElementName);
          polyline.setAttribute("points", points);
          polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
          polyline.setAttribute("stroke", "transparent");
          polyline.setAttribute("fill", "none");

          this._createPopup(polyline, data);

          svg.appendChild(polyline);
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }

      this.container.append(svg);
      return this.container;
    }
  }]);

  return InkAnnotationElement;
}(AnnotationElement);

var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {
  _inherits(HighlightAnnotationElement, _AnnotationElement12);

  var _super18 = _createSuper(HighlightAnnotationElement);

  function HighlightAnnotationElement(parameters) {
    _classCallCheck(this, HighlightAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super18.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true,
      createQuadrilaterals: true
    });
  }

  _createClass(HighlightAnnotationElement, [{
    key: "render",
    value: function render() {
      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      if (this.quadrilaterals) {
        return this._renderQuadrilaterals("highlightAnnotation");
      }

      this.container.className = "highlightAnnotation";
      return this.container;
    }
  }]);

  return HighlightAnnotationElement;
}(AnnotationElement);

var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {
  _inherits(UnderlineAnnotationElement, _AnnotationElement13);

  var _super19 = _createSuper(UnderlineAnnotationElement);

  function UnderlineAnnotationElement(parameters) {
    _classCallCheck(this, UnderlineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super19.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true,
      createQuadrilaterals: true
    });
  }

  _createClass(UnderlineAnnotationElement, [{
    key: "render",
    value: function render() {
      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      if (this.quadrilaterals) {
        return this._renderQuadrilaterals("underlineAnnotation");
      }

      this.container.className = "underlineAnnotation";
      return this.container;
    }
  }]);

  return UnderlineAnnotationElement;
}(AnnotationElement);

var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {
  _inherits(SquigglyAnnotationElement, _AnnotationElement14);

  var _super20 = _createSuper(SquigglyAnnotationElement);

  function SquigglyAnnotationElement(parameters) {
    _classCallCheck(this, SquigglyAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super20.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true,
      createQuadrilaterals: true
    });
  }

  _createClass(SquigglyAnnotationElement, [{
    key: "render",
    value: function render() {
      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      if (this.quadrilaterals) {
        return this._renderQuadrilaterals("squigglyAnnotation");
      }

      this.container.className = "squigglyAnnotation";
      return this.container;
    }
  }]);

  return SquigglyAnnotationElement;
}(AnnotationElement);

var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {
  _inherits(StrikeOutAnnotationElement, _AnnotationElement15);

  var _super21 = _createSuper(StrikeOutAnnotationElement);

  function StrikeOutAnnotationElement(parameters) {
    _classCallCheck(this, StrikeOutAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super21.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true,
      createQuadrilaterals: true
    });
  }

  _createClass(StrikeOutAnnotationElement, [{
    key: "render",
    value: function render() {
      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      if (this.quadrilaterals) {
        return this._renderQuadrilaterals("strikeoutAnnotation");
      }

      this.container.className = "strikeoutAnnotation";
      return this.container;
    }
  }]);

  return StrikeOutAnnotationElement;
}(AnnotationElement);

var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {
  _inherits(StampAnnotationElement, _AnnotationElement16);

  var _super22 = _createSuper(StampAnnotationElement);

  function StampAnnotationElement(parameters) {
    _classCallCheck(this, StampAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super22.call(this, parameters, {
      isRenderable: isRenderable,
      ignoreBorder: true
    });
  }

  _createClass(StampAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "stampAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(null, this.data);
      }

      return this.container;
    }
  }]);

  return StampAnnotationElement;
}(AnnotationElement);

var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {
  _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);

  var _super23 = _createSuper(FileAttachmentAnnotationElement);

  function FileAttachmentAnnotationElement(parameters) {
    var _this11$linkService$e;

    var _this11;

    _classCallCheck(this, FileAttachmentAnnotationElement);

    _this11 = _super23.call(this, parameters, {
      isRenderable: true
    });
    var _this11$data$file = _this11.data.file,
        filename = _this11$data$file.filename,
        content = _this11$data$file.content;
    _this11.filename = (0, _display_utils.getFilenameFromUrl)(filename);
    _this11.content = content;
    (_this11$linkService$e = _this11.linkService.eventBus) === null || _this11$linkService$e === void 0 ? void 0 : _this11$linkService$e.dispatch("fileattachmentannotation", {
      source: _assertThisInitialized(_this11),
      id: (0, _util.stringToPDFString)(filename),
      filename: filename,
      content: content
    });
    return _this11;
  }

  _createClass(FileAttachmentAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "fileAttachmentAnnotation";
      var trigger = document.createElement("div");
      trigger.style.height = this.container.style.height;
      trigger.style.width = this.container.style.width;
      trigger.addEventListener("dblclick", this._download.bind(this));

      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
        this._createPopup(trigger, this.data);
      }

      this.container.appendChild(trigger);
      return this.container;
    }
  }, {
    key: "_download",
    value: function _download() {
      if (!this.downloadManager) {
        (0, _util.warn)("Download cannot be started due to unavailable download manager");
        return;
      }

      this.downloadManager.downloadData(this.content, this.filename, "");
    }
  }]);

  return FileAttachmentAnnotationElement;
}(AnnotationElement);

var AnnotationLayer = /*#__PURE__*/function () {
  function AnnotationLayer() {
    _classCallCheck(this, AnnotationLayer);
  }

  _createClass(AnnotationLayer, null, [{
    key: "render",
    value: function render(parameters) {
      var sortedAnnotations = [],
          popupAnnotations = [];

      var _iterator10 = _createForOfIteratorHelper(parameters.annotations),
          _step10;

      try {
        for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
          var _data = _step10.value;

          if (!_data) {
            continue;
          }

          if (_data.annotationType === _util.AnnotationType.POPUP) {
            popupAnnotations.push(_data);
            continue;
          }

          sortedAnnotations.push(_data);
        }
      } catch (err) {
        _iterator10.e(err);
      } finally {
        _iterator10.f();
      }

      if (popupAnnotations.length) {
        sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);
      }

      for (var _i2 = 0, _sortedAnnotations = sortedAnnotations; _i2 < _sortedAnnotations.length; _i2++) {
        var data = _sortedAnnotations[_i2];
        var element = AnnotationElementFactory.create({
          data: data,
          layer: parameters.div,
          page: parameters.page,
          viewport: parameters.viewport,
          linkService: parameters.linkService,
          downloadManager: parameters.downloadManager,
          imageResourcesPath: parameters.imageResourcesPath || "",
          renderInteractiveForms: typeof parameters.renderInteractiveForms === "boolean" ? parameters.renderInteractiveForms : true,
          svgFactory: new _display_utils.DOMSVGFactory(),
          annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage(),
          enableScripting: parameters.enableScripting,
          hasJSActions: parameters.hasJSActions,
          mouseState: parameters.mouseState || {
            isDown: false
          }
        });

        if (element.isRenderable) {
          var rendered = element.render();

          if (data.hidden) {
            rendered.style.visibility = "hidden";
          }

          if (Array.isArray(rendered)) {
            var _iterator11 = _createForOfIteratorHelper(rendered),
                _step11;

            try {
              for (_iterator11.s(); !(_step11 = _iterator11.n()).done;) {
                var renderedElement = _step11.value;
                parameters.div.appendChild(renderedElement);
              }
            } catch (err) {
              _iterator11.e(err);
            } finally {
              _iterator11.f();
            }
          } else {
            if (element instanceof PopupAnnotationElement) {
              parameters.div.prepend(rendered);
            } else {
              parameters.div.appendChild(rendered);
            }
          }
        }
      }
    }
  }, {
    key: "update",
    value: function update(parameters) {
      var transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");

      var _iterator12 = _createForOfIteratorHelper(parameters.annotations),
          _step12;

      try {
        for (_iterator12.s(); !(_step12 = _iterator12.n()).done;) {
          var data = _step12.value;
          var elements = parameters.div.querySelectorAll("[data-annotation-id=\"".concat(data.id, "\"]"));

          if (elements) {
            elements.forEach(function (element) {
              element.style.transform = transform;
            });
          }
        }
      } catch (err) {
        _iterator12.e(err);
      } finally {
        _iterator12.f();
      }

      parameters.div.removeAttribute("hidden");
    }
  }]);

  return AnnotationLayer;
}();

exports.AnnotationLayer = AnnotationLayer;

/***/ }),
/* 150 */
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.ColorConverters = void 0;

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function makeColorComp(n) {
  return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, "0");
}

var ColorConverters = /*#__PURE__*/function () {
  function ColorConverters() {
    _classCallCheck(this, ColorConverters);
  }

  _createClass(ColorConverters, null, [{
    key: "CMYK_G",
    value: function CMYK_G(_ref) {
      var _ref2 = _slicedToArray(_ref, 4),
          c = _ref2[0],
          y = _ref2[1],
          m = _ref2[2],
          k = _ref2[3];

      return ["G", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];
    }
  }, {
    key: "G_CMYK",
    value: function G_CMYK(_ref3) {
      var _ref4 = _slicedToArray(_ref3, 1),
          g = _ref4[0];

      return ["CMYK", 0, 0, 0, 1 - g];
    }
  }, {
    key: "G_RGB",
    value: function G_RGB(_ref5) {
      var _ref6 = _slicedToArray(_ref5, 1),
          g = _ref6[0];

      return ["RGB", g, g, g];
    }
  }, {
    key: "G_HTML",
    value: function G_HTML(_ref7) {
      var _ref8 = _slicedToArray(_ref7, 1),
          g = _ref8[0];

      var G = makeColorComp(g);
      return "#".concat(G).concat(G).concat(G);
    }
  }, {
    key: "RGB_G",
    value: function RGB_G(_ref9) {
      var _ref10 = _slicedToArray(_ref9, 3),
          r = _ref10[0],
          g = _ref10[1],
          b = _ref10[2];

      return ["G", 0.3 * r + 0.59 * g + 0.11 * b];
    }
  }, {
    key: "RGB_HTML",
    value: function RGB_HTML(_ref11) {
      var _ref12 = _slicedToArray(_ref11, 3),
          r = _ref12[0],
          g = _ref12[1],
          b = _ref12[2];

      var R = makeColorComp(r);
      var G = makeColorComp(g);
      var B = makeColorComp(b);
      return "#".concat(R).concat(G).concat(B);
    }
  }, {
    key: "T_HTML",
    value: function T_HTML() {
      return "#00000000";
    }
  }, {
    key: "CMYK_RGB",
    value: function CMYK_RGB(_ref13) {
      var _ref14 = _slicedToArray(_ref13, 4),
          c = _ref14[0],
          y = _ref14[1],
          m = _ref14[2],
          k = _ref14[3];

      return ["RGB", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];
    }
  }, {
    key: "CMYK_HTML",
    value: function CMYK_HTML(components) {
      return this.RGB_HTML(this.CMYK_RGB(components));
    }
  }, {
    key: "RGB_CMYK",
    value: function RGB_CMYK(_ref15) {
      var _ref16 = _slicedToArray(_ref15, 3),
          r = _ref16[0],
          g = _ref16[1],
          b = _ref16[2];

      var c = 1 - r;
      var m = 1 - g;
      var y = 1 - b;
      var k = Math.min(c, m, y);
      return ["CMYK", c, m, y, k];
    }
  }]);

  return ColorConverters;
}();

exports.ColorConverters = ColorConverters;

/***/ }),
/* 151 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.renderTextLayer = void 0;

var _util = __w_pdfjs_require__(4);

var renderTextLayer = function renderTextLayerClosure() {
  var MAX_TEXT_DIVS_TO_RENDER = 100000;
  var NonWhitespaceRegexp = /\S/;

  function isAllWhitespace(str) {
    return !NonWhitespaceRegexp.test(str);
  }

  function appendText(task, geom, styles) {
    var textDiv = document.createElement("span");
    var textDivProperties = {
      angle: 0,
      canvasWidth: 0,
      isWhitespace: false,
      originalTransform: null,
      paddingBottom: 0,
      paddingLeft: 0,
      paddingRight: 0,
      paddingTop: 0,
      scale: 1
    };

    task._textDivs.push(textDiv);

    if (isAllWhitespace(geom.str)) {
      textDivProperties.isWhitespace = true;

      task._textDivProperties.set(textDiv, textDivProperties);

      return;
    }

    var tx = _util.Util.transform(task._viewport.transform, geom.transform);

    var angle = Math.atan2(tx[1], tx[0]);
    var style = styles[geom.fontName];

    if (style.vertical) {
      angle += Math.PI / 2;
    }

    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
    var fontAscent = fontHeight;

    if (style.ascent) {
      fontAscent = style.ascent * fontAscent;
    } else if (style.descent) {
      fontAscent = (1 + style.descent) * fontAscent;
    }

    var left, top;

    if (angle === 0) {
      left = tx[4];
      top = tx[5] - fontAscent;
    } else {
      left = tx[4] + fontAscent * Math.sin(angle);
      top = tx[5] - fontAscent * Math.cos(angle);
    }

    textDiv.style.left = "".concat(left, "px");
    textDiv.style.top = "".concat(top, "px");
    textDiv.style.fontSize = "".concat(fontHeight, "px");
    textDiv.style.fontFamily = style.fontFamily;
    textDiv.textContent = geom.str;

    if (task._fontInspectorEnabled) {
      textDiv.dataset.fontName = geom.fontName;
    }

    if (angle !== 0) {
      textDivProperties.angle = angle * (180 / Math.PI);
    }

    var shouldScaleText = false;

    if (geom.str.length > 1) {
      shouldScaleText = true;
    } else if (geom.transform[0] !== geom.transform[3]) {
      var absScaleX = Math.abs(geom.transform[0]),
          absScaleY = Math.abs(geom.transform[3]);

      if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {
        shouldScaleText = true;
      }
    }

    if (shouldScaleText) {
      if (style.vertical) {
        textDivProperties.canvasWidth = geom.height * task._viewport.scale;
      } else {
        textDivProperties.canvasWidth = geom.width * task._viewport.scale;
      }
    }

    task._textDivProperties.set(textDiv, textDivProperties);

    if (task._textContentStream) {
      task._layoutText(textDiv);
    }

    if (task._enhanceTextSelection) {
      var angleCos = 1,
          angleSin = 0;

      if (angle !== 0) {
        angleCos = Math.cos(angle);
        angleSin = Math.sin(angle);
      }

      var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
      var divHeight = fontHeight;
      var m, b;

      if (angle !== 0) {
        m = [angleCos, angleSin, -angleSin, angleCos, left, top];
        b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);
      } else {
        b = [left, top, left + divWidth, top + divHeight];
      }

      task._bounds.push({
        left: b[0],
        top: b[1],
        right: b[2],
        bottom: b[3],
        div: textDiv,
        size: [divWidth, divHeight],
        m: m
      });
    }
  }

  function render(task) {
    if (task._canceled) {
      return;
    }

    var textDivs = task._textDivs;
    var capability = task._capability;
    var textDivsLength = textDivs.length;

    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
      task._renderingDone = true;
      capability.resolve();
      return;
    }

    if (!task._textContentStream) {
      for (var i = 0; i < textDivsLength; i++) {
        task._layoutText(textDivs[i]);
      }
    }

    task._renderingDone = true;
    capability.resolve();
  }

  function findPositiveMin(ts, offset, count) {
    var result = 0;

    for (var i = 0; i < count; i++) {
      var t = ts[offset++];

      if (t > 0) {
        result = result ? Math.min(t, result) : t;
      }
    }

    return result;
  }

  function expand(task) {
    var bounds = task._bounds;
    var viewport = task._viewport;
    var expanded = expandBounds(viewport.width, viewport.height, bounds);

    var _loop = function _loop(i) {
      var div = bounds[i].div;

      var divProperties = task._textDivProperties.get(div);

      if (divProperties.angle === 0) {
        divProperties.paddingLeft = bounds[i].left - expanded[i].left;
        divProperties.paddingTop = bounds[i].top - expanded[i].top;
        divProperties.paddingRight = expanded[i].right - bounds[i].right;
        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;

        task._textDivProperties.set(div, divProperties);

        return "continue";
      }

      var e = expanded[i],
          b = bounds[i];
      var m = b.m,
          c = m[0],
          s = m[1];
      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
      var ts = new Float64Array(64);
      points.forEach(function (p, j) {
        var t = _util.Util.applyTransform(p, m);

        ts[j + 0] = c && (e.left - t[0]) / c;
        ts[j + 4] = s && (e.top - t[1]) / s;
        ts[j + 8] = c && (e.right - t[0]) / c;
        ts[j + 12] = s && (e.bottom - t[1]) / s;
        ts[j + 16] = s && (e.left - t[0]) / -s;
        ts[j + 20] = c && (e.top - t[1]) / c;
        ts[j + 24] = s && (e.right - t[0]) / -s;
        ts[j + 28] = c && (e.bottom - t[1]) / c;
        ts[j + 32] = c && (e.left - t[0]) / -c;
        ts[j + 36] = s && (e.top - t[1]) / -s;
        ts[j + 40] = c && (e.right - t[0]) / -c;
        ts[j + 44] = s && (e.bottom - t[1]) / -s;
        ts[j + 48] = s && (e.left - t[0]) / s;
        ts[j + 52] = c && (e.top - t[1]) / -c;
        ts[j + 56] = s && (e.right - t[0]) / s;
        ts[j + 60] = c && (e.bottom - t[1]) / -c;
      });
      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;

      task._textDivProperties.set(div, divProperties);
    };

    for (var i = 0; i < expanded.length; i++) {
      var _ret = _loop(i);

      if (_ret === "continue") continue;
    }
  }

  function expandBounds(width, height, boxes) {
    var bounds = boxes.map(function (box, i) {
      return {
        x1: box.left,
        y1: box.top,
        x2: box.right,
        y2: box.bottom,
        index: i,
        x1New: undefined,
        x2New: undefined
      };
    });
    expandBoundsLTR(width, bounds);
    var expanded = new Array(boxes.length);
    bounds.forEach(function (b) {
      var i = b.index;
      expanded[i] = {
        left: b.x1New,
        top: 0,
        right: b.x2New,
        bottom: 0
      };
    });
    boxes.map(function (box, i) {
      var e = expanded[i],
          b = bounds[i];
      b.x1 = box.top;
      b.y1 = width - e.right;
      b.x2 = box.bottom;
      b.y2 = width - e.left;
      b.index = i;
      b.x1New = undefined;
      b.x2New = undefined;
    });
    expandBoundsLTR(height, bounds);
    bounds.forEach(function (b) {
      var i = b.index;
      expanded[i].top = b.x1New;
      expanded[i].bottom = b.x2New;
    });
    return expanded;
  }

  function expandBoundsLTR(width, bounds) {
    bounds.sort(function (a, b) {
      return a.x1 - b.x1 || a.index - b.index;
    });
    var fakeBoundary = {
      x1: -Infinity,
      y1: -Infinity,
      x2: 0,
      y2: Infinity,
      index: -1,
      x1New: 0,
      x2New: 0
    };
    var horizon = [{
      start: -Infinity,
      end: Infinity,
      boundary: fakeBoundary
    }];
    bounds.forEach(function (boundary) {
      var i = 0;

      while (i < horizon.length && horizon[i].end <= boundary.y1) {
        i++;
      }

      var j = horizon.length - 1;

      while (j >= 0 && horizon[j].start >= boundary.y2) {
        j--;
      }

      var horizonPart, affectedBoundary;
      var q,
          k,
          maxXNew = -Infinity;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;
        var xNew = void 0;

        if (affectedBoundary.x2 > boundary.x1) {
          xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;
        } else if (affectedBoundary.x2New === undefined) {
          xNew = (affectedBoundary.x2 + boundary.x1) / 2;
        } else {
          xNew = affectedBoundary.x2New;
        }

        if (xNew > maxXNew) {
          maxXNew = xNew;
        }
      }

      boundary.x1New = maxXNew;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;

        if (affectedBoundary.x2New === undefined) {
          if (affectedBoundary.x2 > boundary.x1) {
            if (affectedBoundary.index > boundary.index) {
              affectedBoundary.x2New = affectedBoundary.x2;
            }
          } else {
            affectedBoundary.x2New = maxXNew;
          }
        } else if (affectedBoundary.x2New > maxXNew) {
          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);
        }
      }

      var changedHorizon = [];
      var lastBoundary = null;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;
        var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;

        if (lastBoundary === useBoundary) {
          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;
        } else {
          changedHorizon.push({
            start: horizonPart.start,
            end: horizonPart.end,
            boundary: useBoundary
          });
          lastBoundary = useBoundary;
        }
      }

      if (horizon[i].start < boundary.y1) {
        changedHorizon[0].start = boundary.y1;
        changedHorizon.unshift({
          start: horizon[i].start,
          end: boundary.y1,
          boundary: horizon[i].boundary
        });
      }

      if (boundary.y2 < horizon[j].end) {
        changedHorizon[changedHorizon.length - 1].end = boundary.y2;
        changedHorizon.push({
          start: boundary.y2,
          end: horizon[j].end,
          boundary: horizon[j].boundary
        });
      }

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;

        if (affectedBoundary.x2New !== undefined) {
          continue;
        }

        var used = false;

        for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {
          used = horizon[k].boundary === affectedBoundary;
        }

        for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {
          used = horizon[k].boundary === affectedBoundary;
        }

        for (k = 0; !used && k < changedHorizon.length; k++) {
          used = changedHorizon[k].boundary === affectedBoundary;
        }

        if (!used) {
          affectedBoundary.x2New = maxXNew;
        }
      }

      Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
    });
    horizon.forEach(function (horizonPart) {
      var affectedBoundary = horizonPart.boundary;

      if (affectedBoundary.x2New === undefined) {
        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
      }
    });
  }

  function TextLayerRenderTask(_ref) {
    var _globalThis$FontInspe,
        _this = this;

    var textContent = _ref.textContent,
        textContentStream = _ref.textContentStream,
        container = _ref.container,
        viewport = _ref.viewport,
        textDivs = _ref.textDivs,
        textContentItemsStr = _ref.textContentItemsStr,
        enhanceTextSelection = _ref.enhanceTextSelection;
    this._textContent = textContent;
    this._textContentStream = textContentStream;
    this._container = container;
    this._document = container.ownerDocument;
    this._viewport = viewport;
    this._textDivs = textDivs || [];
    this._textContentItemsStr = textContentItemsStr || [];
    this._enhanceTextSelection = !!enhanceTextSelection;
    this._fontInspectorEnabled = !!((_globalThis$FontInspe = globalThis.FontInspector) !== null && _globalThis$FontInspe !== void 0 && _globalThis$FontInspe.enabled);
    this._reader = null;
    this._layoutTextLastFontSize = null;
    this._layoutTextLastFontFamily = null;
    this._layoutTextCtx = null;
    this._textDivProperties = new WeakMap();
    this._renderingDone = false;
    this._canceled = false;
    this._capability = (0, _util.createPromiseCapability)();
    this._renderTimer = null;
    this._bounds = [];

    this._capability.promise["finally"](function () {
      if (_this._layoutTextCtx) {
        _this._layoutTextCtx.canvas.width = 0;
        _this._layoutTextCtx.canvas.height = 0;
        _this._layoutTextCtx = null;
      }
    })["catch"](function () {});
  }

  TextLayerRenderTask.prototype = {
    get promise() {
      return this._capability.promise;
    },

    cancel: function TextLayer_cancel() {
      this._canceled = true;

      if (this._reader) {
        this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));

        this._reader = null;
      }

      if (this._renderTimer !== null) {
        clearTimeout(this._renderTimer);
        this._renderTimer = null;
      }

      this._capability.reject(new Error("TextLayer task cancelled."));
    },
    _processItems: function _processItems(items, styleCache) {
      for (var i = 0, len = items.length; i < len; i++) {
        this._textContentItemsStr.push(items[i].str);

        appendText(this, items[i], styleCache);
      }
    },
    _layoutText: function _layoutText(textDiv) {
      var textDivProperties = this._textDivProperties.get(textDiv);

      if (textDivProperties.isWhitespace) {
        return;
      }

      var transform = "";

      if (textDivProperties.canvasWidth !== 0) {
        var _textDiv$style = textDiv.style,
            fontSize = _textDiv$style.fontSize,
            fontFamily = _textDiv$style.fontFamily;

        if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
          this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
          this._layoutTextLastFontSize = fontSize;
          this._layoutTextLastFontFamily = fontFamily;
        }

        var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
            width = _this$_layoutTextCtx$.width;

        if (width > 0) {
          textDivProperties.scale = textDivProperties.canvasWidth / width;
          transform = "scaleX(".concat(textDivProperties.scale, ")");
        }
      }

      if (textDivProperties.angle !== 0) {
        transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
      }

      if (transform.length > 0) {
        if (this._enhanceTextSelection) {
          textDivProperties.originalTransform = transform;
        }

        textDiv.style.transform = transform;
      }

      this._textDivProperties.set(textDiv, textDivProperties);

      this._container.appendChild(textDiv);
    },
    _render: function TextLayer_render(timeout) {
      var _this2 = this;

      var capability = (0, _util.createPromiseCapability)();
      var styleCache = Object.create(null);

      var canvas = this._document.createElement("canvas");

      canvas.mozOpaque = true;
      this._layoutTextCtx = canvas.getContext("2d", {
        alpha: false
      });

      if (this._textContent) {
        var textItems = this._textContent.items;
        var textStyles = this._textContent.styles;

        this._processItems(textItems, textStyles);

        capability.resolve();
      } else if (this._textContentStream) {
        var pump = function pump() {
          _this2._reader.read().then(function (_ref2) {
            var value = _ref2.value,
                done = _ref2.done;

            if (done) {
              capability.resolve();
              return;
            }

            Object.assign(styleCache, value.styles);

            _this2._processItems(value.items, styleCache);

            pump();
          }, capability.reject);
        };

        this._reader = this._textContentStream.getReader();
        pump();
      } else {
        throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
      }

      capability.promise.then(function () {
        styleCache = null;

        if (!timeout) {
          render(_this2);
        } else {
          _this2._renderTimer = setTimeout(function () {
            render(_this2);
            _this2._renderTimer = null;
          }, timeout);
        }
      }, this._capability.reject);
    },
    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {
      if (!this._enhanceTextSelection || !this._renderingDone) {
        return;
      }

      if (this._bounds !== null) {
        expand(this);
        this._bounds = null;
      }

      var transformBuf = [],
          paddingBuf = [];

      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
        var div = this._textDivs[i];

        var divProps = this._textDivProperties.get(div);

        if (divProps.isWhitespace) {
          continue;
        }

        if (expandDivs) {
          transformBuf.length = 0;
          paddingBuf.length = 0;

          if (divProps.originalTransform) {
            transformBuf.push(divProps.originalTransform);
          }

          if (divProps.paddingTop > 0) {
            paddingBuf.push("".concat(divProps.paddingTop, "px"));
            transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingRight > 0) {
            paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingBottom > 0) {
            paddingBuf.push("".concat(divProps.paddingBottom, "px"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingLeft > 0) {
            paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
            transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
          } else {
            paddingBuf.push(0);
          }

          div.style.padding = paddingBuf.join(" ");

          if (transformBuf.length) {
            div.style.transform = transformBuf.join(" ");
          }
        } else {
          div.style.padding = null;
          div.style.transform = divProps.originalTransform;
        }
      }
    }
  };

  function renderTextLayer(renderParameters) {
    var task = new TextLayerRenderTask({
      textContent: renderParameters.textContent,
      textContentStream: renderParameters.textContentStream,
      container: renderParameters.container,
      viewport: renderParameters.viewport,
      textDivs: renderParameters.textDivs,
      textContentItemsStr: renderParameters.textContentItemsStr,
      enhanceTextSelection: renderParameters.enhanceTextSelection
    });

    task._render(renderParameters.timeout);

    return task;
  }

  return renderTextLayer;
}();

exports.renderTextLayer = renderTextLayer;

/***/ }),
/* 152 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.SVGGraphics = void 0;

var _util = __w_pdfjs_require__(4);

var _display_utils = __w_pdfjs_require__(1);

var _is_node = __w_pdfjs_require__(6);

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var SVGGraphics = function SVGGraphics() {
  throw new Error("Not implemented: SVGGraphics");
};

exports.SVGGraphics = SVGGraphics;
{
  var opListToTree = function opListToTree(opList) {
    var opTree = [];
    var tmp = [];

    var _iterator = _createForOfIteratorHelper(opList),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var opListElement = _step.value;

        if (opListElement.fn === "save") {
          opTree.push({
            fnId: 92,
            fn: "group",
            items: []
          });
          tmp.push(opTree);
          opTree = opTree[opTree.length - 1].items;
          continue;
        }

        if (opListElement.fn === "restore") {
          opTree = tmp.pop();
        } else {
          opTree.push(opListElement);
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    return opTree;
  };

  var pf = function pf(value) {
    if (Number.isInteger(value)) {
      return value.toString();
    }

    var s = value.toFixed(10);
    var i = s.length - 1;

    if (s[i] !== "0") {
      return s;
    }

    do {
      i--;
    } while (s[i] === "0");

    return s.substring(0, s[i] === "." ? i : i + 1);
  };

  var pm = function pm(m) {
    if (m[4] === 0 && m[5] === 0) {
      if (m[1] === 0 && m[2] === 0) {
        if (m[0] === 1 && m[3] === 1) {
          return "";
        }

        return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
      }

      if (m[0] === m[3] && m[1] === -m[2]) {
        var a = Math.acos(m[0]) * 180 / Math.PI;
        return "rotate(".concat(pf(a), ")");
      }
    } else {
      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
        return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
      }
    }

    return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
  };

  var SVG_DEFAULTS = {
    fontStyle: "normal",
    fontWeight: "normal",
    fillColor: "#000000"
  };
  var XML_NS = "http://www.w3.org/XML/1998/namespace";
  var XLINK_NS = "http://www.w3.org/1999/xlink";
  var LINE_CAP_STYLES = ["butt", "round", "square"];
  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];

  var convertImgDataToPng = function () {
    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
    var CHUNK_WRAPPER_SIZE = 12;
    var crcTable = new Int32Array(256);

    for (var i = 0; i < 256; i++) {
      var c = i;

      for (var h = 0; h < 8; h++) {
        if (c & 1) {
          c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
        } else {
          c = c >> 1 & 0x7fffffff;
        }
      }

      crcTable[i] = c;
    }

    function crc32(data, start, end) {
      var crc = -1;

      for (var _i = start; _i < end; _i++) {
        var a = (crc ^ data[_i]) & 0xff;
        var b = crcTable[a];
        crc = crc >>> 8 ^ b;
      }

      return crc ^ -1;
    }

    function writePngChunk(type, body, data, offset) {
      var p = offset;
      var len = body.length;
      data[p] = len >> 24 & 0xff;
      data[p + 1] = len >> 16 & 0xff;
      data[p + 2] = len >> 8 & 0xff;
      data[p + 3] = len & 0xff;
      p += 4;
      data[p] = type.charCodeAt(0) & 0xff;
      data[p + 1] = type.charCodeAt(1) & 0xff;
      data[p + 2] = type.charCodeAt(2) & 0xff;
      data[p + 3] = type.charCodeAt(3) & 0xff;
      p += 4;
      data.set(body, p);
      p += body.length;
      var crc = crc32(data, offset + 4, p);
      data[p] = crc >> 24 & 0xff;
      data[p + 1] = crc >> 16 & 0xff;
      data[p + 2] = crc >> 8 & 0xff;
      data[p + 3] = crc & 0xff;
    }

    function adler32(data, start, end) {
      var a = 1;
      var b = 0;

      for (var _i2 = start; _i2 < end; ++_i2) {
        a = (a + (data[_i2] & 0xff)) % 65521;
        b = (b + a) % 65521;
      }

      return b << 16 | a;
    }

    function deflateSync(literals) {
      if (!_is_node.isNodeJS) {
        return deflateSyncUncompressed(literals);
      }

      try {
        var input;

        if (parseInt(process.versions.node) >= 8) {
          input = literals;
        } else {
          input = Buffer.from(literals);
        }

        var output = __webpack_require__(3).deflateSync(input, {
          level: 9
        });

        return output instanceof Uint8Array ? output : new Uint8Array(output);
      } catch (e) {
        (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
      }

      return deflateSyncUncompressed(literals);
    }

    function deflateSyncUncompressed(literals) {
      var len = literals.length;
      var maxBlockLength = 0xffff;
      var deflateBlocks = Math.ceil(len / maxBlockLength);
      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
      var pi = 0;
      idat[pi++] = 0x78;
      idat[pi++] = 0x9c;
      var pos = 0;

      while (len > maxBlockLength) {
        idat[pi++] = 0x00;
        idat[pi++] = 0xff;
        idat[pi++] = 0xff;
        idat[pi++] = 0x00;
        idat[pi++] = 0x00;
        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
        pi += maxBlockLength;
        pos += maxBlockLength;
        len -= maxBlockLength;
      }

      idat[pi++] = 0x01;
      idat[pi++] = len & 0xff;
      idat[pi++] = len >> 8 & 0xff;
      idat[pi++] = ~len & 0xffff & 0xff;
      idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
      idat.set(literals.subarray(pos), pi);
      pi += literals.length - pos;
      var adler = adler32(literals, 0, literals.length);
      idat[pi++] = adler >> 24 & 0xff;
      idat[pi++] = adler >> 16 & 0xff;
      idat[pi++] = adler >> 8 & 0xff;
      idat[pi++] = adler & 0xff;
      return idat;
    }

    function encode(imgData, kind, forceDataSchema, isMask) {
      var width = imgData.width;
      var height = imgData.height;
      var bitDepth, colorType, lineSize;
      var bytes = imgData.data;

      switch (kind) {
        case _util.ImageKind.GRAYSCALE_1BPP:
          colorType = 0;
          bitDepth = 1;
          lineSize = width + 7 >> 3;
          break;

        case _util.ImageKind.RGB_24BPP:
          colorType = 2;
          bitDepth = 8;
          lineSize = width * 3;
          break;

        case _util.ImageKind.RGBA_32BPP:
          colorType = 6;
          bitDepth = 8;
          lineSize = width * 4;
          break;

        default:
          throw new Error("invalid format");
      }

      var literals = new Uint8Array((1 + lineSize) * height);
      var offsetLiterals = 0,
          offsetBytes = 0;

      for (var y = 0; y < height; ++y) {
        literals[offsetLiterals++] = 0;
        literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
        offsetBytes += lineSize;
        offsetLiterals += lineSize;
      }

      if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
        offsetLiterals = 0;

        for (var _y = 0; _y < height; _y++) {
          offsetLiterals++;

          for (var _i3 = 0; _i3 < lineSize; _i3++) {
            literals[offsetLiterals++] ^= 0xff;
          }
        }
      }

      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
      var idat = deflateSync(literals);
      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
      var data = new Uint8Array(pngLength);
      var offset = 0;
      data.set(PNG_HEADER, offset);
      offset += PNG_HEADER.length;
      writePngChunk("IHDR", ihdr, data, offset);
      offset += CHUNK_WRAPPER_SIZE + ihdr.length;
      writePngChunk("IDATA", idat, data, offset);
      offset += CHUNK_WRAPPER_SIZE + idat.length;
      writePngChunk("IEND", new Uint8Array(0), data, offset);
      return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
    }

    return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
      return encode(imgData, kind, forceDataSchema, isMask);
    };
  }();

  var SVGExtraState = /*#__PURE__*/function () {
    function SVGExtraState() {
      _classCallCheck(this, SVGExtraState);

      this.fontSizeScale = 1;
      this.fontWeight = SVG_DEFAULTS.fontWeight;
      this.fontSize = 0;
      this.textMatrix = _util.IDENTITY_MATRIX;
      this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
      this.leading = 0;
      this.textRenderingMode = _util.TextRenderingMode.FILL;
      this.textMatrixScale = 1;
      this.x = 0;
      this.y = 0;
      this.lineX = 0;
      this.lineY = 0;
      this.charSpacing = 0;
      this.wordSpacing = 0;
      this.textHScale = 1;
      this.textRise = 0;
      this.fillColor = SVG_DEFAULTS.fillColor;
      this.strokeColor = "#000000";
      this.fillAlpha = 1;
      this.strokeAlpha = 1;
      this.lineWidth = 1;
      this.lineJoin = "";
      this.lineCap = "";
      this.miterLimit = 0;
      this.dashArray = [];
      this.dashPhase = 0;
      this.dependencies = [];
      this.activeClipUrl = null;
      this.clipGroup = null;
      this.maskId = "";
    }

    _createClass(SVGExtraState, [{
      key: "clone",
      value: function clone() {
        return Object.create(this);
      }
    }, {
      key: "setCurrentPoint",
      value: function setCurrentPoint(x, y) {
        this.x = x;
        this.y = y;
      }
    }]);

    return SVGExtraState;
  }();

  var clipCount = 0;
  var maskCount = 0;
  var shadingCount = 0;

  exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {
    function SVGGraphics(commonObjs, objs) {
      var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

      _classCallCheck(this, SVGGraphics);

      this.svgFactory = new _display_utils.DOMSVGFactory();
      this.current = new SVGExtraState();
      this.transformMatrix = _util.IDENTITY_MATRIX;
      this.transformStack = [];
      this.extraStack = [];
      this.commonObjs = commonObjs;
      this.objs = objs;
      this.pendingClip = null;
      this.pendingEOFill = false;
      this.embedFonts = false;
      this.embeddedFonts = Object.create(null);
      this.cssStyle = null;
      this.forceDataSchema = !!forceDataSchema;
      this._operatorIdMapping = [];

      for (var op in _util.OPS) {
        this._operatorIdMapping[_util.OPS[op]] = op;
      }
    }

    _createClass(SVGGraphics, [{
      key: "save",
      value: function save() {
        this.transformStack.push(this.transformMatrix);
        var old = this.current;
        this.extraStack.push(old);
        this.current = old.clone();
      }
    }, {
      key: "restore",
      value: function restore() {
        this.transformMatrix = this.transformStack.pop();
        this.current = this.extraStack.pop();
        this.pendingClip = null;
        this.tgrp = null;
      }
    }, {
      key: "group",
      value: function group(items) {
        this.save();
        this.executeOpTree(items);
        this.restore();
      }
    }, {
      key: "loadDependencies",
      value: function loadDependencies(operatorList) {
        var _this = this;

        var fnArray = operatorList.fnArray;
        var argsArray = operatorList.argsArray;

        for (var i = 0, ii = fnArray.length; i < ii; i++) {
          if (fnArray[i] !== _util.OPS.dependency) {
            continue;
          }

          var _iterator2 = _createForOfIteratorHelper(argsArray[i]),
              _step2;

          try {
            var _loop = function _loop() {
              var obj = _step2.value;
              var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs;
              var promise = new Promise(function (resolve) {
                objsPool.get(obj, resolve);
              });

              _this.current.dependencies.push(promise);
            };

            for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
              _loop();
            }
          } catch (err) {
            _iterator2.e(err);
          } finally {
            _iterator2.f();
          }
        }

        return Promise.all(this.current.dependencies);
      }
    }, {
      key: "transform",
      value: function transform(a, b, c, d, e, f) {
        var transformMatrix = [a, b, c, d, e, f];
        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
        this.tgrp = null;
      }
    }, {
      key: "getSVG",
      value: function getSVG(operatorList, viewport) {
        var _this2 = this;

        this.viewport = viewport;

        var svgElement = this._initialize(viewport);

        return this.loadDependencies(operatorList).then(function () {
          _this2.transformMatrix = _util.IDENTITY_MATRIX;

          _this2.executeOpTree(_this2.convertOpList(operatorList));

          return svgElement;
        });
      }
    }, {
      key: "convertOpList",
      value: function convertOpList(operatorList) {
        var operatorIdMapping = this._operatorIdMapping;
        var argsArray = operatorList.argsArray;
        var fnArray = operatorList.fnArray;
        var opList = [];

        for (var i = 0, ii = fnArray.length; i < ii; i++) {
          var fnId = fnArray[i];
          opList.push({
            fnId: fnId,
            fn: operatorIdMapping[fnId],
            args: argsArray[i]
          });
        }

        return opListToTree(opList);
      }
    }, {
      key: "executeOpTree",
      value: function executeOpTree(opTree) {
        var _iterator3 = _createForOfIteratorHelper(opTree),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var opTreeElement = _step3.value;
            var fn = opTreeElement.fn;
            var fnId = opTreeElement.fnId;
            var args = opTreeElement.args;

            switch (fnId | 0) {
              case _util.OPS.beginText:
                this.beginText();
                break;

              case _util.OPS.dependency:
                break;

              case _util.OPS.setLeading:
                this.setLeading(args);
                break;

              case _util.OPS.setLeadingMoveText:
                this.setLeadingMoveText(args[0], args[1]);
                break;

              case _util.OPS.setFont:
                this.setFont(args);
                break;

              case _util.OPS.showText:
                this.showText(args[0]);
                break;

              case _util.OPS.showSpacedText:
                this.showText(args[0]);
                break;

              case _util.OPS.endText:
                this.endText();
                break;

              case _util.OPS.moveText:
                this.moveText(args[0], args[1]);
                break;

              case _util.OPS.setCharSpacing:
                this.setCharSpacing(args[0]);
                break;

              case _util.OPS.setWordSpacing:
                this.setWordSpacing(args[0]);
                break;

              case _util.OPS.setHScale:
                this.setHScale(args[0]);
                break;

              case _util.OPS.setTextMatrix:
                this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
                break;

              case _util.OPS.setTextRise:
                this.setTextRise(args[0]);
                break;

              case _util.OPS.setTextRenderingMode:
                this.setTextRenderingMode(args[0]);
                break;

              case _util.OPS.setLineWidth:
                this.setLineWidth(args[0]);
                break;

              case _util.OPS.setLineJoin:
                this.setLineJoin(args[0]);
                break;

              case _util.OPS.setLineCap:
                this.setLineCap(args[0]);
                break;

              case _util.OPS.setMiterLimit:
                this.setMiterLimit(args[0]);
                break;

              case _util.OPS.setFillRGBColor:
                this.setFillRGBColor(args[0], args[1], args[2]);
                break;

              case _util.OPS.setStrokeRGBColor:
                this.setStrokeRGBColor(args[0], args[1], args[2]);
                break;

              case _util.OPS.setStrokeColorN:
                this.setStrokeColorN(args);
                break;

              case _util.OPS.setFillColorN:
                this.setFillColorN(args);
                break;

              case _util.OPS.shadingFill:
                this.shadingFill(args[0]);
                break;

              case _util.OPS.setDash:
                this.setDash(args[0], args[1]);
                break;

              case _util.OPS.setRenderingIntent:
                this.setRenderingIntent(args[0]);
                break;

              case _util.OPS.setFlatness:
                this.setFlatness(args[0]);
                break;

              case _util.OPS.setGState:
                this.setGState(args[0]);
                break;

              case _util.OPS.fill:
                this.fill();
                break;

              case _util.OPS.eoFill:
                this.eoFill();
                break;

              case _util.OPS.stroke:
                this.stroke();
                break;

              case _util.OPS.fillStroke:
                this.fillStroke();
                break;

              case _util.OPS.eoFillStroke:
                this.eoFillStroke();
                break;

              case _util.OPS.clip:
                this.clip("nonzero");
                break;

              case _util.OPS.eoClip:
                this.clip("evenodd");
                break;

              case _util.OPS.paintSolidColorImageMask:
                this.paintSolidColorImageMask();
                break;

              case _util.OPS.paintImageXObject:
                this.paintImageXObject(args[0]);
                break;

              case _util.OPS.paintInlineImageXObject:
                this.paintInlineImageXObject(args[0]);
                break;

              case _util.OPS.paintImageMaskXObject:
                this.paintImageMaskXObject(args[0]);
                break;

              case _util.OPS.paintFormXObjectBegin:
                this.paintFormXObjectBegin(args[0], args[1]);
                break;

              case _util.OPS.paintFormXObjectEnd:
                this.paintFormXObjectEnd();
                break;

              case _util.OPS.closePath:
                this.closePath();
                break;

              case _util.OPS.closeStroke:
                this.closeStroke();
                break;

              case _util.OPS.closeFillStroke:
                this.closeFillStroke();
                break;

              case _util.OPS.closeEOFillStroke:
                this.closeEOFillStroke();
                break;

              case _util.OPS.nextLine:
                this.nextLine();
                break;

              case _util.OPS.transform:
                this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
                break;

              case _util.OPS.constructPath:
                this.constructPath(args[0], args[1]);
                break;

              case _util.OPS.endPath:
                this.endPath();
                break;

              case 92:
                this.group(opTreeElement.items);
                break;

              default:
                (0, _util.warn)("Unimplemented operator ".concat(fn));
                break;
            }
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      }
    }, {
      key: "setWordSpacing",
      value: function setWordSpacing(wordSpacing) {
        this.current.wordSpacing = wordSpacing;
      }
    }, {
      key: "setCharSpacing",
      value: function setCharSpacing(charSpacing) {
        this.current.charSpacing = charSpacing;
      }
    }, {
      key: "nextLine",
      value: function nextLine() {
        this.moveText(0, this.current.leading);
      }
    }, {
      key: "setTextMatrix",
      value: function setTextMatrix(a, b, c, d, e, f) {
        var current = this.current;
        current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
        current.textMatrixScale = Math.sqrt(a * a + b * b);
        current.x = current.lineX = 0;
        current.y = current.lineY = 0;
        current.xcoords = [];
        current.ycoords = [];
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
        current.txtElement = this.svgFactory.createElement("svg:text");
        current.txtElement.appendChild(current.tspan);
      }
    }, {
      key: "beginText",
      value: function beginText() {
        var current = this.current;
        current.x = current.lineX = 0;
        current.y = current.lineY = 0;
        current.textMatrix = _util.IDENTITY_MATRIX;
        current.lineMatrix = _util.IDENTITY_MATRIX;
        current.textMatrixScale = 1;
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.txtElement = this.svgFactory.createElement("svg:text");
        current.txtgrp = this.svgFactory.createElement("svg:g");
        current.xcoords = [];
        current.ycoords = [];
      }
    }, {
      key: "moveText",
      value: function moveText(x, y) {
        var current = this.current;
        current.x = current.lineX += x;
        current.y = current.lineY += y;
        current.xcoords = [];
        current.ycoords = [];
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
      }
    }, {
      key: "showText",
      value: function showText(glyphs) {
        var current = this.current;
        var font = current.font;
        var fontSize = current.fontSize;

        if (fontSize === 0) {
          return;
        }

        var fontSizeScale = current.fontSizeScale;
        var charSpacing = current.charSpacing;
        var wordSpacing = current.wordSpacing;
        var fontDirection = current.fontDirection;
        var textHScale = current.textHScale * fontDirection;
        var vertical = font.vertical;
        var spacingDir = vertical ? 1 : -1;
        var defaultVMetrics = font.defaultVMetrics;
        var widthAdvanceScale = fontSize * current.fontMatrix[0];
        var x = 0;

        var _iterator4 = _createForOfIteratorHelper(glyphs),
            _step4;

        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var glyph = _step4.value;

            if (glyph === null) {
              x += fontDirection * wordSpacing;
              continue;
            } else if ((0, _util.isNum)(glyph)) {
              x += spacingDir * glyph * fontSize / 1000;
              continue;
            }

            var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
            var character = glyph.fontChar;
            var scaledX = void 0,
                scaledY = void 0;
            var width = glyph.width;

            if (vertical) {
              var vx = void 0;
              var vmetric = glyph.vmetric || defaultVMetrics;
              vx = glyph.vmetric ? vmetric[1] : width * 0.5;
              vx = -vx * widthAdvanceScale;
              var vy = vmetric[2] * widthAdvanceScale;
              width = vmetric ? -vmetric[0] : width;
              scaledX = vx / fontSizeScale;
              scaledY = (x + vy) / fontSizeScale;
            } else {
              scaledX = x / fontSizeScale;
              scaledY = 0;
            }

            if (glyph.isInFont || font.missingFile) {
              current.xcoords.push(current.x + scaledX);

              if (vertical) {
                current.ycoords.push(-current.y + scaledY);
              }

              current.tspan.textContent += character;
            } else {}

            var charWidth = void 0;

            if (vertical) {
              charWidth = width * widthAdvanceScale - spacing * fontDirection;
            } else {
              charWidth = width * widthAdvanceScale + spacing * fontDirection;
            }

            x += charWidth;
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }

        current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));

        if (vertical) {
          current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" "));
        } else {
          current.tspan.setAttributeNS(null, "y", pf(-current.y));
        }

        if (vertical) {
          current.y -= x;
        } else {
          current.x += x * textHScale;
        }

        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));

        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
          current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
        }

        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
          current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
        }

        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;

        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          if (current.fillColor !== SVG_DEFAULTS.fillColor) {
            current.tspan.setAttributeNS(null, "fill", current.fillColor);
          }

          if (current.fillAlpha < 1) {
            current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
          }
        } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
          current.tspan.setAttributeNS(null, "fill", "transparent");
        } else {
          current.tspan.setAttributeNS(null, "fill", "none");
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          var lineWidthScale = 1 / (current.textMatrixScale || 1);

          this._setStrokeAttributes(current.tspan, lineWidthScale);
        }

        var textMatrix = current.textMatrix;

        if (current.textRise !== 0) {
          textMatrix = textMatrix.slice();
          textMatrix[5] += current.textRise;
        }

        current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)"));
        current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
        current.txtElement.appendChild(current.tspan);
        current.txtgrp.appendChild(current.txtElement);

        this._ensureTransformGroup().appendChild(current.txtElement);
      }
    }, {
      key: "setLeadingMoveText",
      value: function setLeadingMoveText(x, y) {
        this.setLeading(-y);
        this.moveText(x, y);
      }
    }, {
      key: "addFontStyle",
      value: function addFontStyle(fontObj) {
        if (!fontObj.data) {
          throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.');
        }

        if (!this.cssStyle) {
          this.cssStyle = this.svgFactory.createElement("svg:style");
          this.cssStyle.setAttributeNS(null, "type", "text/css");
          this.defs.appendChild(this.cssStyle);
        }

        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
        this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
      }
    }, {
      key: "setFont",
      value: function setFont(details) {
        var current = this.current;
        var fontObj = this.commonObjs.get(details[0]);
        var size = details[1];
        current.font = fontObj;

        if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {
          this.addFontStyle(fontObj);
          this.embeddedFonts[fontObj.loadedName] = fontObj;
        }

        current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;
        var bold = "normal";

        if (fontObj.black) {
          bold = "900";
        } else if (fontObj.bold) {
          bold = "bold";
        }

        var italic = fontObj.italic ? "italic" : "normal";

        if (size < 0) {
          size = -size;
          current.fontDirection = -1;
        } else {
          current.fontDirection = 1;
        }

        current.fontSize = size;
        current.fontFamily = fontObj.loadedName;
        current.fontWeight = bold;
        current.fontStyle = italic;
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
        current.xcoords = [];
        current.ycoords = [];
      }
    }, {
      key: "endText",
      value: function endText() {
        var _current$txtElement;

        var current = this.current;

        if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && (_current$txtElement = current.txtElement) !== null && _current$txtElement !== void 0 && _current$txtElement.hasChildNodes()) {
          current.element = current.txtElement;
          this.clip("nonzero");
          this.endPath();
        }
      }
    }, {
      key: "setLineWidth",
      value: function setLineWidth(width) {
        if (width > 0) {
          this.current.lineWidth = width;
        }
      }
    }, {
      key: "setLineCap",
      value: function setLineCap(style) {
        this.current.lineCap = LINE_CAP_STYLES[style];
      }
    }, {
      key: "setLineJoin",
      value: function setLineJoin(style) {
        this.current.lineJoin = LINE_JOIN_STYLES[style];
      }
    }, {
      key: "setMiterLimit",
      value: function setMiterLimit(limit) {
        this.current.miterLimit = limit;
      }
    }, {
      key: "setStrokeAlpha",
      value: function setStrokeAlpha(strokeAlpha) {
        this.current.strokeAlpha = strokeAlpha;
      }
    }, {
      key: "setStrokeRGBColor",
      value: function setStrokeRGBColor(r, g, b) {
        this.current.strokeColor = _util.Util.makeHexColor(r, g, b);
      }
    }, {
      key: "setFillAlpha",
      value: function setFillAlpha(fillAlpha) {
        this.current.fillAlpha = fillAlpha;
      }
    }, {
      key: "setFillRGBColor",
      value: function setFillRGBColor(r, g, b) {
        this.current.fillColor = _util.Util.makeHexColor(r, g, b);
        this.current.tspan = this.svgFactory.createElement("svg:tspan");
        this.current.xcoords = [];
        this.current.ycoords = [];
      }
    }, {
      key: "setStrokeColorN",
      value: function setStrokeColorN(args) {
        this.current.strokeColor = this._makeColorN_Pattern(args);
      }
    }, {
      key: "setFillColorN",
      value: function setFillColorN(args) {
        this.current.fillColor = this._makeColorN_Pattern(args);
      }
    }, {
      key: "shadingFill",
      value: function shadingFill(args) {
        var width = this.viewport.width;
        var height = this.viewport.height;

        var inv = _util.Util.inverseTransform(this.transformMatrix);

        var bl = _util.Util.applyTransform([0, 0], inv);

        var br = _util.Util.applyTransform([0, height], inv);

        var ul = _util.Util.applyTransform([width, 0], inv);

        var ur = _util.Util.applyTransform([width, height], inv);

        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", x0);
        rect.setAttributeNS(null, "y", y0);
        rect.setAttributeNS(null, "width", x1 - x0);
        rect.setAttributeNS(null, "height", y1 - y0);
        rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));

        if (this.current.fillAlpha < 1) {
          rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha);
        }

        this._ensureTransformGroup().appendChild(rect);
      }
    }, {
      key: "_makeColorN_Pattern",
      value: function _makeColorN_Pattern(args) {
        if (args[0] === "TilingPattern") {
          return this._makeTilingPattern(args);
        }

        return this._makeShadingPattern(args);
      }
    }, {
      key: "_makeTilingPattern",
      value: function _makeTilingPattern(args) {
        var color = args[1];
        var operatorList = args[2];
        var matrix = args[3] || _util.IDENTITY_MATRIX;

        var _args$ = _slicedToArray(args[4], 4),
            x0 = _args$[0],
            y0 = _args$[1],
            x1 = _args$[2],
            y1 = _args$[3];

        var xstep = args[5];
        var ystep = args[6];
        var paintType = args[7];
        var tilingId = "shading".concat(shadingCount++);

        var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
            _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
            tx0 = _Util$applyTransform2[0],
            ty0 = _Util$applyTransform2[1];

        var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
            _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
            tx1 = _Util$applyTransform4[0],
            ty1 = _Util$applyTransform4[1];

        var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
            _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
            xscale = _Util$singularValueDe2[0],
            yscale = _Util$singularValueDe2[1];

        var txstep = xstep * xscale;
        var tystep = ystep * yscale;
        var tiling = this.svgFactory.createElement("svg:pattern");
        tiling.setAttributeNS(null, "id", tilingId);
        tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
        tiling.setAttributeNS(null, "width", txstep);
        tiling.setAttributeNS(null, "height", tystep);
        tiling.setAttributeNS(null, "x", "".concat(tx0));
        tiling.setAttributeNS(null, "y", "".concat(ty0));
        var svg = this.svg;
        var transformMatrix = this.transformMatrix;
        var fillColor = this.current.fillColor;
        var strokeColor = this.current.strokeColor;
        var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
        this.svg = bbox;
        this.transformMatrix = matrix;

        if (paintType === 2) {
          var cssColor = _util.Util.makeHexColor.apply(_util.Util, _toConsumableArray(color));

          this.current.fillColor = cssColor;
          this.current.strokeColor = cssColor;
        }

        this.executeOpTree(this.convertOpList(operatorList));
        this.svg = svg;
        this.transformMatrix = transformMatrix;
        this.current.fillColor = fillColor;
        this.current.strokeColor = strokeColor;
        tiling.appendChild(bbox.childNodes[0]);
        this.defs.appendChild(tiling);
        return "url(#".concat(tilingId, ")");
      }
    }, {
      key: "_makeShadingPattern",
      value: function _makeShadingPattern(args) {
        switch (args[0]) {
          case "RadialAxial":
            var shadingId = "shading".concat(shadingCount++);
            var colorStops = args[3];
            var gradient;

            switch (args[1]) {
              case "axial":
                var point0 = args[4];
                var point1 = args[5];
                gradient = this.svgFactory.createElement("svg:linearGradient");
                gradient.setAttributeNS(null, "id", shadingId);
                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
                gradient.setAttributeNS(null, "x1", point0[0]);
                gradient.setAttributeNS(null, "y1", point0[1]);
                gradient.setAttributeNS(null, "x2", point1[0]);
                gradient.setAttributeNS(null, "y2", point1[1]);
                break;

              case "radial":
                var focalPoint = args[4];
                var circlePoint = args[5];
                var focalRadius = args[6];
                var circleRadius = args[7];
                gradient = this.svgFactory.createElement("svg:radialGradient");
                gradient.setAttributeNS(null, "id", shadingId);
                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
                gradient.setAttributeNS(null, "cx", circlePoint[0]);
                gradient.setAttributeNS(null, "cy", circlePoint[1]);
                gradient.setAttributeNS(null, "r", circleRadius);
                gradient.setAttributeNS(null, "fx", focalPoint[0]);
                gradient.setAttributeNS(null, "fy", focalPoint[1]);
                gradient.setAttributeNS(null, "fr", focalRadius);
                break;

              default:
                throw new Error("Unknown RadialAxial type: ".concat(args[1]));
            }

            var _iterator5 = _createForOfIteratorHelper(colorStops),
                _step5;

            try {
              for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
                var colorStop = _step5.value;
                var stop = this.svgFactory.createElement("svg:stop");
                stop.setAttributeNS(null, "offset", colorStop[0]);
                stop.setAttributeNS(null, "stop-color", colorStop[1]);
                gradient.appendChild(stop);
              }
            } catch (err) {
              _iterator5.e(err);
            } finally {
              _iterator5.f();
            }

            this.defs.appendChild(gradient);
            return "url(#".concat(shadingId, ")");

          case "Mesh":
            (0, _util.warn)("Unimplemented pattern Mesh");
            return null;

          case "Dummy":
            return "hotpink";

          default:
            throw new Error("Unknown IR type: ".concat(args[0]));
        }
      }
    }, {
      key: "setDash",
      value: function setDash(dashArray, dashPhase) {
        this.current.dashArray = dashArray;
        this.current.dashPhase = dashPhase;
      }
    }, {
      key: "constructPath",
      value: function constructPath(ops, args) {
        var current = this.current;
        var x = current.x,
            y = current.y;
        var d = [];
        var j = 0;

        var _iterator6 = _createForOfIteratorHelper(ops),
            _step6;

        try {
          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
            var op = _step6.value;

            switch (op | 0) {
              case _util.OPS.rectangle:
                x = args[j++];
                y = args[j++];
                var width = args[j++];
                var height = args[j++];
                var xw = x + width;
                var yh = y + height;
                d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
                break;

              case _util.OPS.moveTo:
                x = args[j++];
                y = args[j++];
                d.push("M", pf(x), pf(y));
                break;

              case _util.OPS.lineTo:
                x = args[j++];
                y = args[j++];
                d.push("L", pf(x), pf(y));
                break;

              case _util.OPS.curveTo:
                x = args[j + 4];
                y = args[j + 5];
                d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
                j += 6;
                break;

              case _util.OPS.curveTo2:
                d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
                x = args[j + 2];
                y = args[j + 3];
                j += 4;
                break;

              case _util.OPS.curveTo3:
                x = args[j + 2];
                y = args[j + 3];
                d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
                j += 4;
                break;

              case _util.OPS.closePath:
                d.push("Z");
                break;
            }
          }
        } catch (err) {
          _iterator6.e(err);
        } finally {
          _iterator6.f();
        }

        d = d.join(" ");

        if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
          d = current.path.getAttributeNS(null, "d") + d;
        } else {
          current.path = this.svgFactory.createElement("svg:path");

          this._ensureTransformGroup().appendChild(current.path);
        }

        current.path.setAttributeNS(null, "d", d);
        current.path.setAttributeNS(null, "fill", "none");
        current.element = current.path;
        current.setCurrentPoint(x, y);
      }
    }, {
      key: "endPath",
      value: function endPath() {
        var current = this.current;
        current.path = null;

        if (!this.pendingClip) {
          return;
        }

        if (!current.element) {
          this.pendingClip = null;
          return;
        }

        var clipId = "clippath".concat(clipCount++);
        var clipPath = this.svgFactory.createElement("svg:clipPath");
        clipPath.setAttributeNS(null, "id", clipId);
        clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
        var clipElement = current.element.cloneNode(true);

        if (this.pendingClip === "evenodd") {
          clipElement.setAttributeNS(null, "clip-rule", "evenodd");
        } else {
          clipElement.setAttributeNS(null, "clip-rule", "nonzero");
        }

        this.pendingClip = null;
        clipPath.appendChild(clipElement);
        this.defs.appendChild(clipPath);

        if (current.activeClipUrl) {
          current.clipGroup = null;
          this.extraStack.forEach(function (prev) {
            prev.clipGroup = null;
          });
          clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
        }

        current.activeClipUrl = "url(#".concat(clipId, ")");
        this.tgrp = null;
      }
    }, {
      key: "clip",
      value: function clip(type) {
        this.pendingClip = type;
      }
    }, {
      key: "closePath",
      value: function closePath() {
        var current = this.current;

        if (current.path) {
          var d = "".concat(current.path.getAttributeNS(null, "d"), "Z");
          current.path.setAttributeNS(null, "d", d);
        }
      }
    }, {
      key: "setLeading",
      value: function setLeading(leading) {
        this.current.leading = -leading;
      }
    }, {
      key: "setTextRise",
      value: function setTextRise(textRise) {
        this.current.textRise = textRise;
      }
    }, {
      key: "setTextRenderingMode",
      value: function setTextRenderingMode(textRenderingMode) {
        this.current.textRenderingMode = textRenderingMode;
      }
    }, {
      key: "setHScale",
      value: function setHScale(scale) {
        this.current.textHScale = scale / 100;
      }
    }, {
      key: "setRenderingIntent",
      value: function setRenderingIntent(intent) {}
    }, {
      key: "setFlatness",
      value: function setFlatness(flatness) {}
    }, {
      key: "setGState",
      value: function setGState(states) {
        var _iterator7 = _createForOfIteratorHelper(states),
            _step7;

        try {
          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
            var _step7$value = _slicedToArray(_step7.value, 2),
                key = _step7$value[0],
                value = _step7$value[1];

            switch (key) {
              case "LW":
                this.setLineWidth(value);
                break;

              case "LC":
                this.setLineCap(value);
                break;

              case "LJ":
                this.setLineJoin(value);
                break;

              case "ML":
                this.setMiterLimit(value);
                break;

              case "D":
                this.setDash(value[0], value[1]);
                break;

              case "RI":
                this.setRenderingIntent(value);
                break;

              case "FL":
                this.setFlatness(value);
                break;

              case "Font":
                this.setFont(value);
                break;

              case "CA":
                this.setStrokeAlpha(value);
                break;

              case "ca":
                this.setFillAlpha(value);
                break;

              default:
                (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
                break;
            }
          }
        } catch (err) {
          _iterator7.e(err);
        } finally {
          _iterator7.f();
        }
      }
    }, {
      key: "fill",
      value: function fill() {
        var current = this.current;

        if (current.element) {
          current.element.setAttributeNS(null, "fill", current.fillColor);
          current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
          this.endPath();
        }
      }
    }, {
      key: "stroke",
      value: function stroke() {
        var current = this.current;

        if (current.element) {
          this._setStrokeAttributes(current.element);

          current.element.setAttributeNS(null, "fill", "none");
          this.endPath();
        }
      }
    }, {
      key: "_setStrokeAttributes",
      value: function _setStrokeAttributes(element) {
        var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
        var current = this.current;
        var dashArray = current.dashArray;

        if (lineWidthScale !== 1 && dashArray.length > 0) {
          dashArray = dashArray.map(function (value) {
            return lineWidthScale * value;
          });
        }

        element.setAttributeNS(null, "stroke", current.strokeColor);
        element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
        element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
        element.setAttributeNS(null, "stroke-linecap", current.lineCap);
        element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
        element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
        element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
        element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
      }
    }, {
      key: "eoFill",
      value: function eoFill() {
        if (this.current.element) {
          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
        }

        this.fill();
      }
    }, {
      key: "fillStroke",
      value: function fillStroke() {
        this.stroke();
        this.fill();
      }
    }, {
      key: "eoFillStroke",
      value: function eoFillStroke() {
        if (this.current.element) {
          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
        }

        this.fillStroke();
      }
    }, {
      key: "closeStroke",
      value: function closeStroke() {
        this.closePath();
        this.stroke();
      }
    }, {
      key: "closeFillStroke",
      value: function closeFillStroke() {
        this.closePath();
        this.fillStroke();
      }
    }, {
      key: "closeEOFillStroke",
      value: function closeEOFillStroke() {
        this.closePath();
        this.eoFillStroke();
      }
    }, {
      key: "paintSolidColorImageMask",
      value: function paintSolidColorImageMask() {
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", "0");
        rect.setAttributeNS(null, "y", "0");
        rect.setAttributeNS(null, "width", "1px");
        rect.setAttributeNS(null, "height", "1px");
        rect.setAttributeNS(null, "fill", this.current.fillColor);

        this._ensureTransformGroup().appendChild(rect);
      }
    }, {
      key: "paintImageXObject",
      value: function paintImageXObject(objId) {
        var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

        if (!imgData) {
          (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
          return;
        }

        this.paintInlineImageXObject(imgData);
      }
    }, {
      key: "paintInlineImageXObject",
      value: function paintInlineImageXObject(imgData, mask) {
        var width = imgData.width;
        var height = imgData.height;
        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
        var cliprect = this.svgFactory.createElement("svg:rect");
        cliprect.setAttributeNS(null, "x", "0");
        cliprect.setAttributeNS(null, "y", "0");
        cliprect.setAttributeNS(null, "width", pf(width));
        cliprect.setAttributeNS(null, "height", pf(height));
        this.current.element = cliprect;
        this.clip("nonzero");
        var imgEl = this.svgFactory.createElement("svg:image");
        imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
        imgEl.setAttributeNS(null, "x", "0");
        imgEl.setAttributeNS(null, "y", pf(-height));
        imgEl.setAttributeNS(null, "width", pf(width) + "px");
        imgEl.setAttributeNS(null, "height", pf(height) + "px");
        imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));

        if (mask) {
          mask.appendChild(imgEl);
        } else {
          this._ensureTransformGroup().appendChild(imgEl);
        }
      }
    }, {
      key: "paintImageMaskXObject",
      value: function paintImageMaskXObject(imgData) {
        var current = this.current;
        var width = imgData.width;
        var height = imgData.height;
        var fillColor = current.fillColor;
        current.maskId = "mask".concat(maskCount++);
        var mask = this.svgFactory.createElement("svg:mask");
        mask.setAttributeNS(null, "id", current.maskId);
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", "0");
        rect.setAttributeNS(null, "y", "0");
        rect.setAttributeNS(null, "width", pf(width));
        rect.setAttributeNS(null, "height", pf(height));
        rect.setAttributeNS(null, "fill", fillColor);
        rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")"));
        this.defs.appendChild(mask);

        this._ensureTransformGroup().appendChild(rect);

        this.paintInlineImageXObject(imgData, mask);
      }
    }, {
      key: "paintFormXObjectBegin",
      value: function paintFormXObjectBegin(matrix, bbox) {
        if (Array.isArray(matrix) && matrix.length === 6) {
          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
        }

        if (bbox) {
          var width = bbox[2] - bbox[0];
          var height = bbox[3] - bbox[1];
          var cliprect = this.svgFactory.createElement("svg:rect");
          cliprect.setAttributeNS(null, "x", bbox[0]);
          cliprect.setAttributeNS(null, "y", bbox[1]);
          cliprect.setAttributeNS(null, "width", pf(width));
          cliprect.setAttributeNS(null, "height", pf(height));
          this.current.element = cliprect;
          this.clip("nonzero");
          this.endPath();
        }
      }
    }, {
      key: "paintFormXObjectEnd",
      value: function paintFormXObjectEnd() {}
    }, {
      key: "_initialize",
      value: function _initialize(viewport) {
        var svg = this.svgFactory.create(viewport.width, viewport.height);
        var definitions = this.svgFactory.createElement("svg:defs");
        svg.appendChild(definitions);
        this.defs = definitions;
        var rootGroup = this.svgFactory.createElement("svg:g");
        rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
        svg.appendChild(rootGroup);
        this.svg = rootGroup;
        return svg;
      }
    }, {
      key: "_ensureClipGroup",
      value: function _ensureClipGroup() {
        if (!this.current.clipGroup) {
          var clipGroup = this.svgFactory.createElement("svg:g");
          clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
          this.svg.appendChild(clipGroup);
          this.current.clipGroup = clipGroup;
        }

        return this.current.clipGroup;
      }
    }, {
      key: "_ensureTransformGroup",
      value: function _ensureTransformGroup() {
        if (!this.tgrp) {
          this.tgrp = this.svgFactory.createElement("svg:g");
          this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));

          if (this.current.activeClipUrl) {
            this._ensureClipGroup().appendChild(this.tgrp);
          } else {
            this.svg.appendChild(this.tgrp);
          }
        }

        return this.tgrp;
      }
    }]);

    return SVGGraphics;
  }();
}

/***/ }),
/* 153 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFNodeStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

var _network_utils = __w_pdfjs_require__(154);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

var fs = __webpack_require__(0);

var http = __webpack_require__(4);

var https = __webpack_require__(5);

var url = __webpack_require__(6);

var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;

function parseUrl(sourceUrl) {
  var parsedUrl = url.parse(sourceUrl);

  if (parsedUrl.protocol === "file:" || parsedUrl.host) {
    return parsedUrl;
  }

  if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
    return url.parse("file:///".concat(sourceUrl));
  }

  if (!parsedUrl.host) {
    parsedUrl.protocol = "file:";
  }

  return parsedUrl;
}

var PDFNodeStream = /*#__PURE__*/function () {
  function PDFNodeStream(source) {
    _classCallCheck(this, PDFNodeStream);

    this.source = source;
    this.url = parseUrl(source.url);
    this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
    this.isFsUrl = this.url.protocol === "file:";
    this.httpHeaders = this.isHttp && source.httpHeaders || {};
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFNodeStream, [{
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once.");
      this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(start, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);

      this._rangeRequestReaders.push(rangeReader);

      return rangeReader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      var _this$_fullRequestRea, _this$_fullRequestRea2;

      return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
    }
  }]);

  return PDFNodeStream;
}();

exports.PDFNodeStream = PDFNodeStream;

var BaseFullReader = /*#__PURE__*/function () {
  function BaseFullReader(stream) {
    _classCallCheck(this, BaseFullReader);

    this._url = stream.url;
    this._done = false;
    this._storedError = null;
    this.onProgress = null;
    var source = stream.source;
    this._contentLength = source.length;
    this._loaded = 0;
    this._filename = null;
    this._disableRange = source.disableRange || false;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    this._isStreamingSupported = !source.disableStream;
    this._isRangeSupported = !source.disableRange;
    this._readableStream = null;
    this._readCapability = (0, _util.createPromiseCapability)();
    this._headersCapability = (0, _util.createPromiseCapability)();
  }

  _createClass(BaseFullReader, [{
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, buffer;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._readCapability.promise;

              case 2:
                if (!this._done) {
                  _context.next = 4;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 4:
                if (!this._storedError) {
                  _context.next = 6;
                  break;
                }

                throw this._storedError;

              case 6:
                chunk = this._readableStream.read();

                if (!(chunk === null)) {
                  _context.next = 10;
                  break;
                }

                this._readCapability = (0, _util.createPromiseCapability)();
                return _context.abrupt("return", this.read());

              case 10:
                this._loaded += chunk.length;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded,
                    total: this._contentLength
                  });
                }

                buffer = new Uint8Array(chunk).buffer;
                return _context.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (!this._readableStream) {
        this._error(reason);

        return;
      }

      this._readableStream.destroy(reason);
    }
  }, {
    key: "_error",
    value: function _error(reason) {
      this._storedError = reason;

      this._readCapability.resolve();
    }
  }, {
    key: "_setReadableStream",
    value: function _setReadableStream(readableStream) {
      var _this = this;

      this._readableStream = readableStream;
      readableStream.on("readable", function () {
        _this._readCapability.resolve();
      });
      readableStream.on("end", function () {
        readableStream.destroy();
        _this._done = true;

        _this._readCapability.resolve();
      });
      readableStream.on("error", function (reason) {
        _this._error(reason);
      });

      if (!this._isStreamingSupported && this._isRangeSupported) {
        this._error(new _util.AbortException("streaming is disabled"));
      }

      if (this._storedError) {
        this._readableStream.destroy(this._storedError);
      }
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersCapability.promise;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return BaseFullReader;
}();

var BaseRangeReader = /*#__PURE__*/function () {
  function BaseRangeReader(stream) {
    _classCallCheck(this, BaseRangeReader);

    this._url = stream.url;
    this._done = false;
    this._storedError = null;
    this.onProgress = null;
    this._loaded = 0;
    this._readableStream = null;
    this._readCapability = (0, _util.createPromiseCapability)();
    var source = stream.source;
    this._isStreamingSupported = !source.disableStream;
  }

  _createClass(BaseRangeReader, [{
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, buffer;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._readCapability.promise;

              case 2:
                if (!this._done) {
                  _context2.next = 4;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 4:
                if (!this._storedError) {
                  _context2.next = 6;
                  break;
                }

                throw this._storedError;

              case 6:
                chunk = this._readableStream.read();

                if (!(chunk === null)) {
                  _context2.next = 10;
                  break;
                }

                this._readCapability = (0, _util.createPromiseCapability)();
                return _context2.abrupt("return", this.read());

              case 10:
                this._loaded += chunk.length;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded
                  });
                }

                buffer = new Uint8Array(chunk).buffer;
                return _context2.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 14:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (!this._readableStream) {
        this._error(reason);

        return;
      }

      this._readableStream.destroy(reason);
    }
  }, {
    key: "_error",
    value: function _error(reason) {
      this._storedError = reason;

      this._readCapability.resolve();
    }
  }, {
    key: "_setReadableStream",
    value: function _setReadableStream(readableStream) {
      var _this2 = this;

      this._readableStream = readableStream;
      readableStream.on("readable", function () {
        _this2._readCapability.resolve();
      });
      readableStream.on("end", function () {
        readableStream.destroy();
        _this2._done = true;

        _this2._readCapability.resolve();
      });
      readableStream.on("error", function (reason) {
        _this2._error(reason);
      });

      if (this._storedError) {
        this._readableStream.destroy(this._storedError);
      }
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return BaseRangeReader;
}();

function createRequestOptions(parsedUrl, headers) {
  return {
    protocol: parsedUrl.protocol,
    auth: parsedUrl.auth,
    host: parsedUrl.hostname,
    port: parsedUrl.port,
    path: parsedUrl.path,
    method: "GET",
    headers: headers
  };
}

var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {
  _inherits(PDFNodeStreamFullReader, _BaseFullReader);

  var _super = _createSuper(PDFNodeStreamFullReader);

  function PDFNodeStreamFullReader(stream) {
    var _this3;

    _classCallCheck(this, PDFNodeStreamFullReader);

    _this3 = _super.call(this, stream);

    var handleResponse = function handleResponse(response) {
      if (response.statusCode === 404) {
        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
        _this3._storedError = error;

        _this3._headersCapability.reject(error);

        return;
      }

      _this3._headersCapability.resolve();

      _this3._setReadableStream(response);

      var getResponseHeader = function getResponseHeader(name) {
        return _this3._readableStream.headers[name.toLowerCase()];
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: stream.isHttp,
        rangeChunkSize: _this3._rangeChunkSize,
        disableRange: _this3._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      _this3._isRangeSupported = allowRangeRequests;
      _this3._contentLength = suggestedLength || _this3._contentLength;
      _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
    };

    _this3._request = null;

    if (_this3._url.protocol === "http:") {
      _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
    } else {
      _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
    }

    _this3._request.on("error", function (reason) {
      _this3._storedError = reason;

      _this3._headersCapability.reject(reason);
    });

    _this3._request.end();

    return _this3;
  }

  return PDFNodeStreamFullReader;
}(BaseFullReader);

var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {
  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);

  var _super2 = _createSuper(PDFNodeStreamRangeReader);

  function PDFNodeStreamRangeReader(stream, start, end) {
    var _this4;

    _classCallCheck(this, PDFNodeStreamRangeReader);

    _this4 = _super2.call(this, stream);
    _this4._httpHeaders = {};

    for (var property in stream.httpHeaders) {
      var value = stream.httpHeaders[property];

      if (typeof value === "undefined") {
        continue;
      }

      _this4._httpHeaders[property] = value;
    }

    _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1);

    var handleResponse = function handleResponse(response) {
      if (response.statusCode === 404) {
        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
        _this4._storedError = error;
        return;
      }

      _this4._setReadableStream(response);
    };

    _this4._request = null;

    if (_this4._url.protocol === "http:") {
      _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
    } else {
      _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
    }

    _this4._request.on("error", function (reason) {
      _this4._storedError = reason;
    });

    _this4._request.end();

    return _this4;
  }

  return PDFNodeStreamRangeReader;
}(BaseRangeReader);

var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {
  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);

  var _super3 = _createSuper(PDFNodeStreamFsFullReader);

  function PDFNodeStreamFsFullReader(stream) {
    var _this5;

    _classCallCheck(this, PDFNodeStreamFsFullReader);

    _this5 = _super3.call(this, stream);
    var path = decodeURIComponent(_this5._url.path);

    if (fileUriRegex.test(_this5._url.href)) {
      path = path.replace(/^\//, "");
    }

    fs.lstat(path, function (error, stat) {
      if (error) {
        if (error.code === "ENOENT") {
          error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
        }

        _this5._storedError = error;

        _this5._headersCapability.reject(error);

        return;
      }

      _this5._contentLength = stat.size;

      _this5._setReadableStream(fs.createReadStream(path));

      _this5._headersCapability.resolve();
    });
    return _this5;
  }

  return PDFNodeStreamFsFullReader;
}(BaseFullReader);

var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {
  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);

  var _super4 = _createSuper(PDFNodeStreamFsRangeReader);

  function PDFNodeStreamFsRangeReader(stream, start, end) {
    var _this6;

    _classCallCheck(this, PDFNodeStreamFsRangeReader);

    _this6 = _super4.call(this, stream);
    var path = decodeURIComponent(_this6._url.path);

    if (fileUriRegex.test(_this6._url.href)) {
      path = path.replace(/^\//, "");
    }

    _this6._setReadableStream(fs.createReadStream(path, {
      start: start,
      end: end - 1
    }));

    return _this6;
  }

  return PDFNodeStreamFsRangeReader;
}(BaseRangeReader);

/***/ }),
/* 154 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.createResponseStatusError = createResponseStatusError;
exports.extractFilenameFromHeader = extractFilenameFromHeader;
exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
exports.validateResponseStatus = validateResponseStatus;

var _util = __w_pdfjs_require__(4);

var _content_disposition = __w_pdfjs_require__(155);

function validateRangeRequestCapabilities(_ref) {
  var getResponseHeader = _ref.getResponseHeader,
      isHttp = _ref.isHttp,
      rangeChunkSize = _ref.rangeChunkSize,
      disableRange = _ref.disableRange;
  (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
  var returnValues = {
    allowRangeRequests: false,
    suggestedLength: undefined
  };
  var length = parseInt(getResponseHeader("Content-Length"), 10);

  if (!Number.isInteger(length)) {
    return returnValues;
  }

  returnValues.suggestedLength = length;

  if (length <= 2 * rangeChunkSize) {
    return returnValues;
  }

  if (disableRange || !isHttp) {
    return returnValues;
  }

  if (getResponseHeader("Accept-Ranges") !== "bytes") {
    return returnValues;
  }

  var contentEncoding = getResponseHeader("Content-Encoding") || "identity";

  if (contentEncoding !== "identity") {
    return returnValues;
  }

  returnValues.allowRangeRequests = true;
  return returnValues;
}

function extractFilenameFromHeader(getResponseHeader) {
  var contentDisposition = getResponseHeader("Content-Disposition");

  if (contentDisposition) {
    var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);

    if (filename.includes("%")) {
      try {
        filename = decodeURIComponent(filename);
      } catch (ex) {}
    }

    if (/\.pdf$/i.test(filename)) {
      return filename;
    }
  }

  return null;
}

function createResponseStatusError(status, url) {
  if (status === 404 || status === 0 && url.startsWith("file:")) {
    return new _util.MissingPDFException('Missing PDF "' + url + '".');
  }

  return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status);
}

function validateResponseStatus(status) {
  return status === 200 || status === 206;
}

/***/ }),
/* 155 */
/***/ ((__unused_webpack_module, exports) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function getFilenameFromContentDispositionHeader(contentDisposition) {
  var needsEncodingFixup = true;
  var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);

  if (tmp) {
    tmp = tmp[1];
    var filename = rfc2616unquote(tmp);
    filename = unescape(filename);
    filename = rfc5987decode(filename);
    filename = rfc2047decode(filename);
    return fixupEncoding(filename);
  }

  tmp = rfc2231getparam(contentDisposition);

  if (tmp) {
    var _filename = rfc2047decode(tmp);

    return fixupEncoding(_filename);
  }

  tmp = toParamRegExp("filename", "i").exec(contentDisposition);

  if (tmp) {
    tmp = tmp[1];

    var _filename2 = rfc2616unquote(tmp);

    _filename2 = rfc2047decode(_filename2);
    return fixupEncoding(_filename2);
  }

  function toParamRegExp(attributePattern, flags) {
    return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
  }

  function textdecode(encoding, value) {
    if (encoding) {
      if (!/^[\x00-\xFF]+$/.test(value)) {
        return value;
      }

      try {
        var decoder = new TextDecoder(encoding, {
          fatal: true
        });
        var bytes = Array.from(value, function (ch) {
          return ch.charCodeAt(0) & 0xff;
        });
        value = decoder.decode(new Uint8Array(bytes));
        needsEncodingFixup = false;
      } catch (e) {
        if (/^utf-?8$/i.test(encoding)) {
          try {
            value = decodeURIComponent(escape(value));
            needsEncodingFixup = false;
          } catch (err) {}
        }
      }
    }

    return value;
  }

  function fixupEncoding(value) {
    if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
      value = textdecode("utf-8", value);

      if (needsEncodingFixup) {
        value = textdecode("iso-8859-1", value);
      }
    }

    return value;
  }

  function rfc2231getparam(contentDispositionStr) {
    var matches = [];
    var match;
    var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");

    while ((match = iter.exec(contentDispositionStr)) !== null) {
      var _match = match,
          _match2 = _slicedToArray(_match, 4),
          n = _match2[1],
          quot = _match2[2],
          part = _match2[3];

      n = parseInt(n, 10);

      if (n in matches) {
        if (n === 0) {
          break;
        }

        continue;
      }

      matches[n] = [quot, part];
    }

    var parts = [];

    for (var _n2 = 0; _n2 < matches.length; ++_n2) {
      if (!(_n2 in matches)) {
        break;
      }

      var _matches$_n = _slicedToArray(matches[_n2], 2),
          _quot = _matches$_n[0],
          _part = _matches$_n[1];

      _part = rfc2616unquote(_part);

      if (_quot) {
        _part = unescape(_part);

        if (_n2 === 0) {
          _part = rfc5987decode(_part);
        }
      }

      parts.push(_part);
    }

    return parts.join("");
  }

  function rfc2616unquote(value) {
    if (value.startsWith('"')) {
      var parts = value.slice(1).split('\\"');

      for (var i = 0; i < parts.length; ++i) {
        var quotindex = parts[i].indexOf('"');

        if (quotindex !== -1) {
          parts[i] = parts[i].slice(0, quotindex);
          parts.length = i + 1;
        }

        parts[i] = parts[i].replace(/\\(.)/g, "$1");
      }

      value = parts.join('"');
    }

    return value;
  }

  function rfc5987decode(extvalue) {
    var encodingend = extvalue.indexOf("'");

    if (encodingend === -1) {
      return extvalue;
    }

    var encoding = extvalue.slice(0, encodingend);
    var langvalue = extvalue.slice(encodingend + 1);
    var value = langvalue.replace(/^[^']*'/, "");
    return textdecode(encoding, value);
  }

  function rfc2047decode(value) {
    if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
      return value;
    }

    return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
      if (encoding === "q" || encoding === "Q") {
        text = text.replace(/_/g, " ");
        text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {
          return String.fromCharCode(parseInt(hex, 16));
        });
        return textdecode(charset, text);
      }

      try {
        text = atob(text);
      } catch (e) {}

      return textdecode(charset, text);
    });
  }

  return "";
}

/***/ }),
/* 156 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFNetworkStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

var _network_utils = __w_pdfjs_require__(154);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;
var OK_RESPONSE = 200;
var PARTIAL_CONTENT_RESPONSE = 206;

function getArrayBuffer(xhr) {
  var data = xhr.response;

  if (typeof data !== "string") {
    return data;
  }

  var array = (0, _util.stringToBytes)(data);
  return array.buffer;
}

var NetworkManager = /*#__PURE__*/function () {
  function NetworkManager(url, args) {
    _classCallCheck(this, NetworkManager);

    this.url = url;
    args = args || {};
    this.isHttp = /^https?:/i.test(url);
    this.httpHeaders = this.isHttp && args.httpHeaders || {};
    this.withCredentials = args.withCredentials || false;

    this.getXhr = args.getXhr || function NetworkManager_getXhr() {
      return new XMLHttpRequest();
    };

    this.currXhrId = 0;
    this.pendingRequests = Object.create(null);
  }

  _createClass(NetworkManager, [{
    key: "requestRange",
    value: function requestRange(begin, end, listeners) {
      var args = {
        begin: begin,
        end: end
      };

      for (var prop in listeners) {
        args[prop] = listeners[prop];
      }

      return this.request(args);
    }
  }, {
    key: "requestFull",
    value: function requestFull(listeners) {
      return this.request(listeners);
    }
  }, {
    key: "request",
    value: function request(args) {
      var xhr = this.getXhr();
      var xhrId = this.currXhrId++;
      var pendingRequest = this.pendingRequests[xhrId] = {
        xhr: xhr
      };
      xhr.open("GET", this.url);
      xhr.withCredentials = this.withCredentials;

      for (var property in this.httpHeaders) {
        var value = this.httpHeaders[property];

        if (typeof value === "undefined") {
          continue;
        }

        xhr.setRequestHeader(property, value);
      }

      if (this.isHttp && "begin" in args && "end" in args) {
        xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1));
        pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
      } else {
        pendingRequest.expectedStatus = OK_RESPONSE;
      }

      xhr.responseType = "arraybuffer";

      if (args.onError) {
        xhr.onerror = function (evt) {
          args.onError(xhr.status);
        };
      }

      xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
      xhr.onprogress = this.onProgress.bind(this, xhrId);
      pendingRequest.onHeadersReceived = args.onHeadersReceived;
      pendingRequest.onDone = args.onDone;
      pendingRequest.onError = args.onError;
      pendingRequest.onProgress = args.onProgress;
      xhr.send(null);
      return xhrId;
    }
  }, {
    key: "onProgress",
    value: function onProgress(xhrId, evt) {
      var pendingRequest = this.pendingRequests[xhrId];

      if (!pendingRequest) {
        return;
      }

      if (pendingRequest.onProgress) {
        pendingRequest.onProgress(evt);
      }
    }
  }, {
    key: "onStateChange",
    value: function onStateChange(xhrId, evt) {
      var pendingRequest = this.pendingRequests[xhrId];

      if (!pendingRequest) {
        return;
      }

      var xhr = pendingRequest.xhr;

      if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
        pendingRequest.onHeadersReceived();
        delete pendingRequest.onHeadersReceived;
      }

      if (xhr.readyState !== 4) {
        return;
      }

      if (!(xhrId in this.pendingRequests)) {
        return;
      }

      delete this.pendingRequests[xhrId];

      if (xhr.status === 0 && this.isHttp) {
        if (pendingRequest.onError) {
          pendingRequest.onError(xhr.status);
        }

        return;
      }

      var xhrStatus = xhr.status || OK_RESPONSE;
      var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;

      if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
        if (pendingRequest.onError) {
          pendingRequest.onError(xhr.status);
        }

        return;
      }

      var chunk = getArrayBuffer(xhr);

      if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
        var rangeHeader = xhr.getResponseHeader("Content-Range");
        var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
        pendingRequest.onDone({
          begin: parseInt(matches[1], 10),
          chunk: chunk
        });
      } else if (chunk) {
        pendingRequest.onDone({
          begin: 0,
          chunk: chunk
        });
      } else if (pendingRequest.onError) {
        pendingRequest.onError(xhr.status);
      }
    }
  }, {
    key: "getRequestXhr",
    value: function getRequestXhr(xhrId) {
      return this.pendingRequests[xhrId].xhr;
    }
  }, {
    key: "isPendingRequest",
    value: function isPendingRequest(xhrId) {
      return xhrId in this.pendingRequests;
    }
  }, {
    key: "abortRequest",
    value: function abortRequest(xhrId) {
      var xhr = this.pendingRequests[xhrId].xhr;
      delete this.pendingRequests[xhrId];
      xhr.abort();
    }
  }]);

  return NetworkManager;
}();

var PDFNetworkStream = /*#__PURE__*/function () {
  function PDFNetworkStream(source) {
    _classCallCheck(this, PDFNetworkStream);

    this._source = source;
    this._manager = new NetworkManager(source.url, {
      httpHeaders: source.httpHeaders,
      withCredentials: source.withCredentials
    });
    this._rangeChunkSize = source.rangeChunkSize;
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFNetworkStream, [{
    key: "_onRangeRequestReaderClosed",
    value: function _onRangeRequestReaderClosed(reader) {
      var i = this._rangeRequestReaders.indexOf(reader);

      if (i >= 0) {
        this._rangeRequestReaders.splice(i, 1);
      }
    }
  }, {
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once.");
      this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
      reader.onClosed = this._onRangeRequestReaderClosed.bind(this);

      this._rangeRequestReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }]);

  return PDFNetworkStream;
}();

exports.PDFNetworkStream = PDFNetworkStream;

var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {
  function PDFNetworkStreamFullRequestReader(manager, source) {
    _classCallCheck(this, PDFNetworkStreamFullRequestReader);

    this._manager = manager;
    var args = {
      onHeadersReceived: this._onHeadersReceived.bind(this),
      onDone: this._onDone.bind(this),
      onError: this._onError.bind(this),
      onProgress: this._onProgress.bind(this)
    };
    this._url = source.url;
    this._fullRequestId = manager.requestFull(args);
    this._headersReceivedCapability = (0, _util.createPromiseCapability)();
    this._disableRange = source.disableRange || false;
    this._contentLength = source.length;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    this._isStreamingSupported = false;
    this._isRangeSupported = false;
    this._cachedChunks = [];
    this._requests = [];
    this._done = false;
    this._storedError = undefined;
    this._filename = null;
    this.onProgress = null;
  }

  _createClass(PDFNetworkStreamFullRequestReader, [{
    key: "_onHeadersReceived",
    value: function _onHeadersReceived() {
      var fullRequestXhrId = this._fullRequestId;

      var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);

      var getResponseHeader = function getResponseHeader(name) {
        return fullRequestXhr.getResponseHeader(name);
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: this._manager.isHttp,
        rangeChunkSize: this._rangeChunkSize,
        disableRange: this._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      if (allowRangeRequests) {
        this._isRangeSupported = true;
      }

      this._contentLength = suggestedLength || this._contentLength;
      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);

      if (this._isRangeSupported) {
        this._manager.abortRequest(fullRequestXhrId);
      }

      this._headersReceivedCapability.resolve();
    }
  }, {
    key: "_onDone",
    value: function _onDone(args) {
      if (args) {
        if (this._requests.length > 0) {
          var requestCapability = this._requests.shift();

          requestCapability.resolve({
            value: args.chunk,
            done: false
          });
        } else {
          this._cachedChunks.push(args.chunk);
        }
      }

      this._done = true;

      if (this._cachedChunks.length > 0) {
        return;
      }

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];
    }
  }, {
    key: "_onError",
    value: function _onError(status) {
      var url = this._url;
      var exception = (0, _network_utils.createResponseStatusError)(status, url);
      this._storedError = exception;

      this._headersReceivedCapability.reject(exception);

      this._requests.forEach(function (requestCapability) {
        requestCapability.reject(exception);
      });

      this._requests = [];
      this._cachedChunks = [];
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(data) {
      if (this.onProgress) {
        this.onProgress({
          loaded: data.loaded,
          total: data.lengthComputable ? data.total : this._contentLength
        });
      }
    }
  }, {
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this._storedError) {
                  _context.next = 2;
                  break;
                }

                throw this._storedError;

              case 2:
                if (!(this._cachedChunks.length > 0)) {
                  _context.next = 5;
                  break;
                }

                chunk = this._cachedChunks.shift();
                return _context.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 5:
                if (!this._done) {
                  _context.next = 7;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 7:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context.abrupt("return", requestCapability.promise);

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._headersReceivedCapability.reject(reason);

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      if (this._manager.isPendingRequest(this._fullRequestId)) {
        this._manager.abortRequest(this._fullRequestId);
      }

      this._fullRequestReader = null;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersReceivedCapability.promise;
    }
  }]);

  return PDFNetworkStreamFullRequestReader;
}();

var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {
  function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
    _classCallCheck(this, PDFNetworkStreamRangeRequestReader);

    this._manager = manager;
    var args = {
      onDone: this._onDone.bind(this),
      onProgress: this._onProgress.bind(this)
    };
    this._requestId = manager.requestRange(begin, end, args);
    this._requests = [];
    this._queuedChunk = null;
    this._done = false;
    this.onProgress = null;
    this.onClosed = null;
  }

  _createClass(PDFNetworkStreamRangeRequestReader, [{
    key: "_close",
    value: function _close() {
      if (this.onClosed) {
        this.onClosed(this);
      }
    }
  }, {
    key: "_onDone",
    value: function _onDone(data) {
      var chunk = data.chunk;

      if (this._requests.length > 0) {
        var requestCapability = this._requests.shift();

        requestCapability.resolve({
          value: chunk,
          done: false
        });
      } else {
        this._queuedChunk = chunk;
      }

      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      this._close();
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(evt) {
      if (!this.isStreamingSupported && this.onProgress) {
        this.onProgress({
          loaded: evt.loaded
        });
      }
    }
  }, {
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!(this._queuedChunk !== null)) {
                  _context2.next = 4;
                  break;
                }

                chunk = this._queuedChunk;
                this._queuedChunk = null;
                return _context2.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 4:
                if (!this._done) {
                  _context2.next = 6;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 6:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context2.abrupt("return", requestCapability.promise);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      if (this._manager.isPendingRequest(this._requestId)) {
        this._manager.abortRequest(this._requestId);
      }

      this._close();
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return false;
    }
  }]);

  return PDFNetworkStreamRangeRequestReader;
}();

/***/ }),
/* 157 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {

"use strict";


Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFFetchStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(4);

var _network_utils = __w_pdfjs_require__(154);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

function createFetchOptions(headers, withCredentials, abortController) {
  return {
    method: "GET",
    headers: headers,
    signal: abortController === null || abortController === void 0 ? void 0 : abortController.signal,
    mode: "cors",
    credentials: withCredentials ? "include" : "same-origin",
    redirect: "follow"
  };
}

function createHeaders(httpHeaders) {
  var headers = new Headers();

  for (var property in httpHeaders) {
    var value = httpHeaders[property];

    if (typeof value === "undefined") {
      continue;
    }

    headers.append(property, value);
  }

  return headers;
}

var PDFFetchStream = /*#__PURE__*/function () {
  function PDFFetchStream(source) {
    _classCallCheck(this, PDFFetchStream);

    this.source = source;
    this.isHttp = /^https?:/i.test(source.url);
    this.httpHeaders = this.isHttp && source.httpHeaders || {};
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFFetchStream, [{
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once.");
      this._fullRequestReader = new PDFFetchStreamReader(this);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var reader = new PDFFetchStreamRangeReader(this, begin, end);

      this._rangeRequestReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      var _this$_fullRequestRea, _this$_fullRequestRea2;

      return (_this$_fullRequestRea = (_this$_fullRequestRea2 = this._fullRequestReader) === null || _this$_fullRequestRea2 === void 0 ? void 0 : _this$_fullRequestRea2._loaded) !== null && _this$_fullRequestRea !== void 0 ? _this$_fullRequestRea : 0;
    }
  }]);

  return PDFFetchStream;
}();

exports.PDFFetchStream = PDFFetchStream;

var PDFFetchStreamReader = /*#__PURE__*/function () {
  function PDFFetchStreamReader(stream) {
    var _this = this;

    _classCallCheck(this, PDFFetchStreamReader);

    this._stream = stream;
    this._reader = null;
    this._loaded = 0;
    this._filename = null;
    var source = stream.source;
    this._withCredentials = source.withCredentials || false;
    this._contentLength = source.length;
    this._headersCapability = (0, _util.createPromiseCapability)();
    this._disableRange = source.disableRange || false;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    if (typeof AbortController !== "undefined") {
      this._abortController = new AbortController();
    }

    this._isStreamingSupported = !source.disableStream;
    this._isRangeSupported = !source.disableRange;
    this._headers = createHeaders(this._stream.httpHeaders);
    var url = source.url;
    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
        throw (0, _network_utils.createResponseStatusError)(response.status, url);
      }

      _this._reader = response.body.getReader();

      _this._headersCapability.resolve();

      var getResponseHeader = function getResponseHeader(name) {
        return response.headers.get(name);
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: _this._stream.isHttp,
        rangeChunkSize: _this._rangeChunkSize,
        disableRange: _this._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      _this._isRangeSupported = allowRangeRequests;
      _this._contentLength = suggestedLength || _this._contentLength;
      _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);

      if (!_this._isStreamingSupported && _this._isRangeSupported) {
        _this.cancel(new _util.AbortException("Streaming is disabled."));
      }
    })["catch"](this._headersCapability.reject);
    this.onProgress = null;
  }

  _createClass(PDFFetchStreamReader, [{
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var _yield$this$_reader$r, value, done, buffer;

        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._headersCapability.promise;

              case 2:
                _context.next = 4;
                return this._reader.read();

              case 4:
                _yield$this$_reader$r = _context.sent;
                value = _yield$this$_reader$r.value;
                done = _yield$this$_reader$r.done;

                if (!done) {
                  _context.next = 9;
                  break;
                }

                return _context.abrupt("return", {
                  value: value,
                  done: done
                });

              case 9:
                this._loaded += value.byteLength;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded,
                    total: this._contentLength
                  });
                }

                buffer = new Uint8Array(value).buffer;
                return _context.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (this._reader) {
        this._reader.cancel(reason);
      }

      if (this._abortController) {
        this._abortController.abort();
      }
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersCapability.promise;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return PDFFetchStreamReader;
}();

var PDFFetchStreamRangeReader = /*#__PURE__*/function () {
  function PDFFetchStreamRangeReader(stream, begin, end) {
    var _this2 = this;

    _classCallCheck(this, PDFFetchStreamRangeReader);

    this._stream = stream;
    this._reader = null;
    this._loaded = 0;
    var source = stream.source;
    this._withCredentials = source.withCredentials || false;
    this._readCapability = (0, _util.createPromiseCapability)();
    this._isStreamingSupported = !source.disableStream;

    if (typeof AbortController !== "undefined") {
      this._abortController = new AbortController();
    }

    this._headers = createHeaders(this._stream.httpHeaders);

    this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1));

    var url = source.url;
    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
        throw (0, _network_utils.createResponseStatusError)(response.status, url);
      }

      _this2._readCapability.resolve();

      _this2._reader = response.body.getReader();
    })["catch"](function (reason) {
      if ((reason === null || reason === void 0 ? void 0 : reason.name) === "AbortError") {
        return;
      }

      throw reason;
    });
    this.onProgress = null;
  }

  _createClass(PDFFetchStreamRangeReader, [{
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var _yield$this$_reader$r2, value, done, buffer;

        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._readCapability.promise;

              case 2:
                _context2.next = 4;
                return this._reader.read();

              case 4:
                _yield$this$_reader$r2 = _context2.sent;
                value = _yield$this$_reader$r2.value;
                done = _yield$this$_reader$r2.done;

                if (!done) {
                  _context2.next = 9;
                  break;
                }

                return _context2.abrupt("return", {
                  value: value,
                  done: done
                });

              case 9:
                this._loaded += value.byteLength;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded
                  });
                }

                buffer = new Uint8Array(value).buffer;
                return _context2.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 13:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (this._reader) {
        this._reader.cancel(reason);
      }

      if (this._abortController) {
        this._abortController.abort();
      }
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return PDFFetchStreamRangeReader;
}();

/***/ })
/******/ 	]);
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __w_pdfjs_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		if(__webpack_module_cache__[moduleId]) {
/******/ 			return __webpack_module_cache__[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			loaded: false,
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
/******/ 	
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/node module decorator */
/******/ 	(() => {
/******/ 		__w_pdfjs_require__.nmd = (module) => {
/******/ 			module.paths = [];
/******/ 			if (!module.children) module.children = [];
/******/ 			return module;
/******/ 		};
/******/ 	})();
/******/ 	
/************************************************************************/
/******/ 	// module exports must be returned from runtime so entry inlining is disabled
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	return __w_pdfjs_require__(0);
/******/ })()
;
});
//# sourceMappingURL=pdf.js.map
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("b639").Buffer, __webpack_require__("4362"), __webpack_require__("c8ba")))

/***/ }),

/***/ "44ad":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var fails = __webpack_require__("d039");
var classof = __webpack_require__("c6b6");

var Object = global.Object;
var split = uncurryThis(''.split);

// fallback for non-array-like ES3 and non-enumerable old V8 strings
module.exports = fails(function () {
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
  // eslint-disable-next-line no-prototype-builtins -- safe
  return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
  return classof(it) == 'String' ? split(it, '') : Object(it);
} : Object;


/***/ }),

/***/ "44d2":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");
var create = __webpack_require__("7c73");
var definePropertyModule = __webpack_require__("9bf2");

var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;

// Array.prototype[@@unscopables]
// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
if (ArrayPrototype[UNSCOPABLES] == undefined) {
  definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
    configurable: true,
    value: create(null)
  });
}

// add a key to Array.prototype[@@unscopables]
module.exports = function (key) {
  ArrayPrototype[UNSCOPABLES][key] = true;
};


/***/ }),

/***/ "44de":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

module.exports = function (a, b) {
  var console = global.console;
  if (console && console.error) {
    arguments.length == 1 ? console.error(a) : console.error(a, b);
  }
};


/***/ }),

/***/ "44e7":
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__("861d");
var classof = __webpack_require__("c6b6");
var wellKnownSymbol = __webpack_require__("b622");

var MATCH = wellKnownSymbol('match');

// `IsRegExp` abstract operation
// https://tc39.es/ecma262/#sec-isregexp
module.exports = function (it) {
  var isRegExp;
  return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
};


/***/ }),

/***/ "4818":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_977a0c9e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ee8e");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_977a0c9e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_EllipsisTooltip_vue_vue_type_style_index_0_id_977a0c9e_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "4840":
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__("825a");
var aConstructor = __webpack_require__("5087");
var wellKnownSymbol = __webpack_require__("b622");

var SPECIES = wellKnownSymbol('species');

// `SpeciesConstructor` abstract operation
// https://tc39.es/ecma262/#sec-speciesconstructor
module.exports = function (O, defaultConstructor) {
  var C = anObject(O).constructor;
  var S;
  return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aConstructor(S);
};


/***/ }),

/***/ "485a":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");

var TypeError = global.TypeError;

// `OrdinaryToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-ordinarytoprimitive
module.exports = function (input, pref) {
  var fn, val;
  if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
  if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;
  if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;
  throw TypeError("Can't convert object to primitive value");
};


/***/ }),

/***/ "4917":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "4930":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-symbol -- required for testing */
var V8_VERSION = __webpack_require__("2d00");
var fails = __webpack_require__("d039");

// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
  var symbol = Symbol();
  // Chrome 38 Symbol has incorrect toString conversion
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
  return !String(symbol) || !(Object(symbol) instanceof Symbol) ||
    // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
    !Symbol.sham && V8_VERSION && V8_VERSION < 41;
});


/***/ }),

/***/ "4d52":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_83d8b084_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a10e");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_83d8b084_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_83d8b084_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "4d63":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var isForced = __webpack_require__("94ca");
var inheritIfRequired = __webpack_require__("7156");
var createNonEnumerableProperty = __webpack_require__("9112");
var defineProperty = __webpack_require__("9bf2").f;
var getOwnPropertyNames = __webpack_require__("241c").f;
var isPrototypeOf = __webpack_require__("3a9b");
var isRegExp = __webpack_require__("44e7");
var toString = __webpack_require__("577e");
var regExpFlags = __webpack_require__("ad6d");
var stickyHelpers = __webpack_require__("9f7f");
var redefine = __webpack_require__("6eeb");
var fails = __webpack_require__("d039");
var hasOwn = __webpack_require__("1a2d");
var enforceInternalState = __webpack_require__("69f3").enforce;
var setSpecies = __webpack_require__("2626");
var wellKnownSymbol = __webpack_require__("b622");
var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3");
var UNSUPPORTED_NCG = __webpack_require__("107c");

var MATCH = wellKnownSymbol('match');
var NativeRegExp = global.RegExp;
var RegExpPrototype = NativeRegExp.prototype;
var SyntaxError = global.SyntaxError;
var getFlags = uncurryThis(regExpFlags);
var exec = uncurryThis(RegExpPrototype.exec);
var charAt = uncurryThis(''.charAt);
var replace = uncurryThis(''.replace);
var stringIndexOf = uncurryThis(''.indexOf);
var stringSlice = uncurryThis(''.slice);
// TODO: Use only propper RegExpIdentifierName
var IS_NCG = /^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/;
var re1 = /a/g;
var re2 = /a/g;

// "new" should create a new object, old webkit bug
var CORRECT_NEW = new NativeRegExp(re1) !== re1;

var MISSED_STICKY = stickyHelpers.MISSED_STICKY;
var UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;

var BASE_FORCED = DESCRIPTORS &&
  (!CORRECT_NEW || MISSED_STICKY || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG || fails(function () {
    re2[MATCH] = false;
    // RegExp constructor can alter flags and IsRegExp works correct with @@match
    return NativeRegExp(re1) != re1 || NativeRegExp(re2) == re2 || NativeRegExp(re1, 'i') != '/a/i';
  }));

var handleDotAll = function (string) {
  var length = string.length;
  var index = 0;
  var result = '';
  var brackets = false;
  var chr;
  for (; index <= length; index++) {
    chr = charAt(string, index);
    if (chr === '\\') {
      result += chr + charAt(string, ++index);
      continue;
    }
    if (!brackets && chr === '.') {
      result += '[\\s\\S]';
    } else {
      if (chr === '[') {
        brackets = true;
      } else if (chr === ']') {
        brackets = false;
      } result += chr;
    }
  } return result;
};

var handleNCG = function (string) {
  var length = string.length;
  var index = 0;
  var result = '';
  var named = [];
  var names = {};
  var brackets = false;
  var ncg = false;
  var groupid = 0;
  var groupname = '';
  var chr;
  for (; index <= length; index++) {
    chr = charAt(string, index);
    if (chr === '\\') {
      chr = chr + charAt(string, ++index);
    } else if (chr === ']') {
      brackets = false;
    } else if (!brackets) switch (true) {
      case chr === '[':
        brackets = true;
        break;
      case chr === '(':
        if (exec(IS_NCG, stringSlice(string, index + 1))) {
          index += 2;
          ncg = true;
        }
        result += chr;
        groupid++;
        continue;
      case chr === '>' && ncg:
        if (groupname === '' || hasOwn(names, groupname)) {
          throw new SyntaxError('Invalid capture group name');
        }
        names[groupname] = true;
        named[named.length] = [groupname, groupid];
        ncg = false;
        groupname = '';
        continue;
    }
    if (ncg) groupname += chr;
    else result += chr;
  } return [result, named];
};

// `RegExp` constructor
// https://tc39.es/ecma262/#sec-regexp-constructor
if (isForced('RegExp', BASE_FORCED)) {
  var RegExpWrapper = function RegExp(pattern, flags) {
    var thisIsRegExp = isPrototypeOf(RegExpPrototype, this);
    var patternIsRegExp = isRegExp(pattern);
    var flagsAreUndefined = flags === undefined;
    var groups = [];
    var rawPattern = pattern;
    var rawFlags, dotAll, sticky, handled, result, state;

    if (!thisIsRegExp && patternIsRegExp && flagsAreUndefined && pattern.constructor === RegExpWrapper) {
      return pattern;
    }

    if (patternIsRegExp || isPrototypeOf(RegExpPrototype, pattern)) {
      pattern = pattern.source;
      if (flagsAreUndefined) flags = 'flags' in rawPattern ? rawPattern.flags : getFlags(rawPattern);
    }

    pattern = pattern === undefined ? '' : toString(pattern);
    flags = flags === undefined ? '' : toString(flags);
    rawPattern = pattern;

    if (UNSUPPORTED_DOT_ALL && 'dotAll' in re1) {
      dotAll = !!flags && stringIndexOf(flags, 's') > -1;
      if (dotAll) flags = replace(flags, /s/g, '');
    }

    rawFlags = flags;

    if (MISSED_STICKY && 'sticky' in re1) {
      sticky = !!flags && stringIndexOf(flags, 'y') > -1;
      if (sticky && UNSUPPORTED_Y) flags = replace(flags, /y/g, '');
    }

    if (UNSUPPORTED_NCG) {
      handled = handleNCG(pattern);
      pattern = handled[0];
      groups = handled[1];
    }

    result = inheritIfRequired(NativeRegExp(pattern, flags), thisIsRegExp ? this : RegExpPrototype, RegExpWrapper);

    if (dotAll || sticky || groups.length) {
      state = enforceInternalState(result);
      if (dotAll) {
        state.dotAll = true;
        state.raw = RegExpWrapper(handleDotAll(pattern), rawFlags);
      }
      if (sticky) state.sticky = true;
      if (groups.length) state.groups = groups;
    }

    if (pattern !== rawPattern) try {
      // fails in old engines, but we have no alternatives for unsupported regex syntax
      createNonEnumerableProperty(result, 'source', rawPattern === '' ? '(?:)' : rawPattern);
    } catch (error) { /* empty */ }

    return result;
  };

  var proxy = function (key) {
    key in RegExpWrapper || defineProperty(RegExpWrapper, key, {
      configurable: true,
      get: function () { return NativeRegExp[key]; },
      set: function (it) { NativeRegExp[key] = it; }
    });
  };

  for (var keys = getOwnPropertyNames(NativeRegExp), index = 0; keys.length > index;) {
    proxy(keys[index++]);
  }

  RegExpPrototype.constructor = RegExpWrapper;
  RegExpWrapper.prototype = RegExpPrototype;
  redefine(global, 'RegExp', RegExpWrapper);
}

// https://tc39.es/ecma262/#sec-get-regexp-@@species
setSpecies('RegExp');


/***/ }),

/***/ "4d64":
/***/ (function(module, exports, __webpack_require__) {

var toIndexedObject = __webpack_require__("fc6a");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");

// `Array.prototype.{ indexOf, includes }` methods implementation
var createMethod = function (IS_INCLUDES) {
  return function ($this, el, fromIndex) {
    var O = toIndexedObject($this);
    var length = lengthOfArrayLike(O);
    var index = toAbsoluteIndex(fromIndex, length);
    var value;
    // Array#includes uses SameValueZero equality algorithm
    // eslint-disable-next-line no-self-compare -- NaN check
    if (IS_INCLUDES && el != el) while (length > index) {
      value = O[index++];
      // eslint-disable-next-line no-self-compare -- NaN check
      if (value != value) return true;
    // Array#indexOf ignores holes, Array#includes - not
    } else for (;length > index; index++) {
      if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;
    } return !IS_INCLUDES && -1;
  };
};

module.exports = {
  // `Array.prototype.includes` method
  // https://tc39.es/ecma262/#sec-array.prototype.includes
  includes: createMethod(true),
  // `Array.prototype.indexOf` method
  // https://tc39.es/ecma262/#sec-array.prototype.indexof
  indexOf: createMethod(false)
};


/***/ }),

/***/ "4dae":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");
var createProperty = __webpack_require__("8418");

var Array = global.Array;
var max = Math.max;

module.exports = function (O, start, end) {
  var length = lengthOfArrayLike(O);
  var k = toAbsoluteIndex(start, length);
  var fin = toAbsoluteIndex(end === undefined ? length : end, length);
  var result = Array(max(fin - k, 0));
  for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);
  result.length = n;
  return result;
};


/***/ }),

/***/ "4de4":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var $filter = __webpack_require__("b727").filter;
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');

// `Array.prototype.filter` method
// https://tc39.es/ecma262/#sec-array.prototype.filter
// with adding support of @@species
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
  filter: function filter(callbackfn /* , thisArg */) {
    return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});


/***/ }),

/***/ "4df4":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var bind = __webpack_require__("0366");
var call = __webpack_require__("c65b");
var toObject = __webpack_require__("7b0b");
var callWithSafeIterationClosing = __webpack_require__("9bdd");
var isArrayIteratorMethod = __webpack_require__("e95a");
var isConstructor = __webpack_require__("68ee");
var lengthOfArrayLike = __webpack_require__("07fa");
var createProperty = __webpack_require__("8418");
var getIterator = __webpack_require__("9a1f");
var getIteratorMethod = __webpack_require__("35a1");

var Array = global.Array;

// `Array.from` method implementation
// https://tc39.es/ecma262/#sec-array.from
module.exports = function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {
  var O = toObject(arrayLike);
  var IS_CONSTRUCTOR = isConstructor(this);
  var argumentsLength = arguments.length;
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
  var mapping = mapfn !== undefined;
  if (mapping) mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined);
  var iteratorMethod = getIteratorMethod(O);
  var index = 0;
  var length, result, step, iterator, next, value;
  // if the target is not iterable or it's an array with the default iterator - use a simple case
  if (iteratorMethod && !(this == Array && isArrayIteratorMethod(iteratorMethod))) {
    iterator = getIterator(O, iteratorMethod);
    next = iterator.next;
    result = IS_CONSTRUCTOR ? new this() : [];
    for (;!(step = call(next, iterator)).done; index++) {
      value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index], true) : step.value;
      createProperty(result, index, value);
    }
  } else {
    length = lengthOfArrayLike(O);
    result = IS_CONSTRUCTOR ? new this(length) : Array(length);
    for (;length > index; index++) {
      value = mapping ? mapfn(O[index], index) : O[index];
      createProperty(result, index, value);
    }
  }
  result.length = index;
  return result;
};


/***/ }),

/***/ "4e4f":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 5:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "5087":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isConstructor = __webpack_require__("68ee");
var tryToString = __webpack_require__("0d51");

var TypeError = global.TypeError;

// `Assert: IsConstructor(argument) is true`
module.exports = function (argument) {
  if (isConstructor(argument)) return argument;
  throw TypeError(tryToString(argument) + ' is not a constructor');
};


/***/ }),

/***/ "50c4":
/***/ (function(module, exports, __webpack_require__) {

var toIntegerOrInfinity = __webpack_require__("5926");

var min = Math.min;

// `ToLength` abstract operation
// https://tc39.es/ecma262/#sec-tolength
module.exports = function (argument) {
  return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991
};


/***/ }),

/***/ "512c":
/***/ (function(module, exports, __webpack_require__) {

var userAgent = __webpack_require__("342f");

var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);

module.exports = !!webkit && +webkit[1];


/***/ }),

/***/ "5319":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var apply = __webpack_require__("2ba4");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784");
var fails = __webpack_require__("d039");
var anObject = __webpack_require__("825a");
var isCallable = __webpack_require__("1626");
var toIntegerOrInfinity = __webpack_require__("5926");
var toLength = __webpack_require__("50c4");
var toString = __webpack_require__("577e");
var requireObjectCoercible = __webpack_require__("1d80");
var advanceStringIndex = __webpack_require__("8aa5");
var getMethod = __webpack_require__("dc4a");
var getSubstitution = __webpack_require__("0cb2");
var regExpExec = __webpack_require__("14c3");
var wellKnownSymbol = __webpack_require__("b622");

var REPLACE = wellKnownSymbol('replace');
var max = Math.max;
var min = Math.min;
var concat = uncurryThis([].concat);
var push = uncurryThis([].push);
var stringIndexOf = uncurryThis(''.indexOf);
var stringSlice = uncurryThis(''.slice);

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

// IE <= 11 replaces $0 with the whole match, as if it was $&
// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0
var REPLACE_KEEPS_$0 = (function () {
  // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing
  return 'a'.replace(/./, '$0') === '$0';
})();

// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string
var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {
  if (/./[REPLACE]) {
    return /./[REPLACE]('a', '$0') === '';
  }
  return false;
})();

var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {
  var re = /./;
  re.exec = function () {
    var result = [];
    result.groups = { a: '7' };
    return result;
  };
  // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive
  return ''.replace(re, '$<a>') !== '7';
});

// @@replace logic
fixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {
  var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';

  return [
    // `String.prototype.replace` method
    // https://tc39.es/ecma262/#sec-string.prototype.replace
    function replace(searchValue, replaceValue) {
      var O = requireObjectCoercible(this);
      var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);
      return replacer
        ? call(replacer, searchValue, O, replaceValue)
        : call(nativeReplace, toString(O), searchValue, replaceValue);
    },
    // `RegExp.prototype[@@replace]` method
    // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace
    function (string, replaceValue) {
      var rx = anObject(this);
      var S = toString(string);

      if (
        typeof replaceValue == 'string' &&
        stringIndexOf(replaceValue, UNSAFE_SUBSTITUTE) === -1 &&
        stringIndexOf(replaceValue, '$<') === -1
      ) {
        var res = maybeCallNative(nativeReplace, rx, S, replaceValue);
        if (res.done) return res.value;
      }

      var functionalReplace = isCallable(replaceValue);
      if (!functionalReplace) replaceValue = toString(replaceValue);

      var global = rx.global;
      if (global) {
        var fullUnicode = rx.unicode;
        rx.lastIndex = 0;
      }
      var results = [];
      while (true) {
        var result = regExpExec(rx, S);
        if (result === null) break;

        push(results, result);
        if (!global) break;

        var matchStr = toString(result[0]);
        if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);
      }

      var accumulatedResult = '';
      var nextSourcePosition = 0;
      for (var i = 0; i < results.length; i++) {
        result = results[i];

        var matched = toString(result[0]);
        var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);
        var captures = [];
        // NOTE: This is equivalent to
        //   captures = result.slice(1).map(maybeToString)
        // but for some reason `nativeSlice.call(result, 1, result.length)` (called in
        // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and
        // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.
        for (var j = 1; j < result.length; j++) push(captures, maybeToString(result[j]));
        var namedCaptures = result.groups;
        if (functionalReplace) {
          var replacerArgs = concat([matched], captures, position, S);
          if (namedCaptures !== undefined) push(replacerArgs, namedCaptures);
          var replacement = toString(apply(replaceValue, undefined, replacerArgs));
        } else {
          replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);
        }
        if (position >= nextSourcePosition) {
          accumulatedResult += stringSlice(S, nextSourcePosition, position) + replacement;
          nextSourcePosition = position + matched.length;
        }
      }
      return accumulatedResult + stringSlice(S, nextSourcePosition);
    }
  ];
}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);


/***/ }),

/***/ "53ca":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _typeof; });
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a4d3");
/* harmony import */ var core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_js__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("e01a");
/* harmony import */ var core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_description_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("d3b7");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("d28b");
/* harmony import */ var core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_symbol_iterator_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("e260");
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("3ca3");
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("ddb0");
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_6__);







function _typeof(obj) {
  "@babel/helpers - typeof";

  return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
    return typeof obj;
  } : function (obj) {
    return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
  }, _typeof(obj);
}

/***/ }),

/***/ "53ed":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/header.f2e2a74b.png";

/***/ }),

/***/ "552c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Particles_vue_vue_type_style_index_0_id_d526f0dc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("64b8");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Particles_vue_vue_type_style_index_0_id_d526f0dc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Particles_vue_vue_type_style_index_0_id_d526f0dc_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "557d":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "5651":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/405.9e11413c.png";

/***/ }),

/***/ "5692":
/***/ (function(module, exports, __webpack_require__) {

var IS_PURE = __webpack_require__("c430");
var store = __webpack_require__("c6cd");

(module.exports = function (key, value) {
  return store[key] || (store[key] = value !== undefined ? value : {});
})('versions', []).push({
  version: '3.21.1',
  mode: IS_PURE ? 'pure' : 'global',
  copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',
  license: 'https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE',
  source: 'https://github.com/zloirock/core-js'
});


/***/ }),

/***/ "56ef":
/***/ (function(module, exports, __webpack_require__) {

var getBuiltIn = __webpack_require__("d066");
var uncurryThis = __webpack_require__("e330");
var getOwnPropertyNamesModule = __webpack_require__("241c");
var getOwnPropertySymbolsModule = __webpack_require__("7418");
var anObject = __webpack_require__("825a");

var concat = uncurryThis([].concat);

// all object keys, includes non-enumerable and symbols
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
  var keys = getOwnPropertyNamesModule.f(anObject(it));
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
  return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;
};


/***/ }),

/***/ "56f6":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InputEdit_vue_vue_type_style_index_0_id_c3e82766_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ded5");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InputEdit_vue_vue_type_style_index_0_id_c3e82766_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_InputEdit_vue_vue_type_style_index_0_id_c3e82766_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "572f":
/***/ (function(module, exports) {

/* -----------------------------------------------
/* Author : Vincent Garreau  - vincentgarreau.com
/* MIT license: http://opensource.org/licenses/MIT
/* Demo / Generator : vincentgarreau.com/particles.js
/* GitHub : github.com/VincentGarreau/particles.js
/* How to use? : Check the GitHub README
/* v2.0.0
/* ----------------------------------------------- */

var pJS = function(tag_id, params){

  var canvas_el = document.querySelector('#'+tag_id+' > .particles-js-canvas-el');

  /* particles.js variables with default values */
  this.pJS = {
    canvas: {
      el: canvas_el,
      w: canvas_el.offsetWidth,
      h: canvas_el.offsetHeight
    },
    particles: {
      number: {
        value: 400,
        density: {
          enable: true,
          value_area: 800
        }
      },
      color: {
        value: '#fff'
      },
      shape: {
        type: 'circle',
        stroke: {
          width: 0,
          color: '#ff0000'
        },
        polygon: {
          nb_sides: 5
        },
        image: {
          src: '',
          width: 100,
          height: 100
        }
      },
      opacity: {
        value: 1,
        random: false,
        anim: {
          enable: false,
          speed: 2,
          opacity_min: 0,
          sync: false
        }
      },
      size: {
        value: 20,
        random: false,
        anim: {
          enable: false,
          speed: 20,
          size_min: 0,
          sync: false
        }
      },
      line_linked: {
        enable: true,
        distance: 100,
        color: '#fff',
        opacity: 1,
        width: 1
      },
      move: {
        enable: true,
        speed: 2,
        direction: 'none',
        random: false,
        straight: false,
        out_mode: 'out',
        bounce: false,
        attract: {
          enable: false,
          rotateX: 3000,
          rotateY: 3000
        }
      },
      array: []
    },
    interactivity: {
      detect_on: 'canvas',
      events: {
        onhover: {
          enable: true,
          mode: 'grab'
        },
        onclick: {
          enable: true,
          mode: 'push'
        },
        resize: true
      },
      modes: {
        grab:{
          distance: 100,
          line_linked:{
            opacity: 1
          }
        },
        bubble:{
          distance: 200,
          size: 80,
          duration: 0.4
        },
        repulse:{
          distance: 200,
          duration: 0.4
        },
        push:{
          particles_nb: 4
        },
        remove:{
          particles_nb: 2
        }
      },
      mouse:{}
    },
    retina_detect: false,
    fn: {
      interact: {},
      modes: {},
      vendors:{}
    },
    tmp: {}
  };

  var pJS = this.pJS;

  /* params settings */
  if(params){
    Object.deepExtend(pJS, params);
  }

  pJS.tmp.obj = {
    size_value: pJS.particles.size.value,
    size_anim_speed: pJS.particles.size.anim.speed,
    move_speed: pJS.particles.move.speed,
    line_linked_distance: pJS.particles.line_linked.distance,
    line_linked_width: pJS.particles.line_linked.width,
    mode_grab_distance: pJS.interactivity.modes.grab.distance,
    mode_bubble_distance: pJS.interactivity.modes.bubble.distance,
    mode_bubble_size: pJS.interactivity.modes.bubble.size,
    mode_repulse_distance: pJS.interactivity.modes.repulse.distance
  };


  pJS.fn.retinaInit = function(){

    if(pJS.retina_detect && window.devicePixelRatio > 1){
      pJS.canvas.pxratio = window.devicePixelRatio; 
      pJS.tmp.retina = true;
    } 
    else{
      pJS.canvas.pxratio = 1;
      pJS.tmp.retina = false;
    }

    pJS.canvas.w = pJS.canvas.el.offsetWidth * pJS.canvas.pxratio;
    pJS.canvas.h = pJS.canvas.el.offsetHeight * pJS.canvas.pxratio;

    pJS.particles.size.value = pJS.tmp.obj.size_value * pJS.canvas.pxratio;
    pJS.particles.size.anim.speed = pJS.tmp.obj.size_anim_speed * pJS.canvas.pxratio;
    pJS.particles.move.speed = pJS.tmp.obj.move_speed * pJS.canvas.pxratio;
    pJS.particles.line_linked.distance = pJS.tmp.obj.line_linked_distance * pJS.canvas.pxratio;
    pJS.interactivity.modes.grab.distance = pJS.tmp.obj.mode_grab_distance * pJS.canvas.pxratio;
    pJS.interactivity.modes.bubble.distance = pJS.tmp.obj.mode_bubble_distance * pJS.canvas.pxratio;
    pJS.particles.line_linked.width = pJS.tmp.obj.line_linked_width * pJS.canvas.pxratio;
    pJS.interactivity.modes.bubble.size = pJS.tmp.obj.mode_bubble_size * pJS.canvas.pxratio;
    pJS.interactivity.modes.repulse.distance = pJS.tmp.obj.mode_repulse_distance * pJS.canvas.pxratio;

  };



  /* ---------- pJS functions - canvas ------------ */

  pJS.fn.canvasInit = function(){
    pJS.canvas.ctx = pJS.canvas.el.getContext('2d');
  };

  pJS.fn.canvasSize = function(){

    pJS.canvas.el.width = pJS.canvas.w;
    pJS.canvas.el.height = pJS.canvas.h;

    if(pJS && pJS.interactivity.events.resize){

      window.addEventListener('resize', function(){

          pJS.canvas.w = pJS.canvas.el.offsetWidth;
          pJS.canvas.h = pJS.canvas.el.offsetHeight;

          /* resize canvas */
          if(pJS.tmp.retina){
            pJS.canvas.w *= pJS.canvas.pxratio;
            pJS.canvas.h *= pJS.canvas.pxratio;
          }

          pJS.canvas.el.width = pJS.canvas.w;
          pJS.canvas.el.height = pJS.canvas.h;

          /* repaint canvas on anim disabled */
          if(!pJS.particles.move.enable){
            pJS.fn.particlesEmpty();
            pJS.fn.particlesCreate();
            pJS.fn.particlesDraw();
            pJS.fn.vendors.densityAutoParticles();
          }

        /* density particles enabled */
        pJS.fn.vendors.densityAutoParticles();

      });

    }

  };


  pJS.fn.canvasPaint = function(){
    pJS.canvas.ctx.fillRect(0, 0, pJS.canvas.w, pJS.canvas.h);
  };

  pJS.fn.canvasClear = function(){
    pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);
  };


  /* --------- pJS functions - particles ----------- */

  pJS.fn.particle = function(color, opacity, position){

    /* size */
    this.radius = (pJS.particles.size.random ? Math.random() : 1) * pJS.particles.size.value;
    if(pJS.particles.size.anim.enable){
      this.size_status = false;
      this.vs = pJS.particles.size.anim.speed / 100;
      if(!pJS.particles.size.anim.sync){
        this.vs = this.vs * Math.random();
      }
    }

    /* position */
    this.x = position ? position.x : Math.random() * pJS.canvas.w;
    this.y = position ? position.y : Math.random() * pJS.canvas.h;

    /* check position  - into the canvas */
    if(this.x > pJS.canvas.w - this.radius*2) this.x = this.x - this.radius;
    else if(this.x < this.radius*2) this.x = this.x + this.radius;
    if(this.y > pJS.canvas.h - this.radius*2) this.y = this.y - this.radius;
    else if(this.y < this.radius*2) this.y = this.y + this.radius;

    /* check position - avoid overlap */
    if(pJS.particles.move.bounce){
      pJS.fn.vendors.checkOverlap(this, position);
    }

    /* color */
    this.color = {};
    if(typeof(color.value) == 'object'){

      if(color.value instanceof Array){
        var color_selected = color.value[Math.floor(Math.random() * pJS.particles.color.value.length)];
        this.color.rgb = hexToRgb(color_selected);
      }else{
        if(color.value.r != undefined && color.value.g != undefined && color.value.b != undefined){
          this.color.rgb = {
            r: color.value.r,
            g: color.value.g,
            b: color.value.b
          }
        }
        if(color.value.h != undefined && color.value.s != undefined && color.value.l != undefined){
          this.color.hsl = {
            h: color.value.h,
            s: color.value.s,
            l: color.value.l
          }
        }
      }

    }
    else if(color.value == 'random'){
      this.color.rgb = {
        r: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
        g: (Math.floor(Math.random() * (255 - 0 + 1)) + 0),
        b: (Math.floor(Math.random() * (255 - 0 + 1)) + 0)
      }
    }
    else if(typeof(color.value) == 'string'){
      this.color = color;
      this.color.rgb = hexToRgb(this.color.value);
    }

    /* opacity */
    this.opacity = (pJS.particles.opacity.random ? Math.random() : 1) * pJS.particles.opacity.value;
    if(pJS.particles.opacity.anim.enable){
      this.opacity_status = false;
      this.vo = pJS.particles.opacity.anim.speed / 100;
      if(!pJS.particles.opacity.anim.sync){
        this.vo = this.vo * Math.random();
      }
    }

    /* animation - velocity for speed */
    var velbase = {}
    switch(pJS.particles.move.direction){
      case 'top':
        velbase = { x:0, y:-1 };
      break;
      case 'top-right':
        velbase = { x:0.5, y:-0.5 };
      break;
      case 'right':
        velbase = { x:1, y:-0 };
      break;
      case 'bottom-right':
        velbase = { x:0.5, y:0.5 };
      break;
      case 'bottom':
        velbase = { x:0, y:1 };
      break;
      case 'bottom-left':
        velbase = { x:-0.5, y:1 };
      break;
      case 'left':
        velbase = { x:-1, y:0 };
      break;
      case 'top-left':
        velbase = { x:-0.5, y:-0.5 };
      break;
      default:
        velbase = { x:0, y:0 };
      break;
    }

    if(pJS.particles.move.straight){
      this.vx = velbase.x;
      this.vy = velbase.y;
      if(pJS.particles.move.random){
        this.vx = this.vx * (Math.random());
        this.vy = this.vy * (Math.random());
      }
    }else{
      this.vx = velbase.x + Math.random()-0.5;
      this.vy = velbase.y + Math.random()-0.5;
    }

    // var theta = 2.0 * Math.PI * Math.random();
    // this.vx = Math.cos(theta);
    // this.vy = Math.sin(theta);

    this.vx_i = this.vx;
    this.vy_i = this.vy;

    

    /* if shape is image */

    var shape_type = pJS.particles.shape.type;
    if(typeof(shape_type) == 'object'){
      if(shape_type instanceof Array){
        var shape_selected = shape_type[Math.floor(Math.random() * shape_type.length)];
        this.shape = shape_selected;
      }
    }else{
      this.shape = shape_type;
    }

    if(this.shape == 'image'){
      var sh = pJS.particles.shape;
      this.img = {
        src: sh.image.src,
        ratio: sh.image.width / sh.image.height
      }
      if(!this.img.ratio) this.img.ratio = 1;
      if(pJS.tmp.img_type == 'svg' && pJS.tmp.source_svg != undefined){
        pJS.fn.vendors.createSvgImg(this);
        if(pJS.tmp.pushing){
          this.img.loaded = false;
        }
      }
    }

    

  };


  pJS.fn.particle.prototype.draw = function() {

    var p = this;

    if(p.radius_bubble != undefined){
      var radius = p.radius_bubble; 
    }else{
      var radius = p.radius;
    }

    if(p.opacity_bubble != undefined){
      var opacity = p.opacity_bubble;
    }else{
      var opacity = p.opacity;
    }

    if(p.color.rgb){
      var color_value = 'rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+opacity+')';
    }else{
      var color_value = 'hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+opacity+')';
    }

    pJS.canvas.ctx.fillStyle = color_value;
    pJS.canvas.ctx.beginPath();

    switch(p.shape){

      case 'circle':
        pJS.canvas.ctx.arc(p.x, p.y, radius, 0, Math.PI * 2, false);
      break;

      case 'edge':
        pJS.canvas.ctx.rect(p.x-radius, p.y-radius, radius*2, radius*2);
      break;

      case 'triangle':
        pJS.fn.vendors.drawShape(pJS.canvas.ctx, p.x-radius, p.y+radius / 1.66, radius*2, 3, 2);
      break;

      case 'polygon':
        pJS.fn.vendors.drawShape(
          pJS.canvas.ctx,
          p.x - radius / (pJS.particles.shape.polygon.nb_sides/3.5), // startX
          p.y - radius / (2.66/3.5), // startY
          radius*2.66 / (pJS.particles.shape.polygon.nb_sides/3), // sideLength
          pJS.particles.shape.polygon.nb_sides, // sideCountNumerator
          1 // sideCountDenominator
        );
      break;

      case 'star':
        pJS.fn.vendors.drawShape(
          pJS.canvas.ctx,
          p.x - radius*2 / (pJS.particles.shape.polygon.nb_sides/4), // startX
          p.y - radius / (2*2.66/3.5), // startY
          radius*2*2.66 / (pJS.particles.shape.polygon.nb_sides/3), // sideLength
          pJS.particles.shape.polygon.nb_sides, // sideCountNumerator
          2 // sideCountDenominator
        );
      break;

      case 'image':

        function draw(){
          pJS.canvas.ctx.drawImage(
            img_obj,
            p.x-radius,
            p.y-radius,
            radius*2,
            radius*2 / p.img.ratio
          );
        }

        if(pJS.tmp.img_type == 'svg'){
          var img_obj = p.img.obj;
        }else{
          var img_obj = pJS.tmp.img_obj;
        }

        if(img_obj){
          draw();
        }

      break;

    }

    pJS.canvas.ctx.closePath();

    if(pJS.particles.shape.stroke.width > 0){
      pJS.canvas.ctx.strokeStyle = pJS.particles.shape.stroke.color;
      pJS.canvas.ctx.lineWidth = pJS.particles.shape.stroke.width;
      pJS.canvas.ctx.stroke();
    }
    
    pJS.canvas.ctx.fill();
    
  };


  pJS.fn.particlesCreate = function(){
    for(var i = 0; i < pJS.particles.number.value; i++) {
      pJS.particles.array.push(new pJS.fn.particle(pJS.particles.color, pJS.particles.opacity.value));
    }
  };

  pJS.fn.particlesUpdate = function(){

    for(var i = 0; i < pJS.particles.array.length; i++){

      /* the particle */
      var p = pJS.particles.array[i];

      // var d = ( dx = pJS.interactivity.mouse.click_pos_x - p.x ) * dx + ( dy = pJS.interactivity.mouse.click_pos_y - p.y ) * dy;
      // var f = -BANG_SIZE / d;
      // if ( d < BANG_SIZE ) {
      //     var t = Math.atan2( dy, dx );
      //     p.vx = f * Math.cos(t);
      //     p.vy = f * Math.sin(t);
      // }

      /* move the particle */
      if(pJS.particles.move.enable){
        var ms = pJS.particles.move.speed/2;
        p.x += p.vx * ms;
        p.y += p.vy * ms;
      }

      /* change opacity status */
      if(pJS.particles.opacity.anim.enable) {
        if(p.opacity_status == true) {
          if(p.opacity >= pJS.particles.opacity.value) p.opacity_status = false;
          p.opacity += p.vo;
        }else {
          if(p.opacity <= pJS.particles.opacity.anim.opacity_min) p.opacity_status = true;
          p.opacity -= p.vo;
        }
        if(p.opacity < 0) p.opacity = 0;
      }

      /* change size */
      if(pJS.particles.size.anim.enable){
        if(p.size_status == true){
          if(p.radius >= pJS.particles.size.value) p.size_status = false;
          p.radius += p.vs;
        }else{
          if(p.radius <= pJS.particles.size.anim.size_min) p.size_status = true;
          p.radius -= p.vs;
        }
        if(p.radius < 0) p.radius = 0;
      }

      /* change particle position if it is out of canvas */
      if(pJS.particles.move.out_mode == 'bounce'){
        var new_pos = {
          x_left: p.radius,
          x_right:  pJS.canvas.w,
          y_top: p.radius,
          y_bottom: pJS.canvas.h
        }
      }else{
        var new_pos = {
          x_left: -p.radius,
          x_right: pJS.canvas.w + p.radius,
          y_top: -p.radius,
          y_bottom: pJS.canvas.h + p.radius
        }
      }

      if(p.x - p.radius > pJS.canvas.w){
        p.x = new_pos.x_left;
        p.y = Math.random() * pJS.canvas.h;
      }
      else if(p.x + p.radius < 0){
        p.x = new_pos.x_right;
        p.y = Math.random() * pJS.canvas.h;
      }
      if(p.y - p.radius > pJS.canvas.h){
        p.y = new_pos.y_top;
        p.x = Math.random() * pJS.canvas.w;
      }
      else if(p.y + p.radius < 0){
        p.y = new_pos.y_bottom;
        p.x = Math.random() * pJS.canvas.w;
      }

      /* out of canvas modes */
      switch(pJS.particles.move.out_mode){
        case 'bounce':
          if (p.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
          else if (p.x - p.radius < 0) p.vx = -p.vx;
          if (p.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
          else if (p.y - p.radius < 0) p.vy = -p.vy;
        break;
      }

      /* events */
      if(isInArray('grab', pJS.interactivity.events.onhover.mode)){
        pJS.fn.modes.grabParticle(p);
      }

      if(isInArray('bubble', pJS.interactivity.events.onhover.mode) || isInArray('bubble', pJS.interactivity.events.onclick.mode)){
        pJS.fn.modes.bubbleParticle(p);
      }

      if(isInArray('repulse', pJS.interactivity.events.onhover.mode) || isInArray('repulse', pJS.interactivity.events.onclick.mode)){
        pJS.fn.modes.repulseParticle(p);
      }

      /* interaction auto between particles */
      if(pJS.particles.line_linked.enable || pJS.particles.move.attract.enable){
        for(var j = i + 1; j < pJS.particles.array.length; j++){
          var p2 = pJS.particles.array[j];

          /* link particles */
          if(pJS.particles.line_linked.enable){
            pJS.fn.interact.linkParticles(p,p2);
          }

          /* attract particles */
          if(pJS.particles.move.attract.enable){
            pJS.fn.interact.attractParticles(p,p2);
          }

          /* bounce particles */
          if(pJS.particles.move.bounce){
            pJS.fn.interact.bounceParticles(p,p2);
          }

        }
      }


    }

  };

  pJS.fn.particlesDraw = function(){

    /* clear canvas */
    pJS.canvas.ctx.clearRect(0, 0, pJS.canvas.w, pJS.canvas.h);

    /* update each particles param */
    pJS.fn.particlesUpdate();

    /* draw each particle */
    for(var i = 0; i < pJS.particles.array.length; i++){
      var p = pJS.particles.array[i];
      p.draw();
    }

  };

  pJS.fn.particlesEmpty = function(){
    pJS.particles.array = [];
  };

  pJS.fn.particlesRefresh = function(){

    /* init all */
    cancelRequestAnimFrame(pJS.fn.checkAnimFrame);
    cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
    pJS.tmp.source_svg = undefined;
    pJS.tmp.img_obj = undefined;
    pJS.tmp.count_svg = 0;
    pJS.fn.particlesEmpty();
    pJS.fn.canvasClear();
    
    /* restart */
    pJS.fn.vendors.start();

  };


  /* ---------- pJS functions - particles interaction ------------ */

  pJS.fn.interact.linkParticles = function(p1, p2){

    var dx = p1.x - p2.x,
        dy = p1.y - p2.y,
        dist = Math.sqrt(dx*dx + dy*dy);

    /* draw a line between p1 and p2 if the distance between them is under the config distance */
    if(dist <= pJS.particles.line_linked.distance){

      var opacity_line = pJS.particles.line_linked.opacity - (dist / (1/pJS.particles.line_linked.opacity)) / pJS.particles.line_linked.distance;

      if(opacity_line > 0){        
        
        /* style */
        var color_line = pJS.particles.line_linked.color_rgb_line;
        pJS.canvas.ctx.strokeStyle = 'rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
        pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
        //pJS.canvas.ctx.lineCap = 'round'; /* performance issue */
        
        /* path */
        pJS.canvas.ctx.beginPath();
        pJS.canvas.ctx.moveTo(p1.x, p1.y);
        pJS.canvas.ctx.lineTo(p2.x, p2.y);
        pJS.canvas.ctx.stroke();
        pJS.canvas.ctx.closePath();

      }

    }

  };


  pJS.fn.interact.attractParticles  = function(p1, p2){

    /* condensed particles */
    var dx = p1.x - p2.x,
        dy = p1.y - p2.y,
        dist = Math.sqrt(dx*dx + dy*dy);

    if(dist <= pJS.particles.line_linked.distance){

      var ax = dx/(pJS.particles.move.attract.rotateX*1000),
          ay = dy/(pJS.particles.move.attract.rotateY*1000);

      p1.vx -= ax;
      p1.vy -= ay;

      p2.vx += ax;
      p2.vy += ay;

    }
    

  }


  pJS.fn.interact.bounceParticles = function(p1, p2){

    var dx = p1.x - p2.x,
        dy = p1.y - p2.y,
        dist = Math.sqrt(dx*dx + dy*dy),
        dist_p = p1.radius+p2.radius;

    if(dist <= dist_p){
      p1.vx = -p1.vx;
      p1.vy = -p1.vy;

      p2.vx = -p2.vx;
      p2.vy = -p2.vy;
    }

  }


  /* ---------- pJS functions - modes events ------------ */

  pJS.fn.modes.pushParticles = function(nb, pos){

    pJS.tmp.pushing = true;

    for(var i = 0; i < nb; i++){
      pJS.particles.array.push(
        new pJS.fn.particle(
          pJS.particles.color,
          pJS.particles.opacity.value,
          {
            'x': pos ? pos.pos_x : Math.random() * pJS.canvas.w,
            'y': pos ? pos.pos_y : Math.random() * pJS.canvas.h
          }
        )
      )
      if(i == nb-1){
        if(!pJS.particles.move.enable){
          pJS.fn.particlesDraw();
        }
        pJS.tmp.pushing = false;
      }
    }

  };


  pJS.fn.modes.removeParticles = function(nb){

    pJS.particles.array.splice(0, nb);
    if(!pJS.particles.move.enable){
      pJS.fn.particlesDraw();
    }

  };


  pJS.fn.modes.bubbleParticle = function(p){

    /* on hover event */
    if(pJS.interactivity.events.onhover.enable && isInArray('bubble', pJS.interactivity.events.onhover.mode)){

      var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
          dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
          dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
          ratio = 1 - dist_mouse / pJS.interactivity.modes.bubble.distance;

      function init(){
        p.opacity_bubble = p.opacity;
        p.radius_bubble = p.radius;
      }

      /* mousemove - check ratio */
      if(dist_mouse <= pJS.interactivity.modes.bubble.distance){

        if(ratio >= 0 && pJS.interactivity.status == 'mousemove'){
          
          /* size */
          if(pJS.interactivity.modes.bubble.size != pJS.particles.size.value){

            if(pJS.interactivity.modes.bubble.size > pJS.particles.size.value){
              var size = p.radius + (pJS.interactivity.modes.bubble.size*ratio);
              if(size >= 0){
                p.radius_bubble = size;
              }
            }else{
              var dif = p.radius - pJS.interactivity.modes.bubble.size,
                  size = p.radius - (dif*ratio);
              if(size > 0){
                p.radius_bubble = size;
              }else{
                p.radius_bubble = 0;
              }
            }

          }

          /* opacity */
          if(pJS.interactivity.modes.bubble.opacity != pJS.particles.opacity.value){

            if(pJS.interactivity.modes.bubble.opacity > pJS.particles.opacity.value){
              var opacity = pJS.interactivity.modes.bubble.opacity*ratio;
              if(opacity > p.opacity && opacity <= pJS.interactivity.modes.bubble.opacity){
                p.opacity_bubble = opacity;
              }
            }else{
              var opacity = p.opacity - (pJS.particles.opacity.value-pJS.interactivity.modes.bubble.opacity)*ratio;
              if(opacity < p.opacity && opacity >= pJS.interactivity.modes.bubble.opacity){
                p.opacity_bubble = opacity;
              }
            }

          }

        }

      }else{
        init();
      }


      /* mouseleave */
      if(pJS.interactivity.status == 'mouseleave'){
        init();
      }
    
    }

    /* on click event */
    else if(pJS.interactivity.events.onclick.enable && isInArray('bubble', pJS.interactivity.events.onclick.mode)){


      if(pJS.tmp.bubble_clicking){
        var dx_mouse = p.x - pJS.interactivity.mouse.click_pos_x,
            dy_mouse = p.y - pJS.interactivity.mouse.click_pos_y,
            dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse),
            time_spent = (new Date().getTime() - pJS.interactivity.mouse.click_time)/1000;

        if(time_spent > pJS.interactivity.modes.bubble.duration){
          pJS.tmp.bubble_duration_end = true;
        }

        if(time_spent > pJS.interactivity.modes.bubble.duration*2){
          pJS.tmp.bubble_clicking = false;
          pJS.tmp.bubble_duration_end = false;
        }
      }


      function process(bubble_param, particles_param, p_obj_bubble, p_obj, id){

        if(bubble_param != particles_param){

          if(!pJS.tmp.bubble_duration_end){
            if(dist_mouse <= pJS.interactivity.modes.bubble.distance){
              if(p_obj_bubble != undefined) var obj = p_obj_bubble;
              else var obj = p_obj;
              if(obj != bubble_param){
                var value = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration);
                if(id == 'size') p.radius_bubble = value;
                if(id == 'opacity') p.opacity_bubble = value;
              }
            }else{
              if(id == 'size') p.radius_bubble = undefined;
              if(id == 'opacity') p.opacity_bubble = undefined;
            }
          }else{
            if(p_obj_bubble != undefined){
              var value_tmp = p_obj - (time_spent * (p_obj - bubble_param) / pJS.interactivity.modes.bubble.duration),
                  dif = bubble_param - value_tmp;
                  value = bubble_param + dif;
              if(id == 'size') p.radius_bubble = value;
              if(id == 'opacity') p.opacity_bubble = value;
            }
          }

        }

      }

      if(pJS.tmp.bubble_clicking){
        /* size */
        process(pJS.interactivity.modes.bubble.size, pJS.particles.size.value, p.radius_bubble, p.radius, 'size');
        /* opacity */
        process(pJS.interactivity.modes.bubble.opacity, pJS.particles.opacity.value, p.opacity_bubble, p.opacity, 'opacity');
      }

    }

  };


  pJS.fn.modes.repulseParticle = function(p){

    if(pJS.interactivity.events.onhover.enable && isInArray('repulse', pJS.interactivity.events.onhover.mode) && pJS.interactivity.status == 'mousemove') {

      var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
          dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
          dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);

      var normVec = {x: dx_mouse/dist_mouse, y: dy_mouse/dist_mouse},
          repulseRadius = pJS.interactivity.modes.repulse.distance,
          velocity = 100,
          repulseFactor = clamp((1/repulseRadius)*(-1*Math.pow(dist_mouse/repulseRadius,2)+1)*repulseRadius*velocity, 0, 50);
      
      var pos = {
        x: p.x + normVec.x * repulseFactor,
        y: p.y + normVec.y * repulseFactor
      }

      if(pJS.particles.move.out_mode == 'bounce'){
        if(pos.x - p.radius > 0 && pos.x + p.radius < pJS.canvas.w) p.x = pos.x;
        if(pos.y - p.radius > 0 && pos.y + p.radius < pJS.canvas.h) p.y = pos.y;
      }else{
        p.x = pos.x;
        p.y = pos.y;
      }
    
    }


    else if(pJS.interactivity.events.onclick.enable && isInArray('repulse', pJS.interactivity.events.onclick.mode)) {

      if(!pJS.tmp.repulse_finish){
        pJS.tmp.repulse_count++;
        if(pJS.tmp.repulse_count == pJS.particles.array.length){
          pJS.tmp.repulse_finish = true;
        }
      }

      if(pJS.tmp.repulse_clicking){

        var repulseRadius = Math.pow(pJS.interactivity.modes.repulse.distance/6, 3);

        var dx = pJS.interactivity.mouse.click_pos_x - p.x,
            dy = pJS.interactivity.mouse.click_pos_y - p.y,
            d = dx*dx + dy*dy;

        var force = -repulseRadius / d * 1;

        function process(){

          var f = Math.atan2(dy,dx);
          p.vx = force * Math.cos(f);
          p.vy = force * Math.sin(f);

          if(pJS.particles.move.out_mode == 'bounce'){
            var pos = {
              x: p.x + p.vx,
              y: p.y + p.vy
            }
            if (pos.x + p.radius > pJS.canvas.w) p.vx = -p.vx;
            else if (pos.x - p.radius < 0) p.vx = -p.vx;
            if (pos.y + p.radius > pJS.canvas.h) p.vy = -p.vy;
            else if (pos.y - p.radius < 0) p.vy = -p.vy;
          }

        }

        // default
        if(d <= repulseRadius){
          process();
        }

        // bang - slow motion mode
        // if(!pJS.tmp.repulse_finish){
        //   if(d <= repulseRadius){
        //     process();
        //   }
        // }else{
        //   process();
        // }
        

      }else{

        if(pJS.tmp.repulse_clicking == false){

          p.vx = p.vx_i;
          p.vy = p.vy_i;
        
        }

      }

    }

  }


  pJS.fn.modes.grabParticle = function(p){

    if(pJS.interactivity.events.onhover.enable && pJS.interactivity.status == 'mousemove'){

      var dx_mouse = p.x - pJS.interactivity.mouse.pos_x,
          dy_mouse = p.y - pJS.interactivity.mouse.pos_y,
          dist_mouse = Math.sqrt(dx_mouse*dx_mouse + dy_mouse*dy_mouse);

      /* draw a line between the cursor and the particle if the distance between them is under the config distance */
      if(dist_mouse <= pJS.interactivity.modes.grab.distance){

        var opacity_line = pJS.interactivity.modes.grab.line_linked.opacity - (dist_mouse / (1/pJS.interactivity.modes.grab.line_linked.opacity)) / pJS.interactivity.modes.grab.distance;

        if(opacity_line > 0){

          /* style */
          var color_line = pJS.particles.line_linked.color_rgb_line;
          pJS.canvas.ctx.strokeStyle = 'rgba('+color_line.r+','+color_line.g+','+color_line.b+','+opacity_line+')';
          pJS.canvas.ctx.lineWidth = pJS.particles.line_linked.width;
          //pJS.canvas.ctx.lineCap = 'round'; /* performance issue */
          
          /* path */
          pJS.canvas.ctx.beginPath();
          pJS.canvas.ctx.moveTo(p.x, p.y);
          pJS.canvas.ctx.lineTo(pJS.interactivity.mouse.pos_x, pJS.interactivity.mouse.pos_y);
          pJS.canvas.ctx.stroke();
          pJS.canvas.ctx.closePath();

        }

      }

    }

  };



  /* ---------- pJS functions - vendors ------------ */

  pJS.fn.vendors.eventsListeners = function(){

    /* events target element */
    if(pJS.interactivity.detect_on == 'window'){
      pJS.interactivity.el = window;
    }else{
      pJS.interactivity.el = pJS.canvas.el;
    }


    /* detect mouse pos - on hover / click event */
    if(pJS.interactivity.events.onhover.enable || pJS.interactivity.events.onclick.enable){

      /* el on mousemove */
      pJS.interactivity.el.addEventListener('mousemove', function(e){

        if(pJS.interactivity.el == window){
          var pos_x = e.clientX,
              pos_y = e.clientY;
        }
        else{
          var pos_x = e.offsetX || e.clientX,
              pos_y = e.offsetY || e.clientY;
        }

        pJS.interactivity.mouse.pos_x = pos_x;
        pJS.interactivity.mouse.pos_y = pos_y;

        if(pJS.tmp.retina){
          pJS.interactivity.mouse.pos_x *= pJS.canvas.pxratio;
          pJS.interactivity.mouse.pos_y *= pJS.canvas.pxratio;
        }

        pJS.interactivity.status = 'mousemove';

      });

      /* el on onmouseleave */
      pJS.interactivity.el.addEventListener('mouseleave', function(e){

        pJS.interactivity.mouse.pos_x = null;
        pJS.interactivity.mouse.pos_y = null;
        pJS.interactivity.status = 'mouseleave';

      });

    }

    /* on click event */
    if(pJS.interactivity.events.onclick.enable){

      pJS.interactivity.el.addEventListener('click', function(){

        pJS.interactivity.mouse.click_pos_x = pJS.interactivity.mouse.pos_x;
        pJS.interactivity.mouse.click_pos_y = pJS.interactivity.mouse.pos_y;
        pJS.interactivity.mouse.click_time = new Date().getTime();

        if(pJS.interactivity.events.onclick.enable){

          switch(pJS.interactivity.events.onclick.mode){

            case 'push':
              if(pJS.particles.move.enable){
                pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
              }else{
                if(pJS.interactivity.modes.push.particles_nb == 1){
                  pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb, pJS.interactivity.mouse);
                }
                else if(pJS.interactivity.modes.push.particles_nb > 1){
                  pJS.fn.modes.pushParticles(pJS.interactivity.modes.push.particles_nb);
                }
              }
            break;

            case 'remove':
              pJS.fn.modes.removeParticles(pJS.interactivity.modes.remove.particles_nb);
            break;

            case 'bubble':
              pJS.tmp.bubble_clicking = true;
            break;

            case 'repulse':
              pJS.tmp.repulse_clicking = true;
              pJS.tmp.repulse_count = 0;
              pJS.tmp.repulse_finish = false;
              setTimeout(function(){
                pJS.tmp.repulse_clicking = false;
              }, pJS.interactivity.modes.repulse.duration*1000)
            break;

          }

        }

      });
        
    }


  };

  pJS.fn.vendors.densityAutoParticles = function(){

    if(pJS.particles.number.density.enable){

      /* calc area */
      var area = pJS.canvas.el.width * pJS.canvas.el.height / 1000;
      if(pJS.tmp.retina){
        area = area/(pJS.canvas.pxratio*2);
      }

      /* calc number of particles based on density area */
      var nb_particles = area * pJS.particles.number.value / pJS.particles.number.density.value_area;

      /* add or remove X particles */
      var missing_particles = pJS.particles.array.length - nb_particles;
      if(missing_particles < 0) pJS.fn.modes.pushParticles(Math.abs(missing_particles));
      else pJS.fn.modes.removeParticles(missing_particles);

    }

  };


  pJS.fn.vendors.checkOverlap = function(p1, position){
    for(var i = 0; i < pJS.particles.array.length; i++){
      var p2 = pJS.particles.array[i];

      var dx = p1.x - p2.x,
          dy = p1.y - p2.y,
          dist = Math.sqrt(dx*dx + dy*dy);

      if(dist <= p1.radius + p2.radius){
        p1.x = position ? position.x : Math.random() * pJS.canvas.w;
        p1.y = position ? position.y : Math.random() * pJS.canvas.h;
        pJS.fn.vendors.checkOverlap(p1);
      }
    }
  };


  pJS.fn.vendors.createSvgImg = function(p){

    /* set color to svg element */
    var svgXml = pJS.tmp.source_svg,
        rgbHex = /#([0-9A-F]{3,6})/gi,
        coloredSvgXml = svgXml.replace(rgbHex, function (m, r, g, b) {
          if(p.color.rgb){
            var color_value = 'rgba('+p.color.rgb.r+','+p.color.rgb.g+','+p.color.rgb.b+','+p.opacity+')';
          }else{
            var color_value = 'hsla('+p.color.hsl.h+','+p.color.hsl.s+'%,'+p.color.hsl.l+'%,'+p.opacity+')';
          }
          return color_value;
        });

    /* prepare to create img with colored svg */
    var svg = new Blob([coloredSvgXml], {type: 'image/svg+xml;charset=utf-8'}),
        DOMURL = window.URL || window.webkitURL || window,
        url = DOMURL.createObjectURL(svg);

    /* create particle img obj */
    var img = new Image();
    img.addEventListener('load', function(){
      p.img.obj = img;
      p.img.loaded = true;
      DOMURL.revokeObjectURL(url);
      pJS.tmp.count_svg++;
    });
    img.src = url;

  };


  pJS.fn.vendors.destroypJS = function(){
    cancelAnimationFrame(pJS.fn.drawAnimFrame);
    canvas_el.remove();
    pJSDom = null;
  };


  pJS.fn.vendors.drawShape = function(c, startX, startY, sideLength, sideCountNumerator, sideCountDenominator){

    // By Programming Thomas - https://programmingthomas.wordpress.com/2013/04/03/n-sided-shapes/
    var sideCount = sideCountNumerator * sideCountDenominator;
    var decimalSides = sideCountNumerator / sideCountDenominator;
    var interiorAngleDegrees = (180 * (decimalSides - 2)) / decimalSides;
    var interiorAngle = Math.PI - Math.PI * interiorAngleDegrees / 180; // convert to radians
    c.save();
    c.beginPath();
    c.translate(startX, startY);
    c.moveTo(0,0);
    for (var i = 0; i < sideCount; i++) {
      c.lineTo(sideLength,0);
      c.translate(sideLength,0);
      c.rotate(interiorAngle);
    }
    //c.stroke();
    c.fill();
    c.restore();

  };

  pJS.fn.vendors.exportImg = function(){
    window.open(pJS.canvas.el.toDataURL('image/png'), '_blank');
  };


  pJS.fn.vendors.loadImg = function(type){

    pJS.tmp.img_error = undefined;

    if(pJS.particles.shape.image.src != ''){

      if(type == 'svg'){

        var xhr = new XMLHttpRequest();
        xhr.open('GET', pJS.particles.shape.image.src);
        xhr.onreadystatechange = function (data) {
          if(xhr.readyState == 4){
            if(xhr.status == 200){
              pJS.tmp.source_svg = data.currentTarget.response;
              pJS.fn.vendors.checkBeforeDraw();
            }else{
              console.log('Error pJS - Image not found');
              pJS.tmp.img_error = true;
            }
          }
        }
        xhr.send();

      }else{

        var img = new Image();
        img.addEventListener('load', function(){
          pJS.tmp.img_obj = img;
          pJS.fn.vendors.checkBeforeDraw();
        });
        img.src = pJS.particles.shape.image.src;

      }

    }else{
      console.log('Error pJS - No image.src');
      pJS.tmp.img_error = true;
    }

  };


  pJS.fn.vendors.draw = function(){

    if(pJS.particles.shape.type == 'image'){

      if(pJS.tmp.img_type == 'svg'){

        if(pJS.tmp.count_svg >= pJS.particles.number.value){
          pJS.fn.particlesDraw();
          if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
          else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
        }else{
          //console.log('still loading...');
          if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
        }

      }else{

        if(pJS.tmp.img_obj != undefined){
          pJS.fn.particlesDraw();
          if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
          else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
        }else{
          if(!pJS.tmp.img_error) pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
        }

      }

    }else{
      pJS.fn.particlesDraw();
      if(!pJS.particles.move.enable) cancelRequestAnimFrame(pJS.fn.drawAnimFrame);
      else pJS.fn.drawAnimFrame = requestAnimFrame(pJS.fn.vendors.draw);
    }

  };


  pJS.fn.vendors.checkBeforeDraw = function(){

    // if shape is image
    if(pJS.particles.shape.type == 'image'){

      if(pJS.tmp.img_type == 'svg' && pJS.tmp.source_svg == undefined){
        pJS.tmp.checkAnimFrame = requestAnimFrame(check);
      }else{
        //console.log('images loaded! cancel check');
        cancelRequestAnimFrame(pJS.tmp.checkAnimFrame);
        if(!pJS.tmp.img_error){
          pJS.fn.vendors.init();
          pJS.fn.vendors.draw();
        }
        
      }

    }else{
      pJS.fn.vendors.init();
      pJS.fn.vendors.draw();
    }

  };


  pJS.fn.vendors.init = function(){

    /* init canvas + particles */
    pJS.fn.retinaInit();
    pJS.fn.canvasInit();
    pJS.fn.canvasSize();
    pJS.fn.canvasPaint();
    pJS.fn.particlesCreate();
    pJS.fn.vendors.densityAutoParticles();

    /* particles.line_linked - convert hex colors to rgb */
    pJS.particles.line_linked.color_rgb_line = hexToRgb(pJS.particles.line_linked.color);

  };


  pJS.fn.vendors.start = function(){

    if(isInArray('image', pJS.particles.shape.type)){
      pJS.tmp.img_type = pJS.particles.shape.image.src.substr(pJS.particles.shape.image.src.length - 3);
      pJS.fn.vendors.loadImg(pJS.tmp.img_type);
    }else{
      pJS.fn.vendors.checkBeforeDraw();
    }

  };




  /* ---------- pJS - start ------------ */


  pJS.fn.vendors.eventsListeners();

  pJS.fn.vendors.start();
  


};

/* ---------- global functions - vendors ------------ */

Object.deepExtend = function(destination, source) {
  for (var property in source) {
    if (source[property] && source[property].constructor &&
     source[property].constructor === Object) {
      destination[property] = destination[property] || {};
      arguments.callee(destination[property], source[property]);
    } else {
      destination[property] = source[property];
    }
  }
  return destination;
};

window.requestAnimFrame = (function(){
  return  window.requestAnimationFrame ||
    window.webkitRequestAnimationFrame ||
    window.mozRequestAnimationFrame    ||
    window.oRequestAnimationFrame      ||
    window.msRequestAnimationFrame     ||
    function(callback){
      window.setTimeout(callback, 1000 / 60);
    };
})();

window.cancelRequestAnimFrame = ( function() {
  return window.cancelAnimationFrame         ||
    window.webkitCancelRequestAnimationFrame ||
    window.mozCancelRequestAnimationFrame    ||
    window.oCancelRequestAnimationFrame      ||
    window.msCancelRequestAnimationFrame     ||
    clearTimeout
} )();

function hexToRgb(hex){
  // By Tim Down - http://stackoverflow.com/a/5624139/3493650
  // Expand shorthand form (e.g. "03F") to full form (e.g. "0033FF")
  var shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
  hex = hex.replace(shorthandRegex, function(m, r, g, b) {
     return r + r + g + g + b + b;
  });
  var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  return result ? {
      r: parseInt(result[1], 16),
      g: parseInt(result[2], 16),
      b: parseInt(result[3], 16)
  } : null;
};

function clamp(number, min, max) {
  return Math.min(Math.max(number, min), max);
};

function isInArray(value, array) {
  return array.indexOf(value) > -1;
}


/* ---------- particles.js functions - start ------------ */

window.pJSDom = [];

window.particlesJS = function(tag_id, params){

  //console.log(params);

  /* no string id? so it's object params, and set the id with default id */
  if(typeof(tag_id) != 'string'){
    params = tag_id;
    tag_id = 'particles-js';
  }

  /* no id? set the id to default id */
  if(!tag_id){
    tag_id = 'particles-js';
  }

  /* pJS elements */
  var pJS_tag = document.getElementById(tag_id),
      pJS_canvas_class = 'particles-js-canvas-el',
      exist_canvas = pJS_tag.getElementsByClassName(pJS_canvas_class);

  /* remove canvas if exists into the pJS target tag */
  if(exist_canvas.length){
    while(exist_canvas.length > 0){
      pJS_tag.removeChild(exist_canvas[0]);
    }
  }

  /* create canvas element */
  var canvas_el = document.createElement('canvas');
  canvas_el.className = pJS_canvas_class;

  /* set size canvas */
  canvas_el.style.width = "100%";
  canvas_el.style.height = "100%";

  /* append canvas */
  var canvas = document.getElementById(tag_id).appendChild(canvas_el);

  /* launch particle.js */
  if(canvas != null){
    pJSDom.push(new pJS(tag_id, params));
  }

};

window.particlesJS.load = function(tag_id, path_config_json, callback){

  /* load json config */
  var xhr = new XMLHttpRequest();
  xhr.open('GET', path_config_json);
  xhr.onreadystatechange = function (data) {
    if(xhr.readyState == 4){
      if(xhr.status == 200){
        var params = JSON.parse(data.currentTarget.response);
        window.particlesJS(tag_id, params);
        if(callback) callback();
      }else{
        console.log('Error pJS - XMLHttpRequest status: '+xhr.status);
        console.log('Error pJS - File config not found');
      }
    }
  };
  xhr.send();

};

/***/ }),

/***/ "577e":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var classof = __webpack_require__("f5df");

var String = global.String;

module.exports = function (argument) {
  if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');
  return String(argument);
};


/***/ }),

/***/ "5880":
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__5880__;

/***/ }),

/***/ "5899":
/***/ (function(module, exports) {

// a string of all valid unicode whitespaces
module.exports = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';


/***/ }),

/***/ "58a2":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAGpJREFUOE/N1MENgDAMQ9GmGzIHA3BDPTIBY7AiqHdUf1cVNAM8O1KUSIMnBnvpf/A4rz3uyNu6lLftrIYKqwEYJBgGKYZAB5OgizXBHuxbsKb1tJRn46ISdJsi0EExSFELJKgNqv85P/gAbcFGFV9KUWQAAAAASUVORK5CYII="

/***/ }),

/***/ "58a8":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var requireObjectCoercible = __webpack_require__("1d80");
var toString = __webpack_require__("577e");
var whitespaces = __webpack_require__("5899");

var replace = uncurryThis(''.replace);
var whitespace = '[' + whitespaces + ']';
var ltrim = RegExp('^' + whitespace + whitespace + '*');
var rtrim = RegExp(whitespace + whitespace + '*$');

// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
var createMethod = function (TYPE) {
  return function ($this) {
    var string = toString(requireObjectCoercible($this));
    if (TYPE & 1) string = replace(string, ltrim, '');
    if (TYPE & 2) string = replace(string, rtrim, '');
    return string;
  };
};

module.exports = {
  // `String.prototype.{ trimLeft, trimStart }` methods
  // https://tc39.es/ecma262/#sec-string.prototype.trimstart
  start: createMethod(1),
  // `String.prototype.{ trimRight, trimEnd }` methods
  // https://tc39.es/ecma262/#sec-string.prototype.trimend
  end: createMethod(2),
  // `String.prototype.trim` method
  // https://tc39.es/ecma262/#sec-string.prototype.trim
  trim: createMethod(3)
};


/***/ }),

/***/ "5926":
/***/ (function(module, exports) {

var ceil = Math.ceil;
var floor = Math.floor;

// `ToIntegerOrInfinity` abstract operation
// https://tc39.es/ecma262/#sec-tointegerorinfinity
module.exports = function (argument) {
  var number = +argument;
  // eslint-disable-next-line no-self-compare -- safe
  return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);
};


/***/ }),

/***/ "59ed":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");
var tryToString = __webpack_require__("0d51");

var TypeError = global.TypeError;

// `Assert: IsCallable(argument) is true`
module.exports = function (argument) {
  if (isCallable(argument)) return argument;
  throw TypeError(tryToString(argument) + ' is not a function');
};


/***/ }),

/***/ "5a0c":
/***/ (function(module, exports, __webpack_require__) {

!function(t,e){ true?module.exports=e():undefined}(this,(function(){"use strict";var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",$="Invalid Date",l=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},g={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},v="en",D={};D[v]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return v;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(v=i),i||!r&&v},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=g;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match(l);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===$)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),$=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},l=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,g="set"+(this.$u?"UTC":"");switch(h){case c:return r?$(1,0):$(31,11);case f:return r?$(1,M):$(0,M+1);case o:var v=this.$locale().weekStart||0,D=(y<v?y+7:y)-v;return $(r?m-D:m+(6-D),M);case a:case d:return l(g+"Hours",0);case u:return l(g+"Minutes",1);case s:return l(g+"Seconds",2);case i:return l(g+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),$=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],l=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[$](l),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else $&&this.$d[$](l);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,$=this;r=Number(r);var l=O.p(h),y=function(t){var e=w($);return O.w(e.date(e.date()+Math.round(t*r)),$)};if(l===f)return this.set(f,this.$M+r);if(l===c)return this.set(c,this.$y+r);if(l===a)return y(1);if(l===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[l]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||$;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].substr(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},l={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||l[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,$){var l,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,g=this-M,v=O.m(this,M);return v=(l={},l[c]=v/12,l[f]=v,l[h]=v/3,l[o]=(g-m)/6048e5,l[a]=(g-m)/864e5,l[u]=g/n,l[s]=g/e,l[i]=g/t,l)[y]||g,$?v:O.a(v)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),b=_.prototype;return w.prototype=b,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){b[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[v],w.Ls=D,w.p={},w}));

/***/ }),

/***/ "5a34":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isRegExp = __webpack_require__("44e7");

var TypeError = global.TypeError;

module.exports = function (it) {
  if (isRegExp(it)) {
    throw TypeError("The method doesn't accept regular expressions");
  } return it;
};


/***/ }),

/***/ "5b81":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var requireObjectCoercible = __webpack_require__("1d80");
var isCallable = __webpack_require__("1626");
var isRegExp = __webpack_require__("44e7");
var toString = __webpack_require__("577e");
var getMethod = __webpack_require__("dc4a");
var regExpFlags = __webpack_require__("ad6d");
var getSubstitution = __webpack_require__("0cb2");
var wellKnownSymbol = __webpack_require__("b622");
var IS_PURE = __webpack_require__("c430");

var REPLACE = wellKnownSymbol('replace');
var RegExpPrototype = RegExp.prototype;
var TypeError = global.TypeError;
var getFlags = uncurryThis(regExpFlags);
var indexOf = uncurryThis(''.indexOf);
var replace = uncurryThis(''.replace);
var stringSlice = uncurryThis(''.slice);
var max = Math.max;

var stringIndexOf = function (string, searchValue, fromIndex) {
  if (fromIndex > string.length) return -1;
  if (searchValue === '') return fromIndex;
  return indexOf(string, searchValue, fromIndex);
};

// `String.prototype.replaceAll` method
// https://tc39.es/ecma262/#sec-string.prototype.replaceall
$({ target: 'String', proto: true }, {
  replaceAll: function replaceAll(searchValue, replaceValue) {
    var O = requireObjectCoercible(this);
    var IS_REG_EXP, flags, replacer, string, searchString, functionalReplace, searchLength, advanceBy, replacement;
    var position = 0;
    var endOfLastMatch = 0;
    var result = '';
    if (searchValue != null) {
      IS_REG_EXP = isRegExp(searchValue);
      if (IS_REG_EXP) {
        flags = toString(requireObjectCoercible('flags' in RegExpPrototype
          ? searchValue.flags
          : getFlags(searchValue)
        ));
        if (!~indexOf(flags, 'g')) throw TypeError('`.replaceAll` does not allow non-global regexes');
      }
      replacer = getMethod(searchValue, REPLACE);
      if (replacer) {
        return call(replacer, searchValue, O, replaceValue);
      } else if (IS_PURE && IS_REG_EXP) {
        return replace(toString(O), searchValue, replaceValue);
      }
    }
    string = toString(O);
    searchString = toString(searchValue);
    functionalReplace = isCallable(replaceValue);
    if (!functionalReplace) replaceValue = toString(replaceValue);
    searchLength = searchString.length;
    advanceBy = max(1, searchLength);
    position = stringIndexOf(string, searchString, 0);
    while (position !== -1) {
      replacement = functionalReplace
        ? toString(replaceValue(searchString, position, string))
        : getSubstitution(searchString, string, position, [], undefined, replaceValue);
      result += stringSlice(string, endOfLastMatch, position) + replacement;
      endOfLastMatch = position + searchLength;
      position = stringIndexOf(string, searchString, position + advanceBy);
    }
    if (endOfLastMatch < string.length) {
      result += stringSlice(string, endOfLastMatch);
    }
    return result;
  }
});


/***/ }),

/***/ "5b93":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "5bc6":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/404.18f8aa0a.png";

/***/ }),

/***/ "5c6c":
/***/ (function(module, exports) {

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


/***/ }),

/***/ "5cc6":
/***/ (function(module, exports, __webpack_require__) {

var createTypedArrayConstructor = __webpack_require__("74e8");

// `Uint8Array` constructor
// https://tc39.es/ecma262/#sec-typedarray-objects
createTypedArrayConstructor('Uint8', function (init) {
  return function Uint8Array(data, byteOffset, length) {
    return init(this, data, byteOffset, length);
  };
});


/***/ }),

/***/ "5dbd":
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"./layout1.png": "a52e",
	"./layout2.png": "a3fd",
	"./layout3.png": "e219",
	"./layout4.png": "c00a"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "5dbd";

/***/ }),

/***/ "5e77":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var hasOwn = __webpack_require__("1a2d");

var FunctionPrototype = Function.prototype;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;

var EXISTS = hasOwn(FunctionPrototype, 'name');
// additional protection from minified / mangled / dropped function names
var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
var CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));

module.exports = {
  EXISTS: EXISTS,
  PROPER: PROPER,
  CONFIGURABLE: CONFIGURABLE
};


/***/ }),

/***/ "5ecb":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LeftMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6e12");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LeftMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LeftMenu_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "5f6e":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Table_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("557d");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Table_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Table_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "5f72":
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__5f72__;

/***/ }),

/***/ "5f96":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var uncurryThis = __webpack_require__("e330");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var $join = uncurryThis([].join);

// `%TypedArray%.prototype.join` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.join
exportTypedArrayMethod('join', function join(separator) {
  return $join(aTypedArray(this), separator);
});


/***/ }),

/***/ "5fb2":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// based on https://github.com/bestiejs/punycode.js/blob/master/punycode.js
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");

var maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1
var base = 36;
var tMin = 1;
var tMax = 26;
var skew = 38;
var damp = 700;
var initialBias = 72;
var initialN = 128; // 0x80
var delimiter = '-'; // '\x2D'
var regexNonASCII = /[^\0-\u007E]/; // non-ASCII chars
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g; // RFC 3490 separators
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
var baseMinusTMin = base - tMin;

var RangeError = global.RangeError;
var exec = uncurryThis(regexSeparators.exec);
var floor = Math.floor;
var fromCharCode = String.fromCharCode;
var charCodeAt = uncurryThis(''.charCodeAt);
var join = uncurryThis([].join);
var push = uncurryThis([].push);
var replace = uncurryThis(''.replace);
var split = uncurryThis(''.split);
var toLowerCase = uncurryThis(''.toLowerCase);

/**
 * Creates an array containing the numeric code points of each Unicode
 * character in the string. While JavaScript uses UCS-2 internally,
 * this function will convert a pair of surrogate halves (each of which
 * UCS-2 exposes as separate characters) into a single code point,
 * matching UTF-16.
 */
var ucs2decode = function (string) {
  var output = [];
  var counter = 0;
  var length = string.length;
  while (counter < length) {
    var value = charCodeAt(string, counter++);
    if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
      // It's a high surrogate, and there is a next character.
      var extra = charCodeAt(string, counter++);
      if ((extra & 0xFC00) == 0xDC00) { // Low surrogate.
        push(output, ((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
      } else {
        // It's an unmatched surrogate; only append this code unit, in case the
        // next code unit is the high surrogate of a surrogate pair.
        push(output, value);
        counter--;
      }
    } else {
      push(output, value);
    }
  }
  return output;
};

/**
 * Converts a digit/integer into a basic code point.
 */
var digitToBasic = function (digit) {
  //  0..25 map to ASCII a..z or A..Z
  // 26..35 map to ASCII 0..9
  return digit + 22 + 75 * (digit < 26);
};

/**
 * Bias adaptation function as per section 3.4 of RFC 3492.
 * https://tools.ietf.org/html/rfc3492#section-3.4
 */
var adapt = function (delta, numPoints, firstTime) {
  var k = 0;
  delta = firstTime ? floor(delta / damp) : delta >> 1;
  delta += floor(delta / numPoints);
  while (delta > baseMinusTMin * tMax >> 1) {
    delta = floor(delta / baseMinusTMin);
    k += base;
  }
  return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
};

/**
 * Converts a string of Unicode symbols (e.g. a domain name label) to a
 * Punycode string of ASCII-only symbols.
 */
var encode = function (input) {
  var output = [];

  // Convert the input in UCS-2 to an array of Unicode code points.
  input = ucs2decode(input);

  // Cache the length.
  var inputLength = input.length;

  // Initialize the state.
  var n = initialN;
  var delta = 0;
  var bias = initialBias;
  var i, currentValue;

  // Handle the basic code points.
  for (i = 0; i < input.length; i++) {
    currentValue = input[i];
    if (currentValue < 0x80) {
      push(output, fromCharCode(currentValue));
    }
  }

  var basicLength = output.length; // number of basic code points.
  var handledCPCount = basicLength; // number of code points that have been handled;

  // Finish the basic string with a delimiter unless it's empty.
  if (basicLength) {
    push(output, delimiter);
  }

  // Main encoding loop:
  while (handledCPCount < inputLength) {
    // All non-basic code points < n have been handled already. Find the next larger one:
    var m = maxInt;
    for (i = 0; i < input.length; i++) {
      currentValue = input[i];
      if (currentValue >= n && currentValue < m) {
        m = currentValue;
      }
    }

    // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>, but guard against overflow.
    var handledCPCountPlusOne = handledCPCount + 1;
    if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
      throw RangeError(OVERFLOW_ERROR);
    }

    delta += (m - n) * handledCPCountPlusOne;
    n = m;

    for (i = 0; i < input.length; i++) {
      currentValue = input[i];
      if (currentValue < n && ++delta > maxInt) {
        throw RangeError(OVERFLOW_ERROR);
      }
      if (currentValue == n) {
        // Represent delta as a generalized variable-length integer.
        var q = delta;
        var k = base;
        while (true) {
          var t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);
          if (q < t) break;
          var qMinusT = q - t;
          var baseMinusT = base - t;
          push(output, fromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
          q = floor(qMinusT / baseMinusT);
          k += base;
        }

        push(output, fromCharCode(digitToBasic(q)));
        bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
        delta = 0;
        handledCPCount++;
      }
    }

    delta++;
    n++;
  }
  return join(output, '');
};

module.exports = function (input) {
  var encoded = [];
  var labels = split(replace(toLowerCase(input), regexSeparators, '\u002E'), '.');
  var i, label;
  for (i = 0; i < labels.length; i++) {
    label = labels[i];
    push(encoded, exec(regexNonASCII, label) ? 'xn--' + encode(label) : label);
  }
  return join(encoded, '.');
};


/***/ }),

/***/ "5fba":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_e3dd910a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f8eb");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_e3dd910a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Footer_vue_vue_type_style_index_0_id_e3dd910a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ 6:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "605d":
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__("c6b6");
var global = __webpack_require__("da84");

module.exports = classof(global.process) == 'process';


/***/ }),

/***/ "6069":
/***/ (function(module, exports) {

module.exports = typeof window == 'object';


/***/ }),

/***/ "6085":
/***/ (function(module, exports, __webpack_require__) {

module.exports = function() {
  return new Worker(__webpack_require__.p + "8b31f6c3820001944019.worker.js");
};

/***/ }),

/***/ "60bd":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var fails = __webpack_require__("d039");
var uncurryThis = __webpack_require__("e330");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var ArrayIterators = __webpack_require__("e260");
var wellKnownSymbol = __webpack_require__("b622");

var ITERATOR = wellKnownSymbol('iterator');
var Uint8Array = global.Uint8Array;
var arrayValues = uncurryThis(ArrayIterators.values);
var arrayKeys = uncurryThis(ArrayIterators.keys);
var arrayEntries = uncurryThis(ArrayIterators.entries);
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var TypedArrayPrototype = Uint8Array && Uint8Array.prototype;

var GENERIC = !fails(function () {
  TypedArrayPrototype[ITERATOR].call([1]);
});

var ITERATOR_IS_VALUES = !!TypedArrayPrototype
  && TypedArrayPrototype.values
  && TypedArrayPrototype[ITERATOR] === TypedArrayPrototype.values
  && TypedArrayPrototype.values.name === 'values';

var typedArrayValues = function values() {
  return arrayValues(aTypedArray(this));
};

// `%TypedArray%.prototype.entries` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.entries
exportTypedArrayMethod('entries', function entries() {
  return arrayEntries(aTypedArray(this));
}, GENERIC);
// `%TypedArray%.prototype.keys` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.keys
exportTypedArrayMethod('keys', function keys() {
  return arrayKeys(aTypedArray(this));
}, GENERIC);
// `%TypedArray%.prototype.values` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.values
exportTypedArrayMethod('values', typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });
// `%TypedArray%.prototype[@@iterator]` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype-@@iterator
exportTypedArrayMethod(ITERATOR, typedArrayValues, GENERIC || !ITERATOR_IS_VALUES, { name: 'values' });


/***/ }),

/***/ "60da":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var DESCRIPTORS = __webpack_require__("83ab");
var uncurryThis = __webpack_require__("e330");
var call = __webpack_require__("c65b");
var fails = __webpack_require__("d039");
var objectKeys = __webpack_require__("df75");
var getOwnPropertySymbolsModule = __webpack_require__("7418");
var propertyIsEnumerableModule = __webpack_require__("d1e7");
var toObject = __webpack_require__("7b0b");
var IndexedObject = __webpack_require__("44ad");

// eslint-disable-next-line es/no-object-assign -- safe
var $assign = Object.assign;
// eslint-disable-next-line es/no-object-defineproperty -- required for testing
var defineProperty = Object.defineProperty;
var concat = uncurryThis([].concat);

// `Object.assign` method
// https://tc39.es/ecma262/#sec-object.assign
module.exports = !$assign || fails(function () {
  // should have correct order of operations (Edge bug)
  if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
    enumerable: true,
    get: function () {
      defineProperty(this, 'b', {
        value: 3,
        enumerable: false
      });
    }
  }), { b: 2 })).b !== 1) return true;
  // should work with symbols and should have deterministic property order (V8 bug)
  var A = {};
  var B = {};
  // eslint-disable-next-line es/no-symbol -- safe
  var symbol = Symbol();
  var alphabet = 'abcdefghijklmnopqrst';
  A[symbol] = 7;
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
  return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;
}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
  var T = toObject(target);
  var argumentsLength = arguments.length;
  var index = 1;
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
  var propertyIsEnumerable = propertyIsEnumerableModule.f;
  while (argumentsLength > index) {
    var S = IndexedObject(arguments[index++]);
    var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
    var length = keys.length;
    var j = 0;
    var key;
    while (length > j) {
      key = keys[j++];
      if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];
    }
  } return T;
} : $assign;


/***/ }),

/***/ "621a":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var DESCRIPTORS = __webpack_require__("83ab");
var NATIVE_ARRAY_BUFFER = __webpack_require__("a981");
var FunctionName = __webpack_require__("5e77");
var createNonEnumerableProperty = __webpack_require__("9112");
var redefineAll = __webpack_require__("e2cc");
var fails = __webpack_require__("d039");
var anInstance = __webpack_require__("19aa");
var toIntegerOrInfinity = __webpack_require__("5926");
var toLength = __webpack_require__("50c4");
var toIndex = __webpack_require__("0b25");
var IEEE754 = __webpack_require__("77a7");
var getPrototypeOf = __webpack_require__("e163");
var setPrototypeOf = __webpack_require__("d2bb");
var getOwnPropertyNames = __webpack_require__("241c").f;
var defineProperty = __webpack_require__("9bf2").f;
var arrayFill = __webpack_require__("81d5");
var arraySlice = __webpack_require__("4dae");
var setToStringTag = __webpack_require__("d44e");
var InternalStateModule = __webpack_require__("69f3");

var PROPER_FUNCTION_NAME = FunctionName.PROPER;
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
var getInternalState = InternalStateModule.get;
var setInternalState = InternalStateModule.set;
var ARRAY_BUFFER = 'ArrayBuffer';
var DATA_VIEW = 'DataView';
var PROTOTYPE = 'prototype';
var WRONG_LENGTH = 'Wrong length';
var WRONG_INDEX = 'Wrong index';
var NativeArrayBuffer = global[ARRAY_BUFFER];
var $ArrayBuffer = NativeArrayBuffer;
var ArrayBufferPrototype = $ArrayBuffer && $ArrayBuffer[PROTOTYPE];
var $DataView = global[DATA_VIEW];
var DataViewPrototype = $DataView && $DataView[PROTOTYPE];
var ObjectPrototype = Object.prototype;
var Array = global.Array;
var RangeError = global.RangeError;
var fill = uncurryThis(arrayFill);
var reverse = uncurryThis([].reverse);

var packIEEE754 = IEEE754.pack;
var unpackIEEE754 = IEEE754.unpack;

var packInt8 = function (number) {
  return [number & 0xFF];
};

var packInt16 = function (number) {
  return [number & 0xFF, number >> 8 & 0xFF];
};

var packInt32 = function (number) {
  return [number & 0xFF, number >> 8 & 0xFF, number >> 16 & 0xFF, number >> 24 & 0xFF];
};

var unpackInt32 = function (buffer) {
  return buffer[3] << 24 | buffer[2] << 16 | buffer[1] << 8 | buffer[0];
};

var packFloat32 = function (number) {
  return packIEEE754(number, 23, 4);
};

var packFloat64 = function (number) {
  return packIEEE754(number, 52, 8);
};

var addGetter = function (Constructor, key) {
  defineProperty(Constructor[PROTOTYPE], key, { get: function () { return getInternalState(this)[key]; } });
};

var get = function (view, count, index, isLittleEndian) {
  var intIndex = toIndex(index);
  var store = getInternalState(view);
  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
  var bytes = getInternalState(store.buffer).bytes;
  var start = intIndex + store.byteOffset;
  var pack = arraySlice(bytes, start, start + count);
  return isLittleEndian ? pack : reverse(pack);
};

var set = function (view, count, index, conversion, value, isLittleEndian) {
  var intIndex = toIndex(index);
  var store = getInternalState(view);
  if (intIndex + count > store.byteLength) throw RangeError(WRONG_INDEX);
  var bytes = getInternalState(store.buffer).bytes;
  var start = intIndex + store.byteOffset;
  var pack = conversion(+value);
  for (var i = 0; i < count; i++) bytes[start + i] = pack[isLittleEndian ? i : count - i - 1];
};

if (!NATIVE_ARRAY_BUFFER) {
  $ArrayBuffer = function ArrayBuffer(length) {
    anInstance(this, ArrayBufferPrototype);
    var byteLength = toIndex(length);
    setInternalState(this, {
      bytes: fill(Array(byteLength), 0),
      byteLength: byteLength
    });
    if (!DESCRIPTORS) this.byteLength = byteLength;
  };

  ArrayBufferPrototype = $ArrayBuffer[PROTOTYPE];

  $DataView = function DataView(buffer, byteOffset, byteLength) {
    anInstance(this, DataViewPrototype);
    anInstance(buffer, ArrayBufferPrototype);
    var bufferLength = getInternalState(buffer).byteLength;
    var offset = toIntegerOrInfinity(byteOffset);
    if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset');
    byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);
    if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);
    setInternalState(this, {
      buffer: buffer,
      byteLength: byteLength,
      byteOffset: offset
    });
    if (!DESCRIPTORS) {
      this.buffer = buffer;
      this.byteLength = byteLength;
      this.byteOffset = offset;
    }
  };

  DataViewPrototype = $DataView[PROTOTYPE];

  if (DESCRIPTORS) {
    addGetter($ArrayBuffer, 'byteLength');
    addGetter($DataView, 'buffer');
    addGetter($DataView, 'byteLength');
    addGetter($DataView, 'byteOffset');
  }

  redefineAll(DataViewPrototype, {
    getInt8: function getInt8(byteOffset) {
      return get(this, 1, byteOffset)[0] << 24 >> 24;
    },
    getUint8: function getUint8(byteOffset) {
      return get(this, 1, byteOffset)[0];
    },
    getInt16: function getInt16(byteOffset /* , littleEndian */) {
      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
      return (bytes[1] << 8 | bytes[0]) << 16 >> 16;
    },
    getUint16: function getUint16(byteOffset /* , littleEndian */) {
      var bytes = get(this, 2, byteOffset, arguments.length > 1 ? arguments[1] : undefined);
      return bytes[1] << 8 | bytes[0];
    },
    getInt32: function getInt32(byteOffset /* , littleEndian */) {
      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined));
    },
    getUint32: function getUint32(byteOffset /* , littleEndian */) {
      return unpackInt32(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined)) >>> 0;
    },
    getFloat32: function getFloat32(byteOffset /* , littleEndian */) {
      return unpackIEEE754(get(this, 4, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 23);
    },
    getFloat64: function getFloat64(byteOffset /* , littleEndian */) {
      return unpackIEEE754(get(this, 8, byteOffset, arguments.length > 1 ? arguments[1] : undefined), 52);
    },
    setInt8: function setInt8(byteOffset, value) {
      set(this, 1, byteOffset, packInt8, value);
    },
    setUint8: function setUint8(byteOffset, value) {
      set(this, 1, byteOffset, packInt8, value);
    },
    setInt16: function setInt16(byteOffset, value /* , littleEndian */) {
      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
    },
    setUint16: function setUint16(byteOffset, value /* , littleEndian */) {
      set(this, 2, byteOffset, packInt16, value, arguments.length > 2 ? arguments[2] : undefined);
    },
    setInt32: function setInt32(byteOffset, value /* , littleEndian */) {
      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
    },
    setUint32: function setUint32(byteOffset, value /* , littleEndian */) {
      set(this, 4, byteOffset, packInt32, value, arguments.length > 2 ? arguments[2] : undefined);
    },
    setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {
      set(this, 4, byteOffset, packFloat32, value, arguments.length > 2 ? arguments[2] : undefined);
    },
    setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {
      set(this, 8, byteOffset, packFloat64, value, arguments.length > 2 ? arguments[2] : undefined);
    }
  });
} else {
  var INCORRECT_ARRAY_BUFFER_NAME = PROPER_FUNCTION_NAME && NativeArrayBuffer.name !== ARRAY_BUFFER;
  /* eslint-disable no-new -- required for testing */
  if (!fails(function () {
    NativeArrayBuffer(1);
  }) || !fails(function () {
    new NativeArrayBuffer(-1);
  }) || fails(function () {
    new NativeArrayBuffer();
    new NativeArrayBuffer(1.5);
    new NativeArrayBuffer(NaN);
    return INCORRECT_ARRAY_BUFFER_NAME && !CONFIGURABLE_FUNCTION_NAME;
  })) {
  /* eslint-enable no-new -- required for testing */
    $ArrayBuffer = function ArrayBuffer(length) {
      anInstance(this, ArrayBufferPrototype);
      return new NativeArrayBuffer(toIndex(length));
    };

    $ArrayBuffer[PROTOTYPE] = ArrayBufferPrototype;

    for (var keys = getOwnPropertyNames(NativeArrayBuffer), j = 0, key; keys.length > j;) {
      if (!((key = keys[j++]) in $ArrayBuffer)) {
        createNonEnumerableProperty($ArrayBuffer, key, NativeArrayBuffer[key]);
      }
    }

    ArrayBufferPrototype.constructor = $ArrayBuffer;
  } else if (INCORRECT_ARRAY_BUFFER_NAME && CONFIGURABLE_FUNCTION_NAME) {
    createNonEnumerableProperty(NativeArrayBuffer, 'name', ARRAY_BUFFER);
  }

  // WebKit bug - the same parent prototype for typed arrays and data view
  if (setPrototypeOf && getPrototypeOf(DataViewPrototype) !== ObjectPrototype) {
    setPrototypeOf(DataViewPrototype, ObjectPrototype);
  }

  // iOS Safari 7.x bug
  var testView = new $DataView(new $ArrayBuffer(2));
  var $setInt8 = uncurryThis(DataViewPrototype.setInt8);
  testView.setInt8(0, 2147483648);
  testView.setInt8(1, 2147483649);
  if (testView.getInt8(0) || !testView.getInt8(1)) redefineAll(DataViewPrototype, {
    setInt8: function setInt8(byteOffset, value) {
      $setInt8(this, byteOffset, value << 24 >> 24);
    },
    setUint8: function setUint8(byteOffset, value) {
      $setInt8(this, byteOffset, value << 24 >> 24);
    }
  }, { unsafe: true });
}

setToStringTag($ArrayBuffer, ARRAY_BUFFER);
setToStringTag($DataView, DATA_VIEW);

module.exports = {
  ArrayBuffer: $ArrayBuffer,
  DataView: $DataView
};


/***/ }),

/***/ "62c4":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "649e":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $some = __webpack_require__("b727").some;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.some` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.some
exportTypedArrayMethod('some', function some(callbackfn /* , thisArg */) {
  return $some(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "64a7":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "64b8":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "6547":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var toIntegerOrInfinity = __webpack_require__("5926");
var toString = __webpack_require__("577e");
var requireObjectCoercible = __webpack_require__("1d80");

var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var stringSlice = uncurryThis(''.slice);

var createMethod = function (CONVERT_TO_STRING) {
  return function ($this, pos) {
    var S = toString(requireObjectCoercible($this));
    var position = toIntegerOrInfinity(pos);
    var size = S.length;
    var first, second;
    if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;
    first = charCodeAt(S, position);
    return first < 0xD800 || first > 0xDBFF || position + 1 === size
      || (second = charCodeAt(S, position + 1)) < 0xDC00 || second > 0xDFFF
        ? CONVERT_TO_STRING
          ? charAt(S, position)
          : first
        : CONVERT_TO_STRING
          ? stringSlice(S, position, position + 2)
          : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
  };
};

module.exports = {
  // `String.prototype.codePointAt` method
  // https://tc39.es/ecma262/#sec-string.prototype.codepointat
  codeAt: createMethod(false),
  // `String.prototype.at` method
  // https://github.com/mathiasbynens/String.prototype.at
  charAt: createMethod(true)
};


/***/ }),

/***/ "658f":
/***/ (function(module, exports, __webpack_require__) {

!function(t,e){ true?module.exports=e():undefined}(this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var i=e[n]={i:n,l:!1,exports:{}};return t[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(n,i,function(e){return t[e]}.bind(null,i));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="/dist/",r(r.s=5)}([function(t,e,r){t.exports=r(6)},function(t,e){function r(t,e,r,n,i,o,a){try{var s=t[o](a),l=s.value}catch(t){return void r(t)}s.done?e(l):Promise.resolve(l).then(n,i)}t.exports=function(t){return function(){var e=this,n=arguments;return new Promise((function(i,o){var a=t.apply(e,n);function s(t){r(a,i,o,s,l,"next",t)}function l(t){r(a,i,o,s,l,"throw",t)}s(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";r.r(e),r.d(e,"default",(function(){return o}));var n=r(4),i=r.n(n);function o(){return i()('!function(t){var e={};function i(r){if(e[r])return e[r].exports;var o=e[r]={i:r,l:!1,exports:{}};return t[r].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=t,i.c=e,i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},i.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},i.t=function(t,e){if(1&e&&(t=i(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(i.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)i.d(r,o,function(e){return t[e]}.bind(null,o));return r},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="/dist/",i(i.s=0)}([function(t,e){!function(){var t,e,i,r=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535];function o(o,s,n,a){var h,l,u,p,f,c,y=Math.max(2,a),d=new Uint8Array(256),w=new Int32Array(5003),g=new Int32Array(5003),b=0,x=0,v=!1;function P(t,e){d[l++]=t,l>=254&&S(e)}function m(t){B(5003),x=f+2,v=!0,F(f,t)}function B(t){for(var e=0;e<t;++e)w[e]=-1}function S(t){l>0&&(t.writeByte(l),t.writeBytes(d,0,l),l=0)}function T(t){return(1<<t)-1}function M(){return 0===t?-1:(--t,255&n[e++])}function F(t,e){for(h&=r[b],b>0?h|=t<<b:h=t,b+=i;b>=8;)P(255&h,e),h>>=8,b-=8;if((x>u||v)&&(v?(u=T(i=p),v=!1):(++i,u=12==i?4096:T(i))),t==c){for(;b>0;)P(255&h,e),h>>=8,b-=8;S(e)}}this.encode=function(r){r.writeByte(y),t=o*s,e=0,function(t,e){var r,o,s,n,a,h;for(v=!1,u=T(i=p=t),c=(f=1<<t-1)+1,x=f+2,l=0,n=M(),h=0,r=5003;r<65536;r*=2)++h;h=8-h,B(5003),F(f,e);t:for(;-1!=(o=M());)if(r=(o<<12)+n,w[s=o<<h^n]!==r){if(w[s]>=0){a=5003-s,0===s&&(a=1);do{if((s-=a)<0&&(s+=5003),w[s]===r){n=g[s];continue t}}while(w[s]>=0)}F(n,e),n=o,x<4096?(g[s]=x++,w[s]=r):m(e)}else n=g[s];F(n,e),F(c,e)}(y+1,r),r.writeByte(0)}}var s;function n(t,e){var i,r,o,s,n;function a(t,e,r,o,s){i[e][0]-=t*(i[e][0]-r)/1024,i[e][1]-=t*(i[e][1]-o)/1024,i[e][2]-=t*(i[e][2]-s)/1024}function h(t,e,r,o,s){for(var a,h,l=Math.abs(e-t),u=Math.min(e+t,256),p=e+1,f=e-1,c=1;p<u||f>l;)h=n[c++],p<u&&((a=i[p++])[0]-=h*(a[0]-r)/(1<<18),a[1]-=h*(a[1]-o)/(1<<18),a[2]-=h*(a[2]-s)/(1<<18)),f>l&&((a=i[f--])[0]-=h*(a[0]-r)/(1<<18),a[1]-=h*(a[1]-o)/(1<<18),a[2]-=h*(a[2]-s)/(1<<18))}function l(t,e,r){var n,a,h,l,u,p=~(1<<31),f=p,c=-1,y=c;for(n=0;n<256;n++)a=i[n],(h=Math.abs(a[0]-t)+Math.abs(a[1]-e)+Math.abs(a[2]-r))<p&&(p=h,c=n),(l=h-(o[n]>>12))<f&&(f=l,y=n),u=s[n]>>10,s[n]-=u,o[n]+=u<<10;return s[c]+=64,o[c]-=65536,y}this.buildColormap=function(){!function(){var t,e;for(i=[],r=new Int32Array(256),o=new Int32Array(256),s=new Int32Array(256),n=new Int32Array(32),t=0;t<256;t++)e=(t<<12)/256,i[t]=new Float64Array([e,e,e,0]),s[t]=256,o[t]=0}(),function(){var i,r,o,s,u,p,f=t.length,c=30+(e-1)/3,y=f/(3*e),d=~~(y/100),w=1024,g=2048,b=g>>6;for(b<=1&&(b=0),i=0;i<b;i++)n[i]=w*(256*(b*b-i*i)/(b*b));f<1509?(e=1,r=3):r=f%499!=0?1497:f%491!=0?1473:f%487!=0?1461:1509;var x=0;for(i=0;i<y;)if(a(w,p=l(o=(255&t[x])<<4,s=(255&t[x+1])<<4,u=(255&t[x+2])<<4),o,s,u),0!==b&&h(b,p,o,s,u),(x+=r)>=f&&(x-=f),0===d&&(d=1),++i%d==0)for(w-=w/c,(b=(g-=g/30)>>6)<=1&&(b=0),p=0;p<b;p++)n[p]=w*(256*(b*b-p*p)/(b*b))}(),function(){for(var t=0;t<256;t++)i[t][0]>>=4,i[t][1]>>=4,i[t][2]>>=4,i[t][3]=t}(),function(){var t,e,o,s,n,a,h=0,l=0;for(t=0;t<256;t++){for(n=t,a=(o=i[t])[1],e=t+1;e<256;e++)(s=i[e])[1]<a&&(n=e,a=s[1]);if(s=i[n],t!=n&&(e=s[0],s[0]=o[0],o[0]=e,e=s[1],s[1]=o[1],o[1]=e,e=s[2],s[2]=o[2],o[2]=e,e=s[3],s[3]=o[3],o[3]=e),a!=h){for(r[h]=l+t>>1,e=h+1;e<a;e++)r[e]=t;h=a,l=t}}for(r[h]=l+255>>1,e=h+1;e<256;e++)r[e]=255}()},this.getColormap=function(){for(var t=[],e=[],r=0;r<256;r++)e[i[r][3]]=r;for(var o=0,s=0;s<256;s++){var n=e[s];t[o++]=i[n][0],t[o++]=i[n][1],t[o++]=i[n][2]}return t},this.lookupRGB=function(t,e,o){for(var s,n,a,h=1e3,l=-1,u=r[e],p=u-1;u<256||p>=0;)u<256&&((a=(n=i[u])[1]-e)>=h?u=256:(u++,a<0&&(a=-a),(s=n[0]-t)<0&&(s=-s),(a+=s)<h&&((s=n[2]-o)<0&&(s=-s),(a+=s)<h&&(h=a,l=n[3])))),p>=0&&((a=e-(n=i[p])[1])>=h?p=-1:(p--,a<0&&(a=-a),(s=n[0]-t)<0&&(s=-s),(a+=s)<h&&((s=n[2]-o)<0&&(s=-s),(a+=s)<h&&(h=a,l=n[3]))));return l}}function a(){this.page=-1,this.pages=[],this.newPage()}s=function(t){var e,i,r,o;return e=new l(t.width,t.height),0===t.index?e.writeHeader():e.firstFrame=!1,e.setTransparent(t.transparent),e.setRepeat(t.repeat),e.setDelay(t.delay),e.setQuality(t.quality),e.setDither(t.dither),e.setGlobalPalette(t.globalPalette),e.addFrame(t.data),t.last&&e.finish(),!0===t.globalPalette&&(t.globalPalette=e.getGlobalPalette()),r=e.stream(),t.data=r.pages,t.cursor=r.cursor,t.pageSize=r.constructor.pageSize,t.canTransfer?(o=function(){var e,r,o,s;for(s=[],e=0,r=(o=t.data).length;e<r;e++)i=o[e],s.push(i.buffer);return s}(),self.postMessage(t,o)):self.postMessage(t)},self.onmessage=function(t){return s(t.data)},a.pageSize=4096,a.charMap={};for(var h=0;h<256;h++)a.charMap[h]=String.fromCharCode(h);function l(t,e){this.width=~~t,this.height=~~e,this.transparent=null,this.transIndex=0,this.repeat=-1,this.delay=0,this.image=null,this.pixels=null,this.indexedPixels=null,this.colorDepth=null,this.colorTab=null,this.neuQuant=null,this.usedEntry=new Array,this.palSize=7,this.dispose=-1,this.firstFrame=!0,this.sample=10,this.dither=!1,this.globalPalette=!1,this.out=new a}a.prototype.newPage=function(){this.pages[++this.page]=new Uint8Array(a.pageSize),this.cursor=0},a.prototype.getData=function(){for(var t="",e=0;e<this.pages.length;e++)for(var i=0;i<a.pageSize;i++)t+=a.charMap[this.pages[e][i]];return t},a.prototype.writeByte=function(t){this.cursor>=a.pageSize&&this.newPage(),this.pages[this.page][this.cursor++]=t},a.prototype.writeUTFBytes=function(t){for(var e=t.length,i=0;i<e;i++)this.writeByte(t.charCodeAt(i))},a.prototype.writeBytes=function(t,e,i){for(var r=i||t.length,o=e||0;o<r;o++)this.writeByte(t[o])},l.prototype.setDelay=function(t){this.delay=Math.round(t/10)},l.prototype.setFrameRate=function(t){this.delay=Math.round(100/t)},l.prototype.setDispose=function(t){t>=0&&(this.dispose=t)},l.prototype.setRepeat=function(t){this.repeat=t},l.prototype.setTransparent=function(t){this.transparent=t},l.prototype.addFrame=function(t){this.image=t,this.colorTab=this.globalPalette&&this.globalPalette.slice?this.globalPalette:null,this.getImagePixels(),this.analyzePixels(),!0===this.globalPalette&&(this.globalPalette=this.colorTab),this.firstFrame&&(this.writeLSD(),this.writePalette(),this.repeat>=0&&this.writeNetscapeExt()),this.writeGraphicCtrlExt(),this.writeImageDesc(),this.firstFrame||this.globalPalette||this.writePalette(),this.writePixels(),this.firstFrame=!1},l.prototype.finish=function(){this.out.writeByte(59)},l.prototype.setQuality=function(t){t<1&&(t=1),this.sample=t},l.prototype.setDither=function(t){!0===t&&(t="FloydSteinberg"),this.dither=t},l.prototype.setGlobalPalette=function(t){this.globalPalette=t},l.prototype.getGlobalPalette=function(){return this.globalPalette&&this.globalPalette.slice&&this.globalPalette.slice(0)||this.globalPalette},l.prototype.writeHeader=function(){this.out.writeUTFBytes("GIF89a")},l.prototype.analyzePixels=function(){this.colorTab||(this.neuQuant=new n(this.pixels,this.sample),this.neuQuant.buildColormap(),this.colorTab=this.neuQuant.getColormap()),this.dither?this.ditherPixels(this.dither.replace("-serpentine",""),null!==this.dither.match(/-serpentine/)):this.indexPixels(),this.pixels=null,this.colorDepth=8,this.palSize=7,null!==this.transparent&&(this.transIndex=this.findClosest(this.transparent,!0))},l.prototype.indexPixels=function(t){var e=this.pixels.length/3;this.indexedPixels=new Uint8Array(e);for(var i=0,r=0;r<e;r++){var o=this.findClosestRGB(255&this.pixels[i++],255&this.pixels[i++],255&this.pixels[i++]);this.usedEntry[o]=!0,this.indexedPixels[r]=o}},l.prototype.ditherPixels=function(t,e){var i={FalseFloydSteinberg:[[3/8,1,0],[3/8,0,1],[2/8,1,1]],FloydSteinberg:[[7/16,1,0],[3/16,-1,1],[5/16,0,1],[1/16,1,1]],Stucki:[[8/42,1,0],[4/42,2,0],[2/42,-2,1],[4/42,-1,1],[8/42,0,1],[4/42,1,1],[2/42,2,1],[1/42,-2,2],[2/42,-1,2],[4/42,0,2],[2/42,1,2],[1/42,2,2]],Atkinson:[[1/8,1,0],[1/8,2,0],[1/8,-1,1],[1/8,0,1],[1/8,1,1],[1/8,0,2]]};if(!t||!i[t])throw"Unknown dithering kernel: "+t;var r=i[t],o=0,s=this.height,n=this.width,a=this.pixels,h=e?-1:1;this.indexedPixels=new Uint8Array(this.pixels.length/3);for(var l=0;l<s;l++){e&&(h*=-1);for(var u=1==h?0:n-1,p=1==h?n:0;u!==p;u+=h){var f=3*(o=l*n+u),c=a[f],y=a[f+1],d=a[f+2];f=this.findClosestRGB(c,y,d),this.usedEntry[f]=!0,this.indexedPixels[o]=f,f*=3;for(var w=c-this.colorTab[f],g=y-this.colorTab[f+1],b=d-this.colorTab[f+2],x=1==h?0:r.length-1,v=1==h?r.length:0;x!==v;x+=h){var P=r[x][1],m=r[x][2];if(P+u>=0&&P+u<n&&m+l>=0&&m+l<s){var B=r[x][0];f=o+P+m*n,a[f*=3]=Math.max(0,Math.min(255,a[f]+w*B)),a[f+1]=Math.max(0,Math.min(255,a[f+1]+g*B)),a[f+2]=Math.max(0,Math.min(255,a[f+2]+b*B))}}}}},l.prototype.findClosest=function(t,e){return this.findClosestRGB((16711680&t)>>16,(65280&t)>>8,255&t,e)},l.prototype.findClosestRGB=function(t,e,i,r){if(null===this.colorTab)return-1;if(this.neuQuant&&!r)return this.neuQuant.lookupRGB(t,e,i);for(var o=0,s=16777216,n=this.colorTab.length,a=0,h=0;a<n;h++){var l=t-(255&this.colorTab[a++]),u=e-(255&this.colorTab[a++]),p=i-(255&this.colorTab[a++]),f=l*l+u*u+p*p;(!r||this.usedEntry[h])&&f<s&&(s=f,o=h)}return o},l.prototype.getImagePixels=function(){var t=this.width,e=this.height;this.pixels=new Uint8Array(t*e*3);for(var i=this.image,r=0,o=0,s=0;s<e;s++)for(var n=0;n<t;n++)this.pixels[o++]=i[r++],this.pixels[o++]=i[r++],this.pixels[o++]=i[r++],r++},l.prototype.writeGraphicCtrlExt=function(){var t,e;this.out.writeByte(33),this.out.writeByte(249),this.out.writeByte(4),null===this.transparent?(t=0,e=0):(t=1,e=2),this.dispose>=0&&(e=7&dispose),e<<=2,this.out.writeByte(0|e|t),this.writeShort(this.delay),this.out.writeByte(this.transIndex),this.out.writeByte(0)},l.prototype.writeImageDesc=function(){this.out.writeByte(44),this.writeShort(0),this.writeShort(0),this.writeShort(this.width),this.writeShort(this.height),this.firstFrame||this.globalPalette?this.out.writeByte(0):this.out.writeByte(128|this.palSize)},l.prototype.writeLSD=function(){this.writeShort(this.width),this.writeShort(this.height),this.out.writeByte(240|this.palSize),this.out.writeByte(0),this.out.writeByte(0)},l.prototype.writeNetscapeExt=function(){this.out.writeByte(33),this.out.writeByte(255),this.out.writeByte(11),this.out.writeUTFBytes("NETSCAPE2.0"),this.out.writeByte(3),this.out.writeByte(1),this.writeShort(this.repeat),this.out.writeByte(0)},l.prototype.writePalette=function(){this.out.writeBytes(this.colorTab);for(var t=768-this.colorTab.length,e=0;e<t;e++)this.out.writeByte(0)},l.prototype.writeShort=function(t){this.out.writeByte(255&t),this.out.writeByte(t>>8&255)},l.prototype.writePixels=function(){new o(this.width,this.height,this.indexedPixels,this.colorDepth).encode(this.out)},l.prototype.stream=function(){return this.out}}()}]);\n',"Worker",void 0,void 0)}},function(t,e){function r(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=r=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=r=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),r(e)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";t.exports=function(t,e,r,n){var i=self||window;try{try{var o;try{o=new i.Blob([t])}catch(e){(o=new(i.BlobBuilder||i.WebKitBlobBuilder||i.MozBlobBuilder||i.MSBlobBuilder)).append(t),o=o.getBlob()}var a=i.URL||i.webkitURL,s=a.createObjectURL(o),l=new i[e](s,r);return a.revokeObjectURL(s),l}catch(n){return new i[e]("data:application/javascript,".concat(encodeURIComponent(t)),r)}}catch(t){if(!n)throw Error("Inline worker is not supported");return new i[e](n,r)}}},function(t,e,r){t.exports=r(7)},function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},i=n.iterator||"@@iterator",o=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function l(t,e,r,n){var i=e&&e.prototype instanceof c?e:c,o=Object.create(i.prototype),a=new k(n||[]);return o._invoke=function(t,e,r){var n="suspendedStart";return function(i,o){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===i)throw o;return C()}for(r.method=i,r.arg=o;;){var a=r.delegate;if(a){var s=w(a,r);if(s){if(s===u)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var l=h(t,e,r);if("normal"===l.type){if(n=r.done?"completed":"suspendedYield",l.arg===u)continue;return{value:l.arg,done:r.done}}"throw"===l.type&&(n="completed",r.method="throw",r.arg=l.arg)}}}(t,r,a),o}function h(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=l;var u={};function c(){}function f(){}function d(){}var p={};p[i]=function(){return this};var g=Object.getPrototypeOf,m=g&&g(g(B([])));m&&m!==e&&r.call(m,i)&&(p=m);var v=d.prototype=c.prototype=Object.create(p);function y(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){var n;this._invoke=function(i,o){function a(){return new e((function(n,a){!function n(i,o,a,s){var l=h(t[i],t,o);if("throw"!==l.type){var u=l.arg,c=u.value;return c&&"object"==typeof c&&r.call(c,"__await")?e.resolve(c.__await).then((function(t){n("next",t,a,s)}),(function(t){n("throw",t,a,s)})):e.resolve(c).then((function(t){u.value=t,a(u)}),(function(t){return n("throw",t,a,s)}))}s(l.arg)}(i,o,n,a)}))}return n=n?n.then(a,a):a()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return u;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return u}var n=h(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,u;var i=n.arg;return i?i.done?(e[t.resultName]=i.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,u):i:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,u)}function _(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function x(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function k(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(_,this),this.reset(!0)}function B(t){if(t){var e=t[i];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,o=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return o.next=o}}return{next:C}}function C(){return{value:void 0,done:!0}}return f.prototype=v.constructor=d,d.constructor=f,f.displayName=s(d,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===f||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,a,"GeneratorFunction")),t.prototype=Object.create(v),t},t.awrap=function(t){return{__await:t}},y(b.prototype),b.prototype[o]=function(){return this},t.AsyncIterator=b,t.async=function(e,r,n,i,o){void 0===o&&(o=Promise);var a=new b(l(e,r,n,i),o);return t.isGeneratorFunction(r)?a:a.next().then((function(t){return t.done?t.value:a.next()}))},y(v),s(v,a,"Generator"),v[i]=function(){return this},v.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=B,k.prototype={constructor:k,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(x),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return a.type="throw",a.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return n("end");if(o.tryLoc<=this.prev){var s=r.call(o,"catchLoc"),l=r.call(o,"finallyLoc");if(s&&l){if(this.prev<o.catchLoc)return n(o.catchLoc,!0);if(this.prev<o.finallyLoc)return n(o.finallyLoc)}else if(s){if(this.prev<o.catchLoc)return n(o.catchLoc,!0)}else{if(!l)throw new Error("try statement without catch or finally");if(this.prev<o.finallyLoc)return n(o.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var i=this.tryEntries[n];if(i.tryLoc<=this.prev&&r.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var o=i;break}}o&&("break"===t||"continue"===t)&&o.tryLoc<=e&&e<=o.finallyLoc&&(o=null);var a=o?o.completion:{};return a.type=t,a.arg=e,o?(this.method="next",this.next=o.finallyLoc,u):this.complete(a)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),u},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),x(r),u}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var i=n.arg;x(r)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:B(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),u}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},function(t,e,r){"use strict";r.r(e);var n,i=r(1),o=r.n(i),a=r(0),s=r.n(a),l=new Uint8Array(16);function h(){if(!n&&!(n="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return n(l)}var u=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;for(var c=function(t){return"string"==typeof t&&u.test(t)},f=[],d=0;d<256;++d)f.push((d+256).toString(16).substr(1));var p=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(f[t[e+0]]+f[t[e+1]]+f[t[e+2]]+f[t[e+3]]+"-"+f[t[e+4]]+f[t[e+5]]+"-"+f[t[e+6]]+f[t[e+7]]+"-"+f[t[e+8]]+f[t[e+9]]+"-"+f[t[e+10]]+f[t[e+11]]+f[t[e+12]]+f[t[e+13]]+f[t[e+14]]+f[t[e+15]]).toLowerCase();if(!c(r))throw TypeError("Stringified UUID is invalid");return r};var g=function(t,e,r){var n=(t=t||{}).random||(t.rng||h)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){r=r||0;for(var i=0;i<16;++i)e[r+i]=n[i];return e}return p(n)};function m(t){return""===t?t:"true"===t||"1"==t}var v=function(t){if(t)return new Promise((function(e,r){if("data"==t.slice(0,4)){var n=new Image;return n.onload=function(){e(n)},n.onerror=function(){r("Image load error")},void(n.src=t)}var i=new Image;i.setAttribute("crossOrigin","Anonymous"),i.onload=function(){e(i)},i.onerror=function(){r("Image load error")},i.src=t}))};var y=function(t,e){return new Promise((function(e,r){var n=new XMLHttpRequest;n.responseType="blob",n.onload=function(){var t=new FileReader;t.onloadend=function(){e(t.result)},t.readAsArrayBuffer(n.response)},n.open("GET",t),n.send()}))};var b=function(t,e,r,n,i,o,a,s){var l,h="function"==typeof t?t.options:t;if(e&&(h.render=e,h.staticRenderFns=r,h._compiled=!0),n&&(h.functional=!0),o&&(h._scopeId="data-v-"+o),a?(l=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},h._ssrRegister=l):i&&(l=s?function(){i.call(this,(h.functional?this.parent:this).$root.$options.shadowRoot)}:i),l)if(h.functional){h._injectStyles=l;var u=h.render;h.render=function(t,e){return l.call(e),u(t,e)}}else{var c=h.beforeCreate;h.beforeCreate=c?[].concat(c,l):[l]}return{exports:t,options:h}}({props:{text:{type:String,required:!0},qid:{type:String},correctLevel:{type:Number,default:1},size:{type:Number,default:200},margin:{type:Number,default:20},colorDark:{type:String,default:"#000000"},colorLight:{type:String,default:"#FFFFFF"},bgSrc:{type:String,default:void 0},background:{type:String,default:"rgba(0,0,0,0)"},backgroundDimming:{type:String,default:"rgba(0,0,0,0)"},logoSrc:{type:String,default:void 0},logoBackgroundColor:{type:String,default:"rgba(255,255,255,1)"},gifBgSrc:{type:String,default:void 0},logoScale:{type:Number,default:.2},logoMargin:{type:Number,default:0},logoCornerRadius:{type:Number,default:8},whiteMargin:{type:[Boolean,String],default:!0},dotScale:{type:Number,default:1},autoColor:{type:[Boolean,String],default:!0},binarize:{type:[Boolean,String],default:!1},binarizeThreshold:{type:Number,default:128},callback:{type:Function,default:function(){}},bindElement:{type:Boolean,default:!0},backgroundColor:{type:String,default:"#FFFFFF"}},name:"vue-qr",data:function(){return{uuid:"",AwesomeQRCode:null}},watch:{$props:{deep:!0,handler:function(){this.main()}}},mounted:function(){this.uuid=g(),this.main()},methods:{main:function(){var t=this;return o()(s.a.mark((function e(){var r,n,i,o;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t,!t.gifBgSrc){e.next=10;break}return e.next=4,y(t.gifBgSrc);case 4:return r=e.sent,e.next=7,v(t.logoSrc);case 7:return n=e.sent,t.render(void 0,n,r),e.abrupt("return");case 10:return e.next=12,v(t.bgSrc);case 12:return i=e.sent,e.next=15,v(t.logoSrc);case 15:o=e.sent,t.render(i,o);case 17:case"end":return e.stop()}}),e)})))()},render:function(t,e,n){var i=this;return o()(s.a.mark((function o(){var a;return s.a.wrap((function(o){for(;;)switch(o.prev=o.next){case 0:if(a=i,!i.$isServer){o.next=3;break}return o.abrupt("return");case 3:i.AwesomeQRCode||(i.AwesomeQRCode=r(8).default),(new i.AwesomeQRCode).create({gifBackground:n,text:a.text,size:a.size,margin:a.margin,colorDark:a.colorDark,colorLight:a.colorLight,backgroundColor:a.backgroundColor,backgroundImage:t,backgroundDimming:a.backgroundDimming,logoImage:e,logoScale:a.logoScale,logoBackgroundColor:a.logoBackgroundColor,correctLevel:a.correctLevel,logoMargin:a.logoMargin,logoCornerRadius:a.logoCornerRadius,whiteMargin:m(a.whiteMargin),dotScale:a.dotScale,autoColor:m(a.autoColor),binarize:m(a.binarize),binarizeThreshold:a.binarizeThreshold,callback:function(t){a.callback&&a.callback(t,a.qid)},bindElement:a.bindElement?a.uuid:void 0});case 5:case"end":return o.stop()}}),o)})))()}}},(function(){var t=this.$createElement,e=this._self._c||t;return this.bindElement?e("img",this._b({staticStyle:{display:"inline-block"}},"img",{id:this.uuid},!1)):this._e()}),[],!1,null,null,null).exports;b.install=function(t){return t.component(b.name,b)};var w=b,_=[w];"undefined"!=typeof window&&window.Vue&&function(t){_.map((function(e){t.component(e.name,e)}))}(window.Vue);e.default=w},function(t,e,r){"use strict";function n(t){this.data=t,this.pos=0}r.r(e),n.prototype.readByte=function(){return this.data[this.pos++]},n.prototype.peekByte=function(){return this.data[this.pos]},n.prototype.readBytes=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=this.readByte();return e},n.prototype.peekBytes=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=this.data[this.pos+r];return e},n.prototype.readString=function(t){for(var e="",r=0;r<t;r++)e+=String.fromCharCode(this.readByte());return e},n.prototype.readBitArray=function(){for(var t=[],e=this.readByte(),r=7;r>=0;r--)t.push(!!(e&1<<r));return t},n.prototype.readUnsigned=function(t){var e=this.readBytes(2);return t?(e[1]<<8)+e[0]:(e[0]<<8)+e[1]};var i=n;function o(t){this.stream=new i(t),this.output={}}o.prototype.parse=function(t){return this.parseParts(this.output,t),this.output},o.prototype.parseParts=function(t,e){for(var r=0;r<e.length;r++){var n=e[r];this.parsePart(t,n)}},o.prototype.parsePart=function(t,e){var r,n=e.label;if(!e.requires||e.requires(this.stream,this.output,t))if(e.loop){for(var i=[];e.loop(this.stream);){var o={};this.parseParts(o,e.parts),i.push(o)}t[n]=i}else e.parts?(r={},this.parseParts(r,e.parts),t[n]=r):e.parser?(r=e.parser(this.stream,this.output,t),e.skip||(t[n]=r)):e.bits&&(t[n]=this.parseBits(e.bits))},o.prototype.parseBits=function(t){var e={},r=this.stream.readBitArray();for(var n in t){var i=t[n];i.length?e[n]=r.slice(i.index,i.index+i.length).reduce((function(t,e){return 2*t+e}),0):e[n]=r[i.index]}return e};var a=o,s={readByte:function(){return function(t){return t.readByte()}},readBytes:function(t){return function(e){return e.readBytes(t)}},readString:function(t){return function(e){return e.readString(t)}},readUnsigned:function(t){return function(e){return e.readUnsigned(t)}},readArray:function(t,e){return function(r,n,i){for(var o=e(r,n,i),a=new Array(o),s=0;s<o;s++)a[s]=r.readBytes(t);return a}}},l={label:"blocks",parser:function(t){for(var e=[],r=t.readByte();0!==r;r=t.readByte())e=e.concat(t.readBytes(r));return e}},h={label:"gce",requires:function(t){var e=t.peekBytes(2);return 33===e[0]&&249===e[1]},parts:[{label:"codes",parser:s.readBytes(2),skip:!0},{label:"byteSize",parser:s.readByte()},{label:"extras",bits:{future:{index:0,length:3},disposal:{index:3,length:3},userInput:{index:6},transparentColorGiven:{index:7}}},{label:"delay",parser:s.readUnsigned(!0)},{label:"transparentColorIndex",parser:s.readByte()},{label:"terminator",parser:s.readByte(),skip:!0}]},u={label:"image",requires:function(t){return 44===t.peekByte()},parts:[{label:"code",parser:s.readByte(),skip:!0},{label:"descriptor",parts:[{label:"left",parser:s.readUnsigned(!0)},{label:"top",parser:s.readUnsigned(!0)},{label:"width",parser:s.readUnsigned(!0)},{label:"height",parser:s.readUnsigned(!0)},{label:"lct",bits:{exists:{index:0},interlaced:{index:1},sort:{index:2},future:{index:3,length:2},size:{index:5,length:3}}}]},{label:"lct",requires:function(t,e,r){return r.descriptor.lct.exists},parser:s.readArray(3,(function(t,e,r){return Math.pow(2,r.descriptor.lct.size+1)}))},{label:"data",parts:[{label:"minCodeSize",parser:s.readByte()},l]}]},c={label:"text",requires:function(t){var e=t.peekBytes(2);return 33===e[0]&&1===e[1]},parts:[{label:"codes",parser:s.readBytes(2),skip:!0},{label:"blockSize",parser:s.readByte()},{label:"preData",parser:function(t,e,r){return t.readBytes(r.text.blockSize)}},l]},f={label:"frames",parts:[h,{label:"application",requires:function(t,e,r){var n=t.peekBytes(2);return 33===n[0]&&255===n[1]},parts:[{label:"codes",parser:s.readBytes(2),skip:!0},{label:"blockSize",parser:s.readByte()},{label:"id",parser:function(t,e,r){return t.readString(r.blockSize)}},l]},{label:"comment",requires:function(t,e,r){var n=t.peekBytes(2);return 33===n[0]&&254===n[1]},parts:[{label:"codes",parser:s.readBytes(2),skip:!0},l]},u,c],loop:function(t){var e=t.peekByte();return 33===e||44===e}},d=[{label:"header",parts:[{label:"signature",parser:s.readString(3)},{label:"version",parser:s.readString(3)}]},{label:"lsd",parts:[{label:"width",parser:s.readUnsigned(!0)},{label:"height",parser:s.readUnsigned(!0)},{label:"gct",bits:{exists:{index:0},resolution:{index:1,length:3},sort:{index:4},size:{index:5,length:3}}},{label:"backgroundColorIndex",parser:s.readByte()},{label:"pixelAspectRatio",parser:s.readByte()}]},{label:"gct",requires:function(t,e){return e.lsd.gct.exists},parser:s.readArray(3,(function(t,e){return Math.pow(2,e.lsd.gct.size+1)}))},f];function p(t){var e=new Uint8Array(t),r=new a(e);this.raw=r.parse(d),this.raw.hasImages=!1;for(var n=0;n<this.raw.frames.length;n++)if(this.raw.frames[n].image){this.raw.hasImages=!0;break}}p.prototype.decompressFrame=function(t,e){if(t>=this.raw.frames.length)return null;var r=this.raw.frames[t];if(r.image){var n=r.image.descriptor.width*r.image.descriptor.height,i=function(t,e,r){var n,i,o,a,s,l,h,u,c,f,d,p,g,m,v,y,b=r,w=new Array(r),_=new Array(4096),x=new Array(4096),k=new Array(4097);for(s=(i=1<<(p=t))+1,n=i+2,h=-1,o=(1<<(a=p+1))-1,c=0;c<i;c++)_[c]=0,x[c]=c;for(d=u=g=m=y=v=0,f=0;f<b;){if(0===m){if(u<a){d+=e[v]<<u,u+=8,v++;continue}if(c=d&o,d>>=a,u-=a,c>n||c==s)break;if(c==i){o=(1<<(a=p+1))-1,n=i+2,h=-1;continue}if(-1==h){k[m++]=x[c],h=c,g=c;continue}for(l=c,c==n&&(k[m++]=g,c=h);c>i;)k[m++]=x[c],c=_[c];g=255&x[c],k[m++]=g,n<4096&&(_[n]=h,x[n]=g,0==(++n&o)&&n<4096&&(a++,o+=n)),h=l}m--,w[y++]=k[m],f++}for(f=y;f<b;f++)w[f]=0;return w}(r.image.data.minCodeSize,r.image.data.blocks,n);r.image.descriptor.lct.interlaced&&(i=function(t,e){for(var r=new Array(t.length),n=t.length/e,i=function(n,i){var o=t.slice(i*e,(i+1)*e);r.splice.apply(r,[n*e,e].concat(o))},o=[0,4,2,1],a=[8,8,4,2],s=0,l=0;l<4;l++)for(var h=o[l];h<n;h+=a[l])i(h,s),s++;return r}(i,r.image.descriptor.width));var o={pixels:i,dims:{top:r.image.descriptor.top,left:r.image.descriptor.left,width:r.image.descriptor.width,height:r.image.descriptor.height}};return r.image.descriptor.lct&&r.image.descriptor.lct.exists?o.colorTable=r.image.lct:o.colorTable=this.raw.gct,r.gce&&(o.delay=10*(r.gce.delay||10),o.disposalType=r.gce.extras.disposal,r.gce.extras.transparentColorGiven&&(o.transparentIndex=r.gce.transparentColorIndex)),e&&(o.patch=function(t){for(var e=t.pixels.length,r=new Uint8ClampedArray(4*e),n=0;n<e;n++){var i=4*n,o=t.pixels[n],a=t.colorTable[o];r[i]=a[0],r[i+1]=a[1],r[i+2]=a[2],r[i+3]=o!==t.transparentIndex?255:0}return r}(o)),o}return null},p.prototype.decompressFrames=function(t){for(var e=[],r=0;r<this.raw.frames.length;r++){this.raw.frames[r].image&&e.push(this.decompressFrame(r,t))}return e};var g,m,v,y,b,w=p,_=r(3),x=r.n(_);function k(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function B(t){return"function"==typeof t}function C(t){return"object"===x()(t)&&null!==t}function L(t){return void 0===t}k.EventEmitter=k,k.prototype._events=void 0,k.prototype._maxListeners=void 0,k.defaultMaxListeners=10,k.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},k.prototype.emit=function(t){var e,r,n,i,o,a;if(this._events||(this._events={}),"error"===t&&(!this._events.error||C(this._events.error)&&!this._events.error.length)){if((e=arguments[1])instanceof Error)throw e;var s=new Error('Uncaught, unspecified "error" event. ('+e+")");throw s.context=e,s}if(L(r=this._events[t]))return!1;if(B(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:i=Array.prototype.slice.call(arguments,1),r.apply(this,i)}else if(C(r))for(i=Array.prototype.slice.call(arguments,1),n=(a=r.slice()).length,o=0;o<n;o++)a[o].apply(this,i);return!0},k.prototype.addListener=function(t,e){var r;if(!B(e))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,B(e.listener)?e.listener:e),this._events[t]?C(this._events[t])?this._events[t].push(e):this._events[t]=[this._events[t],e]:this._events[t]=e,C(this._events[t])&&!this._events[t].warned&&(r=L(this._maxListeners)?k.defaultMaxListeners:this._maxListeners)&&r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace()),this},k.prototype.on=k.prototype.addListener,k.prototype.once=function(t,e){if(!B(e))throw TypeError("listener must be a function");var r=!1;function n(){this.removeListener(t,n),r||(r=!0,e.apply(this,arguments))}return n.listener=e,this.on(t,n),this},k.prototype.removeListener=function(t,e){var r,n,i,o;if(!B(e))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(i=(r=this._events[t]).length,n=-1,r===e||B(r.listener)&&r.listener===e)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,e);else if(C(r)){for(o=i;o-- >0;)if(r[o]===e||r[o].listener&&r[o].listener===e){n=o;break}if(n<0)return this;1===r.length?(r.length=0,delete this._events[t]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",t,e)}return this},k.prototype.removeAllListeners=function(t){var e,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(e in this._events)"removeListener"!==e&&this.removeAllListeners(e);return this.removeAllListeners("removeListener"),this._events={},this}if(B(r=this._events[t]))this.removeListener(t,r);else if(r)for(;r.length;)this.removeListener(t,r[r.length-1]);return delete this._events[t],this},k.prototype.listeners=function(t){return this._events&&this._events[t]?B(this._events[t])?[this._events[t]]:this._events[t].slice():[]},k.prototype.listenerCount=function(t){if(this._events){var e=this._events[t];if(B(e))return 1;if(e)return e.length}return 0},k.listenerCount=function(t,e){return t.listenerCount(e)},b=navigator.userAgent.toLowerCase(),y=navigator.platform.toLowerCase(),v="ie"===(g=b.match(/(opera|ie|firefox|chrome|version)[\s\/:]([\w\d\.]+)?.*?(safari|version[\s\/:]([\w\d\.]+)|$)/)||[null,"unknown",0])[1]&&document.documentMode,(m={name:"version"===g[1]?g[3]:g[1],version:v||parseFloat("opera"===g[1]&&g[4]?g[4]:g[2]),platform:{name:b.match(/ip(?:ad|od|hone)/)?"ios":(b.match(/(?:webos|android)/)||y.match(/mac|win|linux/)||["other"])[0]}})[m.name]=!0,m[m.name+parseInt(m.version,10)]=!0,m.platform[m.platform.name]=!0;var E,S={}.hasOwnProperty,P=[].indexOf||function(t){for(var e=0,r=this.length;e<r;e++)if(e in this&&this[e]===t)return e;return-1},I=[].slice,D=function(t){var e,n;!function(t,e){for(var r in e)S.call(e,r)&&(t[r]=e[r]);function n(){this.constructor=t}n.prototype=e.prototype,t.prototype=new n,t.__super__=e.prototype}(o,t);var i=r(2);function o(t){var r,n,i;for(n in this.running=!1,this.options={},this.frames=[],this.freeWorkers=[],this.activeWorkers=[],this.setOptions(t),e)i=e[n],null==(r=this.options)[n]&&(r[n]=i)}return e={workerScript:i,workers:2,repeat:0,background:"#fff",quality:10,width:null,height:null,transparent:null,debug:!1,dither:!1},n={delay:500,copy:!1},o.prototype.setOption=function(t,e){if(this.options[t]=e,null!=this._canvas&&("width"===t||"height"===t))return this._canvas[t]=e},o.prototype.setOptions=function(t){var e,r,n;for(e in r=[],t)S.call(t,e)&&(n=t[e],r.push(this.setOption(e,n)));return r},o.prototype.addFrame=function(t,e){var r,i;for(i in null==e&&(e={}),(r={}).transparent=this.options.transparent,n)r[i]=e[i]||n[i];if(null==this.options.width&&this.setOption("width",t.width),null==this.options.height&&this.setOption("height",t.height),"undefined"!=typeof ImageData&&null!==ImageData&&t instanceof ImageData)r.data=t.data;else if("undefined"!=typeof CanvasRenderingContext2D&&null!==CanvasRenderingContext2D&&t instanceof CanvasRenderingContext2D||"undefined"!=typeof WebGLRenderingContext&&null!==WebGLRenderingContext&&t instanceof WebGLRenderingContext)e.copy?r.data=this.getContextData(t):r.context=t;else{if(null==t.childNodes)throw new Error("Invalid image");e.copy?r.data=this.getImageData(t):r.image=t}return this.frames.push(r)},o.prototype.render=function(){var t,e,r;if(this.running)throw new Error("Already running");if(null==this.options.width||null==this.options.height)throw new Error("Width and height must be set prior to rendering");if(this.running=!0,this.nextFrame=0,this.finishedFrames=0,this.imageParts=function(){var t,e,r;for(r=[],t=0,e=this.frames.length;0<=e?t<e:t>e;0<=e?++t:--t)r.push(null);return r}.call(this),e=this.spawnWorkers(),!0===this.options.globalPalette)this.renderNextFrame();else for(t=0,r=e;0<=r?t<r:t>r;0<=r?++t:--t)this.renderNextFrame();return this.emit("start"),this.emit("progress",0)},o.prototype.abort=function(){for(var t;null!=(t=this.activeWorkers.shift());)this.log("killing active worker"),t.terminate();return this.running=!1,this.emit("abort")},o.prototype.spawnWorkers=function(){var t,e,n,i;return t=Math.min(this.options.workers,this.frames.length),function(){n=[];for(var r=e=this.freeWorkers.length;e<=t?r<t:r>t;e<=t?r++:r--)n.push(r);return n}.apply(this).forEach((i=this,function(t){var e;i.log("spawning worker "+t);var n=r(2);return(e=new n.default).onmessage=function(t){return i.activeWorkers.splice(i.activeWorkers.indexOf(e),1),i.freeWorkers.push(e),i.frameFinished(t.data)},i.freeWorkers.push(e)})),t},o.prototype.frameFinished=function(t){var e,r;if(this.log("frame "+t.index+" finished - "+this.activeWorkers.length+" active"),this.finishedFrames++,this.emit("progress",this.finishedFrames/this.frames.length),this.imageParts[t.index]=t,!0===this.options.globalPalette&&(this.options.globalPalette=t.globalPalette,this.log("global palette analyzed"),this.frames.length>2))for(e=1,r=this.freeWorkers.length;1<=r?e<r:e>r;1<=r?++e:--e)this.renderNextFrame();return P.call(this.imageParts,null)>=0?this.renderNextFrame():this.finishRendering()},o.prototype.finishRendering=function(){var t,e,r,n,i,o,a,s,l,h,u,c,f,d,p,g;for(s=0,i=0,l=(d=this.imageParts).length;i<l;i++)s+=((e=d[i]).data.length-1)*e.pageSize+e.cursor;for(s+=e.pageSize-e.cursor,this.log("rendering finished - filesize "+Math.round(s/1e3)+"kb"),t=new Uint8Array(s),c=0,o=0,h=(p=this.imageParts).length;o<h;o++)for(r=a=0,u=(g=(e=p[o]).data).length;a<u;r=++a)f=g[r],t.set(f,c),r===e.data.length-1?c+=e.cursor:c+=e.pageSize;return n=new Blob([t],{type:"image/gif"}),this.emit("finished",n,t)},o.prototype.renderNextFrame=function(){var t,e,r;if(0===this.freeWorkers.length)throw new Error("No free workers");if(!(this.nextFrame>=this.frames.length))return t=this.frames[this.nextFrame++],r=this.freeWorkers.shift(),e=this.getTask(t),this.log("starting frame "+(e.index+1)+" of "+this.frames.length),this.activeWorkers.push(r),r.postMessage(e)},o.prototype.getContextData=function(t){return t.getImageData(0,0,this.options.width,this.options.height).data},o.prototype.getImageData=function(t){var e;return null==this._canvas&&(this._canvas=document.createElement("canvas"),this._canvas.width=this.options.width,this._canvas.height=this.options.height),(e=this._canvas.getContext("2d")).setFill=this.options.background,e.fillRect(0,0,this.options.width,this.options.height),e.drawImage(t,0,0),this.getContextData(e)},o.prototype.getTask=function(t){var e,r;if(r={index:e=this.frames.indexOf(t),last:e===this.frames.length-1,delay:t.delay,transparent:t.transparent,width:this.options.width,height:this.options.height,quality:this.options.quality,dither:this.options.dither,globalPalette:this.options.globalPalette,repeat:this.options.repeat,canTransfer:"chrome"===m.name},null!=t.data)r.data=t.data;else if(null!=t.context)r.data=this.getContextData(t.context);else{if(null==t.image)throw new Error("Invalid frame");r.data=this.getImageData(t.image)}return r},o.prototype.log=function(){var t;if(t=1<=arguments.length?I.call(arguments,0):[],this.options.debug)return console.log.apply(console,t)},o}(k);function A(t){this.mode=R.MODE_8BIT_BYTE,this.data=t,this.parsedData=[];for(var e=0,r=this.data.length;e<r;e++){var n=[],i=this.data.charCodeAt(e);i>65536?(n[0]=240|(1835008&i)>>>18,n[1]=128|(258048&i)>>>12,n[2]=128|(4032&i)>>>6,n[3]=128|63&i):i>2048?(n[0]=224|(61440&i)>>>12,n[1]=128|(4032&i)>>>6,n[2]=128|63&i):i>128?(n[0]=192|(1984&i)>>>6,n[1]=128|63&i):n[0]=i,this.parsedData.push(n)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function T(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}A.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e<r;e++)t.put(this.parsedData[e],8)}},T.prototype={addData:function(t){var e=new A(t);this.dataList.push(e),this.dataCache=null},isDark:function(t,e){if(t<0||this.moduleCount<=t||e<0||this.moduleCount<=e)throw new Error(t+","+e);return this.modules[t][e]},getModuleCount:function(){return this.moduleCount},make:function(){if(this.typeNumber<1){var t=1;for(t=1;t<40;t++){for(var e=X.getRSBlocks(t,this.errorCorrectLevel),r=new V,n=0,i=0;i<e.length;i++)n+=e[i].dataCount;for(i=0;i<this.dataList.length;i++){var o=this.dataList[i];r.put(o.mode,4),r.put(o.getLength(),W.getLengthInBits(o.mode,t)),o.write(r)}if(r.getLengthInBits()<=8*n)break}this.typeNumber=t}this.makeImpl(!1,this.getBestMaskPattern())},makeImpl:function(t,e){this.moduleCount=4*this.typeNumber+17,this.modules=new Array(this.moduleCount);for(var r=0;r<this.moduleCount;r++){this.modules[r]=new Array(this.moduleCount);for(var n=0;n<this.moduleCount;n++)this.modules[r][n]=null}this.setupPositionProbePattern(0,0),this.setupPositionProbePattern(this.moduleCount-7,0),this.setupPositionProbePattern(0,this.moduleCount-7),this.setupPositionAdjustPattern(),this.setupTimingPattern(),this.setupTypeInfo(t,e),this.typeNumber>=7&&this.setupTypeNumber(t),null==this.dataCache&&(this.dataCache=T.createData(this.typeNumber,this.errorCorrectLevel,this.dataList)),this.mapData(this.dataCache,e)},setupPositionProbePattern:function(t,e){for(var r=-1;r<=7;r++)if(!(t+r<=-1||this.moduleCount<=t+r))for(var n=-1;n<=7;n++)e+n<=-1||this.moduleCount<=e+n||(this.modules[t+r][e+n]=0<=r&&r<=6&&(0==n||6==n)||0<=n&&n<=6&&(0==r||6==r)||2<=r&&r<=4&&2<=n&&n<=4)},getBestMaskPattern:function(){for(var t=0,e=0,r=0;r<8;r++){this.makeImpl(!0,r);var n=W.getLostPoint(this);(0==r||t>n)&&(t=n,e=r)}return e},createMovieClip:function(t,e,r){var n=t.createEmptyMovieClip(e,r);this.make();for(var i=0;i<this.modules.length;i++)for(var o=1*i,a=0;a<this.modules[i].length;a++){var s=1*a;this.modules[i][a]&&(n.beginFill(0,100),n.moveTo(s,o),n.lineTo(s+1,o),n.lineTo(s+1,o+1),n.lineTo(s,o+1),n.endFill())}return n},setupTimingPattern:function(){for(var t=8;t<this.moduleCount-8;t++)null==this.modules[t][6]&&(this.modules[t][6]=t%2==0);for(var e=8;e<this.moduleCount-8;e++)null==this.modules[6][e]&&(this.modules[6][e]=e%2==0)},setupPositionAdjustPattern:function(){for(var t=W.getPatternPosition(this.typeNumber),e=0;e<t.length;e++)for(var r=0;r<t.length;r++){var n=t[e],i=t[r];if(null==this.modules[n][i])for(var o=-2;o<=2;o++)for(var a=-2;a<=2;a++)this.modules[n+o][i+a]=-2==o||2==o||-2==a||2==a||0==o&&0==a}},setupTypeNumber:function(t){for(var e=W.getBCHTypeNumber(this.typeNumber),r=0;r<18;r++){var n=!t&&1==(e>>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=n}for(r=0;r<18;r++){n=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=n}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,n=W.getBCHTypeInfo(r),i=0;i<15;i++){var o=!t&&1==(n>>i&1);i<6?this.modules[i][8]=o:i<8?this.modules[i+1][8]=o:this.modules[this.moduleCount-15+i][8]=o}for(i=0;i<15;i++){o=!t&&1==(n>>i&1);i<8?this.modules[8][this.moduleCount-i-1]=o:i<9?this.modules[8][15-i-1+1]=o:this.modules[8][15-i-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,n=this.moduleCount-1,i=7,o=0,a=this.moduleCount-1;a>0;a-=2)for(6==a&&a--;;){for(var s=0;s<2;s++)if(null==this.modules[n][a-s]){var l=!1;o<t.length&&(l=1==(t[o]>>>i&1)),W.getMask(e,n,a-s)&&(l=!l),this.modules[n][a-s]=l,-1==--i&&(o++,i=7)}if((n+=r)<0||this.moduleCount<=n){n-=r,r=-r;break}}}},T.PAD0=236,T.PAD1=17,T.createData=function(t,e,r){for(var n=X.getRSBlocks(t,e),i=new V,o=0;o<r.length;o++){var a=r[o];i.put(a.mode,4),i.put(a.getLength(),W.getLengthInBits(a.mode,t)),a.write(i)}var s=0;for(o=0;o<n.length;o++)s+=n[o].dataCount;if(i.getLengthInBits()>8*s)throw new Error("code length overflow. ("+i.getLengthInBits()+">"+8*s+")");for(i.getLengthInBits()+4<=8*s&&i.put(0,4);i.getLengthInBits()%8!=0;)i.putBit(!1);for(;!(i.getLengthInBits()>=8*s||(i.put(T.PAD0,8),i.getLengthInBits()>=8*s));)i.put(T.PAD1,8);return T.createBytes(i,n)},T.createBytes=function(t,e){for(var r=0,n=0,i=0,o=new Array(e.length),a=new Array(e.length),s=0;s<e.length;s++){var l=e[s].dataCount,h=e[s].totalCount-l;n=Math.max(n,l),i=Math.max(i,h),o[s]=new Array(l);for(var u=0;u<o[s].length;u++)o[s][u]=255&t.buffer[u+r];r+=l;var c=W.getErrorCorrectPolynomial(h),f=new K(o[s],c.getLength()-1).mod(c);a[s]=new Array(c.getLength()-1);for(u=0;u<a[s].length;u++){var d=u+f.getLength()-a[s].length;a[s][u]=d>=0?f.get(d):0}}var p=0;for(u=0;u<e.length;u++)p+=e[u].totalCount;var g=new Array(p),m=0;for(u=0;u<n;u++)for(s=0;s<e.length;s++)u<o[s].length&&(g[m++]=o[s][u]);for(u=0;u<i;u++)for(s=0;s<e.length;s++)u<a[s].length&&(g[m++]=a[s][u]);return g};for(var R={MODE_NUMBER:1,MODE_ALPHA_NUM:2,MODE_8BIT_BYTE:4,MODE_KANJI:8},M={L:1,M:0,Q:3,H:2},F=0,O=1,N=2,U=3,z=4,G=5,j=6,H=7,W={PATTERN_POSITION_TABLE:[[],[6,18],[6,22],[6,26],[6,30],[6,34],[6,22,38],[6,24,42],[6,26,46],[6,28,50],[6,30,54],[6,32,58],[6,34,62],[6,26,46,66],[6,26,48,70],[6,26,50,74],[6,30,54,78],[6,30,56,82],[6,30,58,86],[6,34,62,90],[6,28,50,72,94],[6,26,50,74,98],[6,30,54,78,102],[6,28,54,80,106],[6,32,58,84,110],[6,30,58,86,114],[6,34,62,90,118],[6,26,50,74,98,122],[6,30,54,78,102,126],[6,26,52,78,104,130],[6,30,56,82,108,134],[6,34,60,86,112,138],[6,30,58,86,114,142],[6,34,62,90,118,146],[6,30,54,78,102,126,150],[6,24,50,76,102,128,154],[6,28,54,80,106,132,158],[6,32,58,84,110,136,162],[6,26,54,82,110,138,166],[6,30,58,86,114,142,170]],G15:1335,G18:7973,G15_MASK:21522,getBCHTypeInfo:function(t){for(var e=t<<10;W.getBCHDigit(e)-W.getBCHDigit(W.G15)>=0;)e^=W.G15<<W.getBCHDigit(e)-W.getBCHDigit(W.G15);return(t<<10|e)^W.G15_MASK},getBCHTypeNumber:function(t){for(var e=t<<12;W.getBCHDigit(e)-W.getBCHDigit(W.G18)>=0;)e^=W.G18<<W.getBCHDigit(e)-W.getBCHDigit(W.G18);return t<<12|e},getBCHDigit:function(t){for(var e=0;0!=t;)e++,t>>>=1;return e},getPatternPosition:function(t){return W.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case F:return(e+r)%2==0;case O:return e%2==0;case N:return r%3==0;case U:return(e+r)%3==0;case z:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case G:return e*r%2+e*r%3==0;case j:return(e*r%2+e*r%3)%2==0;case H:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new K([1],0),r=0;r<t;r++)e=e.multiply(new K([1,q.gexp(r)],0));return e},getLengthInBits:function(t,e){if(1<=e&&e<10)switch(t){case R.MODE_NUMBER:return 10;case R.MODE_ALPHA_NUM:return 9;case R.MODE_8BIT_BYTE:case R.MODE_KANJI:return 8;default:throw new Error("mode:"+t)}else if(e<27)switch(t){case R.MODE_NUMBER:return 12;case R.MODE_ALPHA_NUM:return 11;case R.MODE_8BIT_BYTE:return 16;case R.MODE_KANJI:return 10;default:throw new Error("mode:"+t)}else{if(!(e<41))throw new Error("type:"+e);switch(t){case R.MODE_NUMBER:return 14;case R.MODE_ALPHA_NUM:return 13;case R.MODE_8BIT_BYTE:return 16;case R.MODE_KANJI:return 12;default:throw new Error("mode:"+t)}}},getLostPoint:function(t){for(var e=t.getModuleCount(),r=0,n=0;n<e;n++)for(var i=0;i<e;i++){for(var o=0,a=t.isDark(n,i),s=-1;s<=1;s++)if(!(n+s<0||e<=n+s))for(var l=-1;l<=1;l++)i+l<0||e<=i+l||0==s&&0==l||a==t.isDark(n+s,i+l)&&o++;o>5&&(r+=3+o-5)}for(n=0;n<e-1;n++)for(i=0;i<e-1;i++){var h=0;t.isDark(n,i)&&h++,t.isDark(n+1,i)&&h++,t.isDark(n,i+1)&&h++,t.isDark(n+1,i+1)&&h++,0!=h&&4!=h||(r+=3)}for(n=0;n<e;n++)for(i=0;i<e-6;i++)t.isDark(n,i)&&!t.isDark(n,i+1)&&t.isDark(n,i+2)&&t.isDark(n,i+3)&&t.isDark(n,i+4)&&!t.isDark(n,i+5)&&t.isDark(n,i+6)&&(r+=40);for(i=0;i<e;i++)for(n=0;n<e-6;n++)t.isDark(n,i)&&!t.isDark(n+1,i)&&t.isDark(n+2,i)&&t.isDark(n+3,i)&&t.isDark(n+4,i)&&!t.isDark(n+5,i)&&t.isDark(n+6,i)&&(r+=40);var u=0;for(i=0;i<e;i++)for(n=0;n<e;n++)t.isDark(n,i)&&u++;return r+=10*(Math.abs(100*u/e/e-50)/5)}},q={glog:function(t){if(t<1)throw new Error("glog("+t+")");return q.LOG_TABLE[t]},gexp:function(t){for(;t<0;)t+=255;for(;t>=256;)t-=255;return q.EXP_TABLE[t]},EXP_TABLE:new Array(256),LOG_TABLE:new Array(256)},Q=0;Q<8;Q++)q.EXP_TABLE[Q]=1<<Q;for(Q=8;Q<256;Q++)q.EXP_TABLE[Q]=q.EXP_TABLE[Q-4]^q.EXP_TABLE[Q-5]^q.EXP_TABLE[Q-6]^q.EXP_TABLE[Q-8];for(Q=0;Q<255;Q++)q.LOG_TABLE[q.EXP_TABLE[Q]]=Q;function K(t,e){if(null==t.length)throw new Error(t.length+"/"+e);for(var r=0;r<t.length&&0==t[r];)r++;this.num=new Array(t.length-r+e);for(var n=0;n<t.length-r;n++)this.num[n]=t[n+r]}function X(t,e){this.totalCount=t,this.dataCount=e}function V(){this.buffer=[],this.length=0}K.prototype={get:function(t){return this.num[t]},getLength:function(){return this.num.length},multiply:function(t){for(var e=new Array(this.getLength()+t.getLength()-1),r=0;r<this.getLength();r++)for(var n=0;n<t.getLength();n++)e[r+n]^=q.gexp(q.glog(this.get(r))+q.glog(t.get(n)));return new K(e,0)},mod:function(t){if(this.getLength()-t.getLength()<0)return this;for(var e=q.glog(this.get(0))-q.glog(t.get(0)),r=new Array(this.getLength()),n=0;n<this.getLength();n++)r[n]=this.get(n);for(n=0;n<t.getLength();n++)r[n]^=q.gexp(q.glog(t.get(n))+e);return new K(r,0).mod(t)}},X.RS_BLOCK_TABLE=[[1,26,19],[1,26,16],[1,26,13],[1,26,9],[1,44,34],[1,44,28],[1,44,22],[1,44,16],[1,70,55],[1,70,44],[2,35,17],[2,35,13],[1,100,80],[2,50,32],[2,50,24],[4,25,9],[1,134,108],[2,67,43],[2,33,15,2,34,16],[2,33,11,2,34,12],[2,86,68],[4,43,27],[4,43,19],[4,43,15],[2,98,78],[4,49,31],[2,32,14,4,33,15],[4,39,13,1,40,14],[2,121,97],[2,60,38,2,61,39],[4,40,18,2,41,19],[4,40,14,2,41,15],[2,146,116],[3,58,36,2,59,37],[4,36,16,4,37,17],[4,36,12,4,37,13],[2,86,68,2,87,69],[4,69,43,1,70,44],[6,43,19,2,44,20],[6,43,15,2,44,16],[4,101,81],[1,80,50,4,81,51],[4,50,22,4,51,23],[3,36,12,8,37,13],[2,116,92,2,117,93],[6,58,36,2,59,37],[4,46,20,6,47,21],[7,42,14,4,43,15],[4,133,107],[8,59,37,1,60,38],[8,44,20,4,45,21],[12,33,11,4,34,12],[3,145,115,1,146,116],[4,64,40,5,65,41],[11,36,16,5,37,17],[11,36,12,5,37,13],[5,109,87,1,110,88],[5,65,41,5,66,42],[5,54,24,7,55,25],[11,36,12],[5,122,98,1,123,99],[7,73,45,3,74,46],[15,43,19,2,44,20],[3,45,15,13,46,16],[1,135,107,5,136,108],[10,74,46,1,75,47],[1,50,22,15,51,23],[2,42,14,17,43,15],[5,150,120,1,151,121],[9,69,43,4,70,44],[17,50,22,1,51,23],[2,42,14,19,43,15],[3,141,113,4,142,114],[3,70,44,11,71,45],[17,47,21,4,48,22],[9,39,13,16,40,14],[3,135,107,5,136,108],[3,67,41,13,68,42],[15,54,24,5,55,25],[15,43,15,10,44,16],[4,144,116,4,145,117],[17,68,42],[17,50,22,6,51,23],[19,46,16,6,47,17],[2,139,111,7,140,112],[17,74,46],[7,54,24,16,55,25],[34,37,13],[4,151,121,5,152,122],[4,75,47,14,76,48],[11,54,24,14,55,25],[16,45,15,14,46,16],[6,147,117,4,148,118],[6,73,45,14,74,46],[11,54,24,16,55,25],[30,46,16,2,47,17],[8,132,106,4,133,107],[8,75,47,13,76,48],[7,54,24,22,55,25],[22,45,15,13,46,16],[10,142,114,2,143,115],[19,74,46,4,75,47],[28,50,22,6,51,23],[33,46,16,4,47,17],[8,152,122,4,153,123],[22,73,45,3,74,46],[8,53,23,26,54,24],[12,45,15,28,46,16],[3,147,117,10,148,118],[3,73,45,23,74,46],[4,54,24,31,55,25],[11,45,15,31,46,16],[7,146,116,7,147,117],[21,73,45,7,74,46],[1,53,23,37,54,24],[19,45,15,26,46,16],[5,145,115,10,146,116],[19,75,47,10,76,48],[15,54,24,25,55,25],[23,45,15,25,46,16],[13,145,115,3,146,116],[2,74,46,29,75,47],[42,54,24,1,55,25],[23,45,15,28,46,16],[17,145,115],[10,74,46,23,75,47],[10,54,24,35,55,25],[19,45,15,35,46,16],[17,145,115,1,146,116],[14,74,46,21,75,47],[29,54,24,19,55,25],[11,45,15,46,46,16],[13,145,115,6,146,116],[14,74,46,23,75,47],[44,54,24,7,55,25],[59,46,16,1,47,17],[12,151,121,7,152,122],[12,75,47,26,76,48],[39,54,24,14,55,25],[22,45,15,41,46,16],[6,151,121,14,152,122],[6,75,47,34,76,48],[46,54,24,10,55,25],[2,45,15,64,46,16],[17,152,122,4,153,123],[29,74,46,14,75,47],[49,54,24,10,55,25],[24,45,15,46,46,16],[4,152,122,18,153,123],[13,74,46,32,75,47],[48,54,24,14,55,25],[42,45,15,32,46,16],[20,147,117,4,148,118],[40,75,47,7,76,48],[43,54,24,22,55,25],[10,45,15,67,46,16],[19,148,118,6,149,119],[18,75,47,31,76,48],[34,54,24,34,55,25],[20,45,15,61,46,16]],X.getRSBlocks=function(t,e){var r=X.getRsBlockTable(t,e);if(null==r)throw new Error("bad rs block @ typeNumber:"+t+"/errorCorrectLevel:"+e);for(var n=r.length/3,i=[],o=0;o<n;o++)for(var a=r[3*o+0],s=r[3*o+1],l=r[3*o+2],h=0;h<a;h++)i.push(new X(s,l));return i},X.getRsBlockTable=function(t,e){switch(e){case M.L:return X.RS_BLOCK_TABLE[4*(t-1)+0];case M.M:return X.RS_BLOCK_TABLE[4*(t-1)+1];case M.Q:return X.RS_BLOCK_TABLE[4*(t-1)+2];case M.H:return X.RS_BLOCK_TABLE[4*(t-1)+3];default:return}},V.prototype={get:function(t){var e=Math.floor(t/8);return 1==(this.buffer[e]>>>7-t%8&1)},put:function(t,e){for(var r=0;r<e;r++)this.putBit(1==(t>>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var $=function(){function t(){this._elImage.src=this._elCanvas.toDataURL("image/png"),this._elImage.style.display="block",this._elCanvas.style.display="none"}function e(t,e){var r=this;if(r._fFail=e,r._fSuccess=t,null===r._bSupportDataURI){var n=document.createElement("img"),i=function(){r._bSupportDataURI=!1,r._fFail&&r._fFail.call(r)};return n.onabort=i,n.onerror=i,n.onload=function(){r._bSupportDataURI=!0,r._fSuccess&&r._fSuccess.call(r)},void(n.src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==")}!0===r._bSupportDataURI&&r._fSuccess?r._fSuccess.call(r):!1===r._bSupportDataURI&&r._fFail&&r._fFail.call(r)}var r=function(t){this._bIsPainted=!1,this._htOption=t,this._elCanvas=document.createElement("canvas"),this._elCanvas.width=t.size,this._elCanvas.height=t.size,this._oContext=this._elCanvas.getContext("2d"),this._bIsPainted=!1,this._elImage=document.createElement("img"),this._elImage.alt="Scan me!",this._elImage.style.display="none",this._bSupportDataURI=null,this._callback=t.callback,this._bindElement=t.bindElement};return r.prototype.draw=function(t){var e=this._elImage,r=document.createElement("canvas"),n=r.getContext("2d"),i=this._htOption,o=t.getModuleCount(),a=i.size,s=i.margin;(s<0||2*s>=a)&&(s=0);var l=Math.ceil(s),h=a-2*s,u=i.whiteMargin,c=i.backgroundDimming,f=Math.ceil(h/o),d=f*o,p=d+2*l,g=void 0,m=void 0;r.width=p,r.height=p;var v=i.dotScale;if(e.style.display="none",this.clear(),v<=0||v>1)throw new Error("Scale should be in range (0, 1).");n.save(),n.translate(l,l);var y=document.createElement("canvas");y.width=p,y.height=p;var b=y.getContext("2d"),_=void 0;if(void 0!==i.gifBackground){var x=new w(i.gifBackground);if(!x.raw.hasImages)throw new Error("An invalid gif has been selected as the background.");if(g=x,m=x.decompressFrames(!0),i.autoColor){for(var k=0,B=0,C=0,L=0,E=0;E<m[0].colorTable.length;E++){var S=m[0].colorTable[E];S[0]>200||S[1]>200||S[2]>200||(0===S[0]&&0===S[1]&&0===S[2]||(L++,k+=S[0],B+=S[1],C+=S[2]))}k=~~(k/L),B=~~(B/L),C=~~(C/L),i.colorDark="rgb("+k+", "+B+", "+C+")"}}else if(void 0!==i.backgroundImage){if(i.autoColor){var P=function(t){var e,r,n,i,o={r:0,g:0,b:0},a=document.createElement("canvas"),s=a.getContext&&a.getContext("2d"),l=-4,h={r:0,g:0,b:0},u=0;if(!s)return o;n=a.height=t.naturalHeight||t.offsetHeight||t.height,r=a.width=t.naturalWidth||t.offsetWidth||t.width,s.drawImage(t,0,0);try{e=s.getImageData(0,0,r,n)}catch(t){return o}i=e.data.length;for(;(l+=20)<i;)e.data[l]>200||e.data[l+1]>200||e.data[l+2]>200||(++u,h.r+=e.data[l],h.g+=e.data[l+1],h.b+=e.data[l+2]);return h.r=~~(h.r/u),h.g=~~(h.g/u),h.b=~~(h.b/u),h}(i.backgroundImage);i.colorDark="rgb("+P.r+", "+P.g+", "+P.b+")"}i.maskedDots?((_=document.createElement("canvas")).width=p,_.height=p,_.getContext("2d").drawImage(i.backgroundImage,0,0,i.backgroundImage.width,i.backgroundImage.height,0,0,p,p),b.rect(0,0,p,p),b.fillStyle="#ffffff",b.fill()):(b.drawImage(i.backgroundImage,0,0,i.backgroundImage.width,i.backgroundImage.height,0,0,p,p),b.rect(0,0,p,p),b.fillStyle=c,b.fill())}else b.rect(0,0,p,p),b.fillStyle=i.backgroundColor,b.fill();i.binarize&&(i.colorDark="#000000",i.colorLight="#FFFFFF");for(var I=W.getPatternPosition(t.typeNumber),A=.5*(1-v),T=0;T<o;T++)for(var R=0;R<o;R++){var M=t.isDark(T,R),F=R<8&&(T<8||T>=o-8)||R>=o-8&&T<8,O=6===T||6===R||F;for(E=0;E<I.length-1;E++)O=O||T>=I[E]-2&&T<=I[E]+2&&R>=I[E]-2&&R<=I[E]+2;var N=R*f+(O?0:A*f),U=T*f+(O?0:A*f);if(n.strokeStyle=M?i.colorDark:i.colorLight,n.lineWidth=.5,n.fillStyle=M?i.colorDark:i.colorLight||"rgba(255, 255, 255, 0.6)",0===I.length)O||Z(n,N,U,(O?1:v)*f,(O?1:v)*f,_,M);else O||R<o-4&&R>=o-4-5&&T<o-4&&T>=o-4-5||Z(n,N,U,(O?1:v)*f,(O?1:v)*f,_,M)}var z=i.colorLight;n.fillStyle=z,n.fillRect(0,0,8*f,8*f),n.fillRect(0,(o-8)*f,8*f,8*f),n.fillRect((o-8)*f,0,8*f,8*f),n.fillRect(8*f,6*f,(o-8-8)*f,f),n.fillRect(6*f,8*f,f,(o-8-8)*f);var G=I[I.length-1];for(E=0;E<I.length;E++)for(var j=0;j<I.length;j++){var H=I[j],q=I[E];(6!==H||6!==q&&q!==G)&&((6!==q||6!==H&&H!==G)&&tt(n,H,q,f,f))}n.fillStyle=i.colorDark,n.fillRect(0,0,7*f,f),n.fillRect((o-7)*f,0,7*f,f),n.fillRect(0,6*f,7*f,f),n.fillRect((o-7)*f,6*f,7*f,f),n.fillRect(0,(o-7)*f,7*f,f),n.fillRect(0,(o-7+6)*f,7*f,f),n.fillRect(0,0,f,7*f),n.fillRect(6*f,0,f,7*f),n.fillRect((o-7)*f,0,f,7*f),n.fillRect((o-7+6)*f,0,f,7*f),n.fillRect(0,(o-7)*f,f,7*f),n.fillRect(6*f,(o-7)*f,f,7*f),n.fillRect(2*f,2*f,3*f,3*f),n.fillRect((o-7+2)*f,2*f,3*f,3*f),n.fillRect(2*f,(o-7+2)*f,3*f,3*f);for(E=0;E<o-8;E+=2)n.fillRect((8+E)*f,6*f,f,f),n.fillRect(6*f,(8+E)*f,f,f);for(E=0;E<I.length;E++)for(j=0;j<I.length;j++){H=I[j],q=I[E];(6!==H||6!==q&&q!==G)&&((6!==q||6!==H&&H!==G)&&(6!==H&&H!==G&&6!==q&&q!==G?(n.fillStyle=i.colorLight,et(n,H,q,f,f)):(n.fillStyle=i.colorDark,et(n,H,q,f,f))))}if(u&&(n.fillStyle=i.backgroundColor,n.fillRect(-l,-l,p,l),n.fillRect(-l,d,p,l),n.fillRect(d,-l,l,p),n.fillRect(-l,-l,l,p)),void 0!==i.logoImage){var Q=i.logoScale,K=i.logoMargin,X=i.logoCornerRadius;(Q<=0||Q>=1)&&(Q=.2),K<0&&(K=0),X<0&&(X=0),n.restore(),n.translate(l,l);var V=d*Q,$=.5*(d-V),rt=$;n.fillStyle=i.logoBackgroundColor,n.save(),Y(n,$-K,rt-K,V+2*K,V+2*K,X),n.clip(),n.fill(),n.restore(),n.save(),Y(n,$,rt,V,V,X),n.clip(),n.drawImage(i.logoImage,$,rt,V,V),n.restore()}if(void 0===g){if(b.drawImage(r,0,0,p,p),n.drawImage(y,-l,-l,p,p),i.binarize){var nt=n.getImageData(0,0,p,p),it=128;parseInt(i.binarizeThreshold)>0&&parseInt(i.binarizeThreshold)<255&&(it=parseInt(i.binarizeThreshold));for(E=0;E<nt.data.length;E+=4){J(nt.data[E],nt.data[E+1],nt.data[E+2])>it?(nt.data[E]=255,nt.data[E+1]=255,nt.data[E+2]=255):(nt.data[E]=0,nt.data[E+1]=0,nt.data[E+2]=0)}n.putImageData(nt,0,0)}var ot=document.createElement("canvas"),at=ot.getContext("2d");if(ot.width=a,ot.height=a,at.drawImage(r,0,0,a,a),this._elCanvas=ot,this._bIsPainted=!0,void 0!==this._callback&&this._callback(this._elCanvas.toDataURL()),void 0!==this._bindElement)try{var st=document.getElementById(this._bindElement);if("IMG"===st.nodeName)st.src=this._elCanvas.toDataURL();else{var lt=st.style;lt["background-image"]="url("+this._elCanvas.toDataURL()+")",lt["background-size"]="contain",lt["background-repeat"]="no-repeat"}}catch(t){console.error(t)}}else{var ht,ut,ct,ft,dt=document.createElement("canvas"),pt=dt.getContext("2d");if(m.forEach((function(t){void 0===ht&&(ht=new D({workers:4,quality:10,width:a,height:a})),void 0===ut&&(ut=document.createElement("canvas"),ct=ut.getContext("2d"),ut.width=t.dims.width,ut.height=t.dims.height,ct.rect(0,0,ut.width,ut.height),ct.fillStyle="#ffffff",ct.fill()),ft&&t.dims.width===dt.width&&t.dims.height===dt.height||(dt.width=t.dims.width,dt.height=t.dims.height,ft=pt.createImageData(t.dims.width,t.dims.height)),ft.data.set(t.patch),pt.putImageData(ft,0,0),ct.drawImage(dt,t.dims.left,t.dims.top);var e=document.createElement("canvas");e.width=p,e.height=p;var n=e.getContext("2d");n.drawImage(ut,0,0,p,p),n.drawImage(r,0,0,p,p);var i=document.createElement("canvas"),o=i.getContext("2d");i.width=a,i.height=a,o.drawImage(e,0,0,a,a),ht.addFrame(o,{copy:!0,delay:t.delay})})),void 0===ht)throw new Error("No frames.");var gt=this;ht.on("finished",(function(t){var e=new FileReader;e.onload=function(t){var e=t.target.result;if(gt._bIsPainted=!0,void 0!==gt._callback&&gt._callback(e),void 0!==gt._bindElement)try{var r=document.getElementById(gt._bindElement);if("IMG"===r.nodeName)r.src=e;else{var n=r.style;n["background-image"]="url("+e+")",n["background-size"]="contain",n["background-repeat"]="no-repeat"}}catch(t){console.error(t)}},e.readAsDataURL(t)})),ht.render()}},r.prototype.makeImage=function(){this._bIsPainted&&e.call(this,t)},r.prototype.isPainted=function(){return this._bIsPainted},r.prototype.clear=function(){this._oContext.clearRect(0,0,this._elCanvas.width,this._elCanvas.height),this._bIsPainted=!1},r.prototype.round=function(t){return t?Math.floor(1e3*t)/1e3:t},r}();function Y(t,e,r,n,i,o){t.beginPath(),t.moveTo(e,r),t.arcTo(e+n,r,e+n,r+i,o),t.arcTo(e+n,r+i,e,r+i,o),t.arcTo(e,r+i,e,r,o),t.arcTo(e,r,e+n,r,o),t.closePath()}function J(t,e,r){return.3*t+.59*r+.11*r}function Z(t,e,r,n,i,o,a){if(void 0===o)t.fillRect(e,r,n,i);else{t.drawImage(o,e,r,n,i,e,r,n,i);var s=t.fillStyle;t.fillStyle=a?"rgba(0, 0, 0, .5)":"rgba(255, 255, 255, .7)",t.fillRect(e,r,n,i),t.fillStyle=s}}function tt(t,e,r,n,i){t.clearRect((e-2)*n,(r-2)*i,5*n,5*i),t.fillRect((e-2)*n,(r-2)*i,5*n,5*i)}function et(t,e,r,n,i){t.fillRect((e-2)*n,(r-2)*i,n,4*i),t.fillRect((e+2)*n,(r-2+1)*i,n,4*i),t.fillRect((e-2+1)*n,(r-2)*i,4*n,i),t.fillRect((e-2)*n,(r+2)*i,4*n,i),t.fillRect(e*n,r*i,n,i)}(E=function(){}).prototype.create=function(t){if(this._htOption={size:800,margin:20,typeNumber:4,colorDark:"#000000",colorLight:"rgba(255, 255, 255, 0.6)",logoBackgroundColor:"#ffffff",correctLevel:M.M,backgroundImage:void 0,backgroundDimming:"rgba(0,0,0,0)",logoImage:void 0,logoScale:.2,logoMargin:6,logoCornerRadius:8,whiteMargin:!0,dotScale:.35,maskedDots:!1,autoColor:!0,binarize:!1,binarizeThreshold:128,gifBackground:void 0,callback:void 0,bindElement:void 0,backgroundColor:"#ffffff"},"string"==typeof t&&(t={text:t}),t)for(var e in t)this._htOption[e]=t[e];this._oQRCode=null,this._oDrawing=new $(this._htOption),this._htOption.text&&this.makeCode(this._htOption.text)},E.prototype.makeCode=function(t){this._oQRCode=new T(-1,this._htOption.correctLevel),this._oQRCode.addData(t),this._oQRCode.make(),this._oDrawing.draw(this._oQRCode),this.makeImage()},E.prototype.makeImage=function(){"function"==typeof this._oDrawing.makeImage&&this._oDrawing.makeImage()},E.prototype.clear=function(){this._oDrawing.clear()},E.CorrectLevel=M;e.default=E}])}));
//# sourceMappingURL=vue-qr.js.map

/***/ }),

/***/ "65f0":
/***/ (function(module, exports, __webpack_require__) {

var arraySpeciesConstructor = __webpack_require__("0b42");

// `ArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#sec-arrayspeciescreate
module.exports = function (originalArray, length) {
  return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
};


/***/ }),

/***/ "6642":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "6661":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "67be":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "67d6":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "68ee":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var fails = __webpack_require__("d039");
var isCallable = __webpack_require__("1626");
var classof = __webpack_require__("f5df");
var getBuiltIn = __webpack_require__("d066");
var inspectSource = __webpack_require__("8925");

var noop = function () { /* empty */ };
var empty = [];
var construct = getBuiltIn('Reflect', 'construct');
var constructorRegExp = /^\s*(?:class|function)\b/;
var exec = uncurryThis(constructorRegExp.exec);
var INCORRECT_TO_STRING = !constructorRegExp.exec(noop);

var isConstructorModern = function isConstructor(argument) {
  if (!isCallable(argument)) return false;
  try {
    construct(noop, empty, argument);
    return true;
  } catch (error) {
    return false;
  }
};

var isConstructorLegacy = function isConstructor(argument) {
  if (!isCallable(argument)) return false;
  switch (classof(argument)) {
    case 'AsyncFunction':
    case 'GeneratorFunction':
    case 'AsyncGeneratorFunction': return false;
  }
  try {
    // we can't check .prototype since constructors produced by .bind haven't it
    // `Function#toString` throws on some built-it function in some legacy engines
    // (for example, `DOMQuad` and similar in FF41-)
    return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
  } catch (error) {
    return true;
  }
};

isConstructorLegacy.sham = true;

// `IsConstructor` abstract operation
// https://tc39.es/ecma262/#sec-isconstructor
module.exports = !construct || fails(function () {
  var called;
  return isConstructorModern(isConstructorModern.call)
    || !isConstructorModern(Object)
    || !isConstructorModern(function () { called = true; })
    || called;
}) ? isConstructorLegacy : isConstructorModern;


/***/ }),

/***/ "69f3":
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_WEAK_MAP = __webpack_require__("7f9a");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var isObject = __webpack_require__("861d");
var createNonEnumerableProperty = __webpack_require__("9112");
var hasOwn = __webpack_require__("1a2d");
var shared = __webpack_require__("c6cd");
var sharedKey = __webpack_require__("f772");
var hiddenKeys = __webpack_require__("d012");

var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
var TypeError = global.TypeError;
var WeakMap = global.WeakMap;
var set, get, has;

var enforce = function (it) {
  return has(it) ? get(it) : set(it, {});
};

var getterFor = function (TYPE) {
  return function (it) {
    var state;
    if (!isObject(it) || (state = get(it)).type !== TYPE) {
      throw TypeError('Incompatible receiver, ' + TYPE + ' required');
    } return state;
  };
};

if (NATIVE_WEAK_MAP || shared.state) {
  var store = shared.state || (shared.state = new WeakMap());
  var wmget = uncurryThis(store.get);
  var wmhas = uncurryThis(store.has);
  var wmset = uncurryThis(store.set);
  set = function (it, metadata) {
    if (wmhas(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
    metadata.facade = it;
    wmset(store, it, metadata);
    return metadata;
  };
  get = function (it) {
    return wmget(store, it) || {};
  };
  has = function (it) {
    return wmhas(store, it);
  };
} else {
  var STATE = sharedKey('state');
  hiddenKeys[STATE] = true;
  set = function (it, metadata) {
    if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);
    metadata.facade = it;
    createNonEnumerableProperty(it, STATE, metadata);
    return metadata;
  };
  get = function (it) {
    return hasOwn(it, STATE) ? it[STATE] : {};
  };
  has = function (it) {
    return hasOwn(it, STATE);
  };
}

module.exports = {
  set: set,
  get: get,
  has: has,
  enforce: enforce,
  getterFor: getterFor
};


/***/ }),

/***/ "6af4":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_0d0eee79_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("81b0");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_0d0eee79_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UpdatePhone_vue_vue_type_style_index_0_id_0d0eee79_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "6cc6":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "6dc3":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_403_vue_vue_type_style_index_0_id_12092779_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("896d");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_403_vue_vue_type_style_index_0_id_12092779_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_403_vue_vue_type_style_index_0_id_12092779_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "6e12":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "6e30":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ee9b");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "6eeb":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");
var hasOwn = __webpack_require__("1a2d");
var createNonEnumerableProperty = __webpack_require__("9112");
var setGlobal = __webpack_require__("ce4e");
var inspectSource = __webpack_require__("8925");
var InternalStateModule = __webpack_require__("69f3");
var CONFIGURABLE_FUNCTION_NAME = __webpack_require__("5e77").CONFIGURABLE;

var getInternalState = InternalStateModule.get;
var enforceInternalState = InternalStateModule.enforce;
var TEMPLATE = String(String).split('String');

(module.exports = function (O, key, value, options) {
  var unsafe = options ? !!options.unsafe : false;
  var simple = options ? !!options.enumerable : false;
  var noTargetGet = options ? !!options.noTargetGet : false;
  var name = options && options.name !== undefined ? options.name : key;
  var state;
  if (isCallable(value)) {
    if (String(name).slice(0, 7) === 'Symbol(') {
      name = '[' + String(name).replace(/^Symbol\(([^)]*)\)/, '$1') + ']';
    }
    if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {
      createNonEnumerableProperty(value, 'name', name);
    }
    state = enforceInternalState(value);
    if (!state.source) {
      state.source = TEMPLATE.join(typeof name == 'string' ? name : '');
    }
  }
  if (O === global) {
    if (simple) O[key] = value;
    else setGlobal(key, value);
    return;
  } else if (!unsafe) {
    delete O[key];
  } else if (!noTargetGet && O[key]) {
    simple = true;
  }
  if (simple) O[key] = value;
  else createNonEnumerableProperty(O, key, value);
// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
})(Function.prototype, 'toString', function toString() {
  return isCallable(this) && getInternalState(this).source || inspectSource(this);
});


/***/ }),

/***/ "6f53":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var uncurryThis = __webpack_require__("e330");
var objectKeys = __webpack_require__("df75");
var toIndexedObject = __webpack_require__("fc6a");
var $propertyIsEnumerable = __webpack_require__("d1e7").f;

var propertyIsEnumerable = uncurryThis($propertyIsEnumerable);
var push = uncurryThis([].push);

// `Object.{ entries, values }` methods implementation
var createMethod = function (TO_ENTRIES) {
  return function (it) {
    var O = toIndexedObject(it);
    var keys = objectKeys(O);
    var length = keys.length;
    var i = 0;
    var result = [];
    var key;
    while (length > i) {
      key = keys[i++];
      if (!DESCRIPTORS || propertyIsEnumerable(O, key)) {
        push(result, TO_ENTRIES ? [key, O[key]] : O[key]);
      }
    }
    return result;
  };
};

module.exports = {
  // `Object.entries` method
  // https://tc39.es/ecma262/#sec-object.entries
  entries: createMethod(true),
  // `Object.values` method
  // https://tc39.es/ecma262/#sec-object.values
  values: createMethod(false)
};


/***/ }),

/***/ 7:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "7156":
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");
var setPrototypeOf = __webpack_require__("d2bb");

// makes subclassing work correct for wrapped built-ins
module.exports = function ($this, dummy, Wrapper) {
  var NewTarget, NewTargetPrototype;
  if (
    // it can work only with native `setPrototypeOf`
    setPrototypeOf &&
    // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
    isCallable(NewTarget = dummy.constructor) &&
    NewTarget !== Wrapper &&
    isObject(NewTargetPrototype = NewTarget.prototype) &&
    NewTargetPrototype !== Wrapper.prototype
  ) setPrototypeOf($this, NewTargetPrototype);
  return $this;
};


/***/ }),

/***/ "717b":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/bg_default.1ae84d0e.jpg";

/***/ }),

/***/ "7197":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "72f7":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var exportTypedArrayMethod = __webpack_require__("ebb5").exportTypedArrayMethod;
var fails = __webpack_require__("d039");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");

var Uint8Array = global.Uint8Array;
var Uint8ArrayPrototype = Uint8Array && Uint8Array.prototype || {};
var arrayToString = [].toString;
var join = uncurryThis([].join);

if (fails(function () { arrayToString.call({}); })) {
  arrayToString = function toString() {
    return join(this);
  };
}

var IS_NOT_ARRAY_METHOD = Uint8ArrayPrototype.toString != arrayToString;

// `%TypedArray%.prototype.toString` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tostring
exportTypedArrayMethod('toString', arrayToString, IS_NOT_ARRAY_METHOD);


/***/ }),

/***/ "735e":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var call = __webpack_require__("c65b");
var $fill = __webpack_require__("81d5");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.fill` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.fill
exportTypedArrayMethod('fill', function fill(value /* , start, end */) {
  var length = arguments.length;
  return call(
    $fill,
    aTypedArray(this),
    value,
    length > 1 ? arguments[1] : undefined,
    length > 2 ? arguments[2] : undefined
  );
});


/***/ }),

/***/ "7418":
/***/ (function(module, exports) {

// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
exports.f = Object.getOwnPropertySymbols;


/***/ }),

/***/ "746f":
/***/ (function(module, exports, __webpack_require__) {

var path = __webpack_require__("428f");
var hasOwn = __webpack_require__("1a2d");
var wrappedWellKnownSymbolModule = __webpack_require__("e538");
var defineProperty = __webpack_require__("9bf2").f;

module.exports = function (NAME) {
  var Symbol = path.Symbol || (path.Symbol = {});
  if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {
    value: wrappedWellKnownSymbolModule.f(NAME)
  });
};


/***/ }),

/***/ "74e8":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var DESCRIPTORS = __webpack_require__("83ab");
var TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS = __webpack_require__("8aa7");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var ArrayBufferModule = __webpack_require__("621a");
var anInstance = __webpack_require__("19aa");
var createPropertyDescriptor = __webpack_require__("5c6c");
var createNonEnumerableProperty = __webpack_require__("9112");
var isIntegralNumber = __webpack_require__("eac5");
var toLength = __webpack_require__("50c4");
var toIndex = __webpack_require__("0b25");
var toOffset = __webpack_require__("182d");
var toPropertyKey = __webpack_require__("a04b");
var hasOwn = __webpack_require__("1a2d");
var classof = __webpack_require__("f5df");
var isObject = __webpack_require__("861d");
var isSymbol = __webpack_require__("d9b5");
var create = __webpack_require__("7c73");
var isPrototypeOf = __webpack_require__("3a9b");
var setPrototypeOf = __webpack_require__("d2bb");
var getOwnPropertyNames = __webpack_require__("241c").f;
var typedArrayFrom = __webpack_require__("a078");
var forEach = __webpack_require__("b727").forEach;
var setSpecies = __webpack_require__("2626");
var definePropertyModule = __webpack_require__("9bf2");
var getOwnPropertyDescriptorModule = __webpack_require__("06cf");
var InternalStateModule = __webpack_require__("69f3");
var inheritIfRequired = __webpack_require__("7156");

var getInternalState = InternalStateModule.get;
var setInternalState = InternalStateModule.set;
var nativeDefineProperty = definePropertyModule.f;
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
var round = Math.round;
var RangeError = global.RangeError;
var ArrayBuffer = ArrayBufferModule.ArrayBuffer;
var ArrayBufferPrototype = ArrayBuffer.prototype;
var DataView = ArrayBufferModule.DataView;
var NATIVE_ARRAY_BUFFER_VIEWS = ArrayBufferViewCore.NATIVE_ARRAY_BUFFER_VIEWS;
var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
var TYPED_ARRAY_TAG = ArrayBufferViewCore.TYPED_ARRAY_TAG;
var TypedArray = ArrayBufferViewCore.TypedArray;
var TypedArrayPrototype = ArrayBufferViewCore.TypedArrayPrototype;
var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
var isTypedArray = ArrayBufferViewCore.isTypedArray;
var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';
var WRONG_LENGTH = 'Wrong length';

var fromList = function (C, list) {
  aTypedArrayConstructor(C);
  var index = 0;
  var length = list.length;
  var result = new C(length);
  while (length > index) result[index] = list[index++];
  return result;
};

var addGetter = function (it, key) {
  nativeDefineProperty(it, key, { get: function () {
    return getInternalState(this)[key];
  } });
};

var isArrayBuffer = function (it) {
  var klass;
  return isPrototypeOf(ArrayBufferPrototype, it) || (klass = classof(it)) == 'ArrayBuffer' || klass == 'SharedArrayBuffer';
};

var isTypedArrayIndex = function (target, key) {
  return isTypedArray(target)
    && !isSymbol(key)
    && key in target
    && isIntegralNumber(+key)
    && key >= 0;
};

var wrappedGetOwnPropertyDescriptor = function getOwnPropertyDescriptor(target, key) {
  key = toPropertyKey(key);
  return isTypedArrayIndex(target, key)
    ? createPropertyDescriptor(2, target[key])
    : nativeGetOwnPropertyDescriptor(target, key);
};

var wrappedDefineProperty = function defineProperty(target, key, descriptor) {
  key = toPropertyKey(key);
  if (isTypedArrayIndex(target, key)
    && isObject(descriptor)
    && hasOwn(descriptor, 'value')
    && !hasOwn(descriptor, 'get')
    && !hasOwn(descriptor, 'set')
    // TODO: add validation descriptor w/o calling accessors
    && !descriptor.configurable
    && (!hasOwn(descriptor, 'writable') || descriptor.writable)
    && (!hasOwn(descriptor, 'enumerable') || descriptor.enumerable)
  ) {
    target[key] = descriptor.value;
    return target;
  } return nativeDefineProperty(target, key, descriptor);
};

if (DESCRIPTORS) {
  if (!NATIVE_ARRAY_BUFFER_VIEWS) {
    getOwnPropertyDescriptorModule.f = wrappedGetOwnPropertyDescriptor;
    definePropertyModule.f = wrappedDefineProperty;
    addGetter(TypedArrayPrototype, 'buffer');
    addGetter(TypedArrayPrototype, 'byteOffset');
    addGetter(TypedArrayPrototype, 'byteLength');
    addGetter(TypedArrayPrototype, 'length');
  }

  $({ target: 'Object', stat: true, forced: !NATIVE_ARRAY_BUFFER_VIEWS }, {
    getOwnPropertyDescriptor: wrappedGetOwnPropertyDescriptor,
    defineProperty: wrappedDefineProperty
  });

  module.exports = function (TYPE, wrapper, CLAMPED) {
    var BYTES = TYPE.match(/\d+$/)[0] / 8;
    var CONSTRUCTOR_NAME = TYPE + (CLAMPED ? 'Clamped' : '') + 'Array';
    var GETTER = 'get' + TYPE;
    var SETTER = 'set' + TYPE;
    var NativeTypedArrayConstructor = global[CONSTRUCTOR_NAME];
    var TypedArrayConstructor = NativeTypedArrayConstructor;
    var TypedArrayConstructorPrototype = TypedArrayConstructor && TypedArrayConstructor.prototype;
    var exported = {};

    var getter = function (that, index) {
      var data = getInternalState(that);
      return data.view[GETTER](index * BYTES + data.byteOffset, true);
    };

    var setter = function (that, index, value) {
      var data = getInternalState(that);
      if (CLAMPED) value = (value = round(value)) < 0 ? 0 : value > 0xFF ? 0xFF : value & 0xFF;
      data.view[SETTER](index * BYTES + data.byteOffset, value, true);
    };

    var addElement = function (that, index) {
      nativeDefineProperty(that, index, {
        get: function () {
          return getter(this, index);
        },
        set: function (value) {
          return setter(this, index, value);
        },
        enumerable: true
      });
    };

    if (!NATIVE_ARRAY_BUFFER_VIEWS) {
      TypedArrayConstructor = wrapper(function (that, data, offset, $length) {
        anInstance(that, TypedArrayConstructorPrototype);
        var index = 0;
        var byteOffset = 0;
        var buffer, byteLength, length;
        if (!isObject(data)) {
          length = toIndex(data);
          byteLength = length * BYTES;
          buffer = new ArrayBuffer(byteLength);
        } else if (isArrayBuffer(data)) {
          buffer = data;
          byteOffset = toOffset(offset, BYTES);
          var $len = data.byteLength;
          if ($length === undefined) {
            if ($len % BYTES) throw RangeError(WRONG_LENGTH);
            byteLength = $len - byteOffset;
            if (byteLength < 0) throw RangeError(WRONG_LENGTH);
          } else {
            byteLength = toLength($length) * BYTES;
            if (byteLength + byteOffset > $len) throw RangeError(WRONG_LENGTH);
          }
          length = byteLength / BYTES;
        } else if (isTypedArray(data)) {
          return fromList(TypedArrayConstructor, data);
        } else {
          return call(typedArrayFrom, TypedArrayConstructor, data);
        }
        setInternalState(that, {
          buffer: buffer,
          byteOffset: byteOffset,
          byteLength: byteLength,
          length: length,
          view: new DataView(buffer)
        });
        while (index < length) addElement(that, index++);
      });

      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
      TypedArrayConstructorPrototype = TypedArrayConstructor.prototype = create(TypedArrayPrototype);
    } else if (TYPED_ARRAYS_CONSTRUCTORS_REQUIRES_WRAPPERS) {
      TypedArrayConstructor = wrapper(function (dummy, data, typedArrayOffset, $length) {
        anInstance(dummy, TypedArrayConstructorPrototype);
        return inheritIfRequired(function () {
          if (!isObject(data)) return new NativeTypedArrayConstructor(toIndex(data));
          if (isArrayBuffer(data)) return $length !== undefined
            ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES), $length)
            : typedArrayOffset !== undefined
              ? new NativeTypedArrayConstructor(data, toOffset(typedArrayOffset, BYTES))
              : new NativeTypedArrayConstructor(data);
          if (isTypedArray(data)) return fromList(TypedArrayConstructor, data);
          return call(typedArrayFrom, TypedArrayConstructor, data);
        }(), dummy, TypedArrayConstructor);
      });

      if (setPrototypeOf) setPrototypeOf(TypedArrayConstructor, TypedArray);
      forEach(getOwnPropertyNames(NativeTypedArrayConstructor), function (key) {
        if (!(key in TypedArrayConstructor)) {
          createNonEnumerableProperty(TypedArrayConstructor, key, NativeTypedArrayConstructor[key]);
        }
      });
      TypedArrayConstructor.prototype = TypedArrayConstructorPrototype;
    }

    if (TypedArrayConstructorPrototype.constructor !== TypedArrayConstructor) {
      createNonEnumerableProperty(TypedArrayConstructorPrototype, 'constructor', TypedArrayConstructor);
    }

    createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_CONSTRUCTOR, TypedArrayConstructor);

    if (TYPED_ARRAY_TAG) {
      createNonEnumerableProperty(TypedArrayConstructorPrototype, TYPED_ARRAY_TAG, CONSTRUCTOR_NAME);
    }

    exported[CONSTRUCTOR_NAME] = TypedArrayConstructor;

    $({
      global: true, forced: TypedArrayConstructor != NativeTypedArrayConstructor, sham: !NATIVE_ARRAY_BUFFER_VIEWS
    }, exported);

    if (!(BYTES_PER_ELEMENT in TypedArrayConstructor)) {
      createNonEnumerableProperty(TypedArrayConstructor, BYTES_PER_ELEMENT, BYTES);
    }

    if (!(BYTES_PER_ELEMENT in TypedArrayConstructorPrototype)) {
      createNonEnumerableProperty(TypedArrayConstructorPrototype, BYTES_PER_ELEMENT, BYTES);
    }

    setSpecies(CONSTRUCTOR_NAME);
  };
} else module.exports = function () { /* empty */ };


/***/ }),

/***/ "7785":
/***/ (function(module, exports, __webpack_require__) {

"use strict";


// http://stackoverflow.com/questions/10343913/how-to-create-a-web-worker-from-a-string

var URL = window.URL || window.webkitURL;

module.exports = function (content, url) {
  try {
    try {
      var blob;

      try {
        // BlobBuilder = Deprecated, but widely implemented
        var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder || window.MSBlobBuilder;

        blob = new BlobBuilder();

        blob.append(content);

        blob = blob.getBlob();
      } catch (e) {
        // The proposed API
        blob = new Blob([content]);
      }

      return new Worker(URL.createObjectURL(blob));
    } catch (e) {
      return new Worker('data:application/javascript,' + encodeURIComponent(content));
    }
  } catch (e) {
    if (!url) {
      throw Error('Inline worker is not supported');
    }

    return new Worker(url);
  }
};

/***/ }),

/***/ "77a7":
/***/ (function(module, exports, __webpack_require__) {

// IEEE754 conversions based on https://github.com/feross/ieee754
var global = __webpack_require__("da84");

var Array = global.Array;
var abs = Math.abs;
var pow = Math.pow;
var floor = Math.floor;
var log = Math.log;
var LN2 = Math.LN2;

var pack = function (number, mantissaLength, bytes) {
  var buffer = Array(bytes);
  var exponentLength = bytes * 8 - mantissaLength - 1;
  var eMax = (1 << exponentLength) - 1;
  var eBias = eMax >> 1;
  var rt = mantissaLength === 23 ? pow(2, -24) - pow(2, -77) : 0;
  var sign = number < 0 || number === 0 && 1 / number < 0 ? 1 : 0;
  var index = 0;
  var exponent, mantissa, c;
  number = abs(number);
  // eslint-disable-next-line no-self-compare -- NaN check
  if (number != number || number === Infinity) {
    // eslint-disable-next-line no-self-compare -- NaN check
    mantissa = number != number ? 1 : 0;
    exponent = eMax;
  } else {
    exponent = floor(log(number) / LN2);
    c = pow(2, -exponent);
    if (number * c < 1) {
      exponent--;
      c *= 2;
    }
    if (exponent + eBias >= 1) {
      number += rt / c;
    } else {
      number += rt * pow(2, 1 - eBias);
    }
    if (number * c >= 2) {
      exponent++;
      c /= 2;
    }
    if (exponent + eBias >= eMax) {
      mantissa = 0;
      exponent = eMax;
    } else if (exponent + eBias >= 1) {
      mantissa = (number * c - 1) * pow(2, mantissaLength);
      exponent = exponent + eBias;
    } else {
      mantissa = number * pow(2, eBias - 1) * pow(2, mantissaLength);
      exponent = 0;
    }
  }
  while (mantissaLength >= 8) {
    buffer[index++] = mantissa & 255;
    mantissa /= 256;
    mantissaLength -= 8;
  }
  exponent = exponent << mantissaLength | mantissa;
  exponentLength += mantissaLength;
  while (exponentLength > 0) {
    buffer[index++] = exponent & 255;
    exponent /= 256;
    exponentLength -= 8;
  }
  buffer[--index] |= sign * 128;
  return buffer;
};

var unpack = function (buffer, mantissaLength) {
  var bytes = buffer.length;
  var exponentLength = bytes * 8 - mantissaLength - 1;
  var eMax = (1 << exponentLength) - 1;
  var eBias = eMax >> 1;
  var nBits = exponentLength - 7;
  var index = bytes - 1;
  var sign = buffer[index--];
  var exponent = sign & 127;
  var mantissa;
  sign >>= 7;
  while (nBits > 0) {
    exponent = exponent * 256 + buffer[index--];
    nBits -= 8;
  }
  mantissa = exponent & (1 << -nBits) - 1;
  exponent >>= -nBits;
  nBits += mantissaLength;
  while (nBits > 0) {
    mantissa = mantissa * 256 + buffer[index--];
    nBits -= 8;
  }
  if (exponent === 0) {
    exponent = 1 - eBias;
  } else if (exponent === eMax) {
    return mantissa ? NaN : sign ? -Infinity : Infinity;
  } else {
    mantissa = mantissa + pow(2, mantissaLength);
    exponent = exponent - eBias;
  } return (sign ? -1 : 1) * mantissa * pow(2, exponent - mantissaLength);
};

module.exports = {
  pack: pack,
  unpack: unpack
};


/***/ }),

/***/ "7839":
/***/ (function(module, exports) {

// IE8- don't enum bug keys
module.exports = [
  'constructor',
  'hasOwnProperty',
  'isPrototypeOf',
  'propertyIsEnumerable',
  'toLocaleString',
  'toString',
  'valueOf'
];


/***/ }),

/***/ "785a":
/***/ (function(module, exports, __webpack_require__) {

// in old WebKit versions, `element.classList` is not an instance of global `DOMTokenList`
var documentCreateElement = __webpack_require__("cc12");

var classList = documentCreateElement('span').classList;
var DOMTokenListPrototype = classList && classList.constructor && classList.constructor.prototype;

module.exports = DOMTokenListPrototype === Object.prototype ? undefined : DOMTokenListPrototype;


/***/ }),

/***/ "7b0b":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var requireObjectCoercible = __webpack_require__("1d80");

var Object = global.Object;

// `ToObject` abstract operation
// https://tc39.es/ecma262/#sec-toobject
module.exports = function (argument) {
  return Object(requireObjectCoercible(argument));
};


/***/ }),

/***/ "7b8c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c4e9");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ImproCreateUpdate_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "7c34":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Dialog_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("0695");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Dialog_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Dialog_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "7c73":
/***/ (function(module, exports, __webpack_require__) {

/* global ActiveXObject -- old IE, WSH */
var anObject = __webpack_require__("825a");
var definePropertiesModule = __webpack_require__("37e8");
var enumBugKeys = __webpack_require__("7839");
var hiddenKeys = __webpack_require__("d012");
var html = __webpack_require__("1be4");
var documentCreateElement = __webpack_require__("cc12");
var sharedKey = __webpack_require__("f772");

var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');

var EmptyConstructor = function () { /* empty */ };

var scriptTag = function (content) {
  return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};

// Create object with fake `null` prototype: use ActiveX Object with cleared prototype
var NullProtoObjectViaActiveX = function (activeXDocument) {
  activeXDocument.write(scriptTag(''));
  activeXDocument.close();
  var temp = activeXDocument.parentWindow.Object;
  activeXDocument = null; // avoid memory leak
  return temp;
};

// Create object with fake `null` prototype: use iframe Object with cleared prototype
var NullProtoObjectViaIFrame = function () {
  // Thrash, waste and sodomy: IE GC bug
  var iframe = documentCreateElement('iframe');
  var JS = 'java' + SCRIPT + ':';
  var iframeDocument;
  iframe.style.display = 'none';
  html.appendChild(iframe);
  // https://github.com/zloirock/core-js/issues/475
  iframe.src = String(JS);
  iframeDocument = iframe.contentWindow.document;
  iframeDocument.open();
  iframeDocument.write(scriptTag('document.F=Object'));
  iframeDocument.close();
  return iframeDocument.F;
};

// Check for document.domain and active x support
// No need to use active x approach when document.domain is not set
// see https://github.com/es-shims/es5-shim/issues/150
// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346
// avoid IE GC bug
var activeXDocument;
var NullProtoObject = function () {
  try {
    activeXDocument = new ActiveXObject('htmlfile');
  } catch (error) { /* ignore */ }
  NullProtoObject = typeof document != 'undefined'
    ? document.domain && activeXDocument
      ? NullProtoObjectViaActiveX(activeXDocument) // old IE
      : NullProtoObjectViaIFrame()
    : NullProtoObjectViaActiveX(activeXDocument); // WSH
  var length = enumBugKeys.length;
  while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
  return NullProtoObject();
};

hiddenKeys[IE_PROTO] = true;

// `Object.create` method
// https://tc39.es/ecma262/#sec-object.create
module.exports = Object.create || function create(O, Properties) {
  var result;
  if (O !== null) {
    EmptyConstructor[PROTOTYPE] = anObject(O);
    result = new EmptyConstructor();
    EmptyConstructor[PROTOTYPE] = null;
    // add "__proto__" for Object.getPrototypeOf polyfill
    result[IE_PROTO] = O;
  } else result = NullProtoObject();
  return Properties === undefined ? result : definePropertiesModule.f(result, Properties);
};


/***/ }),

/***/ "7dd0":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var call = __webpack_require__("c65b");
var IS_PURE = __webpack_require__("c430");
var FunctionName = __webpack_require__("5e77");
var isCallable = __webpack_require__("1626");
var createIteratorConstructor = __webpack_require__("9ed3");
var getPrototypeOf = __webpack_require__("e163");
var setPrototypeOf = __webpack_require__("d2bb");
var setToStringTag = __webpack_require__("d44e");
var createNonEnumerableProperty = __webpack_require__("9112");
var redefine = __webpack_require__("6eeb");
var wellKnownSymbol = __webpack_require__("b622");
var Iterators = __webpack_require__("3f8c");
var IteratorsCore = __webpack_require__("ae93");

var PROPER_FUNCTION_NAME = FunctionName.PROPER;
var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';

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

module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
  createIteratorConstructor(IteratorConstructor, NAME, next);

  var getIterationMethod = function (KIND) {
    if (KIND === DEFAULT && defaultIterator) return defaultIterator;
    if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];
    switch (KIND) {
      case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };
      case VALUES: return function values() { return new IteratorConstructor(this, KIND); };
      case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };
    } return function () { return new IteratorConstructor(this); };
  };

  var TO_STRING_TAG = NAME + ' Iterator';
  var INCORRECT_VALUES_NAME = false;
  var IterablePrototype = Iterable.prototype;
  var nativeIterator = IterablePrototype[ITERATOR]
    || IterablePrototype['@@iterator']
    || DEFAULT && IterablePrototype[DEFAULT];
  var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
  var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
  var CurrentIteratorPrototype, methods, KEY;

  // fix native
  if (anyNativeIterator) {
    CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
    if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
      if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
        if (setPrototypeOf) {
          setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
        } else if (!isCallable(CurrentIteratorPrototype[ITERATOR])) {
          redefine(CurrentIteratorPrototype, ITERATOR, returnThis);
        }
      }
      // Set @@toStringTag to native iterators
      setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
      if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;
    }
  }

  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
  if (PROPER_FUNCTION_NAME && DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
    if (!IS_PURE && CONFIGURABLE_FUNCTION_NAME) {
      createNonEnumerableProperty(IterablePrototype, 'name', VALUES);
    } else {
      INCORRECT_VALUES_NAME = true;
      defaultIterator = function values() { return call(nativeIterator, this); };
    }
  }

  // export additional methods
  if (DEFAULT) {
    methods = {
      values: getIterationMethod(VALUES),
      keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
      entries: getIterationMethod(ENTRIES)
    };
    if (FORCED) for (KEY in methods) {
      if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
        redefine(IterablePrototype, KEY, methods[KEY]);
      }
    } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
  }

  // define iterator
  if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
    redefine(IterablePrototype, ITERATOR, defaultIterator, { name: DEFAULT });
  }
  Iterators[NAME] = defaultIterator;

  return methods;
};


/***/ }),

/***/ "7f9a":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");
var inspectSource = __webpack_require__("8925");

var WeakMap = global.WeakMap;

module.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));


/***/ }),

/***/ 8:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "81b0":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "81d5":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toObject = __webpack_require__("7b0b");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");

// `Array.prototype.fill` method implementation
// https://tc39.es/ecma262/#sec-array.prototype.fill
module.exports = function fill(value /* , start = 0, end = @length */) {
  var O = toObject(this);
  var length = lengthOfArrayLike(O);
  var argumentsLength = arguments.length;
  var index = toAbsoluteIndex(argumentsLength > 1 ? arguments[1] : undefined, length);
  var end = argumentsLength > 2 ? arguments[2] : undefined;
  var endPos = end === undefined ? length : toAbsoluteIndex(end, length);
  while (endPos > index) O[index++] = value;
  return O;
};


/***/ }),

/***/ "825a":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isObject = __webpack_require__("861d");

var String = global.String;
var TypeError = global.TypeError;

// `Assert: Type(argument) is Object`
module.exports = function (argument) {
  if (isObject(argument)) return argument;
  throw TypeError(String(argument) + ' is not an object');
};


/***/ }),

/***/ "82f8":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $includes = __webpack_require__("4d64").includes;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.includes` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.includes
exportTypedArrayMethod('includes', function includes(searchElement /* , fromIndex */) {
  return $includes(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "83ab":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");

// Detect IE8's incomplete defineProperty implementation
module.exports = !fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
});


/***/ }),

/***/ "83da":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8418":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toPropertyKey = __webpack_require__("a04b");
var definePropertyModule = __webpack_require__("9bf2");
var createPropertyDescriptor = __webpack_require__("5c6c");

module.exports = function (object, key, value) {
  var propertyKey = toPropertyKey(key);
  if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
  else object[propertyKey] = value;
};


/***/ }),

/***/ "841c":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var call = __webpack_require__("c65b");
var fixRegExpWellKnownSymbolLogic = __webpack_require__("d784");
var anObject = __webpack_require__("825a");
var requireObjectCoercible = __webpack_require__("1d80");
var sameValue = __webpack_require__("129f");
var toString = __webpack_require__("577e");
var getMethod = __webpack_require__("dc4a");
var regExpExec = __webpack_require__("14c3");

// @@search logic
fixRegExpWellKnownSymbolLogic('search', function (SEARCH, nativeSearch, maybeCallNative) {
  return [
    // `String.prototype.search` method
    // https://tc39.es/ecma262/#sec-string.prototype.search
    function search(regexp) {
      var O = requireObjectCoercible(this);
      var searcher = regexp == undefined ? undefined : getMethod(regexp, SEARCH);
      return searcher ? call(searcher, regexp, O) : new RegExp(regexp)[SEARCH](toString(O));
    },
    // `RegExp.prototype[@@search]` method
    // https://tc39.es/ecma262/#sec-regexp.prototype-@@search
    function (string) {
      var rx = anObject(this);
      var S = toString(string);
      var res = maybeCallNative(nativeSearch, rx, S);

      if (res.done) return res.value;

      var previousLastIndex = rx.lastIndex;
      if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0;
      var result = regExpExec(rx, S);
      if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex;
      return result === null ? -1 : result.index;
    }
  ];
});


/***/ }),

/***/ "84b3":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8567":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DrawerColumn_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4e4f");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DrawerColumn_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DrawerColumn_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "857c":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/empty.c7573857.png";

/***/ }),

/***/ "861d":
/***/ (function(module, exports, __webpack_require__) {

var isCallable = __webpack_require__("1626");

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


/***/ }),

/***/ "86c1":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormTitle_vue_vue_type_style_index_0_id_3866f80e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("37d0");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormTitle_vue_vue_type_style_index_0_id_3866f80e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormTitle_vue_vue_type_style_index_0_id_3866f80e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "8875":
/***/ (function(module, exports, __webpack_require__) {

var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// addapted from the document.currentScript polyfill by Adam Miller
// MIT license
// source: https://github.com/amiller-gh/currentScript-polyfill

// added support for Firefox https://bugzilla.mozilla.org/show_bug.cgi?id=1620505

(function (root, factory) {
  if (true) {
    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
				__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
				(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  } else {}
}(typeof self !== 'undefined' ? self : this, function () {
  function getCurrentScript () {
    var descriptor = Object.getOwnPropertyDescriptor(document, 'currentScript')
    // for chrome
    if (!descriptor && 'currentScript' in document && document.currentScript) {
      return document.currentScript
    }

    // for other browsers with native support for currentScript
    if (descriptor && descriptor.get !== getCurrentScript && document.currentScript) {
      return document.currentScript
    }
  
    // IE 8-10 support script readyState
    // IE 11+ & Firefox support stack trace
    try {
      throw new Error();
    }
    catch (err) {
      // Find the second match for the "at" string to get file src url from stack.
      var ieStackRegExp = /.*at [^(]*\((.*):(.+):(.+)\)$/ig,
        ffStackRegExp = /@([^@]*):(\d+):(\d+)\s*$/ig,
        stackDetails = ieStackRegExp.exec(err.stack) || ffStackRegExp.exec(err.stack),
        scriptLocation = (stackDetails && stackDetails[1]) || false,
        line = (stackDetails && stackDetails[2]) || false,
        currentLocation = document.location.href.replace(document.location.hash, ''),
        pageSource,
        inlineScriptSourceRegExp,
        inlineScriptSource,
        scripts = document.getElementsByTagName('script'); // Live NodeList collection
  
      if (scriptLocation === currentLocation) {
        pageSource = document.documentElement.outerHTML;
        inlineScriptSourceRegExp = new RegExp('(?:[^\\n]+?\\n){0,' + (line - 2) + '}[^<]*<script>([\\d\\D]*?)<\\/script>[\\d\\D]*', 'i');
        inlineScriptSource = pageSource.replace(inlineScriptSourceRegExp, '$1').trim();
      }
  
      for (var i = 0; i < scripts.length; i++) {
        // If ready state is interactive, return the script tag
        if (scripts[i].readyState === 'interactive') {
          return scripts[i];
        }
  
        // If src matches, return the script tag
        if (scripts[i].src === scriptLocation) {
          return scripts[i];
        }
  
        // If inline source matches, return the script tag
        if (
          scriptLocation === currentLocation &&
          scripts[i].innerHTML &&
          scripts[i].innerHTML.trim() === inlineScriptSource
        ) {
          return scripts[i];
        }
      }
  
      // If no match, return null
      return null;
    }
  };

  return getCurrentScript
}));


/***/ }),

/***/ "8925":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var isCallable = __webpack_require__("1626");
var store = __webpack_require__("c6cd");

var functionToString = uncurryThis(Function.toString);

// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
if (!isCallable(store.inspectSource)) {
  store.inspectSource = function (it) {
    return functionToString(it);
  };
}

module.exports = store.inspectSource;


/***/ }),

/***/ "896d":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8aa5":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var charAt = __webpack_require__("6547").charAt;

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


/***/ }),

/***/ "8aa7":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable no-new -- required for testing */
var global = __webpack_require__("da84");
var fails = __webpack_require__("d039");
var checkCorrectnessOfIteration = __webpack_require__("1c7e");
var NATIVE_ARRAY_BUFFER_VIEWS = __webpack_require__("ebb5").NATIVE_ARRAY_BUFFER_VIEWS;

var ArrayBuffer = global.ArrayBuffer;
var Int8Array = global.Int8Array;

module.exports = !NATIVE_ARRAY_BUFFER_VIEWS || !fails(function () {
  Int8Array(1);
}) || !fails(function () {
  new Int8Array(-1);
}) || !checkCorrectnessOfIteration(function (iterable) {
  new Int8Array();
  new Int8Array(null);
  new Int8Array(1.5);
  new Int8Array(iterable);
}, true) || fails(function () {
  // Safari (11+) bug - a reason why even Safari 13 should load a typed array polyfill
  return new Int8Array(new ArrayBuffer(2), 1, undefined).length !== 1;
});


/***/ }),

/***/ "8bbf":
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE__8bbf__;

/***/ }),

/***/ "8c22":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8d65":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8d87":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "8e77":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_405_vue_vue_type_style_index_0_id_30c9bedf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("9a6d");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_405_vue_vue_type_style_index_0_id_30c9bedf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_405_vue_vue_type_style_index_0_id_30c9bedf_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "8f37":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ 9:
/***/ (function(module, exports) {

/* (ignored) */

/***/ }),

/***/ "907a":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var lengthOfArrayLike = __webpack_require__("07fa");
var toIntegerOrInfinity = __webpack_require__("5926");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.at` method
// https://github.com/tc39/proposal-relative-indexing-method
exportTypedArrayMethod('at', function at(index) {
  var O = aTypedArray(this);
  var len = lengthOfArrayLike(O);
  var relativeIndex = toIntegerOrInfinity(index);
  var k = relativeIndex >= 0 ? relativeIndex : len + relativeIndex;
  return (k < 0 || k >= len) ? undefined : O[k];
});


/***/ }),

/***/ "90e3":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

var id = 0;
var postfix = Math.random();
var toString = uncurryThis(1.0.toString);

module.exports = function (key) {
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);
};


/***/ }),

/***/ "9112":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var definePropertyModule = __webpack_require__("9bf2");
var createPropertyDescriptor = __webpack_require__("5c6c");

module.exports = DESCRIPTORS ? function (object, key, value) {
  return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
  object[key] = value;
  return object;
};


/***/ }),

/***/ "9152":
/***/ (function(module, exports) {

/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
exports.read = function (buffer, offset, isLE, mLen, nBytes) {
  var e, m
  var eLen = (nBytes * 8) - mLen - 1
  var eMax = (1 << eLen) - 1
  var eBias = eMax >> 1
  var nBits = -7
  var i = isLE ? (nBytes - 1) : 0
  var d = isLE ? -1 : 1
  var s = buffer[offset + i]

  i += d

  e = s & ((1 << (-nBits)) - 1)
  s >>= (-nBits)
  nBits += eLen
  for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}

  m = e & ((1 << (-nBits)) - 1)
  e >>= (-nBits)
  nBits += mLen
  for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}

  if (e === 0) {
    e = 1 - eBias
  } else if (e === eMax) {
    return m ? NaN : ((s ? -1 : 1) * Infinity)
  } else {
    m = m + Math.pow(2, mLen)
    e = e - eBias
  }
  return (s ? -1 : 1) * m * Math.pow(2, e - mLen)
}

exports.write = function (buffer, value, offset, isLE, mLen, nBytes) {
  var e, m, c
  var eLen = (nBytes * 8) - mLen - 1
  var eMax = (1 << eLen) - 1
  var eBias = eMax >> 1
  var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)
  var i = isLE ? 0 : (nBytes - 1)
  var d = isLE ? 1 : -1
  var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0

  value = Math.abs(value)

  if (isNaN(value) || value === Infinity) {
    m = isNaN(value) ? 1 : 0
    e = eMax
  } else {
    e = Math.floor(Math.log(value) / Math.LN2)
    if (value * (c = Math.pow(2, -e)) < 1) {
      e--
      c *= 2
    }
    if (e + eBias >= 1) {
      value += rt / c
    } else {
      value += rt * Math.pow(2, 1 - eBias)
    }
    if (value * c >= 2) {
      e++
      c /= 2
    }

    if (e + eBias >= eMax) {
      m = 0
      e = eMax
    } else if (e + eBias >= 1) {
      m = ((value * c) - 1) * Math.pow(2, mLen)
      e = e + eBias
    } else {
      m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)
      e = 0
    }
  }

  for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}

  e = (e << mLen) | m
  eLen += mLen
  for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}

  buffer[offset + i - d] |= s * 128
}


/***/ }),

/***/ "9263":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
/* eslint-disable regexp/no-useless-quantifier -- testing */
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var toString = __webpack_require__("577e");
var regexpFlags = __webpack_require__("ad6d");
var stickyHelpers = __webpack_require__("9f7f");
var shared = __webpack_require__("5692");
var create = __webpack_require__("7c73");
var getInternalState = __webpack_require__("69f3").get;
var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3");
var UNSUPPORTED_NCG = __webpack_require__("107c");

var nativeReplace = shared('native-string-replace', String.prototype.replace);
var nativeExec = RegExp.prototype.exec;
var patchedExec = nativeExec;
var charAt = uncurryThis(''.charAt);
var indexOf = uncurryThis(''.indexOf);
var replace = uncurryThis(''.replace);
var stringSlice = uncurryThis(''.slice);

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

var UNSUPPORTED_Y = stickyHelpers.BROKEN_CARET;

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

var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;

if (PATCH) {
  patchedExec = function exec(string) {
    var re = this;
    var state = getInternalState(re);
    var str = toString(string);
    var raw = state.raw;
    var result, reCopy, lastIndex, match, i, object, group;

    if (raw) {
      raw.lastIndex = re.lastIndex;
      result = call(patchedExec, raw, str);
      re.lastIndex = raw.lastIndex;
      return result;
    }

    var groups = state.groups;
    var sticky = UNSUPPORTED_Y && re.sticky;
    var flags = call(regexpFlags, re);
    var source = re.source;
    var charsAdded = 0;
    var strCopy = str;

    if (sticky) {
      flags = replace(flags, 'y', '');
      if (indexOf(flags, 'g') === -1) {
        flags += 'g';
      }

      strCopy = stringSlice(str, re.lastIndex);
      // Support anchored sticky behavior.
      if (re.lastIndex > 0 && (!re.multiline || re.multiline && charAt(str, re.lastIndex - 1) !== '\n')) {
        source = '(?: ' + source + ')';
        strCopy = ' ' + strCopy;
        charsAdded++;
      }
      // ^(? + rx + ) is needed, in combination with some str slicing, to
      // simulate the 'y' flag.
      reCopy = new RegExp('^(?:' + source + ')', flags);
    }

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

    match = call(nativeExec, sticky ? reCopy : re, strCopy);

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

    if (match && groups) {
      match.groups = object = create(null);
      for (i = 0; i < groups.length; i++) {
        group = groups[i];
        object[group[0]] = match[group[1]];
      }
    }

    return match;
  };
}

module.exports = patchedExec;


/***/ }),

/***/ "94ca":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var isCallable = __webpack_require__("1626");

var replacement = /#|\.prototype\./;

var isForced = function (feature, detection) {
  var value = data[normalize(feature)];
  return value == POLYFILL ? true
    : value == NATIVE ? false
    : isCallable(detection) ? fails(detection)
    : !!detection;
};

var normalize = isForced.normalize = function (string) {
  return String(string).replace(replacement, '.').toLowerCase();
};

var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';

module.exports = isForced;


/***/ }),

/***/ "96cf":
/***/ (function(module, exports, __webpack_require__) {

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

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

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

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

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

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

    return generator;
  }
  exports.wrap = wrap;

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

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

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

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

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

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

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

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

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

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

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

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

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

    var previousPromise;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

          context.dispatchException(context.arg);

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

        state = GenStateExecuting;

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

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

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

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

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

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

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

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

      return ContinueSentinel;
    }

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

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

    var info = record.arg;

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

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

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

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

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

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

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

  define(Gp, toStringTagSymbol, "Generator");

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

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

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

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

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

    this.tryEntries.push(entry);
  }

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

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

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

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

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

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

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

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

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

          return next;
        };

        return next.next = next;
      }
    }

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

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

  Context.prototype = {
    constructor: Context,

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

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

      this.tryEntries.forEach(resetTryEntry);

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

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

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

      return this.rval;
    },

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

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

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

        return !! caught;
      }

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

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

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

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

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

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

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

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

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

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

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

      return this.complete(record);
    },

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

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

      return ContinueSentinel;
    },

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

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

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

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

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

      return ContinueSentinel;
    }
  };

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

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

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


/***/ }),

/***/ "9852":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderInfoBar_vue_vue_type_style_index_0_id_8f4ecd92_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cf6b");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderInfoBar_vue_vue_type_style_index_0_id_8f4ecd92_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderInfoBar_vue_vue_type_style_index_0_id_8f4ecd92_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "9861":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: in core-js@4, move /modules/ dependencies to public entries for better optimization by tools like `preset-env`
__webpack_require__("e260");
var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var getBuiltIn = __webpack_require__("d066");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var USE_NATIVE_URL = __webpack_require__("0d3b");
var redefine = __webpack_require__("6eeb");
var redefineAll = __webpack_require__("e2cc");
var setToStringTag = __webpack_require__("d44e");
var createIteratorConstructor = __webpack_require__("9ed3");
var InternalStateModule = __webpack_require__("69f3");
var anInstance = __webpack_require__("19aa");
var isCallable = __webpack_require__("1626");
var hasOwn = __webpack_require__("1a2d");
var bind = __webpack_require__("0366");
var classof = __webpack_require__("f5df");
var anObject = __webpack_require__("825a");
var isObject = __webpack_require__("861d");
var $toString = __webpack_require__("577e");
var create = __webpack_require__("7c73");
var createPropertyDescriptor = __webpack_require__("5c6c");
var getIterator = __webpack_require__("9a1f");
var getIteratorMethod = __webpack_require__("35a1");
var validateArgumentsLength = __webpack_require__("d6d6");
var wellKnownSymbol = __webpack_require__("b622");
var arraySort = __webpack_require__("addb");

var ITERATOR = wellKnownSymbol('iterator');
var URL_SEARCH_PARAMS = 'URLSearchParams';
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
var setInternalState = InternalStateModule.set;
var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);

var n$Fetch = getBuiltIn('fetch');
var N$Request = getBuiltIn('Request');
var Headers = getBuiltIn('Headers');
var RequestPrototype = N$Request && N$Request.prototype;
var HeadersPrototype = Headers && Headers.prototype;
var RegExp = global.RegExp;
var TypeError = global.TypeError;
var decodeURIComponent = global.decodeURIComponent;
var encodeURIComponent = global.encodeURIComponent;
var charAt = uncurryThis(''.charAt);
var join = uncurryThis([].join);
var push = uncurryThis([].push);
var replace = uncurryThis(''.replace);
var shift = uncurryThis([].shift);
var splice = uncurryThis([].splice);
var split = uncurryThis(''.split);
var stringSlice = uncurryThis(''.slice);

var plus = /\+/g;
var sequences = Array(4);

var percentSequence = function (bytes) {
  return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
};

var percentDecode = function (sequence) {
  try {
    return decodeURIComponent(sequence);
  } catch (error) {
    return sequence;
  }
};

var deserialize = function (it) {
  var result = replace(it, plus, ' ');
  var bytes = 4;
  try {
    return decodeURIComponent(result);
  } catch (error) {
    while (bytes) {
      result = replace(result, percentSequence(bytes--), percentDecode);
    }
    return result;
  }
};

var find = /[!'()~]|%20/g;

var replacements = {
  '!': '%21',
  "'": '%27',
  '(': '%28',
  ')': '%29',
  '~': '%7E',
  '%20': '+'
};

var replacer = function (match) {
  return replacements[match];
};

var serialize = function (it) {
  return replace(encodeURIComponent(it), find, replacer);
};

var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
  setInternalState(this, {
    type: URL_SEARCH_PARAMS_ITERATOR,
    iterator: getIterator(getInternalParamsState(params).entries),
    kind: kind
  });
}, 'Iterator', function next() {
  var state = getInternalIteratorState(this);
  var kind = state.kind;
  var step = state.iterator.next();
  var entry = step.value;
  if (!step.done) {
    step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [entry.key, entry.value];
  } return step;
}, true);

var URLSearchParamsState = function (init) {
  this.entries = [];
  this.url = null;

  if (init !== undefined) {
    if (isObject(init)) this.parseObject(init);
    else this.parseQuery(typeof init == 'string' ? charAt(init, 0) === '?' ? stringSlice(init, 1) : init : $toString(init));
  }
};

URLSearchParamsState.prototype = {
  type: URL_SEARCH_PARAMS,
  bindURL: function (url) {
    this.url = url;
    this.update();
  },
  parseObject: function (object) {
    var iteratorMethod = getIteratorMethod(object);
    var iterator, next, step, entryIterator, entryNext, first, second;

    if (iteratorMethod) {
      iterator = getIterator(object, iteratorMethod);
      next = iterator.next;
      while (!(step = call(next, iterator)).done) {
        entryIterator = getIterator(anObject(step.value));
        entryNext = entryIterator.next;
        if (
          (first = call(entryNext, entryIterator)).done ||
          (second = call(entryNext, entryIterator)).done ||
          !call(entryNext, entryIterator).done
        ) throw TypeError('Expected sequence with length 2');
        push(this.entries, { key: $toString(first.value), value: $toString(second.value) });
      }
    } else for (var key in object) if (hasOwn(object, key)) {
      push(this.entries, { key: key, value: $toString(object[key]) });
    }
  },
  parseQuery: function (query) {
    if (query) {
      var attributes = split(query, '&');
      var index = 0;
      var attribute, entry;
      while (index < attributes.length) {
        attribute = attributes[index++];
        if (attribute.length) {
          entry = split(attribute, '=');
          push(this.entries, {
            key: deserialize(shift(entry)),
            value: deserialize(join(entry, '='))
          });
        }
      }
    }
  },
  serialize: function () {
    var entries = this.entries;
    var result = [];
    var index = 0;
    var entry;
    while (index < entries.length) {
      entry = entries[index++];
      push(result, serialize(entry.key) + '=' + serialize(entry.value));
    } return join(result, '&');
  },
  update: function () {
    this.entries.length = 0;
    this.parseQuery(this.url.query);
  },
  updateURL: function () {
    if (this.url) this.url.update();
  }
};

// `URLSearchParams` constructor
// https://url.spec.whatwg.org/#interface-urlsearchparams
var URLSearchParamsConstructor = function URLSearchParams(/* init */) {
  anInstance(this, URLSearchParamsPrototype);
  var init = arguments.length > 0 ? arguments[0] : undefined;
  setInternalState(this, new URLSearchParamsState(init));
};

var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;

redefineAll(URLSearchParamsPrototype, {
  // `URLSearchParams.prototype.append` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-append
  append: function append(name, value) {
    validateArgumentsLength(arguments.length, 2);
    var state = getInternalParamsState(this);
    push(state.entries, { key: $toString(name), value: $toString(value) });
    state.updateURL();
  },
  // `URLSearchParams.prototype.delete` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-delete
  'delete': function (name) {
    validateArgumentsLength(arguments.length, 1);
    var state = getInternalParamsState(this);
    var entries = state.entries;
    var key = $toString(name);
    var index = 0;
    while (index < entries.length) {
      if (entries[index].key === key) splice(entries, index, 1);
      else index++;
    }
    state.updateURL();
  },
  // `URLSearchParams.prototype.get` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-get
  get: function get(name) {
    validateArgumentsLength(arguments.length, 1);
    var entries = getInternalParamsState(this).entries;
    var key = $toString(name);
    var index = 0;
    for (; index < entries.length; index++) {
      if (entries[index].key === key) return entries[index].value;
    }
    return null;
  },
  // `URLSearchParams.prototype.getAll` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-getall
  getAll: function getAll(name) {
    validateArgumentsLength(arguments.length, 1);
    var entries = getInternalParamsState(this).entries;
    var key = $toString(name);
    var result = [];
    var index = 0;
    for (; index < entries.length; index++) {
      if (entries[index].key === key) push(result, entries[index].value);
    }
    return result;
  },
  // `URLSearchParams.prototype.has` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-has
  has: function has(name) {
    validateArgumentsLength(arguments.length, 1);
    var entries = getInternalParamsState(this).entries;
    var key = $toString(name);
    var index = 0;
    while (index < entries.length) {
      if (entries[index++].key === key) return true;
    }
    return false;
  },
  // `URLSearchParams.prototype.set` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-set
  set: function set(name, value) {
    validateArgumentsLength(arguments.length, 1);
    var state = getInternalParamsState(this);
    var entries = state.entries;
    var found = false;
    var key = $toString(name);
    var val = $toString(value);
    var index = 0;
    var entry;
    for (; index < entries.length; index++) {
      entry = entries[index];
      if (entry.key === key) {
        if (found) splice(entries, index--, 1);
        else {
          found = true;
          entry.value = val;
        }
      }
    }
    if (!found) push(entries, { key: key, value: val });
    state.updateURL();
  },
  // `URLSearchParams.prototype.sort` method
  // https://url.spec.whatwg.org/#dom-urlsearchparams-sort
  sort: function sort() {
    var state = getInternalParamsState(this);
    arraySort(state.entries, function (a, b) {
      return a.key > b.key ? 1 : -1;
    });
    state.updateURL();
  },
  // `URLSearchParams.prototype.forEach` method
  forEach: function forEach(callback /* , thisArg */) {
    var entries = getInternalParamsState(this).entries;
    var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined);
    var index = 0;
    var entry;
    while (index < entries.length) {
      entry = entries[index++];
      boundFunction(entry.value, entry.key, this);
    }
  },
  // `URLSearchParams.prototype.keys` method
  keys: function keys() {
    return new URLSearchParamsIterator(this, 'keys');
  },
  // `URLSearchParams.prototype.values` method
  values: function values() {
    return new URLSearchParamsIterator(this, 'values');
  },
  // `URLSearchParams.prototype.entries` method
  entries: function entries() {
    return new URLSearchParamsIterator(this, 'entries');
  }
}, { enumerable: true });

// `URLSearchParams.prototype[@@iterator]` method
redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries, { name: 'entries' });

// `URLSearchParams.prototype.toString` method
// https://url.spec.whatwg.org/#urlsearchparams-stringification-behavior
redefine(URLSearchParamsPrototype, 'toString', function toString() {
  return getInternalParamsState(this).serialize();
}, { enumerable: true });

setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);

$({ global: true, forced: !USE_NATIVE_URL }, {
  URLSearchParams: URLSearchParamsConstructor
});

// Wrap `fetch` and `Request` for correct work with polyfilled `URLSearchParams`
if (!USE_NATIVE_URL && isCallable(Headers)) {
  var headersHas = uncurryThis(HeadersPrototype.has);
  var headersSet = uncurryThis(HeadersPrototype.set);

  var wrapRequestOptions = function (init) {
    if (isObject(init)) {
      var body = init.body;
      var headers;
      if (classof(body) === URL_SEARCH_PARAMS) {
        headers = init.headers ? new Headers(init.headers) : new Headers();
        if (!headersHas(headers, 'content-type')) {
          headersSet(headers, 'content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
        }
        return create(init, {
          body: createPropertyDescriptor(0, $toString(body)),
          headers: createPropertyDescriptor(0, headers)
        });
      }
    } return init;
  };

  if (isCallable(n$Fetch)) {
    $({ global: true, enumerable: true, forced: true }, {
      fetch: function fetch(input /* , init */) {
        return n$Fetch(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
      }
    });
  }

  if (isCallable(N$Request)) {
    var RequestConstructor = function Request(input /* , init */) {
      anInstance(this, RequestPrototype);
      return new N$Request(input, arguments.length > 1 ? wrapRequestOptions(arguments[1]) : {});
    };

    RequestPrototype.constructor = RequestConstructor;
    RequestConstructor.prototype = RequestPrototype;

    $({ global: true, forced: true }, {
      Request: RequestConstructor
    });
  }
}

module.exports = {
  URLSearchParams: URLSearchParamsConstructor,
  getState: getInternalParamsState
};


/***/ }),

/***/ "999a":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProcessNode_vue_vue_type_style_index_0_id_50e657a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2347");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProcessNode_vue_vue_type_style_index_0_id_50e657a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ProcessNode_vue_vue_type_style_index_0_id_50e657a4_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "99af":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var fails = __webpack_require__("d039");
var isArray = __webpack_require__("e8b5");
var isObject = __webpack_require__("861d");
var toObject = __webpack_require__("7b0b");
var lengthOfArrayLike = __webpack_require__("07fa");
var createProperty = __webpack_require__("8418");
var arraySpeciesCreate = __webpack_require__("65f0");
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");
var wellKnownSymbol = __webpack_require__("b622");
var V8_VERSION = __webpack_require__("2d00");

var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
var TypeError = global.TypeError;

// We can't use this feature detection in V8 since it causes
// deoptimization and serious performance degradation
// https://github.com/zloirock/core-js/issues/679
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
  var array = [];
  array[IS_CONCAT_SPREADABLE] = false;
  return array.concat()[0] !== array;
});

var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');

var isConcatSpreadable = function (O) {
  if (!isObject(O)) return false;
  var spreadable = O[IS_CONCAT_SPREADABLE];
  return spreadable !== undefined ? !!spreadable : isArray(O);
};

var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;

// `Array.prototype.concat` method
// https://tc39.es/ecma262/#sec-array.prototype.concat
// with adding support of @@isConcatSpreadable and @@species
$({ target: 'Array', proto: true, forced: FORCED }, {
  // eslint-disable-next-line no-unused-vars -- required for `.length`
  concat: function concat(arg) {
    var O = toObject(this);
    var A = arraySpeciesCreate(O, 0);
    var n = 0;
    var i, k, length, len, E;
    for (i = -1, length = arguments.length; i < length; i++) {
      E = i === -1 ? O : arguments[i];
      if (isConcatSpreadable(E)) {
        len = lengthOfArrayLike(E);
        if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
        for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);
      } else {
        if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
        createProperty(A, n++, E);
      }
    }
    A.length = n;
    return A;
  }
});


/***/ }),

/***/ "9a1f":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var aCallable = __webpack_require__("59ed");
var anObject = __webpack_require__("825a");
var tryToString = __webpack_require__("0d51");
var getIteratorMethod = __webpack_require__("35a1");

var TypeError = global.TypeError;

module.exports = function (argument, usingIterator) {
  var iteratorMethod = arguments.length < 2 ? getIteratorMethod(argument) : usingIterator;
  if (aCallable(iteratorMethod)) return anObject(call(iteratorMethod, argument));
  throw TypeError(tryToString(argument) + ' is not iterable');
};


/***/ }),

/***/ "9a6d":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "9a8c":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var uncurryThis = __webpack_require__("e330");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var $ArrayCopyWithin = __webpack_require__("145e");

var u$ArrayCopyWithin = uncurryThis($ArrayCopyWithin);
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.copyWithin` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.copywithin
exportTypedArrayMethod('copyWithin', function copyWithin(target, start /* , end */) {
  return u$ArrayCopyWithin(aTypedArray(this), target, start, arguments.length > 2 ? arguments[2] : undefined);
});


/***/ }),

/***/ "9b8f":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/avatar.e147bdeb.png";

/***/ }),

/***/ "9bb1":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Form_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("62c4");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Form_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Form_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "9bdd":
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__("825a");
var iteratorClose = __webpack_require__("2a62");

// call something on iterator step with safe closing on error
module.exports = function (iterator, fn, value, ENTRIES) {
  try {
    return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
  } catch (error) {
    iteratorClose(iterator, 'throw', error);
  }
};


/***/ }),

/***/ "9bf2":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var DESCRIPTORS = __webpack_require__("83ab");
var IE8_DOM_DEFINE = __webpack_require__("0cfb");
var V8_PROTOTYPE_DEFINE_BUG = __webpack_require__("aed9");
var anObject = __webpack_require__("825a");
var toPropertyKey = __webpack_require__("a04b");

var TypeError = global.TypeError;
// eslint-disable-next-line es/no-object-defineproperty -- safe
var $defineProperty = Object.defineProperty;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var ENUMERABLE = 'enumerable';
var CONFIGURABLE = 'configurable';
var WRITABLE = 'writable';

// `Object.defineProperty` method
// https://tc39.es/ecma262/#sec-object.defineproperty
exports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPropertyKey(P);
  anObject(Attributes);
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
    var current = $getOwnPropertyDescriptor(O, P);
    if (current && current[WRITABLE]) {
      O[P] = Attributes.value;
      Attributes = {
        configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],
        enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
        writable: false
      };
    }
  } return $defineProperty(O, P, Attributes);
} : $defineProperty : function defineProperty(O, P, Attributes) {
  anObject(O);
  P = toPropertyKey(P);
  anObject(Attributes);
  if (IE8_DOM_DEFINE) try {
    return $defineProperty(O, P, Attributes);
  } catch (error) { /* empty */ }
  if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
  if ('value' in Attributes) O[P] = Attributes.value;
  return O;
};


/***/ }),

/***/ "9ed3":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var IteratorPrototype = __webpack_require__("ae93").IteratorPrototype;
var create = __webpack_require__("7c73");
var createPropertyDescriptor = __webpack_require__("5c6c");
var setToStringTag = __webpack_require__("d44e");
var Iterators = __webpack_require__("3f8c");

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

module.exports = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
  var TO_STRING_TAG = NAME + ' Iterator';
  IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
  setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
  Iterators[TO_STRING_TAG] = returnThis;
  return IteratorConstructor;
};


/***/ }),

/***/ "9f7f":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var global = __webpack_require__("da84");

// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
var $RegExp = global.RegExp;

var UNSUPPORTED_Y = fails(function () {
  var re = $RegExp('a', 'y');
  re.lastIndex = 2;
  return re.exec('abcd') != null;
});

// UC Browser bug
// https://github.com/zloirock/core-js/issues/1008
var MISSED_STICKY = UNSUPPORTED_Y || fails(function () {
  return !$RegExp('a', 'y').sticky;
});

var BROKEN_CARET = UNSUPPORTED_Y || fails(function () {
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
  var re = $RegExp('^r', 'gy');
  re.lastIndex = 2;
  return re.exec('str') != null;
});

module.exports = {
  BROKEN_CARET: BROKEN_CARET,
  MISSED_STICKY: MISSED_STICKY,
  UNSUPPORTED_Y: UNSUPPORTED_Y
};


/***/ }),

/***/ "9faa":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CountRunning_vue_vue_type_style_index_0_id_57540150_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("bbed");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CountRunning_vue_vue_type_style_index_0_id_57540150_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_CountRunning_vue_vue_type_style_index_0_id_57540150_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "a04b":
/***/ (function(module, exports, __webpack_require__) {

var toPrimitive = __webpack_require__("c04e");
var isSymbol = __webpack_require__("d9b5");

// `ToPropertyKey` abstract operation
// https://tc39.es/ecma262/#sec-topropertykey
module.exports = function (argument) {
  var key = toPrimitive(argument, 'string');
  return isSymbol(key) ? key : key + '';
};


/***/ }),

/***/ "a060":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_0_id_8373725a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1eef");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_0_id_8373725a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_0_id_8373725a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "a068":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c43c");
/* harmony import */ var pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_0__);


var pendingOperation = Promise.resolve();

/* harmony default export */ __webpack_exports__["default"] = (function(PDFJS) {

	function isPDFDocumentLoadingTask(obj) {

		return typeof(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true;
		// or: return obj.constructor.name === 'PDFDocumentLoadingTask';
	}

	function createLoadingTask(src, options) {

		var source;
		if ( typeof(src) === 'string' )
			source = { url: src };
		else if ( src instanceof Uint8Array )
			source = { data: src };
		else if ( typeof(src) === 'object' && src !== null )
			source = Object.assign({}, src);
		else
			throw new TypeError('invalid src type');

		// source.verbosity = PDFJS.VerbosityLevel.INFOS;
		// source.pdfBug = true;
		// source.stopAtErrors = true;

		if ( options && options.withCredentials )
			source.withCredentials = options.withCredentials;

		var loadingTask = PDFJS.getDocument(source);
		loadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public

		if ( options && options.onPassword )
			loadingTask.onPassword = options.onPassword;

		if ( options && options.onProgress )
			loadingTask.onProgress = options.onProgress;

		return loadingTask;
	}


	function PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {

		var pdfDoc = null;
		var pdfPage = null;
		var pdfRender = null;
		var canceling = false;

		canvasElt.getContext('2d').save();

		function clearCanvas() {

			canvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);
		}

		function clearAnnotations() {

			while ( annotationLayerElt.firstChild )
				annotationLayerElt.removeChild(annotationLayerElt.firstChild);
		}

		this.destroy = function() {

			if ( pdfDoc === null )
				return;

			// Aborts all network requests and destroys worker.
			pendingOperation = pdfDoc.destroy();
			pdfDoc = null;
		}

		this.getResolutionScale = function() {

			return canvasElt.offsetWidth / canvasElt.width;
		}

		this.printPage = function(dpi, pageNumberOnly) {

			if ( pdfPage === null )
				return;

			// 1in == 72pt
			// 1in == 96px
			var PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;
			var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
			var CSS_UNITS = 96.0 / 72.0;

			var iframeElt = document.createElement('iframe');

			function removeIframe() {

				iframeElt.parentNode.removeChild(iframeElt);
			}

			new Promise(function(resolve, reject) {

				iframeElt.frameBorder = '0';
				iframeElt.scrolling = 'no';
				iframeElt.width = '0px;'
				iframeElt.height = '0px;'
				iframeElt.style.cssText = 'position: absolute; top: 0; left: 0';

				iframeElt.onload = function() {

					resolve(this.contentWindow);
				}

				window.document.body.appendChild(iframeElt);
			})
			.then(function(win) {

				win.document.title = '';

				return pdfDoc.getPage(1)
				.then(function(page) {

					var viewport = page.getViewport({ scale: 1 });
					win.document.head.appendChild(win.document.createElement('style')).textContent =
						'@supports ((size:A4) and (size:1pt 1pt)) {' +
							'@page { margin: 1pt; size: ' + ((viewport.width * PRINT_UNITS) / CSS_UNITS) + 'pt ' + ((viewport.height * PRINT_UNITS) / CSS_UNITS) + 'pt; }' +
						'}' +

						'@media print {' +
							'body { margin: 0 }' +
							'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' +
						'}'+

						'@media screen {' +
							'body { margin: 0 }' +
						'}'+

						''
					return win;
				})
			})
			.then(function(win) {

				var allPages = [];

				for ( var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber ) {

					if ( pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1 )
						continue;

					allPages.push(
						pdfDoc.getPage(pageNumber)
						.then(function(page) {

							var viewport = page.getViewport({ scale: 1 });

							var printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));
							printCanvasElt.width = (viewport.width * PRINT_UNITS);
							printCanvasElt.height = (viewport.height * PRINT_UNITS);

							return page.render({
								canvasContext: printCanvasElt.getContext('2d'),
								transform: [ // Additional transform, applied just before viewport transform.
									PRINT_UNITS, 0, 0,
									PRINT_UNITS, 0, 0
								],
								viewport: viewport,
								intent: 'print'
							}).promise;
						})
					);
				}

				Promise.all(allPages)
				.then(function() {

					win.focus(); // Required for IE
					if (win.document.queryCommandSupported('print')) {
						win.document.execCommand('print', false, null);
						} else {
						win.print();
					  }
					removeIframe();
				})
				.catch(function(err) {

					removeIframe();
					emitEvent('error', err);
				})
			})
		}

		this.renderPage = function(rotate) {
			if ( pdfRender !== null ) {

				if ( canceling )
					return;
				canceling = true;
				pdfRender.cancel().catch(function(err) {
					emitEvent('error', err);
				});
				return;
			}

			if ( pdfPage === null )
				return;

			var pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);

			var scale = canvasElt.offsetWidth / pdfPage.getViewport({ scale: 1 }).width * (window.devicePixelRatio || 1);
			var viewport = pdfPage.getViewport({ scale: scale, rotation:pageRotate });

			emitEvent('page-size', viewport.width, viewport.height, scale);

			canvasElt.width = viewport.width;
			canvasElt.height = viewport.height;

			pdfRender = pdfPage.render({
				canvasContext: canvasElt.getContext('2d'),
				viewport: viewport
			});

			annotationLayerElt.style.visibility = 'hidden';
			clearAnnotations();

			var viewer = {
				scrollPageIntoView: function(params) {
					emitEvent('link-clicked', params.pageNumber)
				},
			};

			var linkService = new pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_0__["PDFLinkService"]();
			linkService.setDocument(pdfDoc);
			linkService.setViewer(viewer);

			pendingOperation = pendingOperation.then(function() {

				var getAnnotationsOperation =
				pdfPage.getAnnotations({ intent: 'display' })
				.then(function(annotations) {

					PDFJS.AnnotationLayer.render({
						viewport: viewport.clone({ dontFlip: true }),
						div: annotationLayerElt,
						annotations: annotations,
						page: pdfPage,
						linkService: linkService,
						renderInteractiveForms: false
					});
				});

				var pdfRenderOperation =
				pdfRender.promise
				.then(function() {

					annotationLayerElt.style.visibility = '';
					canceling = false;
					pdfRender = null;
				})
				.catch(function(err) {

					pdfRender = null;
					if ( err instanceof PDFJS.RenderingCancelledException ) {

						canceling = false;
						this.renderPage(rotate);
						return;
					}
					emitEvent('error', err);
				}.bind(this))

				return Promise.all([getAnnotationsOperation, pdfRenderOperation]);
			}.bind(this));
		}


		this.forEachPage = function(pageCallback) {

			var numPages = pdfDoc.numPages;

			(function next(pageNum) {

				pdfDoc.getPage(pageNum)
				.then(pageCallback)
				.then(function() {

					if ( ++pageNum <= numPages )
						next(pageNum);
				})
			})(1);
		}


		this.loadPage = function(pageNumber, rotate) {

			pdfPage = null;

			if ( pdfDoc === null )
				return;

			pendingOperation = pendingOperation.then(function() {

				return pdfDoc.getPage(pageNumber);
			})
			.then(function(page) {

				pdfPage = page;
				this.renderPage(rotate);
				emitEvent('page-loaded', page.pageNumber);
			}.bind(this))
			.catch(function(err) {

				clearCanvas();
				clearAnnotations();
				emitEvent('error', err);
			});
		}

		this.loadDocument = function(src) {

			pdfDoc = null;
			pdfPage = null;

			emitEvent('num-pages', undefined);

			if ( !src ) {

				canvasElt.removeAttribute('width');
				canvasElt.removeAttribute('height');
				clearAnnotations();
				return;
			}

			// wait for pending operation ends
			pendingOperation = pendingOperation.then(function() {

				var loadingTask;
				if ( isPDFDocumentLoadingTask(src) ) {

					if ( src.destroyed ) {

						emitEvent('error', new Error('loadingTask has been destroyed'));
						return
					}

					loadingTask = src;
				} else {

					loadingTask = createLoadingTask(src, {
						onPassword: function(updatePassword, reason) {

							var reasonStr;
							switch (reason) {
								case PDFJS.PasswordResponses.NEED_PASSWORD:
									reasonStr = 'NEED_PASSWORD';
									break;
								case PDFJS.PasswordResponses.INCORRECT_PASSWORD:
									reasonStr = 'INCORRECT_PASSWORD';
									break;
							}
							emitEvent('password', updatePassword, reasonStr);
						},
						onProgress: function(status) {

							var ratio = status.loaded / status.total;
							emitEvent('progress', Math.min(ratio, 1));
						}
					});
				}

				return loadingTask.promise;
			})
			.then(function(pdf) {

				pdfDoc = pdf;
				emitEvent('num-pages', pdf.numPages);
				emitEvent('loaded');
			})
			.catch(function(err) {

				clearCanvas();
				clearAnnotations();
				emitEvent('error', err);
			})
		}

		annotationLayerElt.style.transformOrigin = '0 0';
	}

	return {
		createLoadingTask: createLoadingTask,
		PDFJSWrapper: PDFJSWrapper,
	}
});


/***/ }),

/***/ "a078":
/***/ (function(module, exports, __webpack_require__) {

var bind = __webpack_require__("0366");
var call = __webpack_require__("c65b");
var aConstructor = __webpack_require__("5087");
var toObject = __webpack_require__("7b0b");
var lengthOfArrayLike = __webpack_require__("07fa");
var getIterator = __webpack_require__("9a1f");
var getIteratorMethod = __webpack_require__("35a1");
var isArrayIteratorMethod = __webpack_require__("e95a");
var aTypedArrayConstructor = __webpack_require__("ebb5").aTypedArrayConstructor;

module.exports = function from(source /* , mapfn, thisArg */) {
  var C = aConstructor(this);
  var O = toObject(source);
  var argumentsLength = arguments.length;
  var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
  var mapping = mapfn !== undefined;
  var iteratorMethod = getIteratorMethod(O);
  var i, length, result, step, iterator, next;
  if (iteratorMethod && !isArrayIteratorMethod(iteratorMethod)) {
    iterator = getIterator(O, iteratorMethod);
    next = iterator.next;
    O = [];
    while (!(step = call(next, iterator)).done) {
      O.push(step.value);
    }
  }
  if (mapping && argumentsLength > 2) {
    mapfn = bind(mapfn, arguments[2]);
  }
  length = lengthOfArrayLike(O);
  result = new (aTypedArrayConstructor(C))(length);
  for (i = 0; length > i; i++) {
    result[i] = mapping ? mapfn(O[i], i) : O[i];
  }
  return result;
};


/***/ }),

/***/ "a10e":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "a117":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "a15b":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var uncurryThis = __webpack_require__("e330");
var IndexedObject = __webpack_require__("44ad");
var toIndexedObject = __webpack_require__("fc6a");
var arrayMethodIsStrict = __webpack_require__("a640");

var un$Join = uncurryThis([].join);

var ES3_STRINGS = IndexedObject != Object;
var STRICT_METHOD = arrayMethodIsStrict('join', ',');

// `Array.prototype.join` method
// https://tc39.es/ecma262/#sec-array.prototype.join
$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {
  join: function join(separator) {
    return un$Join(toIndexedObject(this), separator === undefined ? ',' : separator);
  }
});


/***/ }),

/***/ "a171":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderRightInfo_vue_vue_type_style_index_0_id_b1d51ada_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4917");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderRightInfo_vue_vue_type_style_index_0_id_b1d51ada_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderRightInfo_vue_vue_type_style_index_0_id_b1d51ada_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "a3fd":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABsCAYAAACiuLoyAAAABHNCSVQICAgIfAhkiAAAB8lJREFUeF7tXUtvHEUQ7tmn129rN4mT2LEEFogcDBEHAkiIA49/AAcQAi6cI5CSCwJOJBJIHOECHODCL+BxIYhDDhwIEo6ESCTLdmIHr2Jv1o/1vqga2ZZt7UzXbs30du9WS63ZtftR/dXXtTNVPd2eOpaazeZF+NM7kJ+AfB5y/ngZ+e4UAkWQdn4vf+t53o3D0nv7X0DxA/D5E8jvQ046NUQRlopAHQp+BvlDIEIVK/kEAOXPweUHyI9TW5JyTiNwE6R/C0jw1z4BrsIfLjs9JBG+XQSuAQGueDD7n4Wav0NOtNuClHcagQZIfwEJ8CV8eM/poYjwnSLwFRIA7wqf6bQFqec0AteRAOswhDGnhyHCd4rAKhKg2Wltqec+AkIA93XIGoEQgAWf+5WFAO7rkDUCIQALPvcrCwHc1yFrBEIAFnzuVxYCuK9D1ggiIUB5q6oePKyoym5dNRo8t8LiWkPdWm6qB+WGqtYPotUdDfLkmKfmZhJqcpzXTkedx1gpN5BShbEBhVduYhMAlX/3v02uHH59VP71eYxRRJtemkv2HAkQoelTw2wSsAmwuFJW25VaJBr7+WZd3d/gWZBWgqAleOXJ3lvjksum1PTkMAt7NgH+WcBQQjTpu9+iIdJxadLJpnr9+XQ0QlrUSiLhqdlpXhinLwiAOnvzBf7vpUW6PxDlsZlxllhCABZ83a8sBCDqQCxAa6DEAhAJZGsxsQBEzYgFEAtApIpbxcQCEPUlFkAsAJEqbhUTC0DQVwZcAK8913t+APADqdlzXfYDiCuYwMCYiljhCpZgUEzaJTRrRTAI5fTDwSUMB9cUMxrsRwQxHLy+2VTQHCv1bDgYgkCFcUvCwToN4foADFpIah8BE9ixPYG6YZkYhE4GV/9vAjshgMXsEAJYrBwTovUdAZbW6mqpiLuY0NJUPqmmCvqVPtUarC+ETE3pVEJh1qW42t3v1ykClDZ3W4I8MZIl3wR+/cumerhNXxI2kvPUuy8P6fTkP6G0s1gVb1onRrNda/cwAXCx7fGE5BwdymjloxRg3wPgLFhcLatawAzDJUvUp4Dvf91SayX6TC2MJtQbLw5qx7kOINbrdGIlk54aB+LqUlztHibAv4sbLcVIAQnQD0CxVGHjYBNgZW1L4ewPSu0QoFJtqtv3aqpEsAKjMPsfPZ1S2bT+ERPfgN+tNlSd4KRIwuzPpBMK9s/R6R8314qlXQoBsAxagcmCfgLESoA7y6XA2Y8dt0MALeJ9VgB/toIsAEKBVuCRs6MsVNgWQLcqWAjQuX50BMCWrY8GCgGEAOSbwM6h6s2afWcBxA9wlMh9RwDxA/Q5AcQP0IMEwMcUfFyhJPEDHEWpXm+o20ulUOisfwo4c2JIDQ/23ouZFEJzy2xuV9Xy/fBX760nwPhIRp2YyJE8a1zAeqk+bt+5tr7txzHCUtcJsHD3oapUwyN4+bEcBFcyQgIiQ9HFjIovbuyE1simk2rmzAix1dbF2J7A4vqOVlDsGgNCAxl96JY1mh6pvEPcaicP28TkYW0gJ7EJgM+q+DsV1S4hnMH0U11cEn725BDbycYmwD7ouEEUhobxKik+BLJgRTEEjNcoUmQEiEIYacM8AkIA85hb1aMQwCp1mBdGCGAec6t6jIwA/i6hPX74SAKWiVFvvuLEox05dGxjEwAfA1eKW/77gf2Q0K09mR8MfPwyhYdODqou2ASgOoKoArlQLswBYxIPKxxBC/fAFdxnz/74MzBzurULluIaj4rkYXJQ+2BbAN2iUKogrpULCsKYxqPrwSDTA7aFKEKAPU0IAY5S0jQeYgG6ZBLEAogFaEk9sQBdmpGmuxULIBZALAAiYNrkmZ7pQf2JBRALIBYAEbgD69ZrsH69n1IqCa9lT7V+LdskHmFyUPXB9gTqNoigCuJSubCNGUziYcUGEf4WMXB0XL9YAZx1eFRb0NYspvDQyUGdUGwLgB1hCHSjvOtft3aY+7tSJTdcbhBO6cSl7WPDGe1K3DjxaEcOCkSREIDSkZSxEwEhgJ16MSaVEMAY1HZ2JASwUy/GpBICGIPazo4iIYB/YATsxumvhCVsxthtKHJwR1+AFyvxGpZsHRdVfgrObAJEeWQMReAoy4QdueLCuKw4MibKQ6OiVC6lrbBDl1wYlxWHRrkcDUTHDm5k2Sq5MK4w+SkTAMuwfwJcACoMDFvCulSFHS8nawI7RW6vnhAAN6RhJLEADPAiqCoWgAmiWACxAM7eBKLgYgHEArAQkKeAmdanb7tybyMWgMX/YBMqBCAC6wpQrYaDRxrPnnPXAoTJT1Qf3xHkgss0CAxxBUfgCXQhaBJEAAkGRUAABNcPm8LmxpXdGmwURTU+3SuHM78Ae+ySwsEWjosqPwVh9lMApRMpYy8CQgB7dWNEMiGAEZjt7UQIYK9ujEiGBFiBnk4Z6U06sQ2BVSTAjyDVq7ZJJvIYQeAnJMBV6Oqyke6kE9sQuIYEmAWp/oacsU06kSdWBMrQ+lPgDVcKSHAFLp/G2p00bhsClzzP+2KfAHi05x+QL9gmpcgTCwJ/QqtPAwEaPgH2rACeP/Yx5A8gR3MiUSyyS6MMBPBEr88hfwTK9w8lPCDAISJchM9vQz6/l/OMDqVq9xEoggjzkG9B/gYUf+OwSP8Dz8Ie6Vm3dUAAAAAASUVORK5CYII="

/***/ }),

/***/ "a434":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var toAbsoluteIndex = __webpack_require__("23cb");
var toIntegerOrInfinity = __webpack_require__("5926");
var lengthOfArrayLike = __webpack_require__("07fa");
var toObject = __webpack_require__("7b0b");
var arraySpeciesCreate = __webpack_require__("65f0");
var createProperty = __webpack_require__("8418");
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('splice');

var TypeError = global.TypeError;
var max = Math.max;
var min = Math.min;
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
var MAXIMUM_ALLOWED_LENGTH_EXCEEDED = 'Maximum allowed length exceeded';

// `Array.prototype.splice` method
// https://tc39.es/ecma262/#sec-array.prototype.splice
// with adding support of @@species
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
  splice: function splice(start, deleteCount /* , ...items */) {
    var O = toObject(this);
    var len = lengthOfArrayLike(O);
    var actualStart = toAbsoluteIndex(start, len);
    var argumentsLength = arguments.length;
    var insertCount, actualDeleteCount, A, k, from, to;
    if (argumentsLength === 0) {
      insertCount = actualDeleteCount = 0;
    } else if (argumentsLength === 1) {
      insertCount = 0;
      actualDeleteCount = len - actualStart;
    } else {
      insertCount = argumentsLength - 2;
      actualDeleteCount = min(max(toIntegerOrInfinity(deleteCount), 0), len - actualStart);
    }
    if (len + insertCount - actualDeleteCount > MAX_SAFE_INTEGER) {
      throw TypeError(MAXIMUM_ALLOWED_LENGTH_EXCEEDED);
    }
    A = arraySpeciesCreate(O, actualDeleteCount);
    for (k = 0; k < actualDeleteCount; k++) {
      from = actualStart + k;
      if (from in O) createProperty(A, k, O[from]);
    }
    A.length = actualDeleteCount;
    if (insertCount < actualDeleteCount) {
      for (k = actualStart; k < len - actualDeleteCount; k++) {
        from = k + actualDeleteCount;
        to = k + insertCount;
        if (from in O) O[to] = O[from];
        else delete O[to];
      }
      for (k = len; k > len - actualDeleteCount + insertCount; k--) delete O[k - 1];
    } else if (insertCount > actualDeleteCount) {
      for (k = len - actualDeleteCount; k > actualStart; k--) {
        from = k + actualDeleteCount - 1;
        to = k + insertCount - 1;
        if (from in O) O[to] = O[from];
        else delete O[to];
      }
    }
    for (k = 0; k < insertCount; k++) {
      O[k + actualStart] = arguments[k + 2];
    }
    O.length = len - actualDeleteCount + insertCount;
    return A;
  }
});


/***/ }),

/***/ "a4b4":
/***/ (function(module, exports, __webpack_require__) {

var userAgent = __webpack_require__("342f");

module.exports = /web0s(?!.*chrome)/i.test(userAgent);


/***/ }),

/***/ "a4d3":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var getBuiltIn = __webpack_require__("d066");
var apply = __webpack_require__("2ba4");
var call = __webpack_require__("c65b");
var uncurryThis = __webpack_require__("e330");
var IS_PURE = __webpack_require__("c430");
var DESCRIPTORS = __webpack_require__("83ab");
var NATIVE_SYMBOL = __webpack_require__("4930");
var fails = __webpack_require__("d039");
var hasOwn = __webpack_require__("1a2d");
var isArray = __webpack_require__("e8b5");
var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");
var isPrototypeOf = __webpack_require__("3a9b");
var isSymbol = __webpack_require__("d9b5");
var anObject = __webpack_require__("825a");
var toObject = __webpack_require__("7b0b");
var toIndexedObject = __webpack_require__("fc6a");
var toPropertyKey = __webpack_require__("a04b");
var $toString = __webpack_require__("577e");
var createPropertyDescriptor = __webpack_require__("5c6c");
var nativeObjectCreate = __webpack_require__("7c73");
var objectKeys = __webpack_require__("df75");
var getOwnPropertyNamesModule = __webpack_require__("241c");
var getOwnPropertyNamesExternal = __webpack_require__("057f");
var getOwnPropertySymbolsModule = __webpack_require__("7418");
var getOwnPropertyDescriptorModule = __webpack_require__("06cf");
var definePropertyModule = __webpack_require__("9bf2");
var definePropertiesModule = __webpack_require__("37e8");
var propertyIsEnumerableModule = __webpack_require__("d1e7");
var arraySlice = __webpack_require__("f36a");
var redefine = __webpack_require__("6eeb");
var shared = __webpack_require__("5692");
var sharedKey = __webpack_require__("f772");
var hiddenKeys = __webpack_require__("d012");
var uid = __webpack_require__("90e3");
var wellKnownSymbol = __webpack_require__("b622");
var wrappedWellKnownSymbolModule = __webpack_require__("e538");
var defineWellKnownSymbol = __webpack_require__("746f");
var setToStringTag = __webpack_require__("d44e");
var InternalStateModule = __webpack_require__("69f3");
var $forEach = __webpack_require__("b727").forEach;

var HIDDEN = sharedKey('hidden');
var SYMBOL = 'Symbol';
var PROTOTYPE = 'prototype';
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');

var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(SYMBOL);

var ObjectPrototype = Object[PROTOTYPE];
var $Symbol = global.Symbol;
var SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];
var TypeError = global.TypeError;
var QObject = global.QObject;
var $stringify = getBuiltIn('JSON', 'stringify');
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
var nativeDefineProperty = definePropertyModule.f;
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
var push = uncurryThis([].push);

var AllSymbols = shared('symbols');
var ObjectPrototypeSymbols = shared('op-symbols');
var StringToSymbolRegistry = shared('string-to-symbol-registry');
var SymbolToStringRegistry = shared('symbol-to-string-registry');
var WellKnownSymbolsStore = shared('wks');

// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;

// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687
var setSymbolDescriptor = DESCRIPTORS && fails(function () {
  return nativeObjectCreate(nativeDefineProperty({}, 'a', {
    get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }
  })).a != 7;
}) ? function (O, P, Attributes) {
  var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
  if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];
  nativeDefineProperty(O, P, Attributes);
  if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
    nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
  }
} : nativeDefineProperty;

var wrap = function (tag, description) {
  var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);
  setInternalState(symbol, {
    type: SYMBOL,
    tag: tag,
    description: description
  });
  if (!DESCRIPTORS) symbol.description = description;
  return symbol;
};

var $defineProperty = function defineProperty(O, P, Attributes) {
  if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);
  anObject(O);
  var key = toPropertyKey(P);
  anObject(Attributes);
  if (hasOwn(AllSymbols, key)) {
    if (!Attributes.enumerable) {
      if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
      O[HIDDEN][key] = true;
    } else {
      if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;
      Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
    } return setSymbolDescriptor(O, key, Attributes);
  } return nativeDefineProperty(O, key, Attributes);
};

var $defineProperties = function defineProperties(O, Properties) {
  anObject(O);
  var properties = toIndexedObject(Properties);
  var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
  $forEach(keys, function (key) {
    if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);
  });
  return O;
};

var $create = function create(O, Properties) {
  return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
};

var $propertyIsEnumerable = function propertyIsEnumerable(V) {
  var P = toPropertyKey(V);
  var enumerable = call(nativePropertyIsEnumerable, this, P);
  if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;
  return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]
    ? enumerable : true;
};

var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
  var it = toIndexedObject(O);
  var key = toPropertyKey(P);
  if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;
  var descriptor = nativeGetOwnPropertyDescriptor(it, key);
  if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {
    descriptor.enumerable = true;
  }
  return descriptor;
};

var $getOwnPropertyNames = function getOwnPropertyNames(O) {
  var names = nativeGetOwnPropertyNames(toIndexedObject(O));
  var result = [];
  $forEach(names, function (key) {
    if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);
  });
  return result;
};

var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
  var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
  var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
  var result = [];
  $forEach(names, function (key) {
    if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {
      push(result, AllSymbols[key]);
    }
  });
  return result;
};

// `Symbol` constructor
// https://tc39.es/ecma262/#sec-symbol-constructor
if (!NATIVE_SYMBOL) {
  $Symbol = function Symbol() {
    if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');
    var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);
    var tag = uid(description);
    var setter = function (value) {
      if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);
      if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;
      setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
    };
    if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });
    return wrap(tag, description);
  };

  SymbolPrototype = $Symbol[PROTOTYPE];

  redefine(SymbolPrototype, 'toString', function toString() {
    return getInternalState(this).tag;
  });

  redefine($Symbol, 'withoutSetter', function (description) {
    return wrap(uid(description), description);
  });

  propertyIsEnumerableModule.f = $propertyIsEnumerable;
  definePropertyModule.f = $defineProperty;
  definePropertiesModule.f = $defineProperties;
  getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
  getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
  getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;

  wrappedWellKnownSymbolModule.f = function (name) {
    return wrap(wellKnownSymbol(name), name);
  };

  if (DESCRIPTORS) {
    // https://github.com/tc39/proposal-Symbol-description
    nativeDefineProperty(SymbolPrototype, 'description', {
      configurable: true,
      get: function description() {
        return getInternalState(this).description;
      }
    });
    if (!IS_PURE) {
      redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
    }
  }
}

$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {
  Symbol: $Symbol
});

$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
  defineWellKnownSymbol(name);
});

$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {
  // `Symbol.for` method
  // https://tc39.es/ecma262/#sec-symbol.for
  'for': function (key) {
    var string = $toString(key);
    if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];
    var symbol = $Symbol(string);
    StringToSymbolRegistry[string] = symbol;
    SymbolToStringRegistry[symbol] = string;
    return symbol;
  },
  // `Symbol.keyFor` method
  // https://tc39.es/ecma262/#sec-symbol.keyfor
  keyFor: function keyFor(sym) {
    if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');
    if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];
  },
  useSetter: function () { USE_SETTER = true; },
  useSimple: function () { USE_SETTER = false; }
});

$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {
  // `Object.create` method
  // https://tc39.es/ecma262/#sec-object.create
  create: $create,
  // `Object.defineProperty` method
  // https://tc39.es/ecma262/#sec-object.defineproperty
  defineProperty: $defineProperty,
  // `Object.defineProperties` method
  // https://tc39.es/ecma262/#sec-object.defineproperties
  defineProperties: $defineProperties,
  // `Object.getOwnPropertyDescriptor` method
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
  getOwnPropertyDescriptor: $getOwnPropertyDescriptor
});

$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {
  // `Object.getOwnPropertyNames` method
  // https://tc39.es/ecma262/#sec-object.getownpropertynames
  getOwnPropertyNames: $getOwnPropertyNames,
  // `Object.getOwnPropertySymbols` method
  // https://tc39.es/ecma262/#sec-object.getownpropertysymbols
  getOwnPropertySymbols: $getOwnPropertySymbols
});

// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives
// https://bugs.chromium.org/p/v8/issues/detail?id=3443
$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {
  getOwnPropertySymbols: function getOwnPropertySymbols(it) {
    return getOwnPropertySymbolsModule.f(toObject(it));
  }
});

// `JSON.stringify` method behavior with symbols
// https://tc39.es/ecma262/#sec-json.stringify
if ($stringify) {
  var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
    var symbol = $Symbol();
    // MS Edge converts symbol values to JSON as {}
    return $stringify([symbol]) != '[null]'
      // WebKit converts symbol values to JSON as null
      || $stringify({ a: symbol }) != '{}'
      // V8 throws on boxed symbols
      || $stringify(Object(symbol)) != '{}';
  });

  $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {
    // eslint-disable-next-line no-unused-vars -- required for `.length`
    stringify: function stringify(it, replacer, space) {
      var args = arraySlice(arguments);
      var $replacer = replacer;
      if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined
      if (!isArray(replacer)) replacer = function (key, value) {
        if (isCallable($replacer)) value = call($replacer, this, key, value);
        if (!isSymbol(value)) return value;
      };
      args[1] = replacer;
      return apply($stringify, null, args);
    }
  });
}

// `Symbol.prototype[@@toPrimitive]` method
// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive
if (!SymbolPrototype[TO_PRIMITIVE]) {
  var valueOf = SymbolPrototype.valueOf;
  // eslint-disable-next-line no-unused-vars -- required for .length
  redefine(SymbolPrototype, TO_PRIMITIVE, function (hint) {
    // TODO: improve hint logic
    return call(valueOf, this);
  });
}
// `Symbol.prototype[@@toStringTag]` property
// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag
setToStringTag($Symbol, SYMBOL);

hiddenKeys[HIDDEN] = true;


/***/ }),

/***/ "a52e":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABsCAYAAACiuLoyAAAABHNCSVQICAgIfAhkiAAABzBJREFUeF7tXU1oHVUUvvNe3suvSSSP9tWaBjUqdhEtilaFrkRBBHd2I2JXuhNRaDeirmxBQXd1pQs3uhNE1F2LiyJdWMEUFCshpn2pCUleXp5J3p/nTJOQn8nkzpw7d+5571y4TPK4P9/9zjdnZu6ZuddTu1Kr1ToJP52B/Ajk45BHdpeR/1kxMA9oJzfyl57nXdmO3tv8BwzfA39/CPkdyFlWQxSwugw0oODHkN8DIdSwki8AMP4EHL6B/LBuS1KONQPXAP1rIILfNgVwHn44y3pIAj4qAxdAAOc8OPufhpo/Q85EbUHKs2agCehPoAAuwh9vsB6KgI/LwOcoALwrfCpuC1KPNQOXUACLMIQh1sMQ8HEZmEUBtOLWlnr8GRAB8LchaQQiABJ9/CuLAPjbkDQCEQCJPv6VRQD8bUgagQiARB//yiIA/jYkjcCIACrVmlpYXlNr6w3VbNKmFabnmur6TEstVJqq1tiKVsca5KEhT02MZVRxmNZOrM4TrNTb06UKQz0Kj9REFgAa/+a/K1Qcfn00/qVJjFGYTc9NZNtOBMjQ6OEBsgjIApguVdR/a3UjFvvpWkPdXqJ5kCAg6Amef7T93nHp7e5So8UBEvdkAfwxhaEEM+mry2aEtBtNLttSp5/NmQHpUCuZjKfGR2lhnI4QANrs1VP066VDtt+C8tDYMAmWCIBEX/qVRQCaNhAPEEyUeABNAblaTDyApmXEA4gH0JQKr2LiATTtJR5APICmVHgVEw+gYa88TAG88kz7zQPAPJAaP5byPIBMBWsoMKEiTkwFSzAoIetqNOtEMAhx+uHgMoaD64oYDfYjghgOXlxpKWiOlNo2HAxBoMKwI+FgkoWkcuoMkGcCUx+BACAxIAIg0ce/sgiAvw1JIxABkOjjX5mlAMor66pWN//uIBdz5royarA/bwSuEQH8Xaqrq3/W1Fy5EevRDWfqCoNZ9cSDOXVfcf8ZOzT69GxF1TvY+JtW7wIR4DwAioGSyAL461ZdfffLKgXDjrovPdmjHjgSLILSXFXh2S/pDgPoBYqFPhIdZAF8fbmqSgvm3HHx7ow6fSp4UDdmynL2bzM3eoH7jw6mK4CL36+otZq5V7m7c55688X+wEGZfAOZxJpDlVOPBn72bcU4HW+9HPyuuwhgL9UiAOPy49WgCICXvYyjFQEYp5RXgyIAXvYyjlYEYJxSXg2KAHjZyzhaEYBxSnk12FECmLq5DJNOuOeBJGSgO5dVY/fcRSKDPBVscyJofnFVzS+ZizuQmHOg8ggsEzMC7wZSEisB4PpDM7dXjK1IQiEu7br4SvjRQ/0KF4mgJFYC2BwoLkaFoWE8dlrqzmf9EDAeTSSWAjAxcGnjDgMigA5XgghABEDbMMLmU0CH2yqR4bP0AP6KpDTdxiIz43naN19JYoyC46CBshIAPgaW5qv+t4hppYG+nCqO9O37+GUL40E4dPlhJQBXJoLCJmBsYuy4iaCpWzAV7MCzPz6Djx0JnoK1OV0dhqMtPYBL7wTuF4SxjbGjgkG2yQ07i0QAG+zYfAwUAeyVpHgA3Yud4XLiAcQDBErKtpcSD2D4zNZtTjyAeADxAMiA3ATu1IFcAnR9aEg5Dt8GyiUghUvAjX/g8/CGuU/R42q1KwufZd8b/Fm2TYxhOHTHxioW4MoCEWELM9jE6MQCETbvAfwlYmCbujS9AJ51uFXbfkuz2MJ4EI629AA4KAy3LlXW/WN1lbiWrC5LUK4PdunEN3CHBvIHvombJMYoOHSGx+oSoDMgKRONARFANL7arrQIoO1MGm1AIoBofLVdaRFA25k02oDYCcDfnGIZN6eAN4Nj7k7RC3f0BfiwEo9hyURf0cyhV1oXv05rrARgcnsaJCdsyxXTfekYI2oZJ7aMsTkRZHKDKiQ7bNMl031FNa5OeSc2jbIpANORNpzYGR8dCuTadF86Bo1aJgy/blusLgFJGMWVqJ6uwXaXkzeC4jK3UU8E0KJ9ZMf5EoAaEAGIANjeA4QJWNcxyj3AWPDeu0ncb+gaJUo5uQeIwlZAWbkEyCVALgGUk0huAins0eumfgngvGUMLrE3fozvPUAYfl1pkW8CbW4aZXp6VqaCDSwTZ3PbONMBGgkGGRAAuhpbG0diX36Itozh4DosFKXr6HaWwzO/AGvsaoWDiX3FQxheSxe/Tt/kS4BOJ1LGXQZEAO7axgoyEYAVmt3tRATgrm2sIEMBlKCnw1Z6k05cY2AWBfADoHrBNWSCxwoDP6IAzkNXZ610J524xsAFFMA4oPodct41dIInUQZw1+/H/A1nQATn4PBRot1J464x8LbneZ9uCiAD6K5CPuEaSsGTCAO/QquPgwCaW1tOgRfA/cc+gPwuZDM7EiWCXRolMIC7bH0C+X0wvr//3p49x0AIJ+H31yEf38gjhA6lavoMzAOEScjXIX8Bhr+yHdL/07jP2s9qUQMAAAAASUVORK5CYII="

/***/ }),

/***/ "a534":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "a630":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var from = __webpack_require__("4df4");
var checkCorrectnessOfIteration = __webpack_require__("1c7e");

var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
  // eslint-disable-next-line es/no-array-from -- required for testing
  Array.from(iterable);
});

// `Array.from` method
// https://tc39.es/ecma262/#sec-array.from
$({ target: 'Array', stat: true, forced: INCORRECT_ITERATION }, {
  from: from
});


/***/ }),

/***/ "a640":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var fails = __webpack_require__("d039");

module.exports = function (METHOD_NAME, argument) {
  var method = [][METHOD_NAME];
  return !!method && fails(function () {
    // eslint-disable-next-line no-useless-call -- required for testing
    method.call(null, argument || function () { return 1; }, 1);
  });
};


/***/ }),

/***/ "a70b":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UploadFile_vue_vue_type_style_index_0_id_220358b5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cd96");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UploadFile_vue_vue_type_style_index_0_id_220358b5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_UploadFile_vue_vue_type_style_index_0_id_220358b5_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "a886":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutLeftMenu_vue_vue_type_style_index_0_id_8738fbf0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("f1f9");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutLeftMenu_vue_vue_type_style_index_0_id_8738fbf0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutLeftMenu_vue_vue_type_style_index_0_id_8738fbf0_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "a975":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $every = __webpack_require__("b727").every;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.every` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.every
exportTypedArrayMethod('every', function every(callbackfn /* , thisArg */) {
  return $every(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "a981":
/***/ (function(module, exports) {

// eslint-disable-next-line es/no-typed-arrays -- safe
module.exports = typeof ArrayBuffer != 'undefined' && typeof DataView != 'undefined';


/***/ }),

/***/ "a9e3":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var DESCRIPTORS = __webpack_require__("83ab");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var isForced = __webpack_require__("94ca");
var redefine = __webpack_require__("6eeb");
var hasOwn = __webpack_require__("1a2d");
var inheritIfRequired = __webpack_require__("7156");
var isPrototypeOf = __webpack_require__("3a9b");
var isSymbol = __webpack_require__("d9b5");
var toPrimitive = __webpack_require__("c04e");
var fails = __webpack_require__("d039");
var getOwnPropertyNames = __webpack_require__("241c").f;
var getOwnPropertyDescriptor = __webpack_require__("06cf").f;
var defineProperty = __webpack_require__("9bf2").f;
var thisNumberValue = __webpack_require__("408a");
var trim = __webpack_require__("58a8").trim;

var NUMBER = 'Number';
var NativeNumber = global[NUMBER];
var NumberPrototype = NativeNumber.prototype;
var TypeError = global.TypeError;
var arraySlice = uncurryThis(''.slice);
var charCodeAt = uncurryThis(''.charCodeAt);

// `ToNumeric` abstract operation
// https://tc39.es/ecma262/#sec-tonumeric
var toNumeric = function (value) {
  var primValue = toPrimitive(value, 'number');
  return typeof primValue == 'bigint' ? primValue : toNumber(primValue);
};

// `ToNumber` abstract operation
// https://tc39.es/ecma262/#sec-tonumber
var toNumber = function (argument) {
  var it = toPrimitive(argument, 'number');
  var first, third, radix, maxCode, digits, length, index, code;
  if (isSymbol(it)) throw TypeError('Cannot convert a Symbol value to a number');
  if (typeof it == 'string' && it.length > 2) {
    it = trim(it);
    first = charCodeAt(it, 0);
    if (first === 43 || first === 45) {
      third = charCodeAt(it, 2);
      if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix
    } else if (first === 48) {
      switch (charCodeAt(it, 1)) {
        case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i
        case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i
        default: return +it;
      }
      digits = arraySlice(it, 2);
      length = digits.length;
      for (index = 0; index < length; index++) {
        code = charCodeAt(digits, index);
        // parseInt parses a string to a first unavailable symbol
        // but ToNumber should return NaN if a string contains unavailable symbols
        if (code < 48 || code > maxCode) return NaN;
      } return parseInt(digits, radix);
    }
  } return +it;
};

// `Number` constructor
// https://tc39.es/ecma262/#sec-number-constructor
if (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {
  var NumberWrapper = function Number(value) {
    var n = arguments.length < 1 ? 0 : NativeNumber(toNumeric(value));
    var dummy = this;
    // check on 1..constructor(foo) case
    return isPrototypeOf(NumberPrototype, dummy) && fails(function () { thisNumberValue(dummy); })
      ? inheritIfRequired(Object(n), dummy, NumberWrapper) : n;
  };
  for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (
    // ES3:
    'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +
    // ES2015 (in case, if modules with ES2015 Number statics required before):
    'EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,' +
    // ESNext
    'fromString,range'
  ).split(','), j = 0, key; keys.length > j; j++) {
    if (hasOwn(NativeNumber, key = keys[j]) && !hasOwn(NumberWrapper, key)) {
      defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));
    }
  }
  NumberWrapper.prototype = NumberPrototype;
  NumberPrototype.constructor = NumberWrapper;
  redefine(global, NUMBER, NumberWrapper);
}


/***/ }),

/***/ "ab12":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAYJJREFUSEvtltFRAzEMRHcrgA4IFZBUQEqgA+iApALoAEqAEugAKiB0EDqACpZZxmZ8Pid3vnjyhf5uRtY7yStZxJGNJZ6kUwAPAGYT/2cLYE3yKz/fAwbY+wGwyDB0kUNLwHsAd+HUMwAfrDFX5ToccJaP6eES0A63AD5IzmtI0VfSBsAFgBeSV0PAmOEbyeVE4CuASwC9GPtKuhMo6Tdzks6kZ5KaAx3QwGIF/oGdO5C0UzSSrOAnAFHqK7cAyXUapElJJbm/LBIBiBPEE8nCm5P869cmQGcQ1GnBnISMvgEsc7U2A2ZQf/Zgwad5Wxy3D4emT9OSDsEOKamVWBxdI6AuuRVcNUtHxB10qQJ+hiYfjFpwuAFwVpth7+9C8ztQan43O6tEE9EEmFcP301qhp2n0JZAiyhOmQj1tJm1AG5ILrKh7Hmab3LbdI6GtqhaMfwCeEW0+WWYskRZNLZRS5TvyH+Yi6NWrVa5X5GOoPYtwn7zDlmEV6MW4do0av1/AJSqJSwN2/1TAAAAAElFTkSuQmCC"

/***/ }),

/***/ "ab13":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");

var MATCH = wellKnownSymbol('match');

module.exports = function (METHOD_NAME) {
  var regexp = /./;
  try {
    '/./'[METHOD_NAME](regexp);
  } catch (error1) {
    try {
      regexp[MATCH] = false;
      return '/./'[METHOD_NAME](regexp);
    } catch (error2) { /* empty */ }
  } return false;
};


/***/ }),

/***/ "ab36":
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__("861d");
var createNonEnumerableProperty = __webpack_require__("9112");

// `InstallErrorCause` abstract operation
// https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
module.exports = function (O, options) {
  if (isObject(options) && 'cause' in options) {
    createNonEnumerableProperty(O, 'cause', options.cause);
  }
};


/***/ }),

/***/ "ac1f":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var exec = __webpack_require__("9263");

// `RegExp.prototype.exec` method
// https://tc39.es/ecma262/#sec-regexp.prototype.exec
$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
  exec: exec
});


/***/ }),

/***/ "acc5":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_2356816a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ffc0");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_2356816a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PdfDiglog_vue_vue_type_style_index_0_id_2356816a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ad6d":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var anObject = __webpack_require__("825a");

// `RegExp.prototype.flags` getter implementation
// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
module.exports = function () {
  var that = anObject(this);
  var result = '';
  if (that.global) result += 'g';
  if (that.ignoreCase) result += 'i';
  if (that.multiline) result += 'm';
  if (that.dotAll) result += 's';
  if (that.unicode) result += 'u';
  if (that.sticky) result += 'y';
  return result;
};


/***/ }),

/***/ "addb":
/***/ (function(module, exports, __webpack_require__) {

var arraySlice = __webpack_require__("4dae");

var floor = Math.floor;

var mergeSort = function (array, comparefn) {
  var length = array.length;
  var middle = floor(length / 2);
  return length < 8 ? insertionSort(array, comparefn) : merge(
    array,
    mergeSort(arraySlice(array, 0, middle), comparefn),
    mergeSort(arraySlice(array, middle), comparefn),
    comparefn
  );
};

var insertionSort = function (array, comparefn) {
  var length = array.length;
  var i = 1;
  var element, j;

  while (i < length) {
    j = i;
    element = array[i];
    while (j && comparefn(array[j - 1], element) > 0) {
      array[j] = array[--j];
    }
    if (j !== i++) array[j] = element;
  } return array;
};

var merge = function (array, left, right, comparefn) {
  var llength = left.length;
  var rlength = right.length;
  var lindex = 0;
  var rindex = 0;

  while (lindex < llength || rindex < rlength) {
    array[lindex + rindex] = (lindex < llength && rindex < rlength)
      ? comparefn(left[lindex], right[rindex]) <= 0 ? left[lindex++] : right[rindex++]
      : lindex < llength ? left[lindex++] : right[rindex++];
  } return array;
};

module.exports = mergeSort;


/***/ }),

/***/ "ae1b":
/***/ (function(module, exports, __webpack_require__) {

module.exports = __webpack_require__.p + "img/logo.283873bf.png";

/***/ }),

/***/ "ae2b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "ae64":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectTree_vue_vue_type_style_index_0_id_1d8378ee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("a117");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectTree_vue_vue_type_style_index_0_id_1d8378ee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectTree_vue_vue_type_style_index_0_id_1d8378ee_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ae93":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var fails = __webpack_require__("d039");
var isCallable = __webpack_require__("1626");
var create = __webpack_require__("7c73");
var getPrototypeOf = __webpack_require__("e163");
var redefine = __webpack_require__("6eeb");
var wellKnownSymbol = __webpack_require__("b622");
var IS_PURE = __webpack_require__("c430");

var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;

// `%IteratorPrototype%` object
// https://tc39.es/ecma262/#sec-%iteratorprototype%-object
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;

/* eslint-disable es/no-array-prototype-keys -- safe */
if ([].keys) {
  arrayIterator = [].keys();
  // Safari 8 has buggy iterators w/o `next`
  if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;
  else {
    PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
    if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;
  }
}

var NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {
  var test = {};
  // FF44- legacy iterators case
  return IteratorPrototype[ITERATOR].call(test) !== test;
});

if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};
else if (IS_PURE) IteratorPrototype = create(IteratorPrototype);

// `%IteratorPrototype%[@@iterator]()` method
// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
if (!isCallable(IteratorPrototype[ITERATOR])) {
  redefine(IteratorPrototype, ITERATOR, function () {
    return this;
  });
}

module.exports = {
  IteratorPrototype: IteratorPrototype,
  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};


/***/ }),

/***/ "aed9":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var fails = __webpack_require__("d039");

// V8 ~ Chrome 36-
// https://bugs.chromium.org/p/v8/issues/detail?id=3334
module.exports = DESCRIPTORS && fails(function () {
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
    value: 42,
    writable: false
  }).prototype != 42;
});


/***/ }),

/***/ "b041":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee");
var classof = __webpack_require__("f5df");

// `Object.prototype.toString` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.tostring
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
  return '[object ' + classof(this) + ']';
};


/***/ }),

/***/ "b0c0":
/***/ (function(module, exports, __webpack_require__) {

var DESCRIPTORS = __webpack_require__("83ab");
var FUNCTION_NAME_EXISTS = __webpack_require__("5e77").EXISTS;
var uncurryThis = __webpack_require__("e330");
var defineProperty = __webpack_require__("9bf2").f;

var FunctionPrototype = Function.prototype;
var functionToString = uncurryThis(FunctionPrototype.toString);
var nameRE = /function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/;
var regExpExec = uncurryThis(nameRE.exec);
var NAME = 'name';

// Function instances `.name` property
// https://tc39.es/ecma262/#sec-function-instances-name
if (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {
  defineProperty(FunctionPrototype, NAME, {
    configurable: true,
    get: function () {
      try {
        return regExpExec(nameRE, functionToString(this))[1];
      } catch (error) {
        return '';
      }
    }
  });
}


/***/ }),

/***/ "b110":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeDialog_vue_vue_type_style_index_0_id_b228d7be_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3a2b");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeDialog_vue_vue_type_style_index_0_id_b228d7be_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TreeDialog_vue_vue_type_style_index_0_id_b228d7be_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "b1a2":
/***/ (function(module, exports, __webpack_require__) {

var map = {
	"./bg_default.jpg": "717b",
	"./bg_oa.png": "1e8d",
	"./bg_zt.png": "0828",
	"./logo.png": "ae1b"
};


function webpackContext(req) {
	var id = webpackContextResolve(req);
	return __webpack_require__(id);
}
function webpackContextResolve(req) {
	if(!__webpack_require__.o(map, req)) {
		var e = new Error("Cannot find module '" + req + "'");
		e.code = 'MODULE_NOT_FOUND';
		throw e;
	}
	return map[req];
}
webpackContext.keys = function webpackContextKeys() {
	return Object.keys(map);
};
webpackContext.resolve = webpackContextResolve;
module.exports = webpackContext;
webpackContext.id = "b1a2";

/***/ }),

/***/ "b1f5":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "b361":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QualificationsDialog_vue_vue_type_style_index_0_id_a82c15ea_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8d87");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QualificationsDialog_vue_vue_type_style_index_0_id_a82c15ea_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_QualificationsDialog_vue_vue_type_style_index_0_id_a82c15ea_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "b39a":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var global = __webpack_require__("da84");
var apply = __webpack_require__("2ba4");
var ArrayBufferViewCore = __webpack_require__("ebb5");
var fails = __webpack_require__("d039");
var arraySlice = __webpack_require__("f36a");

var Int8Array = global.Int8Array;
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var $toLocaleString = [].toLocaleString;

// iOS Safari 6.x fails here
var TO_LOCALE_STRING_BUG = !!Int8Array && fails(function () {
  $toLocaleString.call(new Int8Array(1));
});

var FORCED = fails(function () {
  return [1, 2].toLocaleString() != new Int8Array([1, 2]).toLocaleString();
}) || !fails(function () {
  Int8Array.prototype.toLocaleString.call([1, 2]);
});

// `%TypedArray%.prototype.toLocaleString` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.tolocalestring
exportTypedArrayMethod('toLocaleString', function toLocaleString() {
  return apply(
    $toLocaleString,
    TO_LOCALE_STRING_BUG ? arraySlice(aTypedArray(this)) : aTypedArray(this),
    arraySlice(arguments)
  );
}, FORCED);


/***/ }),

/***/ "b4c3":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_id_c97ab3f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6cc6");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_id_c97ab3f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Upload_vue_vue_type_style_index_0_id_c97ab3f2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "b575":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var bind = __webpack_require__("0366");
var getOwnPropertyDescriptor = __webpack_require__("06cf").f;
var macrotask = __webpack_require__("2cf4").set;
var IS_IOS = __webpack_require__("1cdc");
var IS_IOS_PEBBLE = __webpack_require__("d4c3");
var IS_WEBOS_WEBKIT = __webpack_require__("a4b4");
var IS_NODE = __webpack_require__("605d");

var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
var document = global.document;
var process = global.process;
var Promise = global.Promise;
// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;

var flush, head, last, notify, toggle, node, promise, then;

// modern engines have queueMicrotask method
if (!queueMicrotask) {
  flush = function () {
    var parent, fn;
    if (IS_NODE && (parent = process.domain)) parent.exit();
    while (head) {
      fn = head.fn;
      head = head.next;
      try {
        fn();
      } catch (error) {
        if (head) notify();
        else last = undefined;
        throw error;
      }
    } last = undefined;
    if (parent) parent.enter();
  };

  // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339
  // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898
  if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {
    toggle = true;
    node = document.createTextNode('');
    new MutationObserver(flush).observe(node, { characterData: true });
    notify = function () {
      node.data = toggle = !toggle;
    };
  // environments with maybe non-completely correct, but existent Promise
  } else if (!IS_IOS_PEBBLE && Promise && Promise.resolve) {
    // Promise.resolve without an argument throws an error in LG WebOS 2
    promise = Promise.resolve(undefined);
    // workaround of WebKit ~ iOS Safari 10.1 bug
    promise.constructor = Promise;
    then = bind(promise.then, promise);
    notify = function () {
      then(flush);
    };
  // Node.js without promises
  } else if (IS_NODE) {
    notify = function () {
      process.nextTick(flush);
    };
  // for other environments - macrotask based on:
  // - setImmediate
  // - MessageChannel
  // - window.postMessag
  // - onreadystatechange
  // - setTimeout
  } else {
    // strange IE + webpack dev server bug - use .bind(global)
    macrotask = bind(macrotask, global);
    notify = function () {
      macrotask(flush);
    };
  }
}

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


/***/ }),

/***/ "b622":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var shared = __webpack_require__("5692");
var hasOwn = __webpack_require__("1a2d");
var uid = __webpack_require__("90e3");
var NATIVE_SYMBOL = __webpack_require__("4930");
var USE_SYMBOL_AS_UID = __webpack_require__("fdbf");

var WellKnownSymbolsStore = shared('wks');
var Symbol = global.Symbol;
var symbolFor = Symbol && Symbol['for'];
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;

module.exports = function (name) {
  if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {
    var description = 'Symbol.' + name;
    if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {
      WellKnownSymbolsStore[name] = Symbol[name];
    } else if (USE_SYMBOL_AS_UID && symbolFor) {
      WellKnownSymbolsStore[name] = symbolFor(description);
    } else {
      WellKnownSymbolsStore[name] = createWellKnownSymbol(description);
    }
  } return WellKnownSymbolsStore[name];
};


/***/ }),

/***/ "b639":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(global) {/*!
 * The buffer module from node.js, for the browser.
 *
 * @author   Feross Aboukhadijeh <http://feross.org>
 * @license  MIT
 */
/* eslint-disable no-proto */



var base64 = __webpack_require__("1fb5")
var ieee754 = __webpack_require__("9152")
var isArray = __webpack_require__("e3db")

exports.Buffer = Buffer
exports.SlowBuffer = SlowBuffer
exports.INSPECT_MAX_BYTES = 50

/**
 * If `Buffer.TYPED_ARRAY_SUPPORT`:
 *   === true    Use Uint8Array implementation (fastest)
 *   === false   Use Object implementation (most compatible, even IE6)
 *
 * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
 * Opera 11.6+, iOS 4.2+.
 *
 * Due to various browser bugs, sometimes the Object implementation will be used even
 * when the browser supports typed arrays.
 *
 * Note:
 *
 *   - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,
 *     See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.
 *
 *   - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.
 *
 *   - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of
 *     incorrect length in some situations.

 * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they
 * get the Object implementation, which is slower but behaves correctly.
 */
Buffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined
  ? global.TYPED_ARRAY_SUPPORT
  : typedArraySupport()

/*
 * Export kMaxLength after typed array support is determined.
 */
exports.kMaxLength = kMaxLength()

function typedArraySupport () {
  try {
    var arr = new Uint8Array(1)
    arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}
    return arr.foo() === 42 && // typed array instances can be augmented
        typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`
        arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`
  } catch (e) {
    return false
  }
}

function kMaxLength () {
  return Buffer.TYPED_ARRAY_SUPPORT
    ? 0x7fffffff
    : 0x3fffffff
}

function createBuffer (that, length) {
  if (kMaxLength() < length) {
    throw new RangeError('Invalid typed array length')
  }
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    // Return an augmented `Uint8Array` instance, for best performance
    that = new Uint8Array(length)
    that.__proto__ = Buffer.prototype
  } else {
    // Fallback: Return an object instance of the Buffer class
    if (that === null) {
      that = new Buffer(length)
    }
    that.length = length
  }

  return that
}

/**
 * The Buffer constructor returns instances of `Uint8Array` that have their
 * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
 * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
 * and the `Uint8Array` methods. Square bracket notation works as expected -- it
 * returns a single octet.
 *
 * The `Uint8Array` prototype remains unmodified.
 */

function Buffer (arg, encodingOrOffset, length) {
  if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {
    return new Buffer(arg, encodingOrOffset, length)
  }

  // Common case.
  if (typeof arg === 'number') {
    if (typeof encodingOrOffset === 'string') {
      throw new Error(
        'If encoding is specified then the first argument must be a string'
      )
    }
    return allocUnsafe(this, arg)
  }
  return from(this, arg, encodingOrOffset, length)
}

Buffer.poolSize = 8192 // not used by this implementation

// TODO: Legacy, not needed anymore. Remove in next major version.
Buffer._augment = function (arr) {
  arr.__proto__ = Buffer.prototype
  return arr
}

function from (that, value, encodingOrOffset, length) {
  if (typeof value === 'number') {
    throw new TypeError('"value" argument must not be a number')
  }

  if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {
    return fromArrayBuffer(that, value, encodingOrOffset, length)
  }

  if (typeof value === 'string') {
    return fromString(that, value, encodingOrOffset)
  }

  return fromObject(that, value)
}

/**
 * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
 * if value is a number.
 * Buffer.from(str[, encoding])
 * Buffer.from(array)
 * Buffer.from(buffer)
 * Buffer.from(arrayBuffer[, byteOffset[, length]])
 **/
Buffer.from = function (value, encodingOrOffset, length) {
  return from(null, value, encodingOrOffset, length)
}

if (Buffer.TYPED_ARRAY_SUPPORT) {
  Buffer.prototype.__proto__ = Uint8Array.prototype
  Buffer.__proto__ = Uint8Array
  if (typeof Symbol !== 'undefined' && Symbol.species &&
      Buffer[Symbol.species] === Buffer) {
    // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97
    Object.defineProperty(Buffer, Symbol.species, {
      value: null,
      configurable: true
    })
  }
}

function assertSize (size) {
  if (typeof size !== 'number') {
    throw new TypeError('"size" argument must be a number')
  } else if (size < 0) {
    throw new RangeError('"size" argument must not be negative')
  }
}

function alloc (that, size, fill, encoding) {
  assertSize(size)
  if (size <= 0) {
    return createBuffer(that, size)
  }
  if (fill !== undefined) {
    // Only pay attention to encoding if it's a string. This
    // prevents accidentally sending in a number that would
    // be interpretted as a start offset.
    return typeof encoding === 'string'
      ? createBuffer(that, size).fill(fill, encoding)
      : createBuffer(that, size).fill(fill)
  }
  return createBuffer(that, size)
}

/**
 * Creates a new filled Buffer instance.
 * alloc(size[, fill[, encoding]])
 **/
Buffer.alloc = function (size, fill, encoding) {
  return alloc(null, size, fill, encoding)
}

function allocUnsafe (that, size) {
  assertSize(size)
  that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)
  if (!Buffer.TYPED_ARRAY_SUPPORT) {
    for (var i = 0; i < size; ++i) {
      that[i] = 0
    }
  }
  return that
}

/**
 * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
 * */
Buffer.allocUnsafe = function (size) {
  return allocUnsafe(null, size)
}
/**
 * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
 */
Buffer.allocUnsafeSlow = function (size) {
  return allocUnsafe(null, size)
}

function fromString (that, string, encoding) {
  if (typeof encoding !== 'string' || encoding === '') {
    encoding = 'utf8'
  }

  if (!Buffer.isEncoding(encoding)) {
    throw new TypeError('"encoding" must be a valid string encoding')
  }

  var length = byteLength(string, encoding) | 0
  that = createBuffer(that, length)

  var actual = that.write(string, encoding)

  if (actual !== length) {
    // Writing a hex string, for example, that contains invalid characters will
    // cause everything after the first invalid character to be ignored. (e.g.
    // 'abxxcd' will be treated as 'ab')
    that = that.slice(0, actual)
  }

  return that
}

function fromArrayLike (that, array) {
  var length = array.length < 0 ? 0 : checked(array.length) | 0
  that = createBuffer(that, length)
  for (var i = 0; i < length; i += 1) {
    that[i] = array[i] & 255
  }
  return that
}

function fromArrayBuffer (that, array, byteOffset, length) {
  array.byteLength // this throws if `array` is not a valid ArrayBuffer

  if (byteOffset < 0 || array.byteLength < byteOffset) {
    throw new RangeError('\'offset\' is out of bounds')
  }

  if (array.byteLength < byteOffset + (length || 0)) {
    throw new RangeError('\'length\' is out of bounds')
  }

  if (byteOffset === undefined && length === undefined) {
    array = new Uint8Array(array)
  } else if (length === undefined) {
    array = new Uint8Array(array, byteOffset)
  } else {
    array = new Uint8Array(array, byteOffset, length)
  }

  if (Buffer.TYPED_ARRAY_SUPPORT) {
    // Return an augmented `Uint8Array` instance, for best performance
    that = array
    that.__proto__ = Buffer.prototype
  } else {
    // Fallback: Return an object instance of the Buffer class
    that = fromArrayLike(that, array)
  }
  return that
}

function fromObject (that, obj) {
  if (Buffer.isBuffer(obj)) {
    var len = checked(obj.length) | 0
    that = createBuffer(that, len)

    if (that.length === 0) {
      return that
    }

    obj.copy(that, 0, 0, len)
    return that
  }

  if (obj) {
    if ((typeof ArrayBuffer !== 'undefined' &&
        obj.buffer instanceof ArrayBuffer) || 'length' in obj) {
      if (typeof obj.length !== 'number' || isnan(obj.length)) {
        return createBuffer(that, 0)
      }
      return fromArrayLike(that, obj)
    }

    if (obj.type === 'Buffer' && isArray(obj.data)) {
      return fromArrayLike(that, obj.data)
    }
  }

  throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')
}

function checked (length) {
  // Note: cannot use `length < kMaxLength()` here because that fails when
  // length is NaN (which is otherwise coerced to zero.)
  if (length >= kMaxLength()) {
    throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
                         'size: 0x' + kMaxLength().toString(16) + ' bytes')
  }
  return length | 0
}

function SlowBuffer (length) {
  if (+length != length) { // eslint-disable-line eqeqeq
    length = 0
  }
  return Buffer.alloc(+length)
}

Buffer.isBuffer = function isBuffer (b) {
  return !!(b != null && b._isBuffer)
}

Buffer.compare = function compare (a, b) {
  if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
    throw new TypeError('Arguments must be Buffers')
  }

  if (a === b) return 0

  var x = a.length
  var y = b.length

  for (var i = 0, len = Math.min(x, y); i < len; ++i) {
    if (a[i] !== b[i]) {
      x = a[i]
      y = b[i]
      break
    }
  }

  if (x < y) return -1
  if (y < x) return 1
  return 0
}

Buffer.isEncoding = function isEncoding (encoding) {
  switch (String(encoding).toLowerCase()) {
    case 'hex':
    case 'utf8':
    case 'utf-8':
    case 'ascii':
    case 'latin1':
    case 'binary':
    case 'base64':
    case 'ucs2':
    case 'ucs-2':
    case 'utf16le':
    case 'utf-16le':
      return true
    default:
      return false
  }
}

Buffer.concat = function concat (list, length) {
  if (!isArray(list)) {
    throw new TypeError('"list" argument must be an Array of Buffers')
  }

  if (list.length === 0) {
    return Buffer.alloc(0)
  }

  var i
  if (length === undefined) {
    length = 0
    for (i = 0; i < list.length; ++i) {
      length += list[i].length
    }
  }

  var buffer = Buffer.allocUnsafe(length)
  var pos = 0
  for (i = 0; i < list.length; ++i) {
    var buf = list[i]
    if (!Buffer.isBuffer(buf)) {
      throw new TypeError('"list" argument must be an Array of Buffers')
    }
    buf.copy(buffer, pos)
    pos += buf.length
  }
  return buffer
}

function byteLength (string, encoding) {
  if (Buffer.isBuffer(string)) {
    return string.length
  }
  if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&
      (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {
    return string.byteLength
  }
  if (typeof string !== 'string') {
    string = '' + string
  }

  var len = string.length
  if (len === 0) return 0

  // Use a for loop to avoid recursion
  var loweredCase = false
  for (;;) {
    switch (encoding) {
      case 'ascii':
      case 'latin1':
      case 'binary':
        return len
      case 'utf8':
      case 'utf-8':
      case undefined:
        return utf8ToBytes(string).length
      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return len * 2
      case 'hex':
        return len >>> 1
      case 'base64':
        return base64ToBytes(string).length
      default:
        if (loweredCase) return utf8ToBytes(string).length // assume utf8
        encoding = ('' + encoding).toLowerCase()
        loweredCase = true
    }
  }
}
Buffer.byteLength = byteLength

function slowToString (encoding, start, end) {
  var loweredCase = false

  // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
  // property of a typed array.

  // This behaves neither like String nor Uint8Array in that we set start/end
  // to their upper/lower bounds if the value passed is out of range.
  // undefined is handled specially as per ECMA-262 6th Edition,
  // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
  if (start === undefined || start < 0) {
    start = 0
  }
  // Return early if start > this.length. Done here to prevent potential uint32
  // coercion fail below.
  if (start > this.length) {
    return ''
  }

  if (end === undefined || end > this.length) {
    end = this.length
  }

  if (end <= 0) {
    return ''
  }

  // Force coersion to uint32. This will also coerce falsey/NaN values to 0.
  end >>>= 0
  start >>>= 0

  if (end <= start) {
    return ''
  }

  if (!encoding) encoding = 'utf8'

  while (true) {
    switch (encoding) {
      case 'hex':
        return hexSlice(this, start, end)

      case 'utf8':
      case 'utf-8':
        return utf8Slice(this, start, end)

      case 'ascii':
        return asciiSlice(this, start, end)

      case 'latin1':
      case 'binary':
        return latin1Slice(this, start, end)

      case 'base64':
        return base64Slice(this, start, end)

      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return utf16leSlice(this, start, end)

      default:
        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
        encoding = (encoding + '').toLowerCase()
        loweredCase = true
    }
  }
}

// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect
// Buffer instances.
Buffer.prototype._isBuffer = true

function swap (b, n, m) {
  var i = b[n]
  b[n] = b[m]
  b[m] = i
}

Buffer.prototype.swap16 = function swap16 () {
  var len = this.length
  if (len % 2 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 16-bits')
  }
  for (var i = 0; i < len; i += 2) {
    swap(this, i, i + 1)
  }
  return this
}

Buffer.prototype.swap32 = function swap32 () {
  var len = this.length
  if (len % 4 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 32-bits')
  }
  for (var i = 0; i < len; i += 4) {
    swap(this, i, i + 3)
    swap(this, i + 1, i + 2)
  }
  return this
}

Buffer.prototype.swap64 = function swap64 () {
  var len = this.length
  if (len % 8 !== 0) {
    throw new RangeError('Buffer size must be a multiple of 64-bits')
  }
  for (var i = 0; i < len; i += 8) {
    swap(this, i, i + 7)
    swap(this, i + 1, i + 6)
    swap(this, i + 2, i + 5)
    swap(this, i + 3, i + 4)
  }
  return this
}

Buffer.prototype.toString = function toString () {
  var length = this.length | 0
  if (length === 0) return ''
  if (arguments.length === 0) return utf8Slice(this, 0, length)
  return slowToString.apply(this, arguments)
}

Buffer.prototype.equals = function equals (b) {
  if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
  if (this === b) return true
  return Buffer.compare(this, b) === 0
}

Buffer.prototype.inspect = function inspect () {
  var str = ''
  var max = exports.INSPECT_MAX_BYTES
  if (this.length > 0) {
    str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')
    if (this.length > max) str += ' ... '
  }
  return '<Buffer ' + str + '>'
}

Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
  if (!Buffer.isBuffer(target)) {
    throw new TypeError('Argument must be a Buffer')
  }

  if (start === undefined) {
    start = 0
  }
  if (end === undefined) {
    end = target ? target.length : 0
  }
  if (thisStart === undefined) {
    thisStart = 0
  }
  if (thisEnd === undefined) {
    thisEnd = this.length
  }

  if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
    throw new RangeError('out of range index')
  }

  if (thisStart >= thisEnd && start >= end) {
    return 0
  }
  if (thisStart >= thisEnd) {
    return -1
  }
  if (start >= end) {
    return 1
  }

  start >>>= 0
  end >>>= 0
  thisStart >>>= 0
  thisEnd >>>= 0

  if (this === target) return 0

  var x = thisEnd - thisStart
  var y = end - start
  var len = Math.min(x, y)

  var thisCopy = this.slice(thisStart, thisEnd)
  var targetCopy = target.slice(start, end)

  for (var i = 0; i < len; ++i) {
    if (thisCopy[i] !== targetCopy[i]) {
      x = thisCopy[i]
      y = targetCopy[i]
      break
    }
  }

  if (x < y) return -1
  if (y < x) return 1
  return 0
}

// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
// OR the last index of `val` in `buffer` at offset <= `byteOffset`.
//
// Arguments:
// - buffer - a Buffer to search
// - val - a string, Buffer, or number
// - byteOffset - an index into `buffer`; will be clamped to an int32
// - encoding - an optional encoding, relevant is val is a string
// - dir - true for indexOf, false for lastIndexOf
function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
  // Empty buffer means no match
  if (buffer.length === 0) return -1

  // Normalize byteOffset
  if (typeof byteOffset === 'string') {
    encoding = byteOffset
    byteOffset = 0
  } else if (byteOffset > 0x7fffffff) {
    byteOffset = 0x7fffffff
  } else if (byteOffset < -0x80000000) {
    byteOffset = -0x80000000
  }
  byteOffset = +byteOffset  // Coerce to Number.
  if (isNaN(byteOffset)) {
    // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
    byteOffset = dir ? 0 : (buffer.length - 1)
  }

  // Normalize byteOffset: negative offsets start from the end of the buffer
  if (byteOffset < 0) byteOffset = buffer.length + byteOffset
  if (byteOffset >= buffer.length) {
    if (dir) return -1
    else byteOffset = buffer.length - 1
  } else if (byteOffset < 0) {
    if (dir) byteOffset = 0
    else return -1
  }

  // Normalize val
  if (typeof val === 'string') {
    val = Buffer.from(val, encoding)
  }

  // Finally, search either indexOf (if dir is true) or lastIndexOf
  if (Buffer.isBuffer(val)) {
    // Special case: looking for empty string/buffer always fails
    if (val.length === 0) {
      return -1
    }
    return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
  } else if (typeof val === 'number') {
    val = val & 0xFF // Search for a byte value [0-255]
    if (Buffer.TYPED_ARRAY_SUPPORT &&
        typeof Uint8Array.prototype.indexOf === 'function') {
      if (dir) {
        return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
      } else {
        return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
      }
    }
    return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)
  }

  throw new TypeError('val must be string, number or Buffer')
}

function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
  var indexSize = 1
  var arrLength = arr.length
  var valLength = val.length

  if (encoding !== undefined) {
    encoding = String(encoding).toLowerCase()
    if (encoding === 'ucs2' || encoding === 'ucs-2' ||
        encoding === 'utf16le' || encoding === 'utf-16le') {
      if (arr.length < 2 || val.length < 2) {
        return -1
      }
      indexSize = 2
      arrLength /= 2
      valLength /= 2
      byteOffset /= 2
    }
  }

  function read (buf, i) {
    if (indexSize === 1) {
      return buf[i]
    } else {
      return buf.readUInt16BE(i * indexSize)
    }
  }

  var i
  if (dir) {
    var foundIndex = -1
    for (i = byteOffset; i < arrLength; i++) {
      if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
        if (foundIndex === -1) foundIndex = i
        if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
      } else {
        if (foundIndex !== -1) i -= i - foundIndex
        foundIndex = -1
      }
    }
  } else {
    if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
    for (i = byteOffset; i >= 0; i--) {
      var found = true
      for (var j = 0; j < valLength; j++) {
        if (read(arr, i + j) !== read(val, j)) {
          found = false
          break
        }
      }
      if (found) return i
    }
  }

  return -1
}

Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
  return this.indexOf(val, byteOffset, encoding) !== -1
}

Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
  return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
}

Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
  return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
}

function hexWrite (buf, string, offset, length) {
  offset = Number(offset) || 0
  var remaining = buf.length - offset
  if (!length) {
    length = remaining
  } else {
    length = Number(length)
    if (length > remaining) {
      length = remaining
    }
  }

  // must be an even number of digits
  var strLen = string.length
  if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')

  if (length > strLen / 2) {
    length = strLen / 2
  }
  for (var i = 0; i < length; ++i) {
    var parsed = parseInt(string.substr(i * 2, 2), 16)
    if (isNaN(parsed)) return i
    buf[offset + i] = parsed
  }
  return i
}

function utf8Write (buf, string, offset, length) {
  return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
}

function asciiWrite (buf, string, offset, length) {
  return blitBuffer(asciiToBytes(string), buf, offset, length)
}

function latin1Write (buf, string, offset, length) {
  return asciiWrite(buf, string, offset, length)
}

function base64Write (buf, string, offset, length) {
  return blitBuffer(base64ToBytes(string), buf, offset, length)
}

function ucs2Write (buf, string, offset, length) {
  return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
}

Buffer.prototype.write = function write (string, offset, length, encoding) {
  // Buffer#write(string)
  if (offset === undefined) {
    encoding = 'utf8'
    length = this.length
    offset = 0
  // Buffer#write(string, encoding)
  } else if (length === undefined && typeof offset === 'string') {
    encoding = offset
    length = this.length
    offset = 0
  // Buffer#write(string, offset[, length][, encoding])
  } else if (isFinite(offset)) {
    offset = offset | 0
    if (isFinite(length)) {
      length = length | 0
      if (encoding === undefined) encoding = 'utf8'
    } else {
      encoding = length
      length = undefined
    }
  // legacy write(string, encoding, offset, length) - remove in v0.13
  } else {
    throw new Error(
      'Buffer.write(string, encoding, offset[, length]) is no longer supported'
    )
  }

  var remaining = this.length - offset
  if (length === undefined || length > remaining) length = remaining

  if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
    throw new RangeError('Attempt to write outside buffer bounds')
  }

  if (!encoding) encoding = 'utf8'

  var loweredCase = false
  for (;;) {
    switch (encoding) {
      case 'hex':
        return hexWrite(this, string, offset, length)

      case 'utf8':
      case 'utf-8':
        return utf8Write(this, string, offset, length)

      case 'ascii':
        return asciiWrite(this, string, offset, length)

      case 'latin1':
      case 'binary':
        return latin1Write(this, string, offset, length)

      case 'base64':
        // Warning: maxLength not taken into account in base64Write
        return base64Write(this, string, offset, length)

      case 'ucs2':
      case 'ucs-2':
      case 'utf16le':
      case 'utf-16le':
        return ucs2Write(this, string, offset, length)

      default:
        if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
        encoding = ('' + encoding).toLowerCase()
        loweredCase = true
    }
  }
}

Buffer.prototype.toJSON = function toJSON () {
  return {
    type: 'Buffer',
    data: Array.prototype.slice.call(this._arr || this, 0)
  }
}

function base64Slice (buf, start, end) {
  if (start === 0 && end === buf.length) {
    return base64.fromByteArray(buf)
  } else {
    return base64.fromByteArray(buf.slice(start, end))
  }
}

function utf8Slice (buf, start, end) {
  end = Math.min(buf.length, end)
  var res = []

  var i = start
  while (i < end) {
    var firstByte = buf[i]
    var codePoint = null
    var bytesPerSequence = (firstByte > 0xEF) ? 4
      : (firstByte > 0xDF) ? 3
      : (firstByte > 0xBF) ? 2
      : 1

    if (i + bytesPerSequence <= end) {
      var secondByte, thirdByte, fourthByte, tempCodePoint

      switch (bytesPerSequence) {
        case 1:
          if (firstByte < 0x80) {
            codePoint = firstByte
          }
          break
        case 2:
          secondByte = buf[i + 1]
          if ((secondByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
            if (tempCodePoint > 0x7F) {
              codePoint = tempCodePoint
            }
          }
          break
        case 3:
          secondByte = buf[i + 1]
          thirdByte = buf[i + 2]
          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
            if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
              codePoint = tempCodePoint
            }
          }
          break
        case 4:
          secondByte = buf[i + 1]
          thirdByte = buf[i + 2]
          fourthByte = buf[i + 3]
          if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
            tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
            if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
              codePoint = tempCodePoint
            }
          }
      }
    }

    if (codePoint === null) {
      // we did not generate a valid codePoint so insert a
      // replacement char (U+FFFD) and advance only 1 byte
      codePoint = 0xFFFD
      bytesPerSequence = 1
    } else if (codePoint > 0xFFFF) {
      // encode to utf16 (surrogate pair dance)
      codePoint -= 0x10000
      res.push(codePoint >>> 10 & 0x3FF | 0xD800)
      codePoint = 0xDC00 | codePoint & 0x3FF
    }

    res.push(codePoint)
    i += bytesPerSequence
  }

  return decodeCodePointsArray(res)
}

// Based on http://stackoverflow.com/a/22747272/680742, the browser with
// the lowest limit is Chrome, with 0x10000 args.
// We go 1 magnitude less, for safety
var MAX_ARGUMENTS_LENGTH = 0x1000

function decodeCodePointsArray (codePoints) {
  var len = codePoints.length
  if (len <= MAX_ARGUMENTS_LENGTH) {
    return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
  }

  // Decode in chunks to avoid "call stack size exceeded".
  var res = ''
  var i = 0
  while (i < len) {
    res += String.fromCharCode.apply(
      String,
      codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
    )
  }
  return res
}

function asciiSlice (buf, start, end) {
  var ret = ''
  end = Math.min(buf.length, end)

  for (var i = start; i < end; ++i) {
    ret += String.fromCharCode(buf[i] & 0x7F)
  }
  return ret
}

function latin1Slice (buf, start, end) {
  var ret = ''
  end = Math.min(buf.length, end)

  for (var i = start; i < end; ++i) {
    ret += String.fromCharCode(buf[i])
  }
  return ret
}

function hexSlice (buf, start, end) {
  var len = buf.length

  if (!start || start < 0) start = 0
  if (!end || end < 0 || end > len) end = len

  var out = ''
  for (var i = start; i < end; ++i) {
    out += toHex(buf[i])
  }
  return out
}

function utf16leSlice (buf, start, end) {
  var bytes = buf.slice(start, end)
  var res = ''
  for (var i = 0; i < bytes.length; i += 2) {
    res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)
  }
  return res
}

Buffer.prototype.slice = function slice (start, end) {
  var len = this.length
  start = ~~start
  end = end === undefined ? len : ~~end

  if (start < 0) {
    start += len
    if (start < 0) start = 0
  } else if (start > len) {
    start = len
  }

  if (end < 0) {
    end += len
    if (end < 0) end = 0
  } else if (end > len) {
    end = len
  }

  if (end < start) end = start

  var newBuf
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    newBuf = this.subarray(start, end)
    newBuf.__proto__ = Buffer.prototype
  } else {
    var sliceLen = end - start
    newBuf = new Buffer(sliceLen, undefined)
    for (var i = 0; i < sliceLen; ++i) {
      newBuf[i] = this[i + start]
    }
  }

  return newBuf
}

/*
 * Need to make sure that buffer isn't trying to write out of bounds.
 */
function checkOffset (offset, ext, length) {
  if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
  if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
}

Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var val = this[offset]
  var mul = 1
  var i = 0
  while (++i < byteLength && (mul *= 0x100)) {
    val += this[offset + i] * mul
  }

  return val
}

Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    checkOffset(offset, byteLength, this.length)
  }

  var val = this[offset + --byteLength]
  var mul = 1
  while (byteLength > 0 && (mul *= 0x100)) {
    val += this[offset + --byteLength] * mul
  }

  return val
}

Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 1, this.length)
  return this[offset]
}

Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  return this[offset] | (this[offset + 1] << 8)
}

Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  return (this[offset] << 8) | this[offset + 1]
}

Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return ((this[offset]) |
      (this[offset + 1] << 8) |
      (this[offset + 2] << 16)) +
      (this[offset + 3] * 0x1000000)
}

Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset] * 0x1000000) +
    ((this[offset + 1] << 16) |
    (this[offset + 2] << 8) |
    this[offset + 3])
}

Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var val = this[offset]
  var mul = 1
  var i = 0
  while (++i < byteLength && (mul *= 0x100)) {
    val += this[offset + i] * mul
  }
  mul *= 0x80

  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

  return val
}

Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) checkOffset(offset, byteLength, this.length)

  var i = byteLength
  var mul = 1
  var val = this[offset + --i]
  while (i > 0 && (mul *= 0x100)) {
    val += this[offset + --i] * mul
  }
  mul *= 0x80

  if (val >= mul) val -= Math.pow(2, 8 * byteLength)

  return val
}

Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 1, this.length)
  if (!(this[offset] & 0x80)) return (this[offset])
  return ((0xff - this[offset] + 1) * -1)
}

Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  var val = this[offset] | (this[offset + 1] << 8)
  return (val & 0x8000) ? val | 0xFFFF0000 : val
}

Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 2, this.length)
  var val = this[offset + 1] | (this[offset] << 8)
  return (val & 0x8000) ? val | 0xFFFF0000 : val
}

Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset]) |
    (this[offset + 1] << 8) |
    (this[offset + 2] << 16) |
    (this[offset + 3] << 24)
}

Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)

  return (this[offset] << 24) |
    (this[offset + 1] << 16) |
    (this[offset + 2] << 8) |
    (this[offset + 3])
}

Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)
  return ieee754.read(this, offset, true, 23, 4)
}

Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 4, this.length)
  return ieee754.read(this, offset, false, 23, 4)
}

Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 8, this.length)
  return ieee754.read(this, offset, true, 52, 8)
}

Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
  if (!noAssert) checkOffset(offset, 8, this.length)
  return ieee754.read(this, offset, false, 52, 8)
}

function checkInt (buf, value, offset, ext, max, min) {
  if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
  if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
  if (offset + ext > buf.length) throw new RangeError('Index out of range')
}

Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    var maxBytes = Math.pow(2, 8 * byteLength) - 1
    checkInt(this, value, offset, byteLength, maxBytes, 0)
  }

  var mul = 1
  var i = 0
  this[offset] = value & 0xFF
  while (++i < byteLength && (mul *= 0x100)) {
    this[offset + i] = (value / mul) & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  byteLength = byteLength | 0
  if (!noAssert) {
    var maxBytes = Math.pow(2, 8 * byteLength) - 1
    checkInt(this, value, offset, byteLength, maxBytes, 0)
  }

  var i = byteLength - 1
  var mul = 1
  this[offset + i] = value & 0xFF
  while (--i >= 0 && (mul *= 0x100)) {
    this[offset + i] = (value / mul) & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  this[offset] = (value & 0xff)
  return offset + 1
}

function objectWriteUInt16 (buf, value, offset, littleEndian) {
  if (value < 0) value = 0xffff + value + 1
  for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {
    buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
      (littleEndian ? i : 1 - i) * 8
  }
}

Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
  } else {
    objectWriteUInt16(this, value, offset, true)
  }
  return offset + 2
}

Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 8)
    this[offset + 1] = (value & 0xff)
  } else {
    objectWriteUInt16(this, value, offset, false)
  }
  return offset + 2
}

function objectWriteUInt32 (buf, value, offset, littleEndian) {
  if (value < 0) value = 0xffffffff + value + 1
  for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {
    buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
  }
}

Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset + 3] = (value >>> 24)
    this[offset + 2] = (value >>> 16)
    this[offset + 1] = (value >>> 8)
    this[offset] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, true)
  }
  return offset + 4
}

Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 24)
    this[offset + 1] = (value >>> 16)
    this[offset + 2] = (value >>> 8)
    this[offset + 3] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, false)
  }
  return offset + 4
}

Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) {
    var limit = Math.pow(2, 8 * byteLength - 1)

    checkInt(this, value, offset, byteLength, limit - 1, -limit)
  }

  var i = 0
  var mul = 1
  var sub = 0
  this[offset] = value & 0xFF
  while (++i < byteLength && (mul *= 0x100)) {
    if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
      sub = 1
    }
    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) {
    var limit = Math.pow(2, 8 * byteLength - 1)

    checkInt(this, value, offset, byteLength, limit - 1, -limit)
  }

  var i = byteLength - 1
  var mul = 1
  var sub = 0
  this[offset + i] = value & 0xFF
  while (--i >= 0 && (mul *= 0x100)) {
    if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
      sub = 1
    }
    this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
  }

  return offset + byteLength
}

Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
  if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)
  if (value < 0) value = 0xff + value + 1
  this[offset] = (value & 0xff)
  return offset + 1
}

Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
  } else {
    objectWriteUInt16(this, value, offset, true)
  }
  return offset + 2
}

Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 8)
    this[offset + 1] = (value & 0xff)
  } else {
    objectWriteUInt16(this, value, offset, false)
  }
  return offset + 2
}

Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value & 0xff)
    this[offset + 1] = (value >>> 8)
    this[offset + 2] = (value >>> 16)
    this[offset + 3] = (value >>> 24)
  } else {
    objectWriteUInt32(this, value, offset, true)
  }
  return offset + 4
}

Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
  value = +value
  offset = offset | 0
  if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
  if (value < 0) value = 0xffffffff + value + 1
  if (Buffer.TYPED_ARRAY_SUPPORT) {
    this[offset] = (value >>> 24)
    this[offset + 1] = (value >>> 16)
    this[offset + 2] = (value >>> 8)
    this[offset + 3] = (value & 0xff)
  } else {
    objectWriteUInt32(this, value, offset, false)
  }
  return offset + 4
}

function checkIEEE754 (buf, value, offset, ext, max, min) {
  if (offset + ext > buf.length) throw new RangeError('Index out of range')
  if (offset < 0) throw new RangeError('Index out of range')
}

function writeFloat (buf, value, offset, littleEndian, noAssert) {
  if (!noAssert) {
    checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
  }
  ieee754.write(buf, value, offset, littleEndian, 23, 4)
  return offset + 4
}

Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
  return writeFloat(this, value, offset, true, noAssert)
}

Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
  return writeFloat(this, value, offset, false, noAssert)
}

function writeDouble (buf, value, offset, littleEndian, noAssert) {
  if (!noAssert) {
    checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
  }
  ieee754.write(buf, value, offset, littleEndian, 52, 8)
  return offset + 8
}

Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
  return writeDouble(this, value, offset, true, noAssert)
}

Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
  return writeDouble(this, value, offset, false, noAssert)
}

// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
Buffer.prototype.copy = function copy (target, targetStart, start, end) {
  if (!start) start = 0
  if (!end && end !== 0) end = this.length
  if (targetStart >= target.length) targetStart = target.length
  if (!targetStart) targetStart = 0
  if (end > 0 && end < start) end = start

  // Copy 0 bytes; we're done
  if (end === start) return 0
  if (target.length === 0 || this.length === 0) return 0

  // Fatal error conditions
  if (targetStart < 0) {
    throw new RangeError('targetStart out of bounds')
  }
  if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')
  if (end < 0) throw new RangeError('sourceEnd out of bounds')

  // Are we oob?
  if (end > this.length) end = this.length
  if (target.length - targetStart < end - start) {
    end = target.length - targetStart + start
  }

  var len = end - start
  var i

  if (this === target && start < targetStart && targetStart < end) {
    // descending copy from end
    for (i = len - 1; i >= 0; --i) {
      target[i + targetStart] = this[i + start]
    }
  } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {
    // ascending copy from start
    for (i = 0; i < len; ++i) {
      target[i + targetStart] = this[i + start]
    }
  } else {
    Uint8Array.prototype.set.call(
      target,
      this.subarray(start, start + len),
      targetStart
    )
  }

  return len
}

// Usage:
//    buffer.fill(number[, offset[, end]])
//    buffer.fill(buffer[, offset[, end]])
//    buffer.fill(string[, offset[, end]][, encoding])
Buffer.prototype.fill = function fill (val, start, end, encoding) {
  // Handle string cases:
  if (typeof val === 'string') {
    if (typeof start === 'string') {
      encoding = start
      start = 0
      end = this.length
    } else if (typeof end === 'string') {
      encoding = end
      end = this.length
    }
    if (val.length === 1) {
      var code = val.charCodeAt(0)
      if (code < 256) {
        val = code
      }
    }
    if (encoding !== undefined && typeof encoding !== 'string') {
      throw new TypeError('encoding must be a string')
    }
    if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
      throw new TypeError('Unknown encoding: ' + encoding)
    }
  } else if (typeof val === 'number') {
    val = val & 255
  }

  // Invalid ranges are not set to a default, so can range check early.
  if (start < 0 || this.length < start || this.length < end) {
    throw new RangeError('Out of range index')
  }

  if (end <= start) {
    return this
  }

  start = start >>> 0
  end = end === undefined ? this.length : end >>> 0

  if (!val) val = 0

  var i
  if (typeof val === 'number') {
    for (i = start; i < end; ++i) {
      this[i] = val
    }
  } else {
    var bytes = Buffer.isBuffer(val)
      ? val
      : utf8ToBytes(new Buffer(val, encoding).toString())
    var len = bytes.length
    for (i = 0; i < end - start; ++i) {
      this[i + start] = bytes[i % len]
    }
  }

  return this
}

// HELPER FUNCTIONS
// ================

var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g

function base64clean (str) {
  // Node strips out invalid characters like \n and \t from the string, base64-js does not
  str = stringtrim(str).replace(INVALID_BASE64_RE, '')
  // Node converts strings with length < 2 to ''
  if (str.length < 2) return ''
  // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
  while (str.length % 4 !== 0) {
    str = str + '='
  }
  return str
}

function stringtrim (str) {
  if (str.trim) return str.trim()
  return str.replace(/^\s+|\s+$/g, '')
}

function toHex (n) {
  if (n < 16) return '0' + n.toString(16)
  return n.toString(16)
}

function utf8ToBytes (string, units) {
  units = units || Infinity
  var codePoint
  var length = string.length
  var leadSurrogate = null
  var bytes = []

  for (var i = 0; i < length; ++i) {
    codePoint = string.charCodeAt(i)

    // is surrogate component
    if (codePoint > 0xD7FF && codePoint < 0xE000) {
      // last char was a lead
      if (!leadSurrogate) {
        // no lead yet
        if (codePoint > 0xDBFF) {
          // unexpected trail
          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
          continue
        } else if (i + 1 === length) {
          // unpaired lead
          if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
          continue
        }

        // valid lead
        leadSurrogate = codePoint

        continue
      }

      // 2 leads in a row
      if (codePoint < 0xDC00) {
        if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
        leadSurrogate = codePoint
        continue
      }

      // valid surrogate pair
      codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
    } else if (leadSurrogate) {
      // valid bmp char, but last char was a lead
      if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
    }

    leadSurrogate = null

    // encode utf8
    if (codePoint < 0x80) {
      if ((units -= 1) < 0) break
      bytes.push(codePoint)
    } else if (codePoint < 0x800) {
      if ((units -= 2) < 0) break
      bytes.push(
        codePoint >> 0x6 | 0xC0,
        codePoint & 0x3F | 0x80
      )
    } else if (codePoint < 0x10000) {
      if ((units -= 3) < 0) break
      bytes.push(
        codePoint >> 0xC | 0xE0,
        codePoint >> 0x6 & 0x3F | 0x80,
        codePoint & 0x3F | 0x80
      )
    } else if (codePoint < 0x110000) {
      if ((units -= 4) < 0) break
      bytes.push(
        codePoint >> 0x12 | 0xF0,
        codePoint >> 0xC & 0x3F | 0x80,
        codePoint >> 0x6 & 0x3F | 0x80,
        codePoint & 0x3F | 0x80
      )
    } else {
      throw new Error('Invalid code point')
    }
  }

  return bytes
}

function asciiToBytes (str) {
  var byteArray = []
  for (var i = 0; i < str.length; ++i) {
    // Node's code seems to be doing this and not & 0x7F..
    byteArray.push(str.charCodeAt(i) & 0xFF)
  }
  return byteArray
}

function utf16leToBytes (str, units) {
  var c, hi, lo
  var byteArray = []
  for (var i = 0; i < str.length; ++i) {
    if ((units -= 2) < 0) break

    c = str.charCodeAt(i)
    hi = c >> 8
    lo = c % 256
    byteArray.push(lo)
    byteArray.push(hi)
  }

  return byteArray
}

function base64ToBytes (str) {
  return base64.toByteArray(base64clean(str))
}

function blitBuffer (src, dst, offset, length) {
  for (var i = 0; i < length; ++i) {
    if ((i + offset >= dst.length) || (i >= src.length)) break
    dst[i + offset] = src[i]
  }
  return i
}

function isnan (val) {
  return val !== val // eslint-disable-line no-self-compare
}

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba")))

/***/ }),

/***/ "b64b":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var toObject = __webpack_require__("7b0b");
var nativeKeys = __webpack_require__("df75");
var fails = __webpack_require__("d039");

var FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });

// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {
  keys: function keys(it) {
    return nativeKeys(toObject(it));
  }
});


/***/ }),

/***/ "b666":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "b680":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var toIntegerOrInfinity = __webpack_require__("5926");
var thisNumberValue = __webpack_require__("408a");
var $repeat = __webpack_require__("1148");
var fails = __webpack_require__("d039");

var RangeError = global.RangeError;
var String = global.String;
var floor = Math.floor;
var repeat = uncurryThis($repeat);
var stringSlice = uncurryThis(''.slice);
var un$ToFixed = uncurryThis(1.0.toFixed);

var pow = function (x, n, acc) {
  return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc);
};

var log = function (x) {
  var n = 0;
  var x2 = x;
  while (x2 >= 4096) {
    n += 12;
    x2 /= 4096;
  }
  while (x2 >= 2) {
    n += 1;
    x2 /= 2;
  } return n;
};

var multiply = function (data, n, c) {
  var index = -1;
  var c2 = c;
  while (++index < 6) {
    c2 += n * data[index];
    data[index] = c2 % 1e7;
    c2 = floor(c2 / 1e7);
  }
};

var divide = function (data, n) {
  var index = 6;
  var c = 0;
  while (--index >= 0) {
    c += data[index];
    data[index] = floor(c / n);
    c = (c % n) * 1e7;
  }
};

var dataToString = function (data) {
  var index = 6;
  var s = '';
  while (--index >= 0) {
    if (s !== '' || index === 0 || data[index] !== 0) {
      var t = String(data[index]);
      s = s === '' ? t : s + repeat('0', 7 - t.length) + t;
    }
  } return s;
};

var FORCED = fails(function () {
  return un$ToFixed(0.00008, 3) !== '0.000' ||
    un$ToFixed(0.9, 0) !== '1' ||
    un$ToFixed(1.255, 2) !== '1.25' ||
    un$ToFixed(1000000000000000128.0, 0) !== '1000000000000000128';
}) || !fails(function () {
  // V8 ~ Android 4.3-
  un$ToFixed({});
});

// `Number.prototype.toFixed` method
// https://tc39.es/ecma262/#sec-number.prototype.tofixed
$({ target: 'Number', proto: true, forced: FORCED }, {
  toFixed: function toFixed(fractionDigits) {
    var number = thisNumberValue(this);
    var fractDigits = toIntegerOrInfinity(fractionDigits);
    var data = [0, 0, 0, 0, 0, 0];
    var sign = '';
    var result = '0';
    var e, z, j, k;

    // TODO: ES2018 increased the maximum number of fraction digits to 100, need to improve the implementation
    if (fractDigits < 0 || fractDigits > 20) throw RangeError('Incorrect fraction digits');
    // eslint-disable-next-line no-self-compare -- NaN check
    if (number != number) return 'NaN';
    if (number <= -1e21 || number >= 1e21) return String(number);
    if (number < 0) {
      sign = '-';
      number = -number;
    }
    if (number > 1e-21) {
      e = log(number * pow(2, 69, 1)) - 69;
      z = e < 0 ? number * pow(2, -e, 1) : number / pow(2, e, 1);
      z *= 0x10000000000000;
      e = 52 - e;
      if (e > 0) {
        multiply(data, 0, z);
        j = fractDigits;
        while (j >= 7) {
          multiply(data, 1e7, 0);
          j -= 7;
        }
        multiply(data, pow(10, j, 1), 0);
        j = e - 1;
        while (j >= 23) {
          divide(data, 1 << 23);
          j -= 23;
        }
        divide(data, 1 << j);
        multiply(data, 1, 1);
        divide(data, 2);
        result = dataToString(data);
      } else {
        multiply(data, 0, z);
        multiply(data, 1 << -e, 0);
        result = dataToString(data) + repeat('0', fractDigits);
      }
    }
    if (fractDigits > 0) {
      k = result.length;
      result = sign + (k <= fractDigits
        ? '0.' + repeat('0', fractDigits - k) + result
        : stringSlice(result, 0, k - fractDigits) + '.' + stringSlice(result, k - fractDigits));
    } else {
      result = sign + result;
    } return result;
  }
});


/***/ }),

/***/ "b6b7":
/***/ (function(module, exports, __webpack_require__) {

var ArrayBufferViewCore = __webpack_require__("ebb5");
var speciesConstructor = __webpack_require__("4840");

var TYPED_ARRAY_CONSTRUCTOR = ArrayBufferViewCore.TYPED_ARRAY_CONSTRUCTOR;
var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;

// a part of `TypedArraySpeciesCreate` abstract operation
// https://tc39.es/ecma262/#typedarray-species-create
module.exports = function (originalArray) {
  return aTypedArrayConstructor(speciesConstructor(originalArray, originalArray[TYPED_ARRAY_CONSTRUCTOR]));
};


/***/ }),

/***/ "b727":
/***/ (function(module, exports, __webpack_require__) {

var bind = __webpack_require__("0366");
var uncurryThis = __webpack_require__("e330");
var IndexedObject = __webpack_require__("44ad");
var toObject = __webpack_require__("7b0b");
var lengthOfArrayLike = __webpack_require__("07fa");
var arraySpeciesCreate = __webpack_require__("65f0");

var push = uncurryThis([].push);

// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation
var createMethod = function (TYPE) {
  var IS_MAP = TYPE == 1;
  var IS_FILTER = TYPE == 2;
  var IS_SOME = TYPE == 3;
  var IS_EVERY = TYPE == 4;
  var IS_FIND_INDEX = TYPE == 6;
  var IS_FILTER_REJECT = TYPE == 7;
  var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
  return function ($this, callbackfn, that, specificCreate) {
    var O = toObject($this);
    var self = IndexedObject(O);
    var boundFunction = bind(callbackfn, that);
    var length = lengthOfArrayLike(self);
    var index = 0;
    var create = specificCreate || arraySpeciesCreate;
    var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;
    var value, result;
    for (;length > index; index++) if (NO_HOLES || index in self) {
      value = self[index];
      result = boundFunction(value, index, O);
      if (TYPE) {
        if (IS_MAP) target[index] = result; // map
        else if (result) switch (TYPE) {
          case 3: return true;              // some
          case 5: return value;             // find
          case 6: return index;             // findIndex
          case 2: push(target, value);      // filter
        } else switch (TYPE) {
          case 4: return false;             // every
          case 7: push(target, value);      // filterReject
        }
      }
    }
    return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
  };
};

module.exports = {
  // `Array.prototype.forEach` method
  // https://tc39.es/ecma262/#sec-array.prototype.foreach
  forEach: createMethod(0),
  // `Array.prototype.map` method
  // https://tc39.es/ecma262/#sec-array.prototype.map
  map: createMethod(1),
  // `Array.prototype.filter` method
  // https://tc39.es/ecma262/#sec-array.prototype.filter
  filter: createMethod(2),
  // `Array.prototype.some` method
  // https://tc39.es/ecma262/#sec-array.prototype.some
  some: createMethod(3),
  // `Array.prototype.every` method
  // https://tc39.es/ecma262/#sec-array.prototype.every
  every: createMethod(4),
  // `Array.prototype.find` method
  // https://tc39.es/ecma262/#sec-array.prototype.find
  find: createMethod(5),
  // `Array.prototype.findIndex` method
  // https://tc39.es/ecma262/#sec-array.prototype.findIndex
  findIndex: createMethod(6),
  // `Array.prototype.filterReject` method
  // https://github.com/tc39/proposal-array-filtering
  filterReject: createMethod(7)
};


/***/ }),

/***/ "b93c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Login_vue_vue_type_style_index_0_id_53ad4af2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("b1f5");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Login_vue_vue_type_style_index_0_id_53ad4af2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Login_vue_vue_type_style_index_0_id_53ad4af2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "b980":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var createPropertyDescriptor = __webpack_require__("5c6c");

module.exports = !fails(function () {
  var error = Error('a');
  if (!('stack' in error)) return true;
  // eslint-disable-next-line es/no-object-defineproperty -- safe
  Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
  return error.stack !== 7;
});


/***/ }),

/***/ "b9bc":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_22163d78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("c7f2");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_22163d78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Index_vue_vue_type_style_index_0_id_22163d78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "bbed":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "bc7c":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormContainer_vue_vue_type_style_index_0_id_4e67ac98_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d705");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormContainer_vue_vue_type_style_index_0_id_4e67ac98_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_FormContainer_vue_vue_type_style_index_0_id_4e67ac98_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "bd7f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("cfce");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Breadcrumb_vue_vue_type_style_index_0_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "bee0":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "c00a":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABsCAYAAACiuLoyAAAABHNCSVQICAgIfAhkiAAACCFJREFUeF7tnV1sVEUUgM9tt7ttabctu5TlpxS0YCRqaCARxcQ3xERieDZRiQ/ER6MJPGiQiBESTXyUJzWBF9+MJsKDiRpFIjwgCCgPWgLClrJtabd/u9ut5yxdsnbv7N65c/d25t4zyWS7zcydmXO+O/fsnHNnLFiSFhYWduK/9mN+HPNWzImlZfi7URLIYG+vLuYvLMs6V9l7q/wFFd+Kfx/B/DbmZqOGyJ11KoF5LPgx5vcQhDxVKgGAyn8KP77C/JjTK3E5oyXwO/b+VYTgUhmAY/iPg0YPiTsvK4HjCMAhC+/+Z7Dmz5ibZK/A5Y2WQBF7P0gAfIZ/HDB6KNx5txI4QQCQVfi02ytwPaMl8CMBMI5D6DJ6GNx5txIYJgAW3NbmeuZLgAEwX4dKI2AAlMRnfmUGwHwdKo2AAVASn/mVGQDzdag0AgZASXzmV2YAzNeh0giUALg8NAM/XcrC3bECWOhW6u2JwIbeGJz/cwpSK1vg5We74HamAN/8Om77fd9z3XBrJAet0SZ4YiN5o+1TdjoPY5NzMJebh2KRly3aWiOQ7GoF+lRNrgE4c2ECzl6Zsm1/945O2JSKOerbX7fm4IeLk/DGi0mEp6WqDin/9oh9O44aCHChvtUdyhC4BuDoqTTkC/Z3I80E+3Z1Oxb95EwREvFmSMarib6ZzsLMXMHxtcJUsC0Wgb5Uh9KQXQPwwck0FObtAYhGLNi/Ry6SbHgsD4MD7VWDuX6DXBWc7CTQ1GTBQJ+aG8c1AIe/vFNTKwdeSkpp7cS39+DIa2sYACmpAWzpdz7T2l1aGwC+Pnsf3txbDQ3PALWJCAwANMy1iWojkAEICQB3RvOwfTPbAJJPgOA8AtgGkFX9g/KBeQSwDRByANgGCDkAbAOEHAC2AeQBwHUgGNgQ8HUAXgoWg7GsS8FerwSKbAB2BokBWFZnkNcAiGwAGn7JHTxB7uACsDcYgO78ZPcyu4O9BkBkA8g/GbmGjAS09wXIDIbLyktAGwBENoD8kLiGjAS0AaCWDSAzIC4rJwFtAGAbQE5xXpXWBgCRL6A80JnZAkxzaFhJHC2RJoiviHrCgDYA1LIB0plpmMjmPBlwUC4SQQhoHYBgUEnaACCyAejOvzmcVRljYOvSLJBKVsdQyAxYGwBENkBmfBYy92dlxhSasjQLPLIurjRebQAQ2QAMQG39BiYgRGQDMAAhAUBkAzAAIQGAbQB3j/LAPALYBgg5AGwDhBwAtgFCDgDbACEHgG2AkAPANoA8ALGWZuhf2ylfsaKGNiuBIhsgXyjCP/9OKA0yqJUTuE1MAmMDVZI2ANSKB6CA0Mz4DAeEVmiaAkPX9a4A2iRCJWkDQL14AJoJCphnQ75RVCzaXHIB06cXSRsARDaAF4Pka4gloA0AHBO4PJhqAwDHBIYcgHo2wPKIJ/itajMD1LMBaIfQuTyde6hXImvcLpV2NW3QYSxNuC1r4IzAWjYABYTeHcOfgRq+GEhhWetWrXioEOojBbHS+4yNTB3tLZBKtAfnZ6DIBjBhIYgg2Lims6QMPwNYArUQZLovoPyq9o3bk749qugx0I/gqSTtbQA/7ygVQdJ0HO+Igt/7GgYmIsj0eIDydMwALN5GXu0VbMoMwAAsmT9lATDdBmAAFAEQrQPwDFDbMmEbQMVy87AuzwCKM4DpMYEMgCIAbAO4m44C8wgw3QZY1dMGPfEYrwOUOZb9FWD6OkB5JfDvWxN4llLR3e0sWSvSjK+Hrw/I6+EiG8CEDSIoLK9/bbwUqpW+h7uZTPmzm0mgNoioFQ/gp1Alb8JS8fL0T3+T84r2N270LEB3Px0ZF5gtYurFA5B7lXzslOc1cAuT4CmTW3apb55cwvfRhU2f07jFjZepHU8LJa9jF/odVCOCqV/aOIM4JtBLTJxfSxsAOCbQudK8LKkNABwT6KVanV9LGwDq2QDOh8QlZSSgDQBsA8iozbuy2gBQywYoHRgxSQdGYKRtA34BtKFlncQXLemzMjW6XbdqFPXXzfW0AUBkA/h5ZEzlESx+tutGcVQnUEfGiGwAPw+NqjyEyc923QIQqEOjdDg3kBZWBvq6SvrwO7bPDQSV/XVTX6uFIF3ODSy7V00AgBQYGHewLmcHMwAO5xKvTw0T2QB+34kMwDIBoIMNUDml+g2eQ7FXFQvMI4BtAHcIBAYAtgFCDgDbACEHgG0AwwD48FQacoUF215HIxbs35NwPKJcfgFOfj8K776SqqrjpzFGsX0DG7rNWQiq6K9jYS8p6NoXcBQByAsA6O2JwL5dDwTpJBEAN0Zy8PyTHVXF/VyS5aVgJ9paLPPdbxNw7tqUbY3dOzphUypW92qk+KHhHGxZH4OezmZoi1afgeenU4adQXVV9v8Cl4dm4Jc/spAeLQDth7R6ZQQGH22H0+cf7O1bfjeAfuLZfd+2uR3308nB3p3dsH5Vi7D1klsWt4udyxUasl0s3flJ3HPX1h3cwHYlxf2wuKi/bq7n+hHgpjGuo58EGAD9dOJrjxgAX8WtX2MMgH468bVHBEAaW1zta6vcmC4SGCYATmNvXtClR9wPXyVwhgA4hk0e9LVZbkwXCRwnAAawN1cwR3XpFffDFwlksZVtpQNnEIJD+PGRL81yI7pI4C3Lsj4tA0BrsBcwD+rSO+5HQyVwEa++HQEoPjxyCmcBOn/sfczvYPbmRKKGjoEv7kICdODCJ5gPo/JnqX7VmWMIwk78/+uYty5m535dFz3iKg2XQAZbuIr5GubPUfHnKlv8D9fu0umAbFzwAAAAAElFTkSuQmCC"

/***/ }),

/***/ "c04e":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var call = __webpack_require__("c65b");
var isObject = __webpack_require__("861d");
var isSymbol = __webpack_require__("d9b5");
var getMethod = __webpack_require__("dc4a");
var ordinaryToPrimitive = __webpack_require__("485a");
var wellKnownSymbol = __webpack_require__("b622");

var TypeError = global.TypeError;
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');

// `ToPrimitive` abstract operation
// https://tc39.es/ecma262/#sec-toprimitive
module.exports = function (input, pref) {
  if (!isObject(input) || isSymbol(input)) return input;
  var exoticToPrim = getMethod(input, TO_PRIMITIVE);
  var result;
  if (exoticToPrim) {
    if (pref === undefined) pref = 'default';
    result = call(exoticToPrim, input, pref);
    if (!isObject(result) || isSymbol(result)) return result;
    throw TypeError("Can't convert object to primitive value");
  }
  if (pref === undefined) pref = 'number';
  return ordinaryToPrimitive(input, pref);
};


/***/ }),

/***/ "c0ef":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_cache_loader_dist_cjs_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_resize_sensor_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("7197");
/* harmony import */ var _mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_cache_loader_dist_cjs_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_resize_sensor_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_cache_loader_dist_cjs_js_ref_0_0_vue_loader_lib_index_js_vue_loader_options_resize_sensor_vue_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "c1ac":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $filter = __webpack_require__("b727").filter;
var fromSpeciesAndList = __webpack_require__("1448");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.filter` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.filter
exportTypedArrayMethod('filter', function filter(callbackfn /* , thisArg */) {
  var list = $filter(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  return fromSpeciesAndList(this, list);
});


/***/ }),

/***/ "c2cf":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_id_c772a154_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("300a");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_id_c772a154_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Container_vue_vue_type_style_index_0_id_c772a154_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "c356":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "c430":
/***/ (function(module, exports) {

module.exports = false;


/***/ }),

/***/ "c43c":
/***/ (function(module, exports, __webpack_require__) {

/**
 * @licstart The following is the entire license notice for the
 * Javascript code in this page
 *
 * Copyright 2020 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @licend The above is the entire license notice for the
 * Javascript code in this page
 */

(function webpackUniversalModuleDefinition(root, factory) {
	if(true)
		module.exports = factory();
	else {}
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __w_pdfjs_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__w_pdfjs_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__w_pdfjs_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__w_pdfjs_require__.d = function(exports, name, getter) {
/******/ 		if(!__w_pdfjs_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__w_pdfjs_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__w_pdfjs_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __w_pdfjs_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__w_pdfjs_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__w_pdfjs_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__w_pdfjs_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__w_pdfjs_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
Object.defineProperty(exports, "AnnotationLayerBuilder", {
  enumerable: true,
  get: function get() {
    return _annotation_layer_builder.AnnotationLayerBuilder;
  }
});
Object.defineProperty(exports, "DefaultAnnotationLayerFactory", {
  enumerable: true,
  get: function get() {
    return _annotation_layer_builder.DefaultAnnotationLayerFactory;
  }
});
Object.defineProperty(exports, "DefaultTextLayerFactory", {
  enumerable: true,
  get: function get() {
    return _text_layer_builder.DefaultTextLayerFactory;
  }
});
Object.defineProperty(exports, "TextLayerBuilder", {
  enumerable: true,
  get: function get() {
    return _text_layer_builder.TextLayerBuilder;
  }
});
Object.defineProperty(exports, "EventBus", {
  enumerable: true,
  get: function get() {
    return _ui_utils.EventBus;
  }
});
Object.defineProperty(exports, "NullL10n", {
  enumerable: true,
  get: function get() {
    return _ui_utils.NullL10n;
  }
});
Object.defineProperty(exports, "ProgressBar", {
  enumerable: true,
  get: function get() {
    return _ui_utils.ProgressBar;
  }
});
Object.defineProperty(exports, "PDFLinkService", {
  enumerable: true,
  get: function get() {
    return _pdf_link_service.PDFLinkService;
  }
});
Object.defineProperty(exports, "SimpleLinkService", {
  enumerable: true,
  get: function get() {
    return _pdf_link_service.SimpleLinkService;
  }
});
Object.defineProperty(exports, "DownloadManager", {
  enumerable: true,
  get: function get() {
    return _download_manager.DownloadManager;
  }
});
Object.defineProperty(exports, "GenericL10n", {
  enumerable: true,
  get: function get() {
    return _genericl10n.GenericL10n;
  }
});
Object.defineProperty(exports, "PDFFindController", {
  enumerable: true,
  get: function get() {
    return _pdf_find_controller.PDFFindController;
  }
});
Object.defineProperty(exports, "PDFHistory", {
  enumerable: true,
  get: function get() {
    return _pdf_history.PDFHistory;
  }
});
Object.defineProperty(exports, "PDFPageView", {
  enumerable: true,
  get: function get() {
    return _pdf_page_view.PDFPageView;
  }
});
Object.defineProperty(exports, "PDFSinglePageViewer", {
  enumerable: true,
  get: function get() {
    return _pdf_single_page_viewer.PDFSinglePageViewer;
  }
});
Object.defineProperty(exports, "PDFViewer", {
  enumerable: true,
  get: function get() {
    return _pdf_viewer.PDFViewer;
  }
});

var _annotation_layer_builder = __w_pdfjs_require__(1);

var _text_layer_builder = __w_pdfjs_require__(8);

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_link_service = __w_pdfjs_require__(7);

var _download_manager = __w_pdfjs_require__(9);

var _genericl10n = __w_pdfjs_require__(11);

var _pdf_find_controller = __w_pdfjs_require__(13);

var _pdf_history = __w_pdfjs_require__(15);

var _pdf_page_view = __w_pdfjs_require__(16);

var _pdf_single_page_viewer = __w_pdfjs_require__(18);

var _pdf_viewer = __w_pdfjs_require__(20);

var pdfjsVersion = '2.6.347';
var pdfjsBuild = '3be9c65f';

/***/ }),
/* 1 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_link_service = __w_pdfjs_require__(7);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationLayerBuilder = /*#__PURE__*/function () {
  function AnnotationLayerBuilder(_ref) {
    var pageDiv = _ref.pageDiv,
        pdfPage = _ref.pdfPage,
        linkService = _ref.linkService,
        downloadManager = _ref.downloadManager,
        _ref$annotationStorag = _ref.annotationStorage,
        annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,
        _ref$imageResourcesPa = _ref.imageResourcesPath,
        imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa,
        _ref$renderInteractiv = _ref.renderInteractiveForms,
        renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,
        _ref$l10n = _ref.l10n,
        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n;

    _classCallCheck(this, AnnotationLayerBuilder);

    this.pageDiv = pageDiv;
    this.pdfPage = pdfPage;
    this.linkService = linkService;
    this.downloadManager = downloadManager;
    this.imageResourcesPath = imageResourcesPath;
    this.renderInteractiveForms = renderInteractiveForms;
    this.l10n = l10n;
    this.annotationStorage = annotationStorage;
    this.div = null;
    this._cancelled = false;
  }

  _createClass(AnnotationLayerBuilder, [{
    key: "render",
    value: function render(viewport) {
      var _this = this;

      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
      return this.pdfPage.getAnnotations({
        intent: intent
      }).then(function (annotations) {
        if (_this._cancelled) {
          return;
        }

        if (annotations.length === 0) {
          return;
        }

        var parameters = {
          viewport: viewport.clone({
            dontFlip: true
          }),
          div: _this.div,
          annotations: annotations,
          page: _this.pdfPage,
          imageResourcesPath: _this.imageResourcesPath,
          renderInteractiveForms: _this.renderInteractiveForms,
          linkService: _this.linkService,
          downloadManager: _this.downloadManager,
          annotationStorage: _this.annotationStorage
        };

        if (_this.div) {
          _pdfjsLib.AnnotationLayer.update(parameters);
        } else {
          _this.div = document.createElement("div");
          _this.div.className = "annotationLayer";

          _this.pageDiv.appendChild(_this.div);

          parameters.div = _this.div;

          _pdfjsLib.AnnotationLayer.render(parameters);

          _this.l10n.translate(_this.div);
        }
      });
    }
  }, {
    key: "cancel",
    value: function cancel() {
      this._cancelled = true;
    }
  }, {
    key: "hide",
    value: function hide() {
      if (!this.div) {
        return;
      }

      this.div.setAttribute("hidden", "true");
    }
  }]);

  return AnnotationLayerBuilder;
}();

exports.AnnotationLayerBuilder = AnnotationLayerBuilder;

var DefaultAnnotationLayerFactory = /*#__PURE__*/function () {
  function DefaultAnnotationLayerFactory() {
    _classCallCheck(this, DefaultAnnotationLayerFactory);
  }

  _createClass(DefaultAnnotationLayerFactory, [{
    key: "createAnnotationLayerBuilder",
    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;
      return new AnnotationLayerBuilder({
        pageDiv: pageDiv,
        pdfPage: pdfPage,
        imageResourcesPath: imageResourcesPath,
        renderInteractiveForms: renderInteractiveForms,
        linkService: new _pdf_link_service.SimpleLinkService(),
        l10n: l10n,
        annotationStorage: annotationStorage
      });
    }
  }]);

  return DefaultAnnotationLayerFactory;
}();

exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;

/***/ }),
/* 2 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


var pdfjsLib;

if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
  pdfjsLib = window["pdfjs-dist/build/pdf"];
} else {
  pdfjsLib = __webpack_require__("edfb");
}

module.exports = pdfjsLib;

/***/ }),
/* 3 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.isValidRotation = isValidRotation;
exports.isValidScrollMode = isValidScrollMode;
exports.isValidSpreadMode = isValidSpreadMode;
exports.isPortraitOrientation = isPortraitOrientation;
exports.clamp = clamp;
exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
exports.noContextMenuHandler = noContextMenuHandler;
exports.parseQueryString = parseQueryString;
exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
exports.getVisibleElements = getVisibleElements;
exports.roundToDivide = roundToDivide;
exports.getPageSizeInches = getPageSizeInches;
exports.approximateFraction = approximateFraction;
exports.getOutputScale = getOutputScale;
exports.scrollIntoView = scrollIntoView;
exports.watchScroll = watchScroll;
exports.binarySearchFirstItem = binarySearchFirstItem;
exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
exports.moveToEndOfArray = moveToEndOfArray;
exports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

var CSS_UNITS = 96.0 / 72.0;
exports.CSS_UNITS = CSS_UNITS;
var DEFAULT_SCALE_VALUE = "auto";
exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
var DEFAULT_SCALE = 1.0;
exports.DEFAULT_SCALE = DEFAULT_SCALE;
var MIN_SCALE = 0.1;
exports.MIN_SCALE = MIN_SCALE;
var MAX_SCALE = 10.0;
exports.MAX_SCALE = MAX_SCALE;
var UNKNOWN_SCALE = 0;
exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
var MAX_AUTO_SCALE = 1.25;
exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
var SCROLLBAR_PADDING = 40;
exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
var VERTICAL_PADDING = 5;
exports.VERTICAL_PADDING = VERTICAL_PADDING;
var PresentationModeState = {
  UNKNOWN: 0,
  NORMAL: 1,
  CHANGING: 2,
  FULLSCREEN: 3
};
exports.PresentationModeState = PresentationModeState;
var RendererType = {
  CANVAS: "canvas",
  SVG: "svg"
};
exports.RendererType = RendererType;
var TextLayerMode = {
  DISABLE: 0,
  ENABLE: 1,
  ENABLE_ENHANCE: 2
};
exports.TextLayerMode = TextLayerMode;
var ScrollMode = {
  UNKNOWN: -1,
  VERTICAL: 0,
  HORIZONTAL: 1,
  WRAPPED: 2
};
exports.ScrollMode = ScrollMode;
var SpreadMode = {
  UNKNOWN: -1,
  NONE: 0,
  ODD: 1,
  EVEN: 2
};
exports.SpreadMode = SpreadMode;
var AutoPrintRegExp = /\bprint\s*\(/;
exports.AutoPrintRegExp = AutoPrintRegExp;

function formatL10nValue(text, args) {
  if (!args) {
    return text;
  }

  return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
    return name in args ? args[name] : "{{" + name + "}}";
  });
}

var NullL10n = {
  getLanguage: function getLanguage() {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
      return _regenerator["default"].wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              return _context.abrupt("return", "en-us");

            case 1:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }))();
  },
  getDirection: function getDirection() {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
      return _regenerator["default"].wrap(function _callee2$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              return _context2.abrupt("return", "ltr");

            case 1:
            case "end":
              return _context2.stop();
          }
        }
      }, _callee2);
    }))();
  },
  get: function get(property, args, fallback) {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
      return _regenerator["default"].wrap(function _callee3$(_context3) {
        while (1) {
          switch (_context3.prev = _context3.next) {
            case 0:
              return _context3.abrupt("return", formatL10nValue(fallback, args));

            case 1:
            case "end":
              return _context3.stop();
          }
        }
      }, _callee3);
    }))();
  },
  translate: function translate(element) {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
      return _regenerator["default"].wrap(function _callee4$(_context4) {
        while (1) {
          switch (_context4.prev = _context4.next) {
            case 0:
            case "end":
              return _context4.stop();
          }
        }
      }, _callee4);
    }))();
  }
};
exports.NullL10n = NullL10n;

function getOutputScale(ctx) {
  var devicePixelRatio = window.devicePixelRatio || 1;
  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
  var pixelRatio = devicePixelRatio / backingStoreRatio;
  return {
    sx: pixelRatio,
    sy: pixelRatio,
    scaled: pixelRatio !== 1
  };
}

function scrollIntoView(element, spot) {
  var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var parent = element.offsetParent;

  if (!parent) {
    console.error("offsetParent is not set -- cannot scroll");
    return;
  }

  var offsetY = element.offsetTop + element.clientTop;
  var offsetX = element.offsetLeft + element.clientLeft;

  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === "hidden") {
    if (parent.dataset._scaleY) {
      offsetY /= parent.dataset._scaleY;
      offsetX /= parent.dataset._scaleX;
    }

    offsetY += parent.offsetTop;
    offsetX += parent.offsetLeft;
    parent = parent.offsetParent;

    if (!parent) {
      return;
    }
  }

  if (spot) {
    if (spot.top !== undefined) {
      offsetY += spot.top;
    }

    if (spot.left !== undefined) {
      offsetX += spot.left;
      parent.scrollLeft = offsetX;
    }
  }

  parent.scrollTop = offsetY;
}

function watchScroll(viewAreaElement, callback) {
  var debounceScroll = function debounceScroll(evt) {
    if (rAF) {
      return;
    }

    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
      rAF = null;
      var currentX = viewAreaElement.scrollLeft;
      var lastX = state.lastX;

      if (currentX !== lastX) {
        state.right = currentX > lastX;
      }

      state.lastX = currentX;
      var currentY = viewAreaElement.scrollTop;
      var lastY = state.lastY;

      if (currentY !== lastY) {
        state.down = currentY > lastY;
      }

      state.lastY = currentY;
      callback(state);
    });
  };

  var state = {
    right: true,
    down: true,
    lastX: viewAreaElement.scrollLeft,
    lastY: viewAreaElement.scrollTop,
    _eventHandler: debounceScroll
  };
  var rAF = null;
  viewAreaElement.addEventListener("scroll", debounceScroll, true);
  return state;
}

function parseQueryString(query) {
  var parts = query.split("&");
  var params = Object.create(null);

  for (var i = 0, ii = parts.length; i < ii; ++i) {
    var param = parts[i].split("=");
    var key = param[0].toLowerCase();
    var value = param.length > 1 ? param[1] : null;
    params[decodeURIComponent(key)] = decodeURIComponent(value);
  }

  return params;
}

function binarySearchFirstItem(items, condition) {
  var minIndex = 0;
  var maxIndex = items.length - 1;

  if (maxIndex < 0 || !condition(items[maxIndex])) {
    return items.length;
  }

  if (condition(items[minIndex])) {
    return minIndex;
  }

  while (minIndex < maxIndex) {
    var currentIndex = minIndex + maxIndex >> 1;
    var currentItem = items[currentIndex];

    if (condition(currentItem)) {
      maxIndex = currentIndex;
    } else {
      minIndex = currentIndex + 1;
    }
  }

  return minIndex;
}

function approximateFraction(x) {
  if (Math.floor(x) === x) {
    return [x, 1];
  }

  var xinv = 1 / x;
  var limit = 8;

  if (xinv > limit) {
    return [1, limit];
  } else if (Math.floor(xinv) === xinv) {
    return [1, xinv];
  }

  var x_ = x > 1 ? xinv : x;
  var a = 0,
      b = 1,
      c = 1,
      d = 1;

  while (true) {
    var p = a + c,
        q = b + d;

    if (q > limit) {
      break;
    }

    if (x_ <= p / q) {
      c = p;
      d = q;
    } else {
      a = p;
      b = q;
    }
  }

  var result;

  if (x_ - a / b < c / d - x_) {
    result = x_ === x ? [a, b] : [b, a];
  } else {
    result = x_ === x ? [c, d] : [d, c];
  }

  return result;
}

function roundToDivide(x, div) {
  var r = x % div;
  return r === 0 ? x : Math.round(x - r + div);
}

function getPageSizeInches(_ref) {
  var view = _ref.view,
      userUnit = _ref.userUnit,
      rotate = _ref.rotate;

  var _view = _slicedToArray(view, 4),
      x1 = _view[0],
      y1 = _view[1],
      x2 = _view[2],
      y2 = _view[3];

  var changeOrientation = rotate % 180 !== 0;
  var width = (x2 - x1) / 72 * userUnit;
  var height = (y2 - y1) / 72 * userUnit;
  return {
    width: changeOrientation ? height : width,
    height: changeOrientation ? width : height
  };
}

function backtrackBeforeAllVisibleElements(index, views, top) {
  if (index < 2) {
    return index;
  }

  var elt = views[index].div;
  var pageTop = elt.offsetTop + elt.clientTop;

  if (pageTop >= top) {
    elt = views[index - 1].div;
    pageTop = elt.offsetTop + elt.clientTop;
  }

  for (var i = index - 2; i >= 0; --i) {
    elt = views[i].div;

    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
      break;
    }

    index = i;
  }

  return index;
}

function getVisibleElements(scrollEl, views) {
  var sortByVisibility = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var horizontal = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
  var top = scrollEl.scrollTop,
      bottom = top + scrollEl.clientHeight;
  var left = scrollEl.scrollLeft,
      right = left + scrollEl.clientWidth;

  function isElementBottomAfterViewTop(view) {
    var element = view.div;
    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
    return elementBottom > top;
  }

  function isElementRightAfterViewLeft(view) {
    var element = view.div;
    var elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;
    return elementRight > left;
  }

  var visible = [],
      numViews = views.length;
  var firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);

  if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
    firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
  }

  var lastEdge = horizontal ? right : -1;

  for (var i = firstVisibleElementInd; i < numViews; i++) {
    var view = views[i],
        element = view.div;
    var currentWidth = element.offsetLeft + element.clientLeft;
    var currentHeight = element.offsetTop + element.clientTop;
    var viewWidth = element.clientWidth,
        viewHeight = element.clientHeight;
    var viewRight = currentWidth + viewWidth;
    var viewBottom = currentHeight + viewHeight;

    if (lastEdge === -1) {
      if (viewBottom >= bottom) {
        lastEdge = viewBottom;
      }
    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
      break;
    }

    if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
      continue;
    }

    var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
    var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
    var percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;
    visible.push({
      id: view.id,
      x: currentWidth,
      y: currentHeight,
      view: view,
      percent: percent
    });
  }

  var first = visible[0],
      last = visible[visible.length - 1];

  if (sortByVisibility) {
    visible.sort(function (a, b) {
      var pc = a.percent - b.percent;

      if (Math.abs(pc) > 0.001) {
        return -pc;
      }

      return a.id - b.id;
    });
  }

  return {
    first: first,
    last: last,
    views: visible
  };
}

function noContextMenuHandler(evt) {
  evt.preventDefault();
}

function isDataSchema(url) {
  var i = 0;
  var ii = url.length;

  while (i < ii && url[i].trim() === "") {
    i++;
  }

  return url.substring(i, i + 5).toLowerCase() === "data:";
}

function getPDFFileNameFromURL(url) {
  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf";

  if (typeof url !== "string") {
    return defaultFilename;
  }

  if (isDataSchema(url)) {
    console.warn("getPDFFileNameFromURL: " + 'ignoring "data:" URL for performance reasons.');
    return defaultFilename;
  }

  var reURI = /^(?:(?:[^:]+:)?\/\/[^\/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
  var reFilename = /[^\/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
  var splitURI = reURI.exec(url);
  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);

  if (suggestedFilename) {
    suggestedFilename = suggestedFilename[0];

    if (suggestedFilename.includes("%")) {
      try {
        suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
      } catch (ex) {}
    }
  }

  return suggestedFilename || defaultFilename;
}

function normalizeWheelEventDirection(evt) {
  var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
  var angle = Math.atan2(evt.deltaY, evt.deltaX);

  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
    delta = -delta;
  }

  return delta;
}

function normalizeWheelEventDelta(evt) {
  var delta = normalizeWheelEventDirection(evt);
  var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
  var MOUSE_DOM_DELTA_LINE_MODE = 1;
  var MOUSE_PIXELS_PER_LINE = 30;
  var MOUSE_LINES_PER_PAGE = 30;

  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
    delta /= MOUSE_LINES_PER_PAGE;
  }

  return delta;
}

function isValidRotation(angle) {
  return Number.isInteger(angle) && angle % 90 === 0;
}

function isValidScrollMode(mode) {
  return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
}

function isValidSpreadMode(mode) {
  return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
}

function isPortraitOrientation(size) {
  return size.width <= size.height;
}

var WaitOnType = {
  EVENT: "event",
  TIMEOUT: "timeout"
};
exports.WaitOnType = WaitOnType;

function waitOnEventOrTimeout(_ref2) {
  var target = _ref2.target,
      name = _ref2.name,
      _ref2$delay = _ref2.delay,
      delay = _ref2$delay === void 0 ? 0 : _ref2$delay;
  return new Promise(function (resolve, reject) {
    if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
      throw new Error("waitOnEventOrTimeout - invalid parameters.");
    }

    function handler(type) {
      if (target instanceof EventBus) {
        target._off(name, eventHandler);
      } else {
        target.removeEventListener(name, eventHandler);
      }

      if (timeout) {
        clearTimeout(timeout);
      }

      resolve(type);
    }

    var eventHandler = handler.bind(null, WaitOnType.EVENT);

    if (target instanceof EventBus) {
      target._on(name, eventHandler);
    } else {
      target.addEventListener(name, eventHandler);
    }

    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
    var timeout = setTimeout(timeoutHandler, delay);
  });
}

var animationStarted = new Promise(function (resolve) {
  window.requestAnimationFrame(resolve);
});
exports.animationStarted = animationStarted;

function dispatchDOMEvent(eventName) {
  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  throw new Error("Not implemented: dispatchDOMEvent");
}

var EventBus = /*#__PURE__*/function () {
  function EventBus(options) {
    _classCallCheck(this, EventBus);

    this._listeners = Object.create(null);
  }

  _createClass(EventBus, [{
    key: "on",
    value: function on(eventName, listener) {
      this._on(eventName, listener, {
        external: true
      });
    }
  }, {
    key: "off",
    value: function off(eventName, listener) {
      this._off(eventName, listener, {
        external: true
      });
    }
  }, {
    key: "dispatch",
    value: function dispatch(eventName) {
      var eventListeners = this._listeners[eventName];

      if (!eventListeners || eventListeners.length === 0) {
        return;
      }

      var args = Array.prototype.slice.call(arguments, 1);
      var externalListeners;
      eventListeners.slice(0).forEach(function (_ref3) {
        var listener = _ref3.listener,
            external = _ref3.external;

        if (external) {
          if (!externalListeners) {
            externalListeners = [];
          }

          externalListeners.push(listener);
          return;
        }

        listener.apply(null, args);
      });

      if (externalListeners) {
        externalListeners.forEach(function (listener) {
          listener.apply(null, args);
        });
        externalListeners = null;
      }
    }
  }, {
    key: "_on",
    value: function _on(eventName, listener) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var eventListeners = this._listeners[eventName];

      if (!eventListeners) {
        this._listeners[eventName] = eventListeners = [];
      }

      eventListeners.push({
        listener: listener,
        external: (options && options.external) === true
      });
    }
  }, {
    key: "_off",
    value: function _off(eventName, listener) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var eventListeners = this._listeners[eventName];

      if (!eventListeners) {
        return;
      }

      for (var i = 0, ii = eventListeners.length; i < ii; i++) {
        if (eventListeners[i].listener === listener) {
          eventListeners.splice(i, 1);
          return;
        }
      }
    }
  }]);

  return EventBus;
}();

exports.EventBus = EventBus;

function clamp(v, min, max) {
  return Math.min(Math.max(v, min), max);
}

var ProgressBar = /*#__PURE__*/function () {
  function ProgressBar(id) {
    var _ref4 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        height = _ref4.height,
        width = _ref4.width,
        units = _ref4.units;

    _classCallCheck(this, ProgressBar);

    this.visible = true;
    this.div = document.querySelector(id + " .progress");
    this.bar = this.div.parentNode;
    this.height = height || 100;
    this.width = width || 100;
    this.units = units || "%";
    this.div.style.height = this.height + this.units;
    this.percent = 0;
  }

  _createClass(ProgressBar, [{
    key: "_updateBar",
    value: function _updateBar() {
      if (this._indeterminate) {
        this.div.classList.add("indeterminate");
        this.div.style.width = this.width + this.units;
        return;
      }

      this.div.classList.remove("indeterminate");
      var progressSize = this.width * this._percent / 100;
      this.div.style.width = progressSize + this.units;
    }
  }, {
    key: "setWidth",
    value: function setWidth(viewer) {
      if (!viewer) {
        return;
      }

      var container = viewer.parentNode;
      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;

      if (scrollbarWidth > 0) {
        this.bar.style.width = "calc(100% - ".concat(scrollbarWidth, "px)");
      }
    }
  }, {
    key: "hide",
    value: function hide() {
      if (!this.visible) {
        return;
      }

      this.visible = false;
      this.bar.classList.add("hidden");
      document.body.classList.remove("loadingInProgress");
    }
  }, {
    key: "show",
    value: function show() {
      if (this.visible) {
        return;
      }

      this.visible = true;
      document.body.classList.add("loadingInProgress");
      this.bar.classList.remove("hidden");
    }
  }, {
    key: "percent",
    get: function get() {
      return this._percent;
    },
    set: function set(val) {
      this._indeterminate = isNaN(val);
      this._percent = clamp(val, 0, 100);

      this._updateBar();
    }
  }]);

  return ProgressBar;
}();

exports.ProgressBar = ProgressBar;

function moveToEndOfArray(arr, condition) {
  var moved = [],
      len = arr.length;
  var write = 0;

  for (var read = 0; read < len; ++read) {
    if (condition(arr[read])) {
      moved.push(arr[read]);
    } else {
      arr[write] = arr[read];
      ++write;
    }
  }

  for (var _read = 0; write < len; ++_read, ++write) {
    arr[write] = moved[_read];
  }
}

/***/ }),
/* 4 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


module.exports = __w_pdfjs_require__(5);

/***/ }),
/* 5 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(module) {

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

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

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

  function define(obj, key, value) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
    return obj[key];
  }

  try {
    define({}, "");
  } catch (err) {
    define = function define(obj, key, value) {
      return obj[key] = value;
    };
  }

  function wrap(innerFn, outerFn, self, tryLocsList) {
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
    var generator = Object.create(protoGenerator.prototype);
    var context = new Context(tryLocsList || []);
    generator._invoke = makeInvokeMethod(innerFn, self, context);
    return generator;
  }

  exports.wrap = wrap;

  function tryCatch(fn, obj, arg) {
    try {
      return {
        type: "normal",
        arg: fn.call(obj, arg)
      };
    } catch (err) {
      return {
        type: "throw",
        arg: err
      };
    }
  }

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

  function Generator() {}

  function GeneratorFunction() {}

  function GeneratorFunctionPrototype() {}

  var IteratorPrototype = {};

  IteratorPrototype[iteratorSymbol] = function () {
    return this;
  };

  var getProto = Object.getPrototypeOf;
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
    IteratorPrototype = NativeIteratorPrototype;
  }

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

  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function (method) {
      define(prototype, method, function (arg) {
        return this._invoke(method, arg);
      });
    });
  }

  exports.isGeneratorFunction = function (genFun) {
    var ctor = typeof genFun === "function" && genFun.constructor;
    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
  };

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

    genFun.prototype = Object.create(Gp);
    return genFun;
  };

  exports.awrap = function (arg) {
    return {
      __await: arg
    };
  };

  function AsyncIterator(generator, PromiseImpl) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);

      if (record.type === "throw") {
        reject(record.arg);
      } else {
        var result = record.arg;
        var value = result.value;

        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
          return PromiseImpl.resolve(value.__await).then(function (value) {
            invoke("next", value, resolve, reject);
          }, function (err) {
            invoke("throw", err, resolve, reject);
          });
        }

        return PromiseImpl.resolve(value).then(function (unwrapped) {
          result.value = unwrapped;
          resolve(result);
        }, function (error) {
          return invoke("throw", error, resolve, reject);
        });
      }
    }

    var previousPromise;

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

      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
    }

    this._invoke = enqueue;
  }

  defineIteratorMethods(AsyncIterator.prototype);

  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
    return this;
  };

  exports.AsyncIterator = AsyncIterator;

  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
    if (PromiseImpl === void 0) PromiseImpl = Promise;
    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
      return result.done ? result.value : iter.next();
    });
  };

  function makeInvokeMethod(innerFn, self, context) {
    var state = GenStateSuspendedStart;
    return function invoke(method, arg) {
      if (state === GenStateExecuting) {
        throw new Error("Generator is already running");
      }

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

        return doneResult();
      }

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

      while (true) {
        var delegate = context.delegate;

        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);

          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }

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

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

        state = GenStateExecuting;
        var record = tryCatch(innerFn, self, context);

        if (record.type === "normal") {
          state = context.done ? GenStateCompleted : GenStateSuspendedYield;

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

          return {
            value: record.arg,
            done: context.done
          };
        } else if (record.type === "throw") {
          state = GenStateCompleted;
          context.method = "throw";
          context.arg = record.arg;
        }
      }
    };
  }

  function maybeInvokeDelegate(delegate, context) {
    var method = delegate.iterator[context.method];

    if (method === undefined) {
      context.delegate = null;

      if (context.method === "throw") {
        if (delegate.iterator["return"]) {
          context.method = "return";
          context.arg = undefined;
          maybeInvokeDelegate(delegate, context);

          if (context.method === "throw") {
            return ContinueSentinel;
          }
        }

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

      return ContinueSentinel;
    }

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

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

    var info = record.arg;

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

    if (info.done) {
      context[delegate.resultName] = info.value;
      context.next = delegate.nextLoc;

      if (context.method !== "return") {
        context.method = "next";
        context.arg = undefined;
      }
    } else {
      return info;
    }

    context.delegate = null;
    return ContinueSentinel;
  }

  defineIteratorMethods(Gp);
  define(Gp, toStringTagSymbol, "Generator");

  Gp[iteratorSymbol] = function () {
    return this;
  };

  Gp.toString = function () {
    return "[object Generator]";
  };

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

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

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

    this.tryEntries.push(entry);
  }

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

  function Context(tryLocsList) {
    this.tryEntries = [{
      tryLoc: "root"
    }];
    tryLocsList.forEach(pushTryEntry, this);
    this.reset(true);
  }

  exports.keys = function (object) {
    var keys = [];

    for (var key in object) {
      keys.push(key);
    }

    keys.reverse();
    return function next() {
      while (keys.length) {
        var key = keys.pop();

        if (key in object) {
          next.value = key;
          next.done = false;
          return next;
        }
      }

      next.done = true;
      return next;
    };
  };

  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];

      if (iteratorMethod) {
        return iteratorMethod.call(iterable);
      }

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

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

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

        return next.next = next;
      }
    }

    return {
      next: doneResult
    };
  }

  exports.values = values;

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

  Context.prototype = {
    constructor: Context,
    reset: function reset(skipTempReset) {
      this.prev = 0;
      this.next = 0;
      this.sent = this._sent = undefined;
      this.done = false;
      this.delegate = null;
      this.method = "next";
      this.arg = undefined;
      this.tryEntries.forEach(resetTryEntry);

      if (!skipTempReset) {
        for (var name in this) {
          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
            this[name] = undefined;
          }
        }
      }
    },
    stop: function stop() {
      this.done = true;
      var rootEntry = this.tryEntries[0];
      var rootRecord = rootEntry.completion;

      if (rootRecord.type === "throw") {
        throw rootRecord.arg;
      }

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

      var context = this;

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

        if (caught) {
          context.method = "next";
          context.arg = undefined;
        }

        return !!caught;
      }

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

        if (entry.tryLoc === "root") {
          return handle("end");
        }

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

          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            } else if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            }
          } else if (hasFinally) {
            if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else {
            throw new Error("try statement without catch or finally");
          }
        }
      }
    },
    abrupt: function abrupt(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];

        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }

      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
        finallyEntry = null;
      }

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

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

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

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

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

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

        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;

          if (record.type === "throw") {
            var thrown = record.arg;
            resetTryEntry(entry);
          }

          return thrown;
        }
      }

      throw new Error("illegal catch attempt");
    },
    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
      this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      };

      if (this.method === "next") {
        this.arg = undefined;
      }

      return ContinueSentinel;
    }
  };
  return exports;
}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});

try {
  regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
  Function("r", "regeneratorRuntime = r")(runtime);
}
/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(6)(module)))

/***/ }),
/* 6 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


module.exports = function (module) {
  if (!module.webpackPolyfill) {
    module.deprecate = function () {};

    module.paths = [];
    if (!module.children) module.children = [];
    Object.defineProperty(module, "loaded", {
      enumerable: true,
      get: function get() {
        return module.l;
      }
    });
    Object.defineProperty(module, "id", {
      enumerable: true,
      get: function get() {
        return module.i;
      }
    });
    module.webpackPolyfill = 1;
  }

  return module;
};

/***/ }),
/* 7 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.SimpleLinkService = exports.PDFLinkService = void 0;

var _ui_utils = __w_pdfjs_require__(3);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var PDFLinkService = /*#__PURE__*/function () {
  function PDFLinkService() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        eventBus = _ref.eventBus,
        _ref$externalLinkTarg = _ref.externalLinkTarget,
        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
        _ref$externalLinkRel = _ref.externalLinkRel,
        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
        _ref$externalLinkEnab = _ref.externalLinkEnabled,
        externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,
        _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,
        ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;

    _classCallCheck(this, PDFLinkService);

    this.eventBus = eventBus;
    this.externalLinkTarget = externalLinkTarget;
    this.externalLinkRel = externalLinkRel;
    this.externalLinkEnabled = externalLinkEnabled;
    this._ignoreDestinationZoom = ignoreDestinationZoom;
    this.baseUrl = null;
    this.pdfDocument = null;
    this.pdfViewer = null;
    this.pdfHistory = null;
    this._pagesRefCache = null;
  }

  _createClass(PDFLinkService, [{
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      this.baseUrl = baseUrl;
      this.pdfDocument = pdfDocument;
      this._pagesRefCache = Object.create(null);
    }
  }, {
    key: "setViewer",
    value: function setViewer(pdfViewer) {
      this.pdfViewer = pdfViewer;
    }
  }, {
    key: "setHistory",
    value: function setHistory(pdfHistory) {
      this.pdfHistory = pdfHistory;
    }
  }, {
    key: "navigateTo",
    value: function navigateTo(dest) {
      var _this = this;

      var goToDestination = function goToDestination(_ref2) {
        var namedDest = _ref2.namedDest,
            explicitDest = _ref2.explicitDest;
        var destRef = explicitDest[0];
        var pageNumber;

        if (destRef instanceof Object) {
          pageNumber = _this._cachedPageNumber(destRef);

          if (pageNumber === null) {
            _this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
              _this.cachePageRef(pageIndex + 1, destRef);

              goToDestination({
                namedDest: namedDest,
                explicitDest: explicitDest
              });
            })["catch"](function () {
              console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(dest, "\"."));
            });

            return;
          }
        } else if (Number.isInteger(destRef)) {
          pageNumber = destRef + 1;
        } else {
          console.error("PDFLinkService.navigateTo: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(dest, "\"."));
          return;
        }

        if (!pageNumber || pageNumber < 1 || pageNumber > _this.pagesCount) {
          console.error("PDFLinkService.navigateTo: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(dest, "\"."));
          return;
        }

        if (_this.pdfHistory) {
          _this.pdfHistory.pushCurrentPosition();

          _this.pdfHistory.push({
            namedDest: namedDest,
            explicitDest: explicitDest,
            pageNumber: pageNumber
          });
        }

        _this.pdfViewer.scrollPageIntoView({
          pageNumber: pageNumber,
          destArray: explicitDest,
          ignoreDestinationZoom: _this._ignoreDestinationZoom
        });
      };

      new Promise(function (resolve, reject) {
        if (typeof dest === "string") {
          _this.pdfDocument.getDestination(dest).then(function (destArray) {
            resolve({
              namedDest: dest,
              explicitDest: destArray
            });
          });

          return;
        }

        resolve({
          namedDest: "",
          explicitDest: dest
        });
      }).then(function (data) {
        if (!Array.isArray(data.explicitDest)) {
          console.error("PDFLinkService.navigateTo: \"".concat(data.explicitDest, "\" is") + " not a valid destination array, for dest=\"".concat(dest, "\"."));
          return;
        }

        goToDestination(data);
      });
    }
  }, {
    key: "getDestinationHash",
    value: function getDestinationHash(dest) {
      if (typeof dest === "string") {
        return this.getAnchorUrl("#" + escape(dest));
      }

      if (Array.isArray(dest)) {
        var str = JSON.stringify(dest);
        return this.getAnchorUrl("#" + escape(str));
      }

      return this.getAnchorUrl("");
    }
  }, {
    key: "getAnchorUrl",
    value: function getAnchorUrl(anchor) {
      return (this.baseUrl || "") + anchor;
    }
  }, {
    key: "setHash",
    value: function setHash(hash) {
      var pageNumber, dest;

      if (hash.includes("=")) {
        var params = (0, _ui_utils.parseQueryString)(hash);

        if ("search" in params) {
          this.eventBus.dispatch("findfromurlhash", {
            source: this,
            query: params.search.replace(/"/g, ""),
            phraseSearch: params.phrase === "true"
          });
        }

        if ("page" in params) {
          pageNumber = params.page | 0 || 1;
        }

        if ("zoom" in params) {
          var zoomArgs = params.zoom.split(",");
          var zoomArg = zoomArgs[0];
          var zoomArgNumber = parseFloat(zoomArg);

          if (!zoomArg.includes("Fit")) {
            dest = [null, {
              name: "XYZ"
            }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
          } else {
            if (zoomArg === "Fit" || zoomArg === "FitB") {
              dest = [null, {
                name: zoomArg
              }];
            } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
              dest = [null, {
                name: zoomArg
              }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
            } else if (zoomArg === "FitR") {
              if (zoomArgs.length !== 5) {
                console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
              } else {
                dest = [null, {
                  name: zoomArg
                }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
              }
            } else {
              console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value.");
            }
          }
        }

        if (dest) {
          this.pdfViewer.scrollPageIntoView({
            pageNumber: pageNumber || this.page,
            destArray: dest,
            allowNegativeOffset: true
          });
        } else if (pageNumber) {
          this.page = pageNumber;
        }

        if ("pagemode" in params) {
          this.eventBus.dispatch("pagemode", {
            source: this,
            mode: params.pagemode
          });
        }

        if ("nameddest" in params) {
          this.navigateTo(params.nameddest);
        }
      } else {
        dest = unescape(hash);

        try {
          dest = JSON.parse(dest);

          if (!Array.isArray(dest)) {
            dest = dest.toString();
          }
        } catch (ex) {}

        if (typeof dest === "string" || isValidExplicitDestination(dest)) {
          this.navigateTo(dest);
          return;
        }

        console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination.");
      }
    }
  }, {
    key: "executeNamedAction",
    value: function executeNamedAction(action) {
      switch (action) {
        case "GoBack":
          if (this.pdfHistory) {
            this.pdfHistory.back();
          }

          break;

        case "GoForward":
          if (this.pdfHistory) {
            this.pdfHistory.forward();
          }

          break;

        case "NextPage":
          if (this.page < this.pagesCount) {
            this.page++;
          }

          break;

        case "PrevPage":
          if (this.page > 1) {
            this.page--;
          }

          break;

        case "LastPage":
          this.page = this.pagesCount;
          break;

        case "FirstPage":
          this.page = 1;
          break;

        default:
          break;
      }

      this.eventBus.dispatch("namedaction", {
        source: this,
        action: action
      });
    }
  }, {
    key: "cachePageRef",
    value: function cachePageRef(pageNum, pageRef) {
      if (!pageRef) {
        return;
      }

      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
      this._pagesRefCache[refStr] = pageNum;
    }
  }, {
    key: "_cachedPageNumber",
    value: function _cachedPageNumber(pageRef) {
      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
      return this._pagesRefCache && this._pagesRefCache[refStr] || null;
    }
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      return this.pdfViewer.isPageVisible(pageNumber);
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return this.pdfDocument ? this.pdfDocument.numPages : 0;
    }
  }, {
    key: "page",
    get: function get() {
      return this.pdfViewer.currentPageNumber;
    },
    set: function set(value) {
      this.pdfViewer.currentPageNumber = value;
    }
  }, {
    key: "rotation",
    get: function get() {
      return this.pdfViewer.pagesRotation;
    },
    set: function set(value) {
      this.pdfViewer.pagesRotation = value;
    }
  }]);

  return PDFLinkService;
}();

exports.PDFLinkService = PDFLinkService;

function isValidExplicitDestination(dest) {
  if (!Array.isArray(dest)) {
    return false;
  }

  var destLength = dest.length;

  if (destLength < 2) {
    return false;
  }

  var page = dest[0];

  if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
    return false;
  }

  var zoom = dest[1];

  if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) {
    return false;
  }

  var allowNull = true;

  switch (zoom.name) {
    case "XYZ":
      if (destLength !== 5) {
        return false;
      }

      break;

    case "Fit":
    case "FitB":
      return destLength === 2;

    case "FitH":
    case "FitBH":
    case "FitV":
    case "FitBV":
      if (destLength !== 3) {
        return false;
      }

      break;

    case "FitR":
      if (destLength !== 6) {
        return false;
      }

      allowNull = false;
      break;

    default:
      return false;
  }

  for (var i = 2; i < destLength; i++) {
    var param = dest[i];

    if (!(typeof param === "number" || allowNull && param === null)) {
      return false;
    }
  }

  return true;
}

var SimpleLinkService = /*#__PURE__*/function () {
  function SimpleLinkService() {
    _classCallCheck(this, SimpleLinkService);

    this.externalLinkTarget = null;
    this.externalLinkRel = null;
    this.externalLinkEnabled = true;
    this._ignoreDestinationZoom = false;
  }

  _createClass(SimpleLinkService, [{
    key: "navigateTo",
    value: function navigateTo(dest) {}
  }, {
    key: "getDestinationHash",
    value: function getDestinationHash(dest) {
      return "#";
    }
  }, {
    key: "getAnchorUrl",
    value: function getAnchorUrl(hash) {
      return "#";
    }
  }, {
    key: "setHash",
    value: function setHash(hash) {}
  }, {
    key: "executeNamedAction",
    value: function executeNamedAction(action) {}
  }, {
    key: "cachePageRef",
    value: function cachePageRef(pageNum, pageRef) {}
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      return true;
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return 0;
    }
  }, {
    key: "page",
    get: function get() {
      return 0;
    },
    set: function set(value) {}
  }, {
    key: "rotation",
    get: function get() {
      return 0;
    },
    set: function set(value) {}
  }]);

  return SimpleLinkService;
}();

exports.SimpleLinkService = SimpleLinkService;

/***/ }),
/* 8 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var EXPAND_DIVS_TIMEOUT = 300;

var TextLayerBuilder = /*#__PURE__*/function () {
  function TextLayerBuilder(_ref) {
    var textLayerDiv = _ref.textLayerDiv,
        eventBus = _ref.eventBus,
        pageIndex = _ref.pageIndex,
        viewport = _ref.viewport,
        _ref$findController = _ref.findController,
        findController = _ref$findController === void 0 ? null : _ref$findController,
        _ref$enhanceTextSelec = _ref.enhanceTextSelection,
        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;

    _classCallCheck(this, TextLayerBuilder);

    this.textLayerDiv = textLayerDiv;
    this.eventBus = eventBus;
    this.textContent = null;
    this.textContentItemsStr = [];
    this.textContentStream = null;
    this.renderingDone = false;
    this.pageIdx = pageIndex;
    this.pageNumber = this.pageIdx + 1;
    this.matches = [];
    this.viewport = viewport;
    this.textDivs = [];
    this.findController = findController;
    this.textLayerRenderTask = null;
    this.enhanceTextSelection = enhanceTextSelection;
    this._onUpdateTextLayerMatches = null;

    this._bindMouse();
  }

  _createClass(TextLayerBuilder, [{
    key: "_finishRendering",
    value: function _finishRendering() {
      this.renderingDone = true;

      if (!this.enhanceTextSelection) {
        var endOfContent = document.createElement("div");
        endOfContent.className = "endOfContent";
        this.textLayerDiv.appendChild(endOfContent);
      }

      this.eventBus.dispatch("textlayerrendered", {
        source: this,
        pageNumber: this.pageNumber,
        numTextDivs: this.textDivs.length
      });
    }
  }, {
    key: "render",
    value: function render() {
      var _this = this;

      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

      if (!(this.textContent || this.textContentStream) || this.renderingDone) {
        return;
      }

      this.cancel();
      this.textDivs = [];
      var textLayerFrag = document.createDocumentFragment();
      this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
        textContent: this.textContent,
        textContentStream: this.textContentStream,
        container: textLayerFrag,
        viewport: this.viewport,
        textDivs: this.textDivs,
        textContentItemsStr: this.textContentItemsStr,
        timeout: timeout,
        enhanceTextSelection: this.enhanceTextSelection
      });
      this.textLayerRenderTask.promise.then(function () {
        _this.textLayerDiv.appendChild(textLayerFrag);

        _this._finishRendering();

        _this._updateMatches();
      }, function (reason) {});

      if (!this._onUpdateTextLayerMatches) {
        this._onUpdateTextLayerMatches = function (evt) {
          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
            _this._updateMatches();
          }
        };

        this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
      }
    }
  }, {
    key: "cancel",
    value: function cancel() {
      if (this.textLayerRenderTask) {
        this.textLayerRenderTask.cancel();
        this.textLayerRenderTask = null;
      }

      if (this._onUpdateTextLayerMatches) {
        this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);

        this._onUpdateTextLayerMatches = null;
      }
    }
  }, {
    key: "setTextContentStream",
    value: function setTextContentStream(readableStream) {
      this.cancel();
      this.textContentStream = readableStream;
    }
  }, {
    key: "setTextContent",
    value: function setTextContent(textContent) {
      this.cancel();
      this.textContent = textContent;
    }
  }, {
    key: "_convertMatches",
    value: function _convertMatches(matches, matchesLength) {
      if (!matches) {
        return [];
      }

      var findController = this.findController,
          textContentItemsStr = this.textContentItemsStr;
      var i = 0,
          iIndex = 0;
      var end = textContentItemsStr.length - 1;
      var queryLen = findController.state.query.length;
      var result = [];

      for (var m = 0, mm = matches.length; m < mm; m++) {
        var matchIdx = matches[m];

        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
          iIndex += textContentItemsStr[i].length;
          i++;
        }

        if (i === textContentItemsStr.length) {
          console.error("Could not find a matching mapping");
        }

        var match = {
          begin: {
            divIdx: i,
            offset: matchIdx - iIndex
          }
        };

        if (matchesLength) {
          matchIdx += matchesLength[m];
        } else {
          matchIdx += queryLen;
        }

        while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
          iIndex += textContentItemsStr[i].length;
          i++;
        }

        match.end = {
          divIdx: i,
          offset: matchIdx - iIndex
        };
        result.push(match);
      }

      return result;
    }
  }, {
    key: "_renderMatches",
    value: function _renderMatches(matches) {
      if (matches.length === 0) {
        return;
      }

      var findController = this.findController,
          pageIdx = this.pageIdx,
          textContentItemsStr = this.textContentItemsStr,
          textDivs = this.textDivs;
      var isSelectedPage = pageIdx === findController.selected.pageIdx;
      var selectedMatchIdx = findController.selected.matchIdx;
      var highlightAll = findController.state.highlightAll;
      var prevEnd = null;
      var infinity = {
        divIdx: -1,
        offset: undefined
      };

      function beginText(begin, className) {
        var divIdx = begin.divIdx;
        textDivs[divIdx].textContent = "";
        appendTextToDiv(divIdx, 0, begin.offset, className);
      }

      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
        var div = textDivs[divIdx];
        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
        var node = document.createTextNode(content);

        if (className) {
          var span = document.createElement("span");
          span.className = className;
          span.appendChild(node);
          div.appendChild(span);
          return;
        }

        div.appendChild(node);
      }

      var i0 = selectedMatchIdx,
          i1 = i0 + 1;

      if (highlightAll) {
        i0 = 0;
        i1 = matches.length;
      } else if (!isSelectedPage) {
        return;
      }

      for (var i = i0; i < i1; i++) {
        var match = matches[i];
        var begin = match.begin;
        var end = match.end;
        var isSelected = isSelectedPage && i === selectedMatchIdx;
        var highlightSuffix = isSelected ? " selected" : "";

        if (isSelected) {
          findController.scrollMatchIntoView({
            element: textDivs[begin.divIdx],
            pageIndex: pageIdx,
            matchIndex: selectedMatchIdx
          });
        }

        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
          if (prevEnd !== null) {
            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
          }

          beginText(begin);
        } else {
          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
        }

        if (begin.divIdx === end.divIdx) {
          appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
        } else {
          appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);

          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
            textDivs[n0].className = "highlight middle" + highlightSuffix;
          }

          beginText(end, "highlight end" + highlightSuffix);
        }

        prevEnd = end;
      }

      if (prevEnd) {
        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
      }
    }
  }, {
    key: "_updateMatches",
    value: function _updateMatches() {
      if (!this.renderingDone) {
        return;
      }

      var findController = this.findController,
          matches = this.matches,
          pageIdx = this.pageIdx,
          textContentItemsStr = this.textContentItemsStr,
          textDivs = this.textDivs;
      var clearedUntilDivIdx = -1;

      for (var i = 0, ii = matches.length; i < ii; i++) {
        var match = matches[i];
        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);

        for (var n = begin, end = match.end.divIdx; n <= end; n++) {
          var div = textDivs[n];
          div.textContent = textContentItemsStr[n];
          div.className = "";
        }

        clearedUntilDivIdx = match.end.divIdx + 1;
      }

      if (!findController || !findController.highlightMatches) {
        return;
      }

      var pageMatches = findController.pageMatches[pageIdx] || null;
      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
      this.matches = this._convertMatches(pageMatches, pageMatchesLength);

      this._renderMatches(this.matches);
    }
  }, {
    key: "_bindMouse",
    value: function _bindMouse() {
      var _this2 = this;

      var div = this.textLayerDiv;
      var expandDivsTimer = null;
      div.addEventListener("mousedown", function (evt) {
        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
          _this2.textLayerRenderTask.expandTextDivs(true);

          if (expandDivsTimer) {
            clearTimeout(expandDivsTimer);
            expandDivsTimer = null;
          }

          return;
        }

        var end = div.querySelector(".endOfContent");

        if (!end) {
          return;
        }

        var adjustTop = evt.target !== div;
        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";

        if (adjustTop) {
          var divBounds = div.getBoundingClientRect();
          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
          end.style.top = (r * 100).toFixed(2) + "%";
        }

        end.classList.add("active");
      });
      div.addEventListener("mouseup", function () {
        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
          expandDivsTimer = setTimeout(function () {
            if (_this2.textLayerRenderTask) {
              _this2.textLayerRenderTask.expandTextDivs(false);
            }

            expandDivsTimer = null;
          }, EXPAND_DIVS_TIMEOUT);
          return;
        }

        var end = div.querySelector(".endOfContent");

        if (!end) {
          return;
        }

        end.style.top = "";
        end.classList.remove("active");
      });
    }
  }]);

  return TextLayerBuilder;
}();

exports.TextLayerBuilder = TextLayerBuilder;

var DefaultTextLayerFactory = /*#__PURE__*/function () {
  function DefaultTextLayerFactory() {
    _classCallCheck(this, DefaultTextLayerFactory);
  }

  _createClass(DefaultTextLayerFactory, [{
    key: "createTextLayerBuilder",
    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
      return new TextLayerBuilder({
        textLayerDiv: textLayerDiv,
        pageIndex: pageIndex,
        viewport: viewport,
        enhanceTextSelection: enhanceTextSelection,
        eventBus: eventBus
      });
    }
  }]);

  return DefaultTextLayerFactory;
}();

exports.DefaultTextLayerFactory = DefaultTextLayerFactory;

/***/ }),
/* 9 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.DownloadManager = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _viewer_compatibility = __w_pdfjs_require__(10);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

function _download(blobUrl, filename) {
  var a = document.createElement("a");

  if (!a.click) {
    throw new Error('DownloadManager: "a.click()" is not supported.');
  }

  a.href = blobUrl;
  a.target = "_parent";

  if ("download" in a) {
    a.download = filename;
  }

  (document.body || document.documentElement).appendChild(a);
  a.click();
  a.remove();
}

var DownloadManager = /*#__PURE__*/function () {
  function DownloadManager() {
    _classCallCheck(this, DownloadManager);
  }

  _createClass(DownloadManager, [{
    key: "downloadUrl",
    value: function downloadUrl(url, filename) {
      if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
        return;
      }

      _download(url + "#pdfjs.action=download", filename);
    }
  }, {
    key: "downloadData",
    value: function downloadData(data, filename, contentType) {
      if (navigator.msSaveBlob) {
        navigator.msSaveBlob(new Blob([data], {
          type: contentType
        }), filename);
        return;
      }

      var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);

      _download(blobUrl, filename);
    }
  }, {
    key: "download",
    value: function download(blob, url, filename) {
      var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download";

      if (navigator.msSaveBlob) {
        if (!navigator.msSaveBlob(blob, filename)) {
          this.downloadUrl(url, filename);
        }

        return;
      }

      if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
        this.downloadUrl(url, filename);
        return;
      }

      var blobUrl = URL.createObjectURL(blob);

      _download(blobUrl, filename);
    }
  }]);

  return DownloadManager;
}();

exports.DownloadManager = DownloadManager;

/***/ }),
/* 10 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.viewerCompatibilityParams = void 0;
var compatibilityParams = Object.create(null);
{
  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
  var platform = typeof navigator !== "undefined" && navigator.platform || "";
  var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1;
  var isAndroid = /Android/.test(userAgent);
  var isIE = /Trident/.test(userAgent);
  var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
  var isIOSChrome = /CriOS/.test(userAgent);

  (function checkOnBlobSupport() {
    if (isIE || isIOSChrome) {
      compatibilityParams.disableCreateObjectURL = true;
    }
  })();

  (function checkCanvasSizeLimitation() {
    if (isIOS || isAndroid) {
      compatibilityParams.maxCanvasPixels = 5242880;
    }
  })();
}
var viewerCompatibilityParams = Object.freeze(compatibilityParams);
exports.viewerCompatibilityParams = viewerCompatibilityParams;

/***/ }),
/* 11 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.GenericL10n = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

__w_pdfjs_require__(12);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var webL10n = document.webL10n;

var GenericL10n = /*#__PURE__*/function () {
  function GenericL10n(lang) {
    _classCallCheck(this, GenericL10n);

    this._lang = lang;
    this._ready = new Promise(function (resolve, reject) {
      webL10n.setLanguage(lang, function () {
        resolve(webL10n);
      });
    });
  }

  _createClass(GenericL10n, [{
    key: "getLanguage",
    value: function () {
      var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var l10n;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._ready;

              case 2:
                l10n = _context.sent;
                return _context.abrupt("return", l10n.getLanguage());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function getLanguage() {
        return _getLanguage.apply(this, arguments);
      }

      return getLanguage;
    }()
  }, {
    key: "getDirection",
    value: function () {
      var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var l10n;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._ready;

              case 2:
                l10n = _context2.sent;
                return _context2.abrupt("return", l10n.getDirection());

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function getDirection() {
        return _getDirection.apply(this, arguments);
      }

      return getDirection;
    }()
  }, {
    key: "get",
    value: function () {
      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(property, args, fallback) {
        var l10n;
        return _regenerator["default"].wrap(function _callee3$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return this._ready;

              case 2:
                l10n = _context3.sent;
                return _context3.abrupt("return", l10n.get(property, args, fallback));

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, _callee3, this);
      }));

      function get(_x, _x2, _x3) {
        return _get.apply(this, arguments);
      }

      return get;
    }()
  }, {
    key: "translate",
    value: function () {
      var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) {
        var l10n;
        return _regenerator["default"].wrap(function _callee4$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return this._ready;

              case 2:
                l10n = _context4.sent;
                return _context4.abrupt("return", l10n.translate(element));

              case 4:
              case "end":
                return _context4.stop();
            }
          }
        }, _callee4, this);
      }));

      function translate(_x4) {
        return _translate.apply(this, arguments);
      }

      return translate;
    }()
  }]);

  return GenericL10n;
}();

exports.GenericL10n = GenericL10n;

/***/ }),
/* 12 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


document.webL10n = function (window, document, undefined) {
  var gL10nData = {};
  var gTextData = '';
  var gTextProp = 'textContent';
  var gLanguage = '';
  var gMacros = {};
  var gReadyState = 'loading';
  var gAsyncResourceLoading = true;

  function getL10nResourceLinks() {
    return document.querySelectorAll('link[type="application/l10n"]');
  }

  function getL10nDictionary() {
    var script = document.querySelector('script[type="application/l10n"]');
    return script ? JSON.parse(script.innerHTML) : null;
  }

  function getTranslatableChildren(element) {
    return element ? element.querySelectorAll('*[data-l10n-id]') : [];
  }

  function getL10nAttributes(element) {
    if (!element) return {};
    var l10nId = element.getAttribute('data-l10n-id');
    var l10nArgs = element.getAttribute('data-l10n-args');
    var args = {};

    if (l10nArgs) {
      try {
        args = JSON.parse(l10nArgs);
      } catch (e) {
        console.warn('could not parse arguments for #' + l10nId);
      }
    }

    return {
      id: l10nId,
      args: args
    };
  }

  function xhrLoadText(url, onSuccess, onFailure) {
    onSuccess = onSuccess || function _onSuccess(data) {};

    onFailure = onFailure || function _onFailure() {};

    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, gAsyncResourceLoading);

    if (xhr.overrideMimeType) {
      xhr.overrideMimeType('text/plain; charset=utf-8');
    }

    xhr.onreadystatechange = function () {
      if (xhr.readyState == 4) {
        if (xhr.status == 200 || xhr.status === 0) {
          onSuccess(xhr.responseText);
        } else {
          onFailure();
        }
      }
    };

    xhr.onerror = onFailure;
    xhr.ontimeout = onFailure;

    try {
      xhr.send(null);
    } catch (e) {
      onFailure();
    }
  }

  function parseResource(href, lang, successCallback, failureCallback) {
    var baseURL = href.replace(/[^\/]*$/, '') || './';

    function evalString(text) {
      if (text.lastIndexOf('\\') < 0) return text;
      return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'");
    }

    function parseProperties(text, parsedPropertiesCallback) {
      var dictionary = {};
      var reBlank = /^\s*|\s*$/;
      var reComment = /^\s*#|^\s*$/;
      var reSection = /^\s*\[(.*)\]\s*$/;
      var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
      var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;

      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
        var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
        var currentLang = '*';
        var genericLang = lang.split('-', 1)[0];
        var skipLang = false;
        var match = '';

        function nextEntry() {
          while (true) {
            if (!entries.length) {
              parsedRawLinesCallback();
              return;
            }

            var line = entries.shift();
            if (reComment.test(line)) continue;

            if (extendedSyntax) {
              match = reSection.exec(line);

              if (match) {
                currentLang = match[1].toLowerCase();
                skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
                continue;
              } else if (skipLang) {
                continue;
              }

              match = reImport.exec(line);

              if (match) {
                loadImport(baseURL + match[1], nextEntry);
                return;
              }
            }

            var tmp = line.match(reSplit);

            if (tmp && tmp.length == 3) {
              dictionary[tmp[1]] = evalString(tmp[2]);
            }
          }
        }

        nextEntry();
      }

      function loadImport(url, callback) {
        xhrLoadText(url, function (content) {
          parseRawLines(content, false, callback);
        }, function () {
          console.warn(url + ' not found.');
          callback();
        });
      }

      parseRawLines(text, true, function () {
        parsedPropertiesCallback(dictionary);
      });
    }

    xhrLoadText(href, function (response) {
      gTextData += response;
      parseProperties(response, function (data) {
        for (var key in data) {
          var id,
              prop,
              index = key.lastIndexOf('.');

          if (index > 0) {
            id = key.substring(0, index);
            prop = key.substring(index + 1);
          } else {
            id = key;
            prop = gTextProp;
          }

          if (!gL10nData[id]) {
            gL10nData[id] = {};
          }

          gL10nData[id][prop] = data[key];
        }

        if (successCallback) {
          successCallback();
        }
      });
    }, failureCallback);
  }

  function loadLocale(lang, callback) {
    if (lang) {
      lang = lang.toLowerCase();
    }

    callback = callback || function _callback() {};

    clear();
    gLanguage = lang;
    var langLinks = getL10nResourceLinks();
    var langCount = langLinks.length;

    if (langCount === 0) {
      var dict = getL10nDictionary();

      if (dict && dict.locales && dict.default_locale) {
        console.log('using the embedded JSON directory, early way out');
        gL10nData = dict.locales[lang];

        if (!gL10nData) {
          var defaultLocale = dict.default_locale.toLowerCase();

          for (var anyCaseLang in dict.locales) {
            anyCaseLang = anyCaseLang.toLowerCase();

            if (anyCaseLang === lang) {
              gL10nData = dict.locales[lang];
              break;
            } else if (anyCaseLang === defaultLocale) {
              gL10nData = dict.locales[defaultLocale];
            }
          }
        }

        callback();
      } else {
        console.log('no resource to load, early way out');
      }

      gReadyState = 'complete';
      return;
    }

    var onResourceLoaded = null;
    var gResourceCount = 0;

    onResourceLoaded = function onResourceLoaded() {
      gResourceCount++;

      if (gResourceCount >= langCount) {
        callback();
        gReadyState = 'complete';
      }
    };

    function L10nResourceLink(link) {
      var href = link.href;

      this.load = function (lang, callback) {
        parseResource(href, lang, callback, function () {
          console.warn(href + ' not found.');
          console.warn('"' + lang + '" resource not found');
          gLanguage = '';
          callback();
        });
      };
    }

    for (var i = 0; i < langCount; i++) {
      var resource = new L10nResourceLink(langLinks[i]);
      resource.load(lang, onResourceLoaded);
    }
  }

  function clear() {
    gL10nData = {};
    gTextData = '';
    gLanguage = '';
  }

  function getPluralRules(lang) {
    var locales2rules = {
      'af': 3,
      'ak': 4,
      'am': 4,
      'ar': 1,
      'asa': 3,
      'az': 0,
      'be': 11,
      'bem': 3,
      'bez': 3,
      'bg': 3,
      'bh': 4,
      'bm': 0,
      'bn': 3,
      'bo': 0,
      'br': 20,
      'brx': 3,
      'bs': 11,
      'ca': 3,
      'cgg': 3,
      'chr': 3,
      'cs': 12,
      'cy': 17,
      'da': 3,
      'de': 3,
      'dv': 3,
      'dz': 0,
      'ee': 3,
      'el': 3,
      'en': 3,
      'eo': 3,
      'es': 3,
      'et': 3,
      'eu': 3,
      'fa': 0,
      'ff': 5,
      'fi': 3,
      'fil': 4,
      'fo': 3,
      'fr': 5,
      'fur': 3,
      'fy': 3,
      'ga': 8,
      'gd': 24,
      'gl': 3,
      'gsw': 3,
      'gu': 3,
      'guw': 4,
      'gv': 23,
      'ha': 3,
      'haw': 3,
      'he': 2,
      'hi': 4,
      'hr': 11,
      'hu': 0,
      'id': 0,
      'ig': 0,
      'ii': 0,
      'is': 3,
      'it': 3,
      'iu': 7,
      'ja': 0,
      'jmc': 3,
      'jv': 0,
      'ka': 0,
      'kab': 5,
      'kaj': 3,
      'kcg': 3,
      'kde': 0,
      'kea': 0,
      'kk': 3,
      'kl': 3,
      'km': 0,
      'kn': 0,
      'ko': 0,
      'ksb': 3,
      'ksh': 21,
      'ku': 3,
      'kw': 7,
      'lag': 18,
      'lb': 3,
      'lg': 3,
      'ln': 4,
      'lo': 0,
      'lt': 10,
      'lv': 6,
      'mas': 3,
      'mg': 4,
      'mk': 16,
      'ml': 3,
      'mn': 3,
      'mo': 9,
      'mr': 3,
      'ms': 0,
      'mt': 15,
      'my': 0,
      'nah': 3,
      'naq': 7,
      'nb': 3,
      'nd': 3,
      'ne': 3,
      'nl': 3,
      'nn': 3,
      'no': 3,
      'nr': 3,
      'nso': 4,
      'ny': 3,
      'nyn': 3,
      'om': 3,
      'or': 3,
      'pa': 3,
      'pap': 3,
      'pl': 13,
      'ps': 3,
      'pt': 3,
      'rm': 3,
      'ro': 9,
      'rof': 3,
      'ru': 11,
      'rwk': 3,
      'sah': 0,
      'saq': 3,
      'se': 7,
      'seh': 3,
      'ses': 0,
      'sg': 0,
      'sh': 11,
      'shi': 19,
      'sk': 12,
      'sl': 14,
      'sma': 7,
      'smi': 7,
      'smj': 7,
      'smn': 7,
      'sms': 7,
      'sn': 3,
      'so': 3,
      'sq': 3,
      'sr': 11,
      'ss': 3,
      'ssy': 3,
      'st': 3,
      'sv': 3,
      'sw': 3,
      'syr': 3,
      'ta': 3,
      'te': 3,
      'teo': 3,
      'th': 0,
      'ti': 4,
      'tig': 3,
      'tk': 3,
      'tl': 4,
      'tn': 3,
      'to': 0,
      'tr': 0,
      'ts': 3,
      'tzm': 22,
      'uk': 11,
      'ur': 3,
      've': 3,
      'vi': 0,
      'vun': 3,
      'wa': 4,
      'wae': 3,
      'wo': 0,
      'xh': 3,
      'xog': 3,
      'yo': 0,
      'zh': 0,
      'zu': 3
    };

    function isIn(n, list) {
      return list.indexOf(n) !== -1;
    }

    function isBetween(n, start, end) {
      return start <= n && n <= end;
    }

    var pluralRules = {
      '0': function _(n) {
        return 'other';
      },
      '1': function _(n) {
        if (isBetween(n % 100, 3, 10)) return 'few';
        if (n === 0) return 'zero';
        if (isBetween(n % 100, 11, 99)) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '2': function _(n) {
        if (n !== 0 && n % 10 === 0) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '3': function _(n) {
        if (n == 1) return 'one';
        return 'other';
      },
      '4': function _(n) {
        if (isBetween(n, 0, 1)) return 'one';
        return 'other';
      },
      '5': function _(n) {
        if (isBetween(n, 0, 2) && n != 2) return 'one';
        return 'other';
      },
      '6': function _(n) {
        if (n === 0) return 'zero';
        if (n % 10 == 1 && n % 100 != 11) return 'one';
        return 'other';
      },
      '7': function _(n) {
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '8': function _(n) {
        if (isBetween(n, 3, 6)) return 'few';
        if (isBetween(n, 7, 10)) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '9': function _(n) {
        if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
        if (n == 1) return 'one';
        return 'other';
      },
      '10': function _(n) {
        if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
        if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
        return 'other';
      },
      '11': function _(n) {
        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
        if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
        if (n % 10 == 1 && n % 100 != 11) return 'one';
        return 'other';
      },
      '12': function _(n) {
        if (isBetween(n, 2, 4)) return 'few';
        if (n == 1) return 'one';
        return 'other';
      },
      '13': function _(n) {
        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
        if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
        if (n == 1) return 'one';
        return 'other';
      },
      '14': function _(n) {
        if (isBetween(n % 100, 3, 4)) return 'few';
        if (n % 100 == 2) return 'two';
        if (n % 100 == 1) return 'one';
        return 'other';
      },
      '15': function _(n) {
        if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
        if (isBetween(n % 100, 11, 19)) return 'many';
        if (n == 1) return 'one';
        return 'other';
      },
      '16': function _(n) {
        if (n % 10 == 1 && n != 11) return 'one';
        return 'other';
      },
      '17': function _(n) {
        if (n == 3) return 'few';
        if (n === 0) return 'zero';
        if (n == 6) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '18': function _(n) {
        if (n === 0) return 'zero';
        if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
        return 'other';
      },
      '19': function _(n) {
        if (isBetween(n, 2, 10)) return 'few';
        if (isBetween(n, 0, 1)) return 'one';
        return 'other';
      },
      '20': function _(n) {
        if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';
        if (n % 1000000 === 0 && n !== 0) return 'many';
        if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
        if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
        return 'other';
      },
      '21': function _(n) {
        if (n === 0) return 'zero';
        if (n == 1) return 'one';
        return 'other';
      },
      '22': function _(n) {
        if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
        return 'other';
      },
      '23': function _(n) {
        if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
        return 'other';
      },
      '24': function _(n) {
        if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
        if (isIn(n, [2, 12])) return 'two';
        if (isIn(n, [1, 11])) return 'one';
        return 'other';
      }
    };
    var index = locales2rules[lang.replace(/-.*$/, '')];

    if (!(index in pluralRules)) {
      console.warn('plural form unknown for [' + lang + ']');
      return function () {
        return 'other';
      };
    }

    return pluralRules[index];
  }

  gMacros.plural = function (str, param, key, prop) {
    var n = parseFloat(param);
    if (isNaN(n)) return str;
    if (prop != gTextProp) return str;

    if (!gMacros._pluralRules) {
      gMacros._pluralRules = getPluralRules(gLanguage);
    }

    var index = '[' + gMacros._pluralRules(n) + ']';

    if (n === 0 && key + '[zero]' in gL10nData) {
      str = gL10nData[key + '[zero]'][prop];
    } else if (n == 1 && key + '[one]' in gL10nData) {
      str = gL10nData[key + '[one]'][prop];
    } else if (n == 2 && key + '[two]' in gL10nData) {
      str = gL10nData[key + '[two]'][prop];
    } else if (key + index in gL10nData) {
      str = gL10nData[key + index][prop];
    } else if (key + '[other]' in gL10nData) {
      str = gL10nData[key + '[other]'][prop];
    }

    return str;
  };

  function getL10nData(key, args, fallback) {
    var data = gL10nData[key];

    if (!data) {
      console.warn('#' + key + ' is undefined.');

      if (!fallback) {
        return null;
      }

      data = fallback;
    }

    var rv = {};

    for (var prop in data) {
      var str = data[prop];
      str = substIndexes(str, args, key, prop);
      str = substArguments(str, args, key);
      rv[prop] = str;
    }

    return rv;
  }

  function substIndexes(str, args, key, prop) {
    var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
    var reMatch = reIndex.exec(str);
    if (!reMatch || !reMatch.length) return str;
    var macroName = reMatch[1];
    var paramName = reMatch[2];
    var param;

    if (args && paramName in args) {
      param = args[paramName];
    } else if (paramName in gL10nData) {
      param = gL10nData[paramName];
    }

    if (macroName in gMacros) {
      var macro = gMacros[macroName];
      str = macro(str, param, key, prop);
    }

    return str;
  }

  function substArguments(str, args, key) {
    var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
    return str.replace(reArgs, function (matched_text, arg) {
      if (args && arg in args) {
        return args[arg];
      }

      if (arg in gL10nData) {
        return gL10nData[arg];
      }

      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
      return matched_text;
    });
  }

  function translateElement(element) {
    var l10n = getL10nAttributes(element);
    if (!l10n.id) return;
    var data = getL10nData(l10n.id, l10n.args);

    if (!data) {
      console.warn('#' + l10n.id + ' is undefined.');
      return;
    }

    if (data[gTextProp]) {
      if (getChildElementCount(element) === 0) {
        element[gTextProp] = data[gTextProp];
      } else {
        var children = element.childNodes;
        var found = false;

        for (var i = 0, l = children.length; i < l; i++) {
          if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
            if (found) {
              children[i].nodeValue = '';
            } else {
              children[i].nodeValue = data[gTextProp];
              found = true;
            }
          }
        }

        if (!found) {
          var textNode = document.createTextNode(data[gTextProp]);
          element.insertBefore(textNode, element.firstChild);
        }
      }

      delete data[gTextProp];
    }

    for (var k in data) {
      element[k] = data[k];
    }
  }

  function getChildElementCount(element) {
    if (element.children) {
      return element.children.length;
    }

    if (typeof element.childElementCount !== 'undefined') {
      return element.childElementCount;
    }

    var count = 0;

    for (var i = 0; i < element.childNodes.length; i++) {
      count += element.nodeType === 1 ? 1 : 0;
    }

    return count;
  }

  function translateFragment(element) {
    element = element || document.documentElement;
    var children = getTranslatableChildren(element);
    var elementCount = children.length;

    for (var i = 0; i < elementCount; i++) {
      translateElement(children[i]);
    }

    translateElement(element);
  }

  return {
    get: function get(key, args, fallbackString) {
      var index = key.lastIndexOf('.');
      var prop = gTextProp;

      if (index > 0) {
        prop = key.substring(index + 1);
        key = key.substring(0, index);
      }

      var fallback;

      if (fallbackString) {
        fallback = {};
        fallback[prop] = fallbackString;
      }

      var data = getL10nData(key, args, fallback);

      if (data && prop in data) {
        return data[prop];
      }

      return '{{' + key + '}}';
    },
    getData: function getData() {
      return gL10nData;
    },
    getText: function getText() {
      return gTextData;
    },
    getLanguage: function getLanguage() {
      return gLanguage;
    },
    setLanguage: function setLanguage(lang, callback) {
      loadLocale(lang, function () {
        if (callback) callback();
      });
    },
    getDirection: function getDirection() {
      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
      var shortCode = gLanguage.split('-', 1)[0];
      return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
    },
    translate: translateFragment,
    getReadyState: function getReadyState() {
      return gReadyState;
    },
    ready: function ready(callback) {
      if (!callback) {
        return;
      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
        window.setTimeout(function () {
          callback();
        });
      } else if (document.addEventListener) {
        document.addEventListener('localized', function once() {
          document.removeEventListener('localized', once);
          callback();
        });
      }
    }
  };
}(window, document);

/***/ }),
/* 13 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFFindController = exports.FindState = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _pdf_find_utils = __w_pdfjs_require__(14);

var _ui_utils = __w_pdfjs_require__(3);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var FindState = {
  FOUND: 0,
  NOT_FOUND: 1,
  WRAPPED: 2,
  PENDING: 3
};
exports.FindState = FindState;
var FIND_TIMEOUT = 250;
var MATCH_SCROLL_OFFSET_TOP = -50;
var MATCH_SCROLL_OFFSET_LEFT = -400;
var CHARACTERS_TO_NORMALIZE = {
  "\u2018": "'",
  "\u2019": "'",
  "\u201A": "'",
  "\u201B": "'",
  "\u201C": '"',
  "\u201D": '"',
  "\u201E": '"',
  "\u201F": '"',
  "\xBC": "1/4",
  "\xBD": "1/2",
  "\xBE": "3/4"
};
var normalizationRegex = null;

function normalize(text) {
  if (!normalizationRegex) {
    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
    normalizationRegex = new RegExp("[".concat(replace, "]"), "g");
  }

  return text.replace(normalizationRegex, function (ch) {
    return CHARACTERS_TO_NORMALIZE[ch];
  });
}

var PDFFindController = /*#__PURE__*/function () {
  function PDFFindController(_ref) {
    var linkService = _ref.linkService,
        eventBus = _ref.eventBus;

    _classCallCheck(this, PDFFindController);

    this._linkService = linkService;
    this._eventBus = eventBus;

    this._reset();

    eventBus._on("findbarclose", this._onFindBarClose.bind(this));
  }

  _createClass(PDFFindController, [{
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      if (this._pdfDocument) {
        this._reset();
      }

      if (!pdfDocument) {
        return;
      }

      this._pdfDocument = pdfDocument;

      this._firstPageCapability.resolve();
    }
  }, {
    key: "executeCommand",
    value: function executeCommand(cmd, state) {
      var _this = this;

      if (!state) {
        return;
      }

      var pdfDocument = this._pdfDocument;

      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
        this._dirtyMatch = true;
      }

      this._state = state;

      if (cmd !== "findhighlightallchange") {
        this._updateUIState(FindState.PENDING);
      }

      this._firstPageCapability.promise.then(function () {
        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {
          return;
        }

        _this._extractText();

        var findbarClosed = !_this._highlightMatches;
        var pendingTimeout = !!_this._findTimeout;

        if (_this._findTimeout) {
          clearTimeout(_this._findTimeout);
          _this._findTimeout = null;
        }

        if (cmd === "find") {
          _this._findTimeout = setTimeout(function () {
            _this._nextMatch();

            _this._findTimeout = null;
          }, FIND_TIMEOUT);
        } else if (_this._dirtyMatch) {
          _this._nextMatch();
        } else if (cmd === "findagain") {
          _this._nextMatch();

          if (findbarClosed && _this._state.highlightAll) {
            _this._updateAllPages();
          }
        } else if (cmd === "findhighlightallchange") {
          if (pendingTimeout) {
            _this._nextMatch();
          } else {
            _this._highlightMatches = true;
          }

          _this._updateAllPages();
        } else {
          _this._nextMatch();
        }
      });
    }
  }, {
    key: "scrollMatchIntoView",
    value: function scrollMatchIntoView(_ref2) {
      var _ref2$element = _ref2.element,
          element = _ref2$element === void 0 ? null : _ref2$element,
          _ref2$pageIndex = _ref2.pageIndex,
          pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,
          _ref2$matchIndex = _ref2.matchIndex,
          matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;

      if (!this._scrollMatches || !element) {
        return;
      } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
        return;
      } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
        return;
      }

      this._scrollMatches = false;
      var spot = {
        top: MATCH_SCROLL_OFFSET_TOP,
        left: MATCH_SCROLL_OFFSET_LEFT
      };
      (0, _ui_utils.scrollIntoView)(element, spot, true);
    }
  }, {
    key: "_reset",
    value: function _reset() {
      this._highlightMatches = false;
      this._scrollMatches = false;
      this._pdfDocument = null;
      this._pageMatches = [];
      this._pageMatchesLength = [];
      this._state = null;
      this._selected = {
        pageIdx: -1,
        matchIdx: -1
      };
      this._offset = {
        pageIdx: null,
        matchIdx: null,
        wrapped: false
      };
      this._extractTextPromises = [];
      this._pageContents = [];
      this._matchesCountTotal = 0;
      this._pagesToSearch = null;
      this._pendingFindMatches = Object.create(null);
      this._resumePageIdx = null;
      this._dirtyMatch = false;
      clearTimeout(this._findTimeout);
      this._findTimeout = null;
      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
    }
  }, {
    key: "_shouldDirtyMatch",
    value: function _shouldDirtyMatch(cmd, state) {
      if (state.query !== this._state.query) {
        return true;
      }

      switch (cmd) {
        case "findagain":
          var pageNumber = this._selected.pageIdx + 1;
          var linkService = this._linkService;

          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
            return true;
          }

          return false;

        case "findhighlightallchange":
          return false;
      }

      return true;
    }
  }, {
    key: "_prepareMatches",
    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {
      function isSubTerm(currentIndex) {
        var currentElem = matchesWithLength[currentIndex];
        var nextElem = matchesWithLength[currentIndex + 1];

        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
          currentElem.skipped = true;
          return true;
        }

        for (var i = currentIndex - 1; i >= 0; i--) {
          var prevElem = matchesWithLength[i];

          if (prevElem.skipped) {
            continue;
          }

          if (prevElem.match + prevElem.matchLength < currentElem.match) {
            break;
          }

          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
            currentElem.skipped = true;
            return true;
          }
        }

        return false;
      }

      matchesWithLength.sort(function (a, b) {
        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
      });

      for (var i = 0, len = matchesWithLength.length; i < len; i++) {
        if (isSubTerm(i)) {
          continue;
        }

        matches.push(matchesWithLength[i].match);
        matchesLength.push(matchesWithLength[i].matchLength);
      }
    }
  }, {
    key: "_isEntireWord",
    value: function _isEntireWord(content, startIdx, length) {
      if (startIdx > 0) {
        var first = content.charCodeAt(startIdx);
        var limit = content.charCodeAt(startIdx - 1);

        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
          return false;
        }
      }

      var endIdx = startIdx + length - 1;

      if (endIdx < content.length - 1) {
        var last = content.charCodeAt(endIdx);

        var _limit = content.charCodeAt(endIdx + 1);

        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
          return false;
        }
      }

      return true;
    }
  }, {
    key: "_calculatePhraseMatch",
    value: function _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {
      var matches = [];
      var queryLen = query.length;
      var matchIdx = -queryLen;

      while (true) {
        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);

        if (matchIdx === -1) {
          break;
        }

        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
          continue;
        }

        matches.push(matchIdx);
      }

      this._pageMatches[pageIndex] = matches;
    }
  }, {
    key: "_calculateWordMatch",
    value: function _calculateWordMatch(query, pageIndex, pageContent, entireWord) {
      var matchesWithLength = [];
      var queryArray = query.match(/\S+/g);

      for (var i = 0, len = queryArray.length; i < len; i++) {
        var subquery = queryArray[i];
        var subqueryLen = subquery.length;
        var matchIdx = -subqueryLen;

        while (true) {
          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);

          if (matchIdx === -1) {
            break;
          }

          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
            continue;
          }

          matchesWithLength.push({
            match: matchIdx,
            matchLength: subqueryLen,
            skipped: false
          });
        }
      }

      this._pageMatchesLength[pageIndex] = [];
      this._pageMatches[pageIndex] = [];

      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);
    }
  }, {
    key: "_calculateMatch",
    value: function _calculateMatch(pageIndex) {
      var pageContent = this._pageContents[pageIndex];
      var query = this._query;
      var _this$_state = this._state,
          caseSensitive = _this$_state.caseSensitive,
          entireWord = _this$_state.entireWord,
          phraseSearch = _this$_state.phraseSearch;

      if (query.length === 0) {
        return;
      }

      if (!caseSensitive) {
        pageContent = pageContent.toLowerCase();
        query = query.toLowerCase();
      }

      if (phraseSearch) {
        this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);
      } else {
        this._calculateWordMatch(query, pageIndex, pageContent, entireWord);
      }

      if (this._state.highlightAll) {
        this._updatePage(pageIndex);
      }

      if (this._resumePageIdx === pageIndex) {
        this._resumePageIdx = null;

        this._nextPageMatch();
      }

      var pageMatchesCount = this._pageMatches[pageIndex].length;

      if (pageMatchesCount > 0) {
        this._matchesCountTotal += pageMatchesCount;

        this._updateUIResultsCount();
      }
    }
  }, {
    key: "_extractText",
    value: function _extractText() {
      var _this2 = this;

      if (this._extractTextPromises.length > 0) {
        return;
      }

      var promise = Promise.resolve();

      var _loop = function _loop(i, ii) {
        var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
        _this2._extractTextPromises[i] = extractTextCapability.promise;
        promise = promise.then(function () {
          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
            return pdfPage.getTextContent({
              normalizeWhitespace: true
            });
          }).then(function (textContent) {
            var textItems = textContent.items;
            var strBuf = [];

            for (var j = 0, jj = textItems.length; j < jj; j++) {
              strBuf.push(textItems[j].str);
            }

            _this2._pageContents[i] = normalize(strBuf.join(""));
            extractTextCapability.resolve(i);
          }, function (reason) {
            console.error("Unable to get text content for page ".concat(i + 1), reason);
            _this2._pageContents[i] = "";
            extractTextCapability.resolve(i);
          });
        });
      };

      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
        _loop(i, ii);
      }
    }
  }, {
    key: "_updatePage",
    value: function _updatePage(index) {
      if (this._scrollMatches && this._selected.pageIdx === index) {
        this._linkService.page = index + 1;
      }

      this._eventBus.dispatch("updatetextlayermatches", {
        source: this,
        pageIndex: index
      });
    }
  }, {
    key: "_updateAllPages",
    value: function _updateAllPages() {
      this._eventBus.dispatch("updatetextlayermatches", {
        source: this,
        pageIndex: -1
      });
    }
  }, {
    key: "_nextMatch",
    value: function _nextMatch() {
      var _this3 = this;

      var previous = this._state.findPrevious;
      var currentPageIndex = this._linkService.page - 1;
      var numPages = this._linkService.pagesCount;
      this._highlightMatches = true;

      if (this._dirtyMatch) {
        this._dirtyMatch = false;
        this._selected.pageIdx = this._selected.matchIdx = -1;
        this._offset.pageIdx = currentPageIndex;
        this._offset.matchIdx = null;
        this._offset.wrapped = false;
        this._resumePageIdx = null;
        this._pageMatches.length = 0;
        this._pageMatchesLength.length = 0;
        this._matchesCountTotal = 0;

        this._updateAllPages();

        for (var i = 0; i < numPages; i++) {
          if (this._pendingFindMatches[i] === true) {
            continue;
          }

          this._pendingFindMatches[i] = true;

          this._extractTextPromises[i].then(function (pageIdx) {
            delete _this3._pendingFindMatches[pageIdx];

            _this3._calculateMatch(pageIdx);
          });
        }
      }

      if (this._query === "") {
        this._updateUIState(FindState.FOUND);

        return;
      }

      if (this._resumePageIdx) {
        return;
      }

      var offset = this._offset;
      this._pagesToSearch = numPages;

      if (offset.matchIdx !== null) {
        var numPageMatches = this._pageMatches[offset.pageIdx].length;

        if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
          offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;

          this._updateMatch(true);

          return;
        }

        this._advanceOffsetPage(previous);
      }

      this._nextPageMatch();
    }
  }, {
    key: "_matchesReady",
    value: function _matchesReady(matches) {
      var offset = this._offset;
      var numMatches = matches.length;
      var previous = this._state.findPrevious;

      if (numMatches) {
        offset.matchIdx = previous ? numMatches - 1 : 0;

        this._updateMatch(true);

        return true;
      }

      this._advanceOffsetPage(previous);

      if (offset.wrapped) {
        offset.matchIdx = null;

        if (this._pagesToSearch < 0) {
          this._updateMatch(false);

          return true;
        }
      }

      return false;
    }
  }, {
    key: "_nextPageMatch",
    value: function _nextPageMatch() {
      if (this._resumePageIdx !== null) {
        console.error("There can only be one pending page.");
      }

      var matches = null;

      do {
        var pageIdx = this._offset.pageIdx;
        matches = this._pageMatches[pageIdx];

        if (!matches) {
          this._resumePageIdx = pageIdx;
          break;
        }
      } while (!this._matchesReady(matches));
    }
  }, {
    key: "_advanceOffsetPage",
    value: function _advanceOffsetPage(previous) {
      var offset = this._offset;
      var numPages = this._linkService.pagesCount;
      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
      offset.matchIdx = null;
      this._pagesToSearch--;

      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
        offset.pageIdx = previous ? numPages - 1 : 0;
        offset.wrapped = true;
      }
    }
  }, {
    key: "_updateMatch",
    value: function _updateMatch() {
      var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var state = FindState.NOT_FOUND;
      var wrapped = this._offset.wrapped;
      this._offset.wrapped = false;

      if (found) {
        var previousPage = this._selected.pageIdx;
        this._selected.pageIdx = this._offset.pageIdx;
        this._selected.matchIdx = this._offset.matchIdx;
        state = wrapped ? FindState.WRAPPED : FindState.FOUND;

        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
          this._updatePage(previousPage);
        }
      }

      this._updateUIState(state, this._state.findPrevious);

      if (this._selected.pageIdx !== -1) {
        this._scrollMatches = true;

        this._updatePage(this._selected.pageIdx);
      }
    }
  }, {
    key: "_onFindBarClose",
    value: function _onFindBarClose(evt) {
      var _this4 = this;

      var pdfDocument = this._pdfDocument;

      this._firstPageCapability.promise.then(function () {
        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
          return;
        }

        if (_this4._findTimeout) {
          clearTimeout(_this4._findTimeout);
          _this4._findTimeout = null;
        }

        if (_this4._resumePageIdx) {
          _this4._resumePageIdx = null;
          _this4._dirtyMatch = true;
        }

        _this4._updateUIState(FindState.FOUND);

        _this4._highlightMatches = false;

        _this4._updateAllPages();
      });
    }
  }, {
    key: "_requestMatchesCount",
    value: function _requestMatchesCount() {
      var _this$_selected = this._selected,
          pageIdx = _this$_selected.pageIdx,
          matchIdx = _this$_selected.matchIdx;
      var current = 0,
          total = this._matchesCountTotal;

      if (matchIdx !== -1) {
        for (var i = 0; i < pageIdx; i++) {
          current += this._pageMatches[i] && this._pageMatches[i].length || 0;
        }

        current += matchIdx + 1;
      }

      if (current < 1 || current > total) {
        current = total = 0;
      }

      return {
        current: current,
        total: total
      };
    }
  }, {
    key: "_updateUIResultsCount",
    value: function _updateUIResultsCount() {
      this._eventBus.dispatch("updatefindmatchescount", {
        source: this,
        matchesCount: this._requestMatchesCount()
      });
    }
  }, {
    key: "_updateUIState",
    value: function _updateUIState(state, previous) {
      this._eventBus.dispatch("updatefindcontrolstate", {
        source: this,
        state: state,
        previous: previous,
        matchesCount: this._requestMatchesCount(),
        rawQuery: this._state ? this._state.query : null
      });
    }
  }, {
    key: "highlightMatches",
    get: function get() {
      return this._highlightMatches;
    }
  }, {
    key: "pageMatches",
    get: function get() {
      return this._pageMatches;
    }
  }, {
    key: "pageMatchesLength",
    get: function get() {
      return this._pageMatchesLength;
    }
  }, {
    key: "selected",
    get: function get() {
      return this._selected;
    }
  }, {
    key: "state",
    get: function get() {
      return this._state;
    }
  }, {
    key: "_query",
    get: function get() {
      if (this._state.query !== this._rawQuery) {
        this._rawQuery = this._state.query;
        this._normalizedQuery = normalize(this._state.query);
      }

      return this._normalizedQuery;
    }
  }]);

  return PDFFindController;
}();

exports.PDFFindController = PDFFindController;

/***/ }),
/* 14 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.getCharacterType = getCharacterType;
exports.CharacterType = void 0;
var CharacterType = {
  SPACE: 0,
  ALPHA_LETTER: 1,
  PUNCT: 2,
  HAN_LETTER: 3,
  KATAKANA_LETTER: 4,
  HIRAGANA_LETTER: 5,
  HALFWIDTH_KATAKANA_LETTER: 6,
  THAI_LETTER: 7
};
exports.CharacterType = CharacterType;

function isAlphabeticalScript(charCode) {
  return charCode < 0x2e80;
}

function isAscii(charCode) {
  return (charCode & 0xff80) === 0;
}

function isAsciiAlpha(charCode) {
  return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
}

function isAsciiDigit(charCode) {
  return charCode >= 0x30 && charCode <= 0x39;
}

function isAsciiSpace(charCode) {
  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
}

function isHan(charCode) {
  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
}

function isKatakana(charCode) {
  return charCode >= 0x30a0 && charCode <= 0x30ff;
}

function isHiragana(charCode) {
  return charCode >= 0x3040 && charCode <= 0x309f;
}

function isHalfwidthKatakana(charCode) {
  return charCode >= 0xff60 && charCode <= 0xff9f;
}

function isThai(charCode) {
  return (charCode & 0xff80) === 0x0e00;
}

function getCharacterType(charCode) {
  if (isAlphabeticalScript(charCode)) {
    if (isAscii(charCode)) {
      if (isAsciiSpace(charCode)) {
        return CharacterType.SPACE;
      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
        return CharacterType.ALPHA_LETTER;
      }

      return CharacterType.PUNCT;
    } else if (isThai(charCode)) {
      return CharacterType.THAI_LETTER;
    } else if (charCode === 0xa0) {
      return CharacterType.SPACE;
    }

    return CharacterType.ALPHA_LETTER;
  }

  if (isHan(charCode)) {
    return CharacterType.HAN_LETTER;
  } else if (isKatakana(charCode)) {
    return CharacterType.KATAKANA_LETTER;
  } else if (isHiragana(charCode)) {
    return CharacterType.HIRAGANA_LETTER;
  } else if (isHalfwidthKatakana(charCode)) {
    return CharacterType.HALFWIDTH_KATAKANA_LETTER;
  }

  return CharacterType.ALPHA_LETTER;
}

/***/ }),
/* 15 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.isDestHashesEqual = isDestHashesEqual;
exports.isDestArraysEqual = isDestArraysEqual;
exports.PDFHistory = void 0;

var _ui_utils = __w_pdfjs_require__(3);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var HASH_CHANGE_TIMEOUT = 1000;
var POSITION_UPDATED_THRESHOLD = 50;
var UPDATE_VIEWAREA_TIMEOUT = 1000;

function getCurrentHash() {
  return document.location.hash;
}

var PDFHistory = /*#__PURE__*/function () {
  function PDFHistory(_ref) {
    var _this = this;

    var linkService = _ref.linkService,
        eventBus = _ref.eventBus;

    _classCallCheck(this, PDFHistory);

    this.linkService = linkService;
    this.eventBus = eventBus;
    this._initialized = false;
    this._fingerprint = "";
    this.reset();
    this._boundEvents = null;
    this._isViewerInPresentationMode = false;

    this.eventBus._on("presentationmodechanged", function (evt) {
      _this._isViewerInPresentationMode = evt.active || evt.switchInProgress;
    });

    this.eventBus._on("pagesinit", function () {
      _this._isPagesLoaded = false;

      var onPagesLoaded = function onPagesLoaded(evt) {
        _this.eventBus._off("pagesloaded", onPagesLoaded);

        _this._isPagesLoaded = !!evt.pagesCount;
      };

      _this.eventBus._on("pagesloaded", onPagesLoaded);
    });
  }

  _createClass(PDFHistory, [{
    key: "initialize",
    value: function initialize(_ref2) {
      var fingerprint = _ref2.fingerprint,
          _ref2$resetHistory = _ref2.resetHistory,
          resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,
          _ref2$updateUrl = _ref2.updateUrl,
          updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;

      if (!fingerprint || typeof fingerprint !== "string") {
        console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
        return;
      }

      if (this._initialized) {
        this.reset();
      }

      var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
      this._fingerprint = fingerprint;
      this._updateUrl = updateUrl === true;
      this._initialized = true;

      this._bindEvents();

      var state = window.history.state;
      this._popStateInProgress = false;
      this._blockHashChange = 0;
      this._currentHash = getCurrentHash();
      this._numPositionUpdates = 0;
      this._uid = this._maxUid = 0;
      this._destination = null;
      this._position = null;

      if (!this._isValidState(state, true) || resetHistory) {
        var _this$_parseCurrentHa = this._parseCurrentHash(true),
            hash = _this$_parseCurrentHa.hash,
            page = _this$_parseCurrentHa.page,
            rotation = _this$_parseCurrentHa.rotation;

        if (!hash || reInitialized || resetHistory) {
          this._pushOrReplaceState(null, true);

          return;
        }

        this._pushOrReplaceState({
          hash: hash,
          page: page,
          rotation: rotation
        }, true);

        return;
      }

      var destination = state.destination;

      this._updateInternalState(destination, state.uid, true);

      if (this._uid > this._maxUid) {
        this._maxUid = this._uid;
      }

      if (destination.rotation !== undefined) {
        this._initialRotation = destination.rotation;
      }

      if (destination.dest) {
        this._initialBookmark = JSON.stringify(destination.dest);
        this._destination.page = null;
      } else if (destination.hash) {
        this._initialBookmark = destination.hash;
      } else if (destination.page) {
        this._initialBookmark = "page=".concat(destination.page);
      }
    }
  }, {
    key: "reset",
    value: function reset() {
      if (this._initialized) {
        this._pageHide();

        this._initialized = false;

        this._unbindEvents();
      }

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      this._initialBookmark = null;
      this._initialRotation = null;
    }
  }, {
    key: "push",
    value: function push(_ref3) {
      var _this2 = this;

      var _ref3$namedDest = _ref3.namedDest,
          namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,
          explicitDest = _ref3.explicitDest,
          pageNumber = _ref3.pageNumber;

      if (!this._initialized) {
        return;
      }

      if (namedDest && typeof namedDest !== "string") {
        console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter."));
        return;
      } else if (!Array.isArray(explicitDest)) {
        console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter."));
        return;
      } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {
        if (pageNumber !== null || this._destination) {
          console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
          return;
        }
      }

      var hash = namedDest || JSON.stringify(explicitDest);

      if (!hash) {
        return;
      }

      var forceReplace = false;

      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
        if (this._destination.page) {
          return;
        }

        forceReplace = true;
      }

      if (this._popStateInProgress && !forceReplace) {
        return;
      }

      this._pushOrReplaceState({
        dest: explicitDest,
        hash: hash,
        page: pageNumber,
        rotation: this.linkService.rotation
      }, forceReplace);

      if (!this._popStateInProgress) {
        this._popStateInProgress = true;
        Promise.resolve().then(function () {
          _this2._popStateInProgress = false;
        });
      }
    }
  }, {
    key: "pushCurrentPosition",
    value: function pushCurrentPosition() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      this._tryPushCurrentPosition();
    }
  }, {
    key: "back",
    value: function back() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      var state = window.history.state;

      if (this._isValidState(state) && state.uid > 0) {
        window.history.back();
      }
    }
  }, {
    key: "forward",
    value: function forward() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      var state = window.history.state;

      if (this._isValidState(state) && state.uid < this._maxUid) {
        window.history.forward();
      }
    }
  }, {
    key: "_pushOrReplaceState",
    value: function _pushOrReplaceState(destination) {
      var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var shouldReplace = forceReplace || !this._destination;
      var newState = {
        fingerprint: this._fingerprint,
        uid: shouldReplace ? this._uid : this._uid + 1,
        destination: destination
      };

      this._updateInternalState(destination, newState.uid);

      var newUrl;

      if (this._updateUrl && destination && destination.hash) {
        var baseUrl = document.location.href.split("#")[0];

        if (!baseUrl.startsWith("file://")) {
          newUrl = "".concat(baseUrl, "#").concat(destination.hash);
        }
      }

      if (shouldReplace) {
        window.history.replaceState(newState, "", newUrl);
      } else {
        this._maxUid = this._uid;
        window.history.pushState(newState, "", newUrl);
      }
    }
  }, {
    key: "_tryPushCurrentPosition",
    value: function _tryPushCurrentPosition() {
      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this._position) {
        return;
      }

      var position = this._position;

      if (temporary) {
        position = Object.assign(Object.create(null), this._position);
        position.temporary = true;
      }

      if (!this._destination) {
        this._pushOrReplaceState(position);

        return;
      }

      if (this._destination.temporary) {
        this._pushOrReplaceState(position, true);

        return;
      }

      if (this._destination.hash === position.hash) {
        return;
      }

      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
        return;
      }

      var forceReplace = false;

      if (this._destination.page >= position.first && this._destination.page <= position.page) {
        if (this._destination.dest || !this._destination.first) {
          return;
        }

        forceReplace = true;
      }

      this._pushOrReplaceState(position, forceReplace);
    }
  }, {
    key: "_isValidState",
    value: function _isValidState(state) {
      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (!state) {
        return false;
      }

      if (state.fingerprint !== this._fingerprint) {
        if (checkReload) {
          if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
            return false;
          }

          var _performance$getEntri = performance.getEntriesByType("navigation"),
              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
              perfEntry = _performance$getEntri2[0];

          if (!perfEntry || perfEntry.type !== "reload") {
            return false;
          }
        } else {
          return false;
        }
      }

      if (!Number.isInteger(state.uid) || state.uid < 0) {
        return false;
      }

      if (state.destination === null || _typeof(state.destination) !== "object") {
        return false;
      }

      return true;
    }
  }, {
    key: "_updateInternalState",
    value: function _updateInternalState(destination, uid) {
      var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      if (removeTemporary && destination && destination.temporary) {
        delete destination.temporary;
      }

      this._destination = destination;
      this._uid = uid;
      this._numPositionUpdates = 0;
    }
  }, {
    key: "_parseCurrentHash",
    value: function _parseCurrentHash() {
      var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var hash = unescape(getCurrentHash()).substring(1);
      var params = (0, _ui_utils.parseQueryString)(hash);
      var nameddest = params.nameddest || "";
      var page = params.page | 0;

      if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {
        page = null;
      }

      return {
        hash: hash,
        page: page,
        rotation: this.linkService.rotation
      };
    }
  }, {
    key: "_updateViewarea",
    value: function _updateViewarea(_ref4) {
      var _this3 = this;

      var location = _ref4.location;

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      this._position = {
        hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1),
        page: this.linkService.page,
        first: location.pageNumber,
        rotation: location.rotation
      };

      if (this._popStateInProgress) {
        return;
      }

      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
        this._numPositionUpdates++;
      }

      if (UPDATE_VIEWAREA_TIMEOUT > 0) {
        this._updateViewareaTimeout = setTimeout(function () {
          if (!_this3._popStateInProgress) {
            _this3._tryPushCurrentPosition(true);
          }

          _this3._updateViewareaTimeout = null;
        }, UPDATE_VIEWAREA_TIMEOUT);
      }
    }
  }, {
    key: "_popState",
    value: function _popState(_ref5) {
      var _this4 = this;

      var state = _ref5.state;
      var newHash = getCurrentHash(),
          hashChanged = this._currentHash !== newHash;
      this._currentHash = newHash;

      if (!state) {
        this._uid++;

        var _this$_parseCurrentHa2 = this._parseCurrentHash(),
            hash = _this$_parseCurrentHa2.hash,
            page = _this$_parseCurrentHa2.page,
            rotation = _this$_parseCurrentHa2.rotation;

        this._pushOrReplaceState({
          hash: hash,
          page: page,
          rotation: rotation
        }, true);

        return;
      }

      if (!this._isValidState(state)) {
        return;
      }

      this._popStateInProgress = true;

      if (hashChanged) {
        this._blockHashChange++;
        (0, _ui_utils.waitOnEventOrTimeout)({
          target: window,
          name: "hashchange",
          delay: HASH_CHANGE_TIMEOUT
        }).then(function () {
          _this4._blockHashChange--;
        });
      }

      var destination = state.destination;

      this._updateInternalState(destination, state.uid, true);

      if (this._uid > this._maxUid) {
        this._maxUid = this._uid;
      }

      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
        this.linkService.rotation = destination.rotation;
      }

      if (destination.dest) {
        this.linkService.navigateTo(destination.dest);
      } else if (destination.hash) {
        this.linkService.setHash(destination.hash);
      } else if (destination.page) {
        this.linkService.page = destination.page;
      }

      Promise.resolve().then(function () {
        _this4._popStateInProgress = false;
      });
    }
  }, {
    key: "_pageHide",
    value: function _pageHide() {
      if (!this._destination || this._destination.temporary) {
        this._tryPushCurrentPosition();
      }
    }
  }, {
    key: "_bindEvents",
    value: function _bindEvents() {
      if (this._boundEvents) {
        return;
      }

      this._boundEvents = {
        updateViewarea: this._updateViewarea.bind(this),
        popState: this._popState.bind(this),
        pageHide: this._pageHide.bind(this)
      };

      this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);

      window.addEventListener("popstate", this._boundEvents.popState);
      window.addEventListener("pagehide", this._boundEvents.pageHide);
    }
  }, {
    key: "_unbindEvents",
    value: function _unbindEvents() {
      if (!this._boundEvents) {
        return;
      }

      this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);

      window.removeEventListener("popstate", this._boundEvents.popState);
      window.removeEventListener("pagehide", this._boundEvents.pageHide);
      this._boundEvents = null;
    }
  }, {
    key: "popStateInProgress",
    get: function get() {
      return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
    }
  }, {
    key: "initialBookmark",
    get: function get() {
      return this._initialized ? this._initialBookmark : null;
    }
  }, {
    key: "initialRotation",
    get: function get() {
      return this._initialized ? this._initialRotation : null;
    }
  }]);

  return PDFHistory;
}();

exports.PDFHistory = PDFHistory;

function isDestHashesEqual(destHash, pushHash) {
  if (typeof destHash !== "string" || typeof pushHash !== "string") {
    return false;
  }

  if (destHash === pushHash) {
    return true;
  }

  var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),
      nameddest = _parseQueryString.nameddest;

  if (nameddest === pushHash) {
    return true;
  }

  return false;
}

function isDestArraysEqual(firstDest, secondDest) {
  function isEntryEqual(first, second) {
    if (_typeof(first) !== _typeof(second)) {
      return false;
    }

    if (Array.isArray(first) || Array.isArray(second)) {
      return false;
    }

    if (first !== null && _typeof(first) === "object" && second !== null) {
      if (Object.keys(first).length !== Object.keys(second).length) {
        return false;
      }

      for (var key in first) {
        if (!isEntryEqual(first[key], second[key])) {
          return false;
        }
      }

      return true;
    }

    return first === second || Number.isNaN(first) && Number.isNaN(second);
  }

  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
    return false;
  }

  if (firstDest.length !== secondDest.length) {
    return false;
  }

  for (var i = 0, ii = firstDest.length; i < ii; i++) {
    if (!isEntryEqual(firstDest[i], secondDest[i])) {
      return false;
    }
  }

  return true;
}

/***/ }),
/* 16 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFPageView = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

var _ui_utils = __w_pdfjs_require__(3);

var _pdfjsLib = __w_pdfjs_require__(2);

var _pdf_rendering_queue = __w_pdfjs_require__(17);

var _viewer_compatibility = __w_pdfjs_require__(10);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;

var PDFPageView = /*#__PURE__*/function () {
  function PDFPageView(options) {
    _classCallCheck(this, PDFPageView);

    var container = options.container;
    var defaultViewport = options.defaultViewport;
    this.id = options.id;
    this.renderingId = "page" + this.id;
    this.pdfPage = null;
    this.pageLabel = null;
    this.rotation = 0;
    this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
    this.viewport = defaultViewport;
    this.pdfPageRotate = defaultViewport.rotation;
    this._annotationStorage = options.annotationStorage || null;
    this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;
    this.hasRestrictedScaling = false;
    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
    this.imageResourcesPath = options.imageResourcesPath || "";
    this.renderInteractiveForms = typeof options.renderInteractiveForms === "boolean" ? options.renderInteractiveForms : true;
    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
    this.eventBus = options.eventBus;
    this.renderingQueue = options.renderingQueue;
    this.textLayerFactory = options.textLayerFactory;
    this.annotationLayerFactory = options.annotationLayerFactory;
    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
    this.enableWebGL = options.enableWebGL || false;
    this.l10n = options.l10n || _ui_utils.NullL10n;
    this.paintTask = null;
    this.paintedViewportMap = new WeakMap();
    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
    this.resume = null;
    this.error = null;
    this.annotationLayer = null;
    this.textLayer = null;
    this.zoomLayer = null;
    var div = document.createElement("div");
    div.className = "page";
    div.style.width = Math.floor(this.viewport.width) + "px";
    div.style.height = Math.floor(this.viewport.height) + "px";
    div.setAttribute("data-page-number", this.id);
    this.div = div;
    container.appendChild(div);
  }

  _createClass(PDFPageView, [{
    key: "setPdfPage",
    value: function setPdfPage(pdfPage) {
      this.pdfPage = pdfPage;
      this.pdfPageRotate = pdfPage.rotate;
      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
      this.viewport = pdfPage.getViewport({
        scale: this.scale * _ui_utils.CSS_UNITS,
        rotation: totalRotation
      });
      this.stats = pdfPage.stats;
      this.reset();
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.reset();

      if (this.pdfPage) {
        this.pdfPage.cleanup();
      }
    }
  }, {
    key: "_renderAnnotationLayer",
    value: function () {
      var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var error;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                error = null;
                _context.prev = 1;
                _context.next = 4;
                return this.annotationLayer.render(this.viewport, "display");

              case 4:
                _context.next = 9;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);
                error = _context.t0;

              case 9:
                _context.prev = 9;
                this.eventBus.dispatch("annotationlayerrendered", {
                  source: this,
                  pageNumber: this.id,
                  error: error
                });
                return _context.finish(9);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[1, 6, 9, 12]]);
      }));

      function _renderAnnotationLayer() {
        return _renderAnnotationLayer2.apply(this, arguments);
      }

      return _renderAnnotationLayer;
    }()
  }, {
    key: "_resetZoomLayer",
    value: function _resetZoomLayer() {
      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this.zoomLayer) {
        return;
      }

      var zoomLayerCanvas = this.zoomLayer.firstChild;
      this.paintedViewportMap["delete"](zoomLayerCanvas);
      zoomLayerCanvas.width = 0;
      zoomLayerCanvas.height = 0;

      if (removeFromDOM) {
        this.zoomLayer.remove();
      }

      this.zoomLayer = null;
    }
  }, {
    key: "reset",
    value: function reset() {
      var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      this.cancelRendering(keepAnnotations);
      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
      var div = this.div;
      div.style.width = Math.floor(this.viewport.width) + "px";
      div.style.height = Math.floor(this.viewport.height) + "px";
      var childNodes = div.childNodes;
      var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;
      var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;

      for (var i = childNodes.length - 1; i >= 0; i--) {
        var node = childNodes[i];

        if (currentZoomLayerNode === node || currentAnnotationNode === node) {
          continue;
        }

        div.removeChild(node);
      }

      div.removeAttribute("data-loaded");

      if (currentAnnotationNode) {
        this.annotationLayer.hide();
      } else if (this.annotationLayer) {
        this.annotationLayer.cancel();
        this.annotationLayer = null;
      }

      if (!currentZoomLayerNode) {
        if (this.canvas) {
          this.paintedViewportMap["delete"](this.canvas);
          this.canvas.width = 0;
          this.canvas.height = 0;
          delete this.canvas;
        }

        this._resetZoomLayer();
      }

      if (this.svg) {
        this.paintedViewportMap["delete"](this.svg);
        delete this.svg;
      }

      this.loadingIconDiv = document.createElement("div");
      this.loadingIconDiv.className = "loadingIcon";
      div.appendChild(this.loadingIconDiv);
    }
  }, {
    key: "update",
    value: function update(scale, rotation) {
      var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      this.scale = scale || this.scale;

      if (typeof rotation !== "undefined") {
        this.rotation = rotation;
      }

      if (optionalContentConfigPromise instanceof Promise) {
        this._optionalContentConfigPromise = optionalContentConfigPromise;
      }

      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
      this.viewport = this.viewport.clone({
        scale: this.scale * _ui_utils.CSS_UNITS,
        rotation: totalRotation
      });

      if (this.svg) {
        this.cssTransform(this.svg, true);
        this.eventBus.dispatch("pagerendered", {
          source: this,
          pageNumber: this.id,
          cssTransform: true,
          timestamp: performance.now()
        });
        return;
      }

      var isScalingRestricted = false;

      if (this.canvas && this.maxCanvasPixels > 0) {
        var outputScale = this.outputScale;

        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
          isScalingRestricted = true;
        }
      }

      if (this.canvas) {
        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
          this.cssTransform(this.canvas, true);
          this.eventBus.dispatch("pagerendered", {
            source: this,
            pageNumber: this.id,
            cssTransform: true,
            timestamp: performance.now()
          });
          return;
        }

        if (!this.zoomLayer && !this.canvas.hasAttribute("hidden")) {
          this.zoomLayer = this.canvas.parentNode;
          this.zoomLayer.style.position = "absolute";
        }
      }

      if (this.zoomLayer) {
        this.cssTransform(this.zoomLayer.firstChild);
      }

      this.reset(true, true);
    }
  }, {
    key: "cancelRendering",
    value: function cancelRendering() {
      var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (this.paintTask) {
        this.paintTask.cancel();
        this.paintTask = null;
      }

      this.resume = null;

      if (this.textLayer) {
        this.textLayer.cancel();
        this.textLayer = null;
      }

      if (!keepAnnotations && this.annotationLayer) {
        this.annotationLayer.cancel();
        this.annotationLayer = null;
      }
    }
  }, {
    key: "cssTransform",
    value: function cssTransform(target) {
      var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var width = this.viewport.width;
      var height = this.viewport.height;
      var div = this.div;
      target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
      target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
      var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
      var absRotation = Math.abs(relativeRotation);
      var scaleX = 1,
          scaleY = 1;

      if (absRotation === 90 || absRotation === 270) {
        scaleX = height / width;
        scaleY = width / height;
      }

      var cssTransform = "rotate(" + relativeRotation + "deg) " + "scale(" + scaleX + "," + scaleY + ")";
      target.style.transform = cssTransform;

      if (this.textLayer) {
        var textLayerViewport = this.textLayer.viewport;
        var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
        var textAbsRotation = Math.abs(textRelativeRotation);
        var scale = width / textLayerViewport.width;

        if (textAbsRotation === 90 || textAbsRotation === 270) {
          scale = width / textLayerViewport.height;
        }

        var textLayerDiv = this.textLayer.textLayerDiv;
        var transX, transY;

        switch (textAbsRotation) {
          case 0:
            transX = transY = 0;
            break;

          case 90:
            transX = 0;
            transY = "-" + textLayerDiv.style.height;
            break;

          case 180:
            transX = "-" + textLayerDiv.style.width;
            transY = "-" + textLayerDiv.style.height;
            break;

          case 270:
            transX = "-" + textLayerDiv.style.width;
            transY = 0;
            break;

          default:
            console.error("Bad rotation value.");
            break;
        }

        textLayerDiv.style.transform = "rotate(" + textAbsRotation + "deg) " + "scale(" + scale + ", " + scale + ") " + "translate(" + transX + ", " + transY + ")";
        textLayerDiv.style.transformOrigin = "0% 0%";
      }

      if (redrawAnnotations && this.annotationLayer) {
        this._renderAnnotationLayer();
      }
    }
  }, {
    key: "getPagePoint",
    value: function getPagePoint(x, y) {
      return this.viewport.convertToPdfPoint(x, y);
    }
  }, {
    key: "draw",
    value: function draw() {
      var _this = this;

      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
        console.error("Must be in new state before drawing");
        this.reset();
      }

      var div = this.div,
          pdfPage = this.pdfPage;

      if (!pdfPage) {
        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;

        if (this.loadingIconDiv) {
          div.removeChild(this.loadingIconDiv);
          delete this.loadingIconDiv;
        }

        return Promise.reject(new Error("pdfPage is not loaded"));
      }

      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
      var canvasWrapper = document.createElement("div");
      canvasWrapper.style.width = div.style.width;
      canvasWrapper.style.height = div.style.height;
      canvasWrapper.classList.add("canvasWrapper");

      if (this.annotationLayer && this.annotationLayer.div) {
        div.insertBefore(canvasWrapper, this.annotationLayer.div);
      } else {
        div.appendChild(canvasWrapper);
      }

      var textLayer = null;

      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
        var textLayerDiv = document.createElement("div");
        textLayerDiv.className = "textLayer";
        textLayerDiv.style.width = canvasWrapper.style.width;
        textLayerDiv.style.height = canvasWrapper.style.height;

        if (this.annotationLayer && this.annotationLayer.div) {
          div.insertBefore(textLayerDiv, this.annotationLayer.div);
        } else {
          div.appendChild(textLayerDiv);
        }

        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);
      }

      this.textLayer = textLayer;
      var renderContinueCallback = null;

      if (this.renderingQueue) {
        renderContinueCallback = function renderContinueCallback(cont) {
          if (!_this.renderingQueue.isHighestPriority(_this)) {
            _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;

            _this.resume = function () {
              _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
              cont();
            };

            return;
          }

          cont();
        };
      }

      var finishPaintTask = /*#__PURE__*/function () {
        var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(error) {
          return _regenerator["default"].wrap(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  if (paintTask === _this.paintTask) {
                    _this.paintTask = null;
                  }

                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
                    _context2.next = 4;
                    break;
                  }

                  _this.error = null;
                  return _context2.abrupt("return");

                case 4:
                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;

                  if (_this.loadingIconDiv) {
                    div.removeChild(_this.loadingIconDiv);
                    delete _this.loadingIconDiv;
                  }

                  _this._resetZoomLayer(true);

                  _this.error = error;
                  _this.stats = pdfPage.stats;

                  _this.eventBus.dispatch("pagerendered", {
                    source: _this,
                    pageNumber: _this.id,
                    cssTransform: false,
                    timestamp: performance.now()
                  });

                  if (!error) {
                    _context2.next = 12;
                    break;
                  }

                  throw error;

                case 12:
                case "end":
                  return _context2.stop();
              }
            }
          }, _callee2);
        }));

        return function finishPaintTask(_x) {
          return _ref.apply(this, arguments);
        };
      }();

      var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
      paintTask.onRenderContinue = renderContinueCallback;
      this.paintTask = paintTask;
      var resultPromise = paintTask.promise.then(function () {
        return finishPaintTask(null).then(function () {
          if (textLayer) {
            var readableStream = pdfPage.streamTextContent({
              normalizeWhitespace: true
            });
            textLayer.setTextContentStream(readableStream);
            textLayer.render();
          }
        });
      }, function (reason) {
        return finishPaintTask(reason);
      });

      if (this.annotationLayerFactory) {
        if (!this.annotationLayer) {
          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this._annotationStorage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);
        }

        this._renderAnnotationLayer();
      }

      div.setAttribute("data-loaded", true);
      this.eventBus.dispatch("pagerender", {
        source: this,
        pageNumber: this.id
      });
      return resultPromise;
    }
  }, {
    key: "paintOnCanvas",
    value: function paintOnCanvas(canvasWrapper) {
      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
      var result = {
        promise: renderCapability.promise,
        onRenderContinue: function onRenderContinue(cont) {
          cont();
        },
        cancel: function cancel() {
          renderTask.cancel();
        }
      };
      var viewport = this.viewport;
      var canvas = document.createElement("canvas");
      this.l10n.get("page_canvas", {
        page: this.id
      }, "Page {{page}}").then(function (msg) {
        canvas.setAttribute("aria-label", msg);
      });
      canvas.setAttribute("hidden", "hidden");
      var isCanvasHidden = true;

      var showCanvas = function showCanvas() {
        if (isCanvasHidden) {
          canvas.removeAttribute("hidden");
          isCanvasHidden = false;
        }
      };

      canvasWrapper.appendChild(canvas);
      this.canvas = canvas;
      canvas.mozOpaque = true;
      var ctx = canvas.getContext("2d", {
        alpha: false
      });
      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
      this.outputScale = outputScale;

      if (this.useOnlyCssZoom) {
        var actualSizeViewport = viewport.clone({
          scale: _ui_utils.CSS_UNITS
        });
        outputScale.sx *= actualSizeViewport.width / viewport.width;
        outputScale.sy *= actualSizeViewport.height / viewport.height;
        outputScale.scaled = true;
      }

      if (this.maxCanvasPixels > 0) {
        var pixelsInViewport = viewport.width * viewport.height;
        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);

        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
          outputScale.sx = maxScale;
          outputScale.sy = maxScale;
          outputScale.scaled = true;
          this.hasRestrictedScaling = true;
        } else {
          this.hasRestrictedScaling = false;
        }
      }

      var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
      var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
      canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
      canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
      canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
      canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
      this.paintedViewportMap.set(canvas, viewport);
      var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
      var renderContext = {
        canvasContext: ctx,
        transform: transform,
        viewport: this.viewport,
        enableWebGL: this.enableWebGL,
        renderInteractiveForms: this.renderInteractiveForms,
        optionalContentConfigPromise: this._optionalContentConfigPromise
      };
      var renderTask = this.pdfPage.render(renderContext);

      renderTask.onContinue = function (cont) {
        showCanvas();

        if (result.onRenderContinue) {
          result.onRenderContinue(cont);
        } else {
          cont();
        }
      };

      renderTask.promise.then(function () {
        showCanvas();
        renderCapability.resolve(undefined);
      }, function (error) {
        showCanvas();
        renderCapability.reject(error);
      });
      return result;
    }
  }, {
    key: "paintOnSvg",
    value: function paintOnSvg(wrapper) {
      var _this2 = this;

      var cancelled = false;

      var ensureNotCancelled = function ensureNotCancelled() {
        if (cancelled) {
          throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this2.id), "svg");
        }
      };

      var pdfPage = this.pdfPage;
      var actualSizeViewport = this.viewport.clone({
        scale: _ui_utils.CSS_UNITS
      });
      var promise = pdfPage.getOperatorList().then(function (opList) {
        ensureNotCancelled();
        var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
          ensureNotCancelled();
          _this2.svg = svg;

          _this2.paintedViewportMap.set(svg, actualSizeViewport);

          svg.style.width = wrapper.style.width;
          svg.style.height = wrapper.style.height;
          _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
          wrapper.appendChild(svg);
        });
      });
      return {
        promise: promise,
        onRenderContinue: function onRenderContinue(cont) {
          cont();
        },
        cancel: function cancel() {
          cancelled = true;
        }
      };
    }
  }, {
    key: "setPageLabel",
    value: function setPageLabel(label) {
      this.pageLabel = typeof label === "string" ? label : null;

      if (this.pageLabel !== null) {
        this.div.setAttribute("data-page-label", this.pageLabel);
      } else {
        this.div.removeAttribute("data-page-label");
      }
    }
  }, {
    key: "width",
    get: function get() {
      return this.viewport.width;
    }
  }, {
    key: "height",
    get: function get() {
      return this.viewport.height;
    }
  }]);

  return PDFPageView;
}();

exports.PDFPageView = PDFPageView;

/***/ }),
/* 17 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFRenderingQueue = exports.RenderingStates = void 0;

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var CLEANUP_TIMEOUT = 30000;
var RenderingStates = {
  INITIAL: 0,
  RUNNING: 1,
  PAUSED: 2,
  FINISHED: 3
};
exports.RenderingStates = RenderingStates;

var PDFRenderingQueue = /*#__PURE__*/function () {
  function PDFRenderingQueue() {
    _classCallCheck(this, PDFRenderingQueue);

    this.pdfViewer = null;
    this.pdfThumbnailViewer = null;
    this.onIdle = null;
    this.highestPriorityPage = null;
    this.idleTimeout = null;
    this.printing = false;
    this.isThumbnailViewEnabled = false;
  }

  _createClass(PDFRenderingQueue, [{
    key: "setViewer",
    value: function setViewer(pdfViewer) {
      this.pdfViewer = pdfViewer;
    }
  }, {
    key: "setThumbnailViewer",
    value: function setThumbnailViewer(pdfThumbnailViewer) {
      this.pdfThumbnailViewer = pdfThumbnailViewer;
    }
  }, {
    key: "isHighestPriority",
    value: function isHighestPriority(view) {
      return this.highestPriorityPage === view.renderingId;
    }
  }, {
    key: "renderHighestPriority",
    value: function renderHighestPriority(currentlyVisiblePages) {
      if (this.idleTimeout) {
        clearTimeout(this.idleTimeout);
        this.idleTimeout = null;
      }

      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
        return;
      }

      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
        if (this.pdfThumbnailViewer.forceRendering()) {
          return;
        }
      }

      if (this.printing) {
        return;
      }

      if (this.onIdle) {
        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
      }
    }
  }, {
    key: "getHighestPriority",
    value: function getHighestPriority(visible, views, scrolledDown) {
      var visibleViews = visible.views;
      var numVisible = visibleViews.length;

      if (numVisible === 0) {
        return null;
      }

      for (var i = 0; i < numVisible; ++i) {
        var view = visibleViews[i].view;

        if (!this.isViewFinished(view)) {
          return view;
        }
      }

      if (scrolledDown) {
        var nextPageIndex = visible.last.id;

        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
          return views[nextPageIndex];
        }
      } else {
        var previousPageIndex = visible.first.id - 2;

        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
          return views[previousPageIndex];
        }
      }

      return null;
    }
  }, {
    key: "isViewFinished",
    value: function isViewFinished(view) {
      return view.renderingState === RenderingStates.FINISHED;
    }
  }, {
    key: "renderView",
    value: function renderView(view) {
      var _this = this;

      switch (view.renderingState) {
        case RenderingStates.FINISHED:
          return false;

        case RenderingStates.PAUSED:
          this.highestPriorityPage = view.renderingId;
          view.resume();
          break;

        case RenderingStates.RUNNING:
          this.highestPriorityPage = view.renderingId;
          break;

        case RenderingStates.INITIAL:
          this.highestPriorityPage = view.renderingId;
          view.draw()["finally"](function () {
            _this.renderHighestPriority();
          })["catch"](function (reason) {
            console.error("renderView: \"".concat(reason, "\""));
          });
          break;
      }

      return true;
    }
  }]);

  return PDFRenderingQueue;
}();

exports.PDFRenderingQueue = PDFRenderingQueue;

/***/ }),
/* 18 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFSinglePageViewer = void 0;

var _base_viewer = __w_pdfjs_require__(19);

var _pdfjsLib = __w_pdfjs_require__(2);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {
  _inherits(PDFSinglePageViewer, _BaseViewer);

  var _super = _createSuper(PDFSinglePageViewer);

  function PDFSinglePageViewer(options) {
    var _this;

    _classCallCheck(this, PDFSinglePageViewer);

    _this = _super.call(this, options);

    _this.eventBus._on("pagesinit", function (evt) {
      _this._ensurePageViewVisible();
    });

    return _this;
  }

  _createClass(PDFSinglePageViewer, [{
    key: "_resetView",
    value: function _resetView() {
      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);

      this._previousPageNumber = 1;
      this._shadowViewer = document.createDocumentFragment();
      this._updateScrollDown = null;
    }
  }, {
    key: "_ensurePageViewVisible",
    value: function _ensurePageViewVisible() {
      var pageView = this._pages[this._currentPageNumber - 1];
      var previousPageView = this._pages[this._previousPageNumber - 1];
      var viewerNodes = this.viewer.childNodes;

      switch (viewerNodes.length) {
        case 0:
          this.viewer.appendChild(pageView.div);
          break;

        case 1:
          if (viewerNodes[0] !== previousPageView.div) {
            throw new Error("_ensurePageViewVisible: Unexpected previously visible page.");
          }

          if (pageView === previousPageView) {
            break;
          }

          this._shadowViewer.appendChild(previousPageView.div);

          this.viewer.appendChild(pageView.div);
          this.container.scrollTop = 0;
          break;

        default:
          throw new Error("_ensurePageViewVisible: Only one page should be visible at a time.");
      }

      this._previousPageNumber = this._currentPageNumber;
    }
  }, {
    key: "_scrollUpdate",
    value: function _scrollUpdate() {
      if (this._updateScrollDown) {
        this._updateScrollDown();
      }

      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this);
    }
  }, {
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var _this2 = this;

      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;

      if (pageNumber) {
        this._setCurrentPageNumber(pageNumber);
      }

      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;

      this._ensurePageViewVisible();

      this.update();

      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, {
        pageDiv: pageDiv,
        pageSpot: pageSpot,
        pageNumber: pageNumber
      });

      this._updateScrollDown = function () {
        _this2.scroll.down = scrolledDown;
        _this2._updateScrollDown = null;
      };
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      return this._getCurrentVisiblePage();
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {}
  }, {
    key: "_updateScrollMode",
    value: function _updateScrollMode() {}
  }, {
    key: "_updateSpreadMode",
    value: function _updateSpreadMode() {}
  }, {
    key: "_viewerElement",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this._shadowViewer);
    }
  }, {
    key: "_isScrollModeHorizontal",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false);
    }
  }]);

  return PDFSinglePageViewer;
}(_base_viewer.BaseViewer);

exports.PDFSinglePageViewer = PDFSinglePageViewer;

/***/ }),
/* 19 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.BaseViewer = void 0;

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_rendering_queue = __w_pdfjs_require__(17);

var _annotation_layer_builder = __w_pdfjs_require__(1);

var _pdfjsLib = __w_pdfjs_require__(2);

var _pdf_page_view = __w_pdfjs_require__(16);

var _pdf_link_service = __w_pdfjs_require__(7);

var _text_layer_builder = __w_pdfjs_require__(8);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var DEFAULT_CACHE_SIZE = 10;

function PDFPageViewBuffer(size) {
  var data = [];

  this.push = function (view) {
    var i = data.indexOf(view);

    if (i >= 0) {
      data.splice(i, 1);
    }

    data.push(view);

    if (data.length > size) {
      data.shift().destroy();
    }
  };

  this.resize = function (newSize, pagesToKeep) {
    size = newSize;

    if (pagesToKeep) {
      var pageIdsToKeep = new Set();

      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
        pageIdsToKeep.add(pagesToKeep[i].id);
      }

      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
        return pageIdsToKeep.has(page.id);
      });
    }

    while (data.length > size) {
      data.shift().destroy();
    }
  };
}

function isSameScale(oldScale, newScale) {
  if (newScale === oldScale) {
    return true;
  }

  if (Math.abs(newScale - oldScale) < 1e-15) {
    return true;
  }

  return false;
}

var BaseViewer = /*#__PURE__*/function () {
  function BaseViewer(options) {
    var _this = this;

    _classCallCheck(this, BaseViewer);

    if (this.constructor === BaseViewer) {
      throw new Error("Cannot initialize BaseViewer.");
    }

    this._name = this.constructor.name;
    this.container = options.container;
    this.viewer = options.viewer || options.container.firstElementChild;

    if (!(this.container instanceof HTMLDivElement && this.viewer instanceof HTMLDivElement)) {
      throw new Error("Invalid `container` and/or `viewer` option.");
    }

    this.eventBus = options.eventBus;
    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
    this.downloadManager = options.downloadManager || null;
    this.findController = options.findController || null;
    this.removePageBorders = options.removePageBorders || false;
    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
    this.imageResourcesPath = options.imageResourcesPath || "";
    this.renderInteractiveForms = typeof options.renderInteractiveForms === "boolean" ? options.renderInteractiveForms : true;
    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
    this.enableWebGL = options.enableWebGL || false;
    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
    this.maxCanvasPixels = options.maxCanvasPixels;
    this.l10n = options.l10n || _ui_utils.NullL10n;
    this.defaultRenderingQueue = !options.renderingQueue;

    if (this.defaultRenderingQueue) {
      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
      this.renderingQueue.setViewer(this);
    } else {
      this.renderingQueue = options.renderingQueue;
    }

    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
    this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
    this._onBeforeDraw = this._onAfterDraw = null;

    this._resetView();

    if (this.removePageBorders) {
      this.viewer.classList.add("removePageBorders");
    }

    Promise.resolve().then(function () {
      _this.eventBus.dispatch("baseviewerinit", {
        source: _this
      });
    });
  }

  _createClass(BaseViewer, [{
    key: "getPageView",
    value: function getPageView(index) {
      return this._pages[index];
    }
  }, {
    key: "_setCurrentPageNumber",
    value: function _setCurrentPageNumber(val) {
      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (this._currentPageNumber === val) {
        if (resetCurrentPageView) {
          this._resetCurrentPageView();
        }

        return true;
      }

      if (!(0 < val && val <= this.pagesCount)) {
        return false;
      }

      this._currentPageNumber = val;
      this.eventBus.dispatch("pagechanging", {
        source: this,
        pageNumber: val,
        pageLabel: this._pageLabels && this._pageLabels[val - 1]
      });

      if (resetCurrentPageView) {
        this._resetCurrentPageView();
      }

      return true;
    }
  }, {
    key: "_onePageRenderedOrForceFetch",
    value: function _onePageRenderedOrForceFetch() {
      if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {
        return Promise.resolve();
      }

      return this._onePageRenderedCapability.promise;
    }
  }, {
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      var _this2 = this;

      if (this.pdfDocument) {
        this._cancelRendering();

        this._resetView();

        if (this.findController) {
          this.findController.setDocument(null);
        }
      }

      this.pdfDocument = pdfDocument;

      if (!pdfDocument) {
        return;
      }

      var pagesCount = pdfDocument.numPages;
      var firstPagePromise = pdfDocument.getPage(1);
      var annotationStorage = pdfDocument.annotationStorage;
      var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();

      this._pagesCapability.promise.then(function () {
        _this2.eventBus.dispatch("pagesloaded", {
          source: _this2,
          pagesCount: pagesCount
        });
      });

      this._onBeforeDraw = function (evt) {
        var pageView = _this2._pages[evt.pageNumber - 1];

        if (!pageView) {
          return;
        }

        _this2._buffer.push(pageView);
      };

      this.eventBus._on("pagerender", this._onBeforeDraw);

      this._onAfterDraw = function (evt) {
        if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {
          return;
        }

        _this2._onePageRenderedCapability.resolve();

        _this2.eventBus._off("pagerendered", _this2._onAfterDraw);

        _this2._onAfterDraw = null;
      };

      this.eventBus._on("pagerendered", this._onAfterDraw);

      firstPagePromise.then(function (firstPdfPage) {
        _this2._firstPageCapability.resolve(firstPdfPage);

        _this2._optionalContentConfigPromise = optionalContentConfigPromise;
        var scale = _this2.currentScale;
        var viewport = firstPdfPage.getViewport({
          scale: scale * _ui_utils.CSS_UNITS
        });
        var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;

        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
          var pageView = new _pdf_page_view.PDFPageView({
            container: _this2._viewerElement,
            eventBus: _this2.eventBus,
            id: pageNum,
            scale: scale,
            defaultViewport: viewport.clone(),
            annotationStorage: annotationStorage,
            optionalContentConfigPromise: optionalContentConfigPromise,
            renderingQueue: _this2.renderingQueue,
            textLayerFactory: textLayerFactory,
            textLayerMode: _this2.textLayerMode,
            annotationLayerFactory: _this2,
            imageResourcesPath: _this2.imageResourcesPath,
            renderInteractiveForms: _this2.renderInteractiveForms,
            renderer: _this2.renderer,
            enableWebGL: _this2.enableWebGL,
            useOnlyCssZoom: _this2.useOnlyCssZoom,
            maxCanvasPixels: _this2.maxCanvasPixels,
            l10n: _this2.l10n
          });

          _this2._pages.push(pageView);
        }

        var firstPageView = _this2._pages[0];

        if (firstPageView) {
          firstPageView.setPdfPage(firstPdfPage);

          _this2.linkService.cachePageRef(1, firstPdfPage.ref);
        }

        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
          _this2._updateSpreadMode();
        }

        _this2._onePageRenderedOrForceFetch().then(function () {
          if (_this2.findController) {
            _this2.findController.setDocument(pdfDocument);
          }

          if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {
            _this2._pagesCapability.resolve();

            return;
          }

          var getPagesLeft = pagesCount - 1;

          if (getPagesLeft <= 0) {
            _this2._pagesCapability.resolve();

            return;
          }

          var _loop = function _loop(_pageNum) {
            pdfDocument.getPage(_pageNum).then(function (pdfPage) {
              var pageView = _this2._pages[_pageNum - 1];

              if (!pageView.pdfPage) {
                pageView.setPdfPage(pdfPage);
              }

              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);

              if (--getPagesLeft === 0) {
                _this2._pagesCapability.resolve();
              }
            }, function (reason) {
              console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);

              if (--getPagesLeft === 0) {
                _this2._pagesCapability.resolve();
              }
            });
          };

          for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {
            _loop(_pageNum);
          }
        });

        _this2.eventBus.dispatch("pagesinit", {
          source: _this2
        });

        if (_this2.defaultRenderingQueue) {
          _this2.update();
        }
      })["catch"](function (reason) {
        console.error("Unable to initialize viewer", reason);
      });
    }
  }, {
    key: "setPageLabels",
    value: function setPageLabels(labels) {
      if (!this.pdfDocument) {
        return;
      }

      if (!labels) {
        this._pageLabels = null;
      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
        this._pageLabels = null;
        console.error("".concat(this._name, ".setPageLabels: Invalid page labels."));
      } else {
        this._pageLabels = labels;
      }

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        var pageView = this._pages[i];
        var label = this._pageLabels && this._pageLabels[i];
        pageView.setPageLabel(label);
      }
    }
  }, {
    key: "_resetView",
    value: function _resetView() {
      this._pages = [];
      this._currentPageNumber = 1;
      this._currentScale = _ui_utils.UNKNOWN_SCALE;
      this._currentScaleValue = null;
      this._pageLabels = null;
      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
      this._location = null;
      this._pagesRotation = 0;
      this._optionalContentConfigPromise = null;
      this._pagesRequests = new WeakMap();
      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
      this._spreadMode = _ui_utils.SpreadMode.NONE;

      if (this._onBeforeDraw) {
        this.eventBus._off("pagerender", this._onBeforeDraw);

        this._onBeforeDraw = null;
      }

      if (this._onAfterDraw) {
        this.eventBus._off("pagerendered", this._onAfterDraw);

        this._onAfterDraw = null;
      }

      this.viewer.textContent = "";

      this._updateScrollMode();
    }
  }, {
    key: "_scrollUpdate",
    value: function _scrollUpdate() {
      if (this.pagesCount === 0) {
        return;
      }

      this.update();
    }
  }, {
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
    }
  }, {
    key: "_setScaleUpdatePages",
    value: function _setScaleUpdatePages(newScale, newValue) {
      var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      this._currentScaleValue = newValue.toString();

      if (isSameScale(this._currentScale, newScale)) {
        if (preset) {
          this.eventBus.dispatch("scalechanging", {
            source: this,
            scale: newScale,
            presetValue: newValue
          });
        }

        return;
      }

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        this._pages[i].update(newScale);
      }

      this._currentScale = newScale;

      if (!noScroll) {
        var page = this._currentPageNumber,
            dest;

        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
          page = this._location.pageNumber;
          dest = [null, {
            name: "XYZ"
          }, this._location.left, this._location.top, null];
        }

        this.scrollPageIntoView({
          pageNumber: page,
          destArray: dest,
          allowNegativeOffset: true
        });
      }

      this.eventBus.dispatch("scalechanging", {
        source: this,
        scale: newScale,
        presetValue: preset ? newValue : undefined
      });

      if (this.defaultRenderingQueue) {
        this.update();
      }
    }
  }, {
    key: "_setScale",
    value: function _setScale(value) {
      var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var scale = parseFloat(value);

      if (scale > 0) {
        this._setScaleUpdatePages(scale, value, noScroll, false);
      } else {
        var currentPage = this._pages[this._currentPageNumber - 1];

        if (!currentPage) {
          return;
        }

        var noPadding = this.isInPresentationMode || this.removePageBorders;
        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;

        if (!noPadding && this._isScrollModeHorizontal) {
          var _ref2 = [vPadding, hPadding];
          hPadding = _ref2[0];
          vPadding = _ref2[1];
        }

        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;
        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;

        switch (value) {
          case "page-actual":
            scale = 1;
            break;

          case "page-width":
            scale = pageWidthScale;
            break;

          case "page-height":
            scale = pageHeightScale;
            break;

          case "page-fit":
            scale = Math.min(pageWidthScale, pageHeightScale);
            break;

          case "auto":
            var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
            scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
            break;

          default:
            console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value."));
            return;
        }

        this._setScaleUpdatePages(scale, value, noScroll, true);
      }
    }
  }, {
    key: "_resetCurrentPageView",
    value: function _resetCurrentPageView() {
      if (this.isInPresentationMode) {
        this._setScale(this._currentScaleValue, true);
      }

      var pageView = this._pages[this._currentPageNumber - 1];

      this._scrollIntoView({
        pageDiv: pageView.div
      });
    }
  }, {
    key: "scrollPageIntoView",
    value: function scrollPageIntoView(_ref3) {
      var pageNumber = _ref3.pageNumber,
          _ref3$destArray = _ref3.destArray,
          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,
          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,
          _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,
          ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;

      if (!this.pdfDocument) {
        return;
      }

      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];

      if (!pageView) {
        console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
        return;
      }

      if (this.isInPresentationMode || !destArray) {
        this._setCurrentPageNumber(pageNumber, true);

        return;
      }

      var x = 0,
          y = 0;
      var width = 0,
          height = 0,
          widthScale,
          heightScale;
      var changeOrientation = pageView.rotation % 180 !== 0;
      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;
      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;
      var scale = 0;

      switch (destArray[1].name) {
        case "XYZ":
          x = destArray[2];
          y = destArray[3];
          scale = destArray[4];
          x = x !== null ? x : 0;
          y = y !== null ? y : pageHeight;
          break;

        case "Fit":
        case "FitB":
          scale = "page-fit";
          break;

        case "FitH":
        case "FitBH":
          y = destArray[2];
          scale = "page-width";

          if (y === null && this._location) {
            x = this._location.left;
            y = this._location.top;
          }

          break;

        case "FitV":
        case "FitBV":
          x = destArray[2];
          width = pageWidth;
          height = pageHeight;
          scale = "page-height";
          break;

        case "FitR":
          x = destArray[2];
          y = destArray[3];
          width = destArray[4] - x;
          height = destArray[5] - y;
          var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
          var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
          widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
          break;

        default:
          console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type."));
          return;
      }

      if (!ignoreDestinationZoom) {
        if (scale && scale !== this._currentScale) {
          this.currentScaleValue = scale;
        } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
          this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
        }
      }

      if (scale === "page-fit" && !destArray[4]) {
        this._scrollIntoView({
          pageDiv: pageView.div,
          pageNumber: pageNumber
        });

        return;
      }

      var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
      var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
      var top = Math.min(boundingRect[0][1], boundingRect[1][1]);

      if (!allowNegativeOffset) {
        left = Math.max(left, 0);
        top = Math.max(top, 0);
      }

      this._scrollIntoView({
        pageDiv: pageView.div,
        pageSpot: {
          left: left,
          top: top
        },
        pageNumber: pageNumber
      });
    }
  }, {
    key: "_updateLocation",
    value: function _updateLocation(firstPage) {
      var currentScale = this._currentScale;
      var currentScaleValue = this._currentScaleValue;
      var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
      var pageNumber = firstPage.id;
      var pdfOpenParams = "#page=" + pageNumber;
      pdfOpenParams += "&zoom=" + normalizedScaleValue;
      var currentPageView = this._pages[pageNumber - 1];
      var container = this.container;
      var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
      var intLeft = Math.round(topLeft[0]);
      var intTop = Math.round(topLeft[1]);
      pdfOpenParams += "," + intLeft + "," + intTop;
      this._location = {
        pageNumber: pageNumber,
        scale: normalizedScaleValue,
        top: intTop,
        left: intLeft,
        rotation: this._pagesRotation,
        pdfOpenParams: pdfOpenParams
      };
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {
      throw new Error("Not implemented: _updateHelper");
    }
  }, {
    key: "update",
    value: function update() {
      var visible = this._getVisiblePages();

      var visiblePages = visible.views,
          numVisiblePages = visiblePages.length;

      if (numVisiblePages === 0) {
        return;
      }

      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);

      this._buffer.resize(newCacheSize, visiblePages);

      this.renderingQueue.renderHighestPriority(visible);

      this._updateHelper(visiblePages);

      this._updateLocation(visible.first);

      this.eventBus.dispatch("updateviewarea", {
        source: this,
        location: this._location
      });
    }
  }, {
    key: "containsElement",
    value: function containsElement(element) {
      return this.container.contains(element);
    }
  }, {
    key: "focus",
    value: function focus() {
      this.container.focus();
    }
  }, {
    key: "_getCurrentVisiblePage",
    value: function _getCurrentVisiblePage() {
      if (!this.pagesCount) {
        return {
          views: []
        };
      }

      var pageView = this._pages[this._currentPageNumber - 1];
      var element = pageView.div;
      var view = {
        id: pageView.id,
        x: element.offsetLeft + element.clientLeft,
        y: element.offsetTop + element.clientTop,
        view: pageView
      };
      return {
        first: view,
        last: view,
        views: [view]
      };
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);
    }
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      if (!this.pdfDocument) {
        return false;
      }

      if (pageNumber < 1 || pageNumber > this.pagesCount) {
        console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is out of bounds."));
        return false;
      }

      return this._getVisiblePages().views.some(function (view) {
        return view.id === pageNumber;
      });
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
          this._pages[i].reset();
        }
      }
    }
  }, {
    key: "_cancelRendering",
    value: function _cancelRendering() {
      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        if (this._pages[i]) {
          this._pages[i].cancelRendering();
        }
      }
    }
  }, {
    key: "_ensurePdfPageLoaded",
    value: function _ensurePdfPageLoaded(pageView) {
      var _this3 = this;

      if (pageView.pdfPage) {
        return Promise.resolve(pageView.pdfPage);
      }

      if (this._pagesRequests.has(pageView)) {
        return this._pagesRequests.get(pageView);
      }

      var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {
        if (!pageView.pdfPage) {
          pageView.setPdfPage(pdfPage);
        }

        _this3._pagesRequests["delete"](pageView);

        return pdfPage;
      })["catch"](function (reason) {
        console.error("Unable to get page for page view", reason);

        _this3._pagesRequests["delete"](pageView);
      });

      this._pagesRequests.set(pageView, promise);

      return promise;
    }
  }, {
    key: "forceRendering",
    value: function forceRendering(currentlyVisiblePages) {
      var _this4 = this;

      var visiblePages = currentlyVisiblePages || this._getVisiblePages();

      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);

      if (pageView) {
        this._ensurePdfPageLoaded(pageView).then(function () {
          _this4.renderingQueue.renderView(pageView);
        });

        return true;
      }

      return false;
    }
  }, {
    key: "createTextLayerBuilder",
    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
      return new _text_layer_builder.TextLayerBuilder({
        textLayerDiv: textLayerDiv,
        eventBus: eventBus,
        pageIndex: pageIndex,
        viewport: viewport,
        findController: this.isInPresentationMode ? null : this.findController,
        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
      });
    }
  }, {
    key: "createAnnotationLayerBuilder",
    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;
      return new _annotation_layer_builder.AnnotationLayerBuilder({
        pageDiv: pageDiv,
        pdfPage: pdfPage,
        annotationStorage: annotationStorage,
        imageResourcesPath: imageResourcesPath,
        renderInteractiveForms: renderInteractiveForms,
        linkService: this.linkService,
        downloadManager: this.downloadManager,
        l10n: l10n
      });
    }
  }, {
    key: "getPagesOverview",
    value: function getPagesOverview() {
      var pagesOverview = this._pages.map(function (pageView) {
        var viewport = pageView.pdfPage.getViewport({
          scale: 1
        });
        return {
          width: viewport.width,
          height: viewport.height,
          rotation: viewport.rotation
        };
      });

      if (!this.enablePrintAutoRotate) {
        return pagesOverview;
      }

      return pagesOverview.map(function (size) {
        if ((0, _ui_utils.isPortraitOrientation)(size)) {
          return size;
        }

        return {
          width: size.height,
          height: size.width,
          rotation: (size.rotation + 90) % 360
        };
      });
    }
  }, {
    key: "_updateScrollMode",
    value: function _updateScrollMode() {
      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
      var scrollMode = this._scrollMode,
          viewer = this.viewer;
      viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
      viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);

      if (!this.pdfDocument || !pageNumber) {
        return;
      }

      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
        this._setScale(this._currentScaleValue, true);
      }

      this._setCurrentPageNumber(pageNumber, true);

      this.update();
    }
  }, {
    key: "_updateSpreadMode",
    value: function _updateSpreadMode() {
      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

      if (!this.pdfDocument) {
        return;
      }

      var viewer = this.viewer,
          pages = this._pages;
      viewer.textContent = "";

      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
        for (var i = 0, iMax = pages.length; i < iMax; ++i) {
          viewer.appendChild(pages[i].div);
        }
      } else {
        var parity = this._spreadMode - 1;
        var spread = null;

        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
          if (spread === null) {
            spread = document.createElement("div");
            spread.className = "spread";
            viewer.appendChild(spread);
          } else if (_i % 2 === parity) {
            spread = spread.cloneNode(false);
            viewer.appendChild(spread);
          }

          spread.appendChild(pages[_i].div);
        }
      }

      if (!pageNumber) {
        return;
      }

      this._setCurrentPageNumber(pageNumber, true);

      this.update();
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return this._pages.length;
    }
  }, {
    key: "pageViewsReady",
    get: function get() {
      if (!this._pagesCapability.settled) {
        return false;
      }

      return this._pages.every(function (pageView) {
        return pageView && pageView.pdfPage;
      });
    }
  }, {
    key: "currentPageNumber",
    get: function get() {
      return this._currentPageNumber;
    },
    set: function set(val) {
      if (!Number.isInteger(val)) {
        throw new Error("Invalid page number.");
      }

      if (!this.pdfDocument) {
        return;
      }

      if (!this._setCurrentPageNumber(val, true)) {
        console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page."));
      }
    }
  }, {
    key: "currentPageLabel",
    get: function get() {
      return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
    },
    set: function set(val) {
      if (!this.pdfDocument) {
        return;
      }

      var page = val | 0;

      if (this._pageLabels) {
        var i = this._pageLabels.indexOf(val);

        if (i >= 0) {
          page = i + 1;
        }
      }

      if (!this._setCurrentPageNumber(page, true)) {
        console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
      }
    }
  }, {
    key: "currentScale",
    get: function get() {
      return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
    },
    set: function set(val) {
      if (isNaN(val)) {
        throw new Error("Invalid numeric scale.");
      }

      if (!this.pdfDocument) {
        return;
      }

      this._setScale(val, false);
    }
  }, {
    key: "currentScaleValue",
    get: function get() {
      return this._currentScaleValue;
    },
    set: function set(val) {
      if (!this.pdfDocument) {
        return;
      }

      this._setScale(val, false);
    }
  }, {
    key: "pagesRotation",
    get: function get() {
      return this._pagesRotation;
    },
    set: function set(rotation) {
      if (!(0, _ui_utils.isValidRotation)(rotation)) {
        throw new Error("Invalid pages rotation angle.");
      }

      if (!this.pdfDocument) {
        return;
      }

      if (this._pagesRotation === rotation) {
        return;
      }

      this._pagesRotation = rotation;
      var pageNumber = this._currentPageNumber;

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        var pageView = this._pages[i];
        pageView.update(pageView.scale, rotation);
      }

      if (this._currentScaleValue) {
        this._setScale(this._currentScaleValue, true);
      }

      this.eventBus.dispatch("rotationchanging", {
        source: this,
        pagesRotation: rotation,
        pageNumber: pageNumber
      });

      if (this.defaultRenderingQueue) {
        this.update();
      }
    }
  }, {
    key: "firstPagePromise",
    get: function get() {
      return this.pdfDocument ? this._firstPageCapability.promise : null;
    }
  }, {
    key: "onePageRendered",
    get: function get() {
      return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
    }
  }, {
    key: "pagesPromise",
    get: function get() {
      return this.pdfDocument ? this._pagesCapability.promise : null;
    }
  }, {
    key: "_viewerElement",
    get: function get() {
      throw new Error("Not implemented: _viewerElement");
    }
  }, {
    key: "_isScrollModeHorizontal",
    get: function get() {
      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
    }
  }, {
    key: "isInPresentationMode",
    get: function get() {
      return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
    }
  }, {
    key: "isChangingPresentationMode",
    get: function get() {
      return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
    }
  }, {
    key: "isHorizontalScrollbarEnabled",
    get: function get() {
      return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
    }
  }, {
    key: "isVerticalScrollbarEnabled",
    get: function get() {
      return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
    }
  }, {
    key: "hasEqualPageSizes",
    get: function get() {
      var firstPageView = this._pages[0];

      for (var i = 1, ii = this._pages.length; i < ii; ++i) {
        var pageView = this._pages[i];

        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
          return false;
        }
      }

      return true;
    }
  }, {
    key: "optionalContentConfigPromise",
    get: function get() {
      if (!this.pdfDocument) {
        return Promise.resolve(null);
      }

      if (!this._optionalContentConfigPromise) {
        return this.pdfDocument.getOptionalContentConfig();
      }

      return this._optionalContentConfigPromise;
    },
    set: function set(promise) {
      if (!(promise instanceof Promise)) {
        throw new Error("Invalid optionalContentConfigPromise: ".concat(promise));
      }

      if (!this.pdfDocument) {
        return;
      }

      if (!this._optionalContentConfigPromise) {
        return;
      }

      this._optionalContentConfigPromise = promise;

      var _iterator = _createForOfIteratorHelper(this._pages),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var pageView = _step.value;
          pageView.update(pageView.scale, pageView.rotation, promise);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      this.update();
      this.eventBus.dispatch("optionalcontentconfigchanged", {
        source: this,
        promise: promise
      });
    }
  }, {
    key: "scrollMode",
    get: function get() {
      return this._scrollMode;
    },
    set: function set(mode) {
      if (this._scrollMode === mode) {
        return;
      }

      if (!(0, _ui_utils.isValidScrollMode)(mode)) {
        throw new Error("Invalid scroll mode: ".concat(mode));
      }

      this._scrollMode = mode;
      this.eventBus.dispatch("scrollmodechanged", {
        source: this,
        mode: mode
      });

      this._updateScrollMode(this._currentPageNumber);
    }
  }, {
    key: "spreadMode",
    get: function get() {
      return this._spreadMode;
    },
    set: function set(mode) {
      if (this._spreadMode === mode) {
        return;
      }

      if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
        throw new Error("Invalid spread mode: ".concat(mode));
      }

      this._spreadMode = mode;
      this.eventBus.dispatch("spreadmodechanged", {
        source: this,
        mode: mode
      });

      this._updateSpreadMode(this._currentPageNumber);
    }
  }]);

  return BaseViewer;
}();

exports.BaseViewer = BaseViewer;

/***/ }),
/* 20 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFViewer = void 0;

var _base_viewer = __w_pdfjs_require__(19);

var _pdfjsLib = __w_pdfjs_require__(2);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var PDFViewer = /*#__PURE__*/function (_BaseViewer) {
  _inherits(PDFViewer, _BaseViewer);

  var _super = _createSuper(PDFViewer);

  function PDFViewer() {
    _classCallCheck(this, PDFViewer);

    return _super.apply(this, arguments);
  }

  _createClass(PDFViewer, [{
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;

      if (!pageSpot && !this.isInPresentationMode) {
        var left = pageDiv.offsetLeft + pageDiv.clientLeft;
        var right = left + pageDiv.clientWidth;
        var _this$container = this.container,
            scrollLeft = _this$container.scrollLeft,
            clientWidth = _this$container.clientWidth;

        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
          pageSpot = {
            left: 0,
            top: 0
          };
        }
      }

      _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
        pageDiv: pageDiv,
        pageSpot: pageSpot,
        pageNumber: pageNumber
      });
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      if (this.isInPresentationMode) {
        return this._getCurrentVisiblePage();
      }

      return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {
      if (this.isInPresentationMode) {
        return;
      }

      var currentId = this._currentPageNumber;
      var stillFullyVisible = false;

      var _iterator = _createForOfIteratorHelper(visiblePages),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var page = _step.value;

          if (page.percent < 100) {
            break;
          }

          if (page.id === currentId) {
            stillFullyVisible = true;
            break;
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      if (!stillFullyVisible) {
        currentId = visiblePages[0].id;
      }

      this._setCurrentPageNumber(currentId);
    }
  }, {
    key: "_viewerElement",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this.viewer);
    }
  }]);

  return PDFViewer;
}(_base_viewer.BaseViewer);

exports.PDFViewer = PDFViewer;

/***/ })
/******/ ]);
});
//# sourceMappingURL=pdf_viewer.js.map

/***/ }),

/***/ "c4e9":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "c607":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var DESCRIPTORS = __webpack_require__("83ab");
var UNSUPPORTED_DOT_ALL = __webpack_require__("fce3");
var classof = __webpack_require__("c6b6");
var defineProperty = __webpack_require__("9bf2").f;
var getInternalState = __webpack_require__("69f3").get;

var RegExpPrototype = RegExp.prototype;
var TypeError = global.TypeError;

// `RegExp.prototype.dotAll` getter
// https://tc39.es/ecma262/#sec-get-regexp.prototype.dotall
if (DESCRIPTORS && UNSUPPORTED_DOT_ALL) {
  defineProperty(RegExpPrototype, 'dotAll', {
    configurable: true,
    get: function () {
      if (this === RegExpPrototype) return undefined;
      // We can't use InternalStateModule.getterFor because
      // we don't add metadata for regexps created by a literal.
      if (classof(this) === 'RegExp') {
        return !!getInternalState(this).dotAll;
      }
      throw TypeError('Incompatible receiver, RegExp required');
    }
  });
}


/***/ }),

/***/ "c65b":
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__("40d5");

var call = Function.prototype.call;

module.exports = NATIVE_BIND ? call.bind(call) : function () {
  return call.apply(call, arguments);
};


/***/ }),

/***/ "c6b6":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

var toString = uncurryThis({}.toString);
var stringSlice = uncurryThis(''.slice);

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


/***/ }),

/***/ "c6cd":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var setGlobal = __webpack_require__("ce4e");

var SHARED = '__core-js_shared__';
var store = global[SHARED] || setGlobal(SHARED, {});

module.exports = store;


/***/ }),

/***/ "c770":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

var replace = uncurryThis(''.replace);

var TEST = (function (arg) { return String(Error(arg).stack); })('zxcasd');
var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);

module.exports = function (stack, dropEntries) {
  if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string') {
    while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
  } return stack;
};


/***/ }),

/***/ "c7f2":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "c8ba":
/***/ (function(module, exports) {

var g;

// This works in non-strict mode
g = (function() {
	return this;
})();

try {
	// This works if eval is allowed (see CSP)
	g = g || new Function("return this")();
} catch (e) {
	// This works if the window reference is available
	if (typeof window === "object") g = window;
}

// g can still be undefined, but nothing to do about it...
// We return undefined, instead of nothing here, so it's
// easier to handle this case. if(!global) { ...}

module.exports = g;


/***/ }),

/***/ "ca84":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");
var hasOwn = __webpack_require__("1a2d");
var toIndexedObject = __webpack_require__("fc6a");
var indexOf = __webpack_require__("4d64").indexOf;
var hiddenKeys = __webpack_require__("d012");

var push = uncurryThis([].push);

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


/***/ }),

/***/ "ca91":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $reduce = __webpack_require__("d58f").left;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.reduce` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reduce
exportTypedArrayMethod('reduce', function reduce(callbackfn /* , initialValue */) {
  var length = arguments.length;
  return $reduce(aTypedArray(this), callbackfn, length, length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "caad":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var $includes = __webpack_require__("4d64").includes;
var addToUnscopables = __webpack_require__("44d2");

// `Array.prototype.includes` method
// https://tc39.es/ecma262/#sec-array.prototype.includes
$({ target: 'Array', proto: true }, {
  includes: function includes(el /* , fromIndex = 0 */) {
    return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
  }
});

// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('includes');


/***/ }),

/***/ "cae5":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonTree_vue_vue_type_style_index_0_id_60026687_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("67d6");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonTree_vue_vue_type_style_index_0_id_60026687_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_PersonTree_vue_vue_type_style_index_0_id_60026687_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "cc12":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isObject = __webpack_require__("861d");

var document = global.document;
// typeof document.createElement is 'object' in old IE
var EXISTS = isObject(document) && isObject(document.createElement);

module.exports = function (it) {
  return EXISTS ? document.createElement(it) : {};
};


/***/ }),

/***/ "cca6":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var assign = __webpack_require__("60da");

// `Object.assign` method
// https://tc39.es/ecma262/#sec-object.assign
// eslint-disable-next-line es/no-object-assign -- required for testing
$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {
  assign: assign
});


/***/ }),

/***/ "cd26":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var floor = Math.floor;

// `%TypedArray%.prototype.reverse` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.reverse
exportTypedArrayMethod('reverse', function reverse() {
  var that = this;
  var length = aTypedArray(that).length;
  var middle = floor(length / 2);
  var index = 0;
  var value;
  while (index < middle) {
    value = that[index];
    that[index++] = that[--length];
    that[length] = value;
  } return that;
});


/***/ }),

/***/ "cd96":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "cdf9":
/***/ (function(module, exports, __webpack_require__) {

var anObject = __webpack_require__("825a");
var isObject = __webpack_require__("861d");
var newPromiseCapability = __webpack_require__("f069");

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


/***/ }),

/***/ "ce42":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("6642");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutFourthMenu_vue_vue_type_style_index_1_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ce4e":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

// eslint-disable-next-line es/no-object-defineproperty -- safe
var defineProperty = Object.defineProperty;

module.exports = function (key, value) {
  try {
    defineProperty(global, key, { value: value, configurable: true, writable: true });
  } catch (error) {
    global[key] = value;
  } return value;
};


/***/ }),

/***/ "ce61":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivitiButton_vue_vue_type_style_index_0_id_3f338303_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d541");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivitiButton_vue_vue_type_style_index_0_id_3f338303_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_2_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_ActivitiButton_vue_vue_type_style_index_0_id_3f338303_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "cebe":
/***/ (function(module, exports) {

module.exports = __WEBPACK_EXTERNAL_MODULE_cebe__;

/***/ }),

/***/ "cefd":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEkAAAA0CAYAAADGzxXDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NkVFNjU2NzUxN0VGMTFFQkEzMzlBRjE5OEZGNUYxOUYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NkVFNjU2NzYxN0VGMTFFQkEzMzlBRjE5OEZGNUYxOUYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2RUU2NTY3MzE3RUYxMUVCQTMzOUFGMTk4RkY1RjE5RiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo2RUU2NTY3NDE3RUYxMUVCQTMzOUFGMTk4RkY1RjE5RiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PorVK28AAAb/SURBVHja7Jt5bFRVFMZfS0EolJZNlgKtRUQoWkRBxQVkE0zcIsa4EEUNosFIwAiJghsIxgQNGqKggKDR+AegbIrIrkF2ZCkalLJjUQRZBCmM37Hfk8P1vpk3M2+6DJzkl859y31vzpx77jnn3qaEQiGnnKQA3AA6gFYgF9QFF/H83+AAKAKFYCVYCH4u6xdNKWMlZYP+4GGQE2MfW8BH4ANQnExKqg1GgIHKUuKVU+A9MArsr+xK6gYmg2YJ6v8IeBZMBKHKqKRnwFiQWgbWOhfcD/6sTEoaDYb5uO40WA1+ANtoGfJS1UEN0Bw0paOPZI1bQQ+wO9BvIkpKAENCkWUR6Asyoui3CXgAfAFOe/S7DTQK8vskQkG3gjNhlLMUdAzgOXlgqsczVoBqFVVJDUCxx4sfAY8n4EfpAnZbnjeuoippmoeCtoP8BA1toSFYYzxTrPn6iqakDmF8RNMEKsglE6wznr0WpFQkJc2zKOhXkFMGCnJpDPYb79Ar3n6Dil9ag16W4xK37CjDtGcf6GscGxJvp0Ep6THLsfFMSMtavgZTVLsraFTewWQKraWZkSrkgd/KqcLQmIGp5IkrwGBWEWKStABeqK0lEp5Ujgpyh90tjMDjTlOCUFIXy7HJTvnLyqA6CsInXW20JW/a4CSRBKGk1on6BZNJSWaF8acLSvq/1DPahy4o6aw0AC0szv9khPtGgsXk0jie/zT7+DjRSvI7u1UFncHtTukKRz6LYrGGDJ35uVYc796D/cwtbyXVYgn2KdDEZ58tGBYUkTRWFl1JV5+bcHj+AQ5b+hIrqcnIfZxx7nL+3eIj2M2MUi+ynHXcT2XyQSao8Ug3kOvz2tGWdzjEc1PYbg7agfbgFM+9DNqC6h7fIyuG954SKcGVYTTVKV3bujjKX0C0f0a1u4Oj4EPyGduuzAIb+XmYZRIw5RWwDqxRo2AE+9ga5/D1PdxkKMxmSG+Tb8A0sBzsdErXvkyRfOkEP0sh/0YOO1ekoN+Kn/dymF3B9nAwBpTwvqo8LosBPX2EIteBBcbxo2G+j5fs91oIqOJRExIpBJ2iqMG48hZNNxppx5KsKUWq/0E8VgK6q2vuSkSdSlvSCI+a0DxwLzgWo7WKw52pLPc10JLtwbSqJ9iWv9sZxR9Vw+cY051rae15KgUqUc/KAjeDb7lUJe1BMb63DN9PtSXl81cx5bswDtGPJY1i6bZIcVyd32tUEnONRYVThiOVZaj5YDaPLzasbiT/9uH1uXFMOjNNS5IAr4qhSakJ3af8S7SyDLxj9JtOP6XlhKpeaqs4QAvKNEKGVaA920VGX25ZJEP1t8PwwdmG7/EKfov1TeLw7rRcJMNiVxyTQicOj/mGyQ9XX/INDi/9w4QTceCfgz5s7zTOu7FWphqOuer8C+BVfv6Rk8hJP7NbHwZc5lQ+Ps6ZswqDyvVghsc1Y432VbzeJnUYnqQ6Z3emeFlSuuX+llSSK/0NBYkvu4y+bJYuGoqSulk6XOAEt/FAHtZPRb9DVQjwomENO8P0k63CCsdDSX8xLKljibrfVcqdAJZa0hxXiQu1XtKYh9mUFJTIjPmSausAdQBTAJ1wT/Lop6mHkppbrKmucUw2jXVVfmiopf/XndItPNV5reSYm9yXyrbcEGRNqBqn4iw6Xv0lM9S5LCf8Bq/N4G5l4SHHvntE/NIlqp1vDOuBHuUcCTkmqvYnOpj0CujiCcBcmWusoNYAm6J4ziFLLuUupe9WewF0MLmK+xHqc9PELnV+X4QV3VpGKHSTGwKUWNKTjICsqDdnL+079BrY+0YuZ0pNwx85KpAsYuoywbhnOmfmYjrhNOPZsg/q9zATmZ7E3gTXpDEeaWwp7i8LQEl7GWLk+FxE8JIzHkqqr6J3kV8Y3S/hzCqhQEfn3BWdtlG8/5Xi38T0FlhmuEXK0cUij4CDTGl6ssYUSxW0E3/1GYy3HBVzrQV7WAgUJW6gcmz1pN6sgvp5hwxWG1x5UpQk0fbzxoXiFNswfznfJMWw3Omi2TkeF45xzk8x9w10FCWt8JjyJVXpex4qqbuptFQOLS+rmRinb6pskmX4o/8iXIfVxo0eVcY5dMTJLgWc0XON43tSVUmhn0c5VsL0yVRWQZIpph7LQTM5W9rCg/nm/qRHndJ/bAkn34Mvma0Xs2Kw3ohjalcgRUg1QhZSG5JGDEnaOJEXR0//axiW0Py5KCt4i9S96eBgKHlkZLiNpQ+BYz470sX3AUmkoDFunhcuuWwNlkToSPZnp/J66XBzEiinkP/V4Gv3bSFzHilPLPe45m0VnfbgOK+McpIT0z1O6RrgV+dE1lFsLBUndwcz7wLGFHmqriwPua2CK+MwE3pBNp7KPoLVNALPBY9/BBgA/2zlDCqBBMUAAAAASUVORK5CYII="

/***/ }),

/***/ "cf6b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "cfce":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d012":
/***/ (function(module, exports) {

module.exports = {};


/***/ }),

/***/ "d039":
/***/ (function(module, exports) {

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


/***/ }),

/***/ "d066":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");

var aFunction = function (argument) {
  return isCallable(argument) ? argument : undefined;
};

module.exports = function (namespace, method) {
  return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];
};


/***/ }),

/***/ "d139":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $find = __webpack_require__("b727").find;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.find` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.find
exportTypedArrayMethod('find', function find(predicate /* , thisArg */) {
  return $find(aTypedArray(this), predicate, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "d1c5":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d1e7":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $propertyIsEnumerable = {}.propertyIsEnumerable;
// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;

// Nashorn ~ JDK8 bug
var NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);

// `Object.prototype.propertyIsEnumerable` method implementation
// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
  var descriptor = getOwnPropertyDescriptor(this, V);
  return !!descriptor && descriptor.enumerable;
} : $propertyIsEnumerable;


/***/ }),

/***/ "d28b":
/***/ (function(module, exports, __webpack_require__) {

var defineWellKnownSymbol = __webpack_require__("746f");

// `Symbol.iterator` well-known symbol
// https://tc39.es/ecma262/#sec-symbol.iterator
defineWellKnownSymbol('iterator');


/***/ }),

/***/ "d2bb":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable no-proto -- safe */
var uncurryThis = __webpack_require__("e330");
var anObject = __webpack_require__("825a");
var aPossiblePrototype = __webpack_require__("3bbe");

// `Object.setPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.setprototypeof
// Works with __proto__ only. Old v8 can't work with null proto objects.
// eslint-disable-next-line es/no-object-setprototypeof -- safe
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
  var CORRECT_SETTER = false;
  var test = {};
  var setter;
  try {
    // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
    setter = uncurryThis(Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set);
    setter(test, []);
    CORRECT_SETTER = test instanceof Array;
  } catch (error) { /* empty */ }
  return function setPrototypeOf(O, proto) {
    anObject(O);
    aPossiblePrototype(proto);
    if (CORRECT_SETTER) setter(O, proto);
    else O.__proto__ = proto;
    return O;
  };
}() : undefined);


/***/ }),

/***/ "d31b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d3b7":
/***/ (function(module, exports, __webpack_require__) {

var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee");
var redefine = __webpack_require__("6eeb");
var toString = __webpack_require__("b041");

// `Object.prototype.toString` method
// https://tc39.es/ecma262/#sec-object.prototype.tostring
if (!TO_STRING_TAG_SUPPORT) {
  redefine(Object.prototype, 'toString', toString, { unsafe: true });
}


/***/ }),

/***/ "d3d2":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderLeftInfo_vue_vue_type_style_index_0_id_3576261b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2f6d");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderLeftInfo_vue_vue_type_style_index_0_id_3576261b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_HeaderLeftInfo_vue_vue_type_style_index_0_id_3576261b_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "d44e":
/***/ (function(module, exports, __webpack_require__) {

var defineProperty = __webpack_require__("9bf2").f;
var hasOwn = __webpack_require__("1a2d");
var wellKnownSymbol = __webpack_require__("b622");

var TO_STRING_TAG = wellKnownSymbol('toStringTag');

module.exports = function (target, TAG, STATIC) {
  if (target && !STATIC) target = target.prototype;
  if (target && !hasOwn(target, TO_STRING_TAG)) {
    defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });
  }
};


/***/ }),

/***/ "d4c3":
/***/ (function(module, exports, __webpack_require__) {

var userAgent = __webpack_require__("342f");
var global = __webpack_require__("da84");

module.exports = /ipad|iphone|ipod/i.test(userAgent) && global.Pebble !== undefined;


/***/ }),

/***/ "d52b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d541":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d58f":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var aCallable = __webpack_require__("59ed");
var toObject = __webpack_require__("7b0b");
var IndexedObject = __webpack_require__("44ad");
var lengthOfArrayLike = __webpack_require__("07fa");

var TypeError = global.TypeError;

// `Array.prototype.{ reduce, reduceRight }` methods implementation
var createMethod = function (IS_RIGHT) {
  return function (that, callbackfn, argumentsLength, memo) {
    aCallable(callbackfn);
    var O = toObject(that);
    var self = IndexedObject(O);
    var length = lengthOfArrayLike(O);
    var index = IS_RIGHT ? length - 1 : 0;
    var i = IS_RIGHT ? -1 : 1;
    if (argumentsLength < 2) while (true) {
      if (index in self) {
        memo = self[index];
        index += i;
        break;
      }
      index += i;
      if (IS_RIGHT ? index < 0 : length <= index) {
        throw TypeError('Reduce of empty array with no initial value');
      }
    }
    for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
      memo = callbackfn(memo, self[index], index, O);
    }
    return memo;
  };
};

module.exports = {
  // `Array.prototype.reduce` method
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
  left: createMethod(false),
  // `Array.prototype.reduceRight` method
  // https://tc39.es/ecma262/#sec-array.prototype.reduceright
  right: createMethod(true)
};


/***/ }),

/***/ "d5d6":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $forEach = __webpack_require__("b727").forEach;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.forEach` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.foreach
exportTypedArrayMethod('forEach', function forEach(callbackfn /* , thisArg */) {
  $forEach(aTypedArray(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "d608":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Region_vue_vue_type_style_index_0_id_23ea3d21_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("191f");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Region_vue_vue_type_style_index_0_id_23ea3d21_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Region_vue_vue_type_style_index_0_id_23ea3d21_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "d6d6":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

var TypeError = global.TypeError;

module.exports = function (passed, required) {
  if (passed < required) throw TypeError('Not enough arguments');
  return passed;
};


/***/ }),

/***/ "d705":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "d784":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

// TODO: Remove from `core-js@4` since it's moved to entry points
__webpack_require__("ac1f");
var uncurryThis = __webpack_require__("e330");
var redefine = __webpack_require__("6eeb");
var regexpExec = __webpack_require__("9263");
var fails = __webpack_require__("d039");
var wellKnownSymbol = __webpack_require__("b622");
var createNonEnumerableProperty = __webpack_require__("9112");

var SPECIES = wellKnownSymbol('species');
var RegExpPrototype = RegExp.prototype;

module.exports = function (KEY, exec, FORCED, SHAM) {
  var SYMBOL = wellKnownSymbol(KEY);

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

  var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {
    // Symbol-named RegExp methods call .exec
    var execCalled = false;
    var re = /a/;

    if (KEY === 'split') {
      // We can't use real regex here since it causes deoptimization
      // and serious performance degradation in V8
      // https://github.com/zloirock/core-js/issues/306
      re = {};
      // RegExp[@@split] doesn't call the regex's exec method, but first creates
      // a new one. We need to return the patched regex when creating the new one.
      re.constructor = {};
      re.constructor[SPECIES] = function () { return re; };
      re.flags = '';
      re[SYMBOL] = /./[SYMBOL];
    }

    re.exec = function () { execCalled = true; return null; };

    re[SYMBOL]('');
    return !execCalled;
  });

  if (
    !DELEGATES_TO_SYMBOL ||
    !DELEGATES_TO_EXEC ||
    FORCED
  ) {
    var uncurriedNativeRegExpMethod = uncurryThis(/./[SYMBOL]);
    var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {
      var uncurriedNativeMethod = uncurryThis(nativeMethod);
      var $exec = regexp.exec;
      if ($exec === regexpExec || $exec === RegExpPrototype.exec) {
        if (DELEGATES_TO_SYMBOL && !forceStringMethod) {
          // The native String method already delegates to @@method (this
          // polyfilled function), leasing to infinite recursion.
          // We avoid it by directly calling the native @@method method.
          return { done: true, value: uncurriedNativeRegExpMethod(regexp, str, arg2) };
        }
        return { done: true, value: uncurriedNativeMethod(str, regexp, arg2) };
      }
      return { done: false };
    });

    redefine(String.prototype, KEY, methods[0]);
    redefine(RegExpPrototype, SYMBOL, methods[1]);
  }

  if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);
};


/***/ }),

/***/ "d81d":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var $map = __webpack_require__("b727").map;
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');

// `Array.prototype.map` method
// https://tc39.es/ecma262/#sec-array.prototype.map
// with adding support of @@species
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
  map: function map(callbackfn /* , thisArg */) {
    return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);
  }
});


/***/ }),

/***/ "d94f":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectLayout_vue_vue_type_style_index_0_id_5997188a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2c76");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectLayout_vue_vue_type_style_index_0_id_5997188a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SelectLayout_vue_vue_type_style_index_0_id_5997188a_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "d998":
/***/ (function(module, exports, __webpack_require__) {

var UA = __webpack_require__("342f");

module.exports = /MSIE|Trident/.test(UA);


/***/ }),

/***/ "d9b5":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var getBuiltIn = __webpack_require__("d066");
var isCallable = __webpack_require__("1626");
var isPrototypeOf = __webpack_require__("3a9b");
var USE_SYMBOL_AS_UID = __webpack_require__("fdbf");

var Object = global.Object;

module.exports = USE_SYMBOL_AS_UID ? function (it) {
  return typeof it == 'symbol';
} : function (it) {
  var $Symbol = getBuiltIn('Symbol');
  return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, Object(it));
};


/***/ }),

/***/ "d9e2":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable no-unused-vars -- required for functions `.length` */
var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var apply = __webpack_require__("2ba4");
var wrapErrorConstructorWithCause = __webpack_require__("e5cb");

var WEB_ASSEMBLY = 'WebAssembly';
var WebAssembly = global[WEB_ASSEMBLY];

var FORCED = Error('e', { cause: 7 }).cause !== 7;

var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
  var O = {};
  O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
  $({ global: true, forced: FORCED }, O);
};

var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
  if (WebAssembly && WebAssembly[ERROR_NAME]) {
    var O = {};
    O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
    $({ target: WEB_ASSEMBLY, stat: true, forced: FORCED }, O);
  }
};

// https://github.com/tc39/proposal-error-cause
exportGlobalErrorCauseWrapper('Error', function (init) {
  return function Error(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('EvalError', function (init) {
  return function EvalError(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('RangeError', function (init) {
  return function RangeError(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
  return function ReferenceError(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
  return function SyntaxError(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('TypeError', function (init) {
  return function TypeError(message) { return apply(init, this, arguments); };
});
exportGlobalErrorCauseWrapper('URIError', function (init) {
  return function URIError(message) { return apply(init, this, arguments); };
});
exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
  return function CompileError(message) { return apply(init, this, arguments); };
});
exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
  return function LinkError(message) { return apply(init, this, arguments); };
});
exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
  return function RuntimeError(message) { return apply(init, this, arguments); };
});


/***/ }),

/***/ "d9fe":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_5c4bca78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("ae2b");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_5c4bca78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SingleFileUpload_vue_vue_type_style_index_0_id_5c4bca78_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "da01":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BoxAction_vue_vue_type_style_index_0_id_16a93cbd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("d52b");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BoxAction_vue_vue_type_style_index_0_id_16a93cbd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_BoxAction_vue_vue_type_style_index_0_id_16a93cbd_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "da84":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(global) {var check = function (it) {
  return it && it.Math == Math && it;
};

// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
module.exports =
  // eslint-disable-next-line es/no-global-this -- safe
  check(typeof globalThis == 'object' && globalThis) ||
  check(typeof window == 'object' && window) ||
  // eslint-disable-next-line no-restricted-globals -- safe
  check(typeof self == 'object' && self) ||
  check(typeof global == 'object' && global) ||
  // eslint-disable-next-line no-new-func -- fallback
  (function () { return this; })() || Function('return this')();

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("c8ba")))

/***/ }),

/***/ "dbb4":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var DESCRIPTORS = __webpack_require__("83ab");
var ownKeys = __webpack_require__("56ef");
var toIndexedObject = __webpack_require__("fc6a");
var getOwnPropertyDescriptorModule = __webpack_require__("06cf");
var createProperty = __webpack_require__("8418");

// `Object.getOwnPropertyDescriptors` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors
$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {
  getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {
    var O = toIndexedObject(object);
    var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
    var keys = ownKeys(O);
    var result = {};
    var index = 0;
    var key, descriptor;
    while (keys.length > index) {
      descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);
      if (descriptor !== undefined) createProperty(result, key, descriptor);
    }
    return result;
  }
});


/***/ }),

/***/ "dc4a":
/***/ (function(module, exports, __webpack_require__) {

var aCallable = __webpack_require__("59ed");

// `GetMethod` abstract operation
// https://tc39.es/ecma262/#sec-getmethod
module.exports = function (V, P) {
  var func = V[P];
  return func == null ? undefined : aCallable(func);
};


/***/ }),

/***/ "dcf8":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsView_vue_vue_type_style_index_0_id_97db492e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("8d65");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsView_vue_vue_type_style_index_0_id_97db492e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_TipsView_vue_vue_type_style_index_0_id_97db492e_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ddb0":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var DOMIterables = __webpack_require__("fdbc");
var DOMTokenListPrototype = __webpack_require__("785a");
var ArrayIteratorMethods = __webpack_require__("e260");
var createNonEnumerableProperty = __webpack_require__("9112");
var wellKnownSymbol = __webpack_require__("b622");

var ITERATOR = wellKnownSymbol('iterator');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ArrayValues = ArrayIteratorMethods.values;

var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
  if (CollectionPrototype) {
    // some Chrome versions have non-configurable methods on DOMTokenList
    if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
      createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
    } catch (error) {
      CollectionPrototype[ITERATOR] = ArrayValues;
    }
    if (!CollectionPrototype[TO_STRING_TAG]) {
      createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
    }
    if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
      // some Chrome versions have non-configurable methods on DOMTokenList
      if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
        createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
      } catch (error) {
        CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
      }
    }
  }
};

for (var COLLECTION_NAME in DOMIterables) {
  handlePrototype(global[COLLECTION_NAME] && global[COLLECTION_NAME].prototype, COLLECTION_NAME);
}

handlePrototype(DOMTokenListPrototype, 'DOMTokenList');


/***/ }),

/***/ "ded5":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "df75":
/***/ (function(module, exports, __webpack_require__) {

var internalObjectKeys = __webpack_require__("ca84");
var enumBugKeys = __webpack_require__("7839");

// `Object.keys` method
// https://tc39.es/ecma262/#sec-object.keys
// eslint-disable-next-line es/no-object-keys -- safe
module.exports = Object.keys || function keys(O) {
  return internalObjectKeys(O, enumBugKeys);
};


/***/ }),

/***/ "df7c":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(process) {// .dirname, .basename, and .extname methods are extracted from Node.js v8.11.1,
// backported and transplited with Babel, with backwards-compat fixes

// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to permit
// persons to whom the Software is furnished to do so, subject to the
// following conditions:
//
// The above copyright notice and this permission notice shall be included
// in all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
// USE OR OTHER DEALINGS IN THE SOFTWARE.

// resolves . and .. elements in a path array with directory names there
// must be no slashes, empty elements, or device names (c:\) in the array
// (so also no leading and trailing slashes - it does not distinguish
// relative and absolute paths)
function normalizeArray(parts, allowAboveRoot) {
  // if the path tries to go above the root, `up` ends up > 0
  var up = 0;
  for (var i = parts.length - 1; i >= 0; i--) {
    var last = parts[i];
    if (last === '.') {
      parts.splice(i, 1);
    } else if (last === '..') {
      parts.splice(i, 1);
      up++;
    } else if (up) {
      parts.splice(i, 1);
      up--;
    }
  }

  // if the path is allowed to go above the root, restore leading ..s
  if (allowAboveRoot) {
    for (; up--; up) {
      parts.unshift('..');
    }
  }

  return parts;
}

// path.resolve([from ...], to)
// posix version
exports.resolve = function() {
  var resolvedPath = '',
      resolvedAbsolute = false;

  for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {
    var path = (i >= 0) ? arguments[i] : process.cwd();

    // Skip empty and invalid entries
    if (typeof path !== 'string') {
      throw new TypeError('Arguments to path.resolve must be strings');
    } else if (!path) {
      continue;
    }

    resolvedPath = path + '/' + resolvedPath;
    resolvedAbsolute = path.charAt(0) === '/';
  }

  // At this point the path should be resolved to a full absolute path, but
  // handle relative paths to be safe (might happen when process.cwd() fails)

  // Normalize the path
  resolvedPath = normalizeArray(filter(resolvedPath.split('/'), function(p) {
    return !!p;
  }), !resolvedAbsolute).join('/');

  return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.';
};

// path.normalize(path)
// posix version
exports.normalize = function(path) {
  var isAbsolute = exports.isAbsolute(path),
      trailingSlash = substr(path, -1) === '/';

  // Normalize the path
  path = normalizeArray(filter(path.split('/'), function(p) {
    return !!p;
  }), !isAbsolute).join('/');

  if (!path && !isAbsolute) {
    path = '.';
  }
  if (path && trailingSlash) {
    path += '/';
  }

  return (isAbsolute ? '/' : '') + path;
};

// posix version
exports.isAbsolute = function(path) {
  return path.charAt(0) === '/';
};

// posix version
exports.join = function() {
  var paths = Array.prototype.slice.call(arguments, 0);
  return exports.normalize(filter(paths, function(p, index) {
    if (typeof p !== 'string') {
      throw new TypeError('Arguments to path.join must be strings');
    }
    return p;
  }).join('/'));
};


// path.relative(from, to)
// posix version
exports.relative = function(from, to) {
  from = exports.resolve(from).substr(1);
  to = exports.resolve(to).substr(1);

  function trim(arr) {
    var start = 0;
    for (; start < arr.length; start++) {
      if (arr[start] !== '') break;
    }

    var end = arr.length - 1;
    for (; end >= 0; end--) {
      if (arr[end] !== '') break;
    }

    if (start > end) return [];
    return arr.slice(start, end - start + 1);
  }

  var fromParts = trim(from.split('/'));
  var toParts = trim(to.split('/'));

  var length = Math.min(fromParts.length, toParts.length);
  var samePartsLength = length;
  for (var i = 0; i < length; i++) {
    if (fromParts[i] !== toParts[i]) {
      samePartsLength = i;
      break;
    }
  }

  var outputParts = [];
  for (var i = samePartsLength; i < fromParts.length; i++) {
    outputParts.push('..');
  }

  outputParts = outputParts.concat(toParts.slice(samePartsLength));

  return outputParts.join('/');
};

exports.sep = '/';
exports.delimiter = ':';

exports.dirname = function (path) {
  if (typeof path !== 'string') path = path + '';
  if (path.length === 0) return '.';
  var code = path.charCodeAt(0);
  var hasRoot = code === 47 /*/*/;
  var end = -1;
  var matchedSlash = true;
  for (var i = path.length - 1; i >= 1; --i) {
    code = path.charCodeAt(i);
    if (code === 47 /*/*/) {
        if (!matchedSlash) {
          end = i;
          break;
        }
      } else {
      // We saw the first non-path separator
      matchedSlash = false;
    }
  }

  if (end === -1) return hasRoot ? '/' : '.';
  if (hasRoot && end === 1) {
    // return '//';
    // Backwards-compat fix:
    return '/';
  }
  return path.slice(0, end);
};

function basename(path) {
  if (typeof path !== 'string') path = path + '';

  var start = 0;
  var end = -1;
  var matchedSlash = true;
  var i;

  for (i = path.length - 1; i >= 0; --i) {
    if (path.charCodeAt(i) === 47 /*/*/) {
        // If we reached a path separator that was not part of a set of path
        // separators at the end of the string, stop now
        if (!matchedSlash) {
          start = i + 1;
          break;
        }
      } else if (end === -1) {
      // We saw the first non-path separator, mark this as the end of our
      // path component
      matchedSlash = false;
      end = i + 1;
    }
  }

  if (end === -1) return '';
  return path.slice(start, end);
}

// Uses a mixed approach for backwards-compatibility, as ext behavior changed
// in new Node.js versions, so only basename() above is backported here
exports.basename = function (path, ext) {
  var f = basename(path);
  if (ext && f.substr(-1 * ext.length) === ext) {
    f = f.substr(0, f.length - ext.length);
  }
  return f;
};

exports.extname = function (path) {
  if (typeof path !== 'string') path = path + '';
  var startDot = -1;
  var startPart = 0;
  var end = -1;
  var matchedSlash = true;
  // Track the state of characters (if any) we see before our first dot and
  // after any path separator we find
  var preDotState = 0;
  for (var i = path.length - 1; i >= 0; --i) {
    var code = path.charCodeAt(i);
    if (code === 47 /*/*/) {
        // If we reached a path separator that was not part of a set of path
        // separators at the end of the string, stop now
        if (!matchedSlash) {
          startPart = i + 1;
          break;
        }
        continue;
      }
    if (end === -1) {
      // We saw the first non-path separator, mark this as the end of our
      // extension
      matchedSlash = false;
      end = i + 1;
    }
    if (code === 46 /*.*/) {
        // If this is our first dot, mark it as the start of our extension
        if (startDot === -1)
          startDot = i;
        else if (preDotState !== 1)
          preDotState = 1;
    } else if (startDot !== -1) {
      // We saw a non-dot and non-path separator before our dot, so we should
      // have a good chance at having a non-empty extension
      preDotState = -1;
    }
  }

  if (startDot === -1 || end === -1 ||
      // We saw a non-dot character immediately before the dot
      preDotState === 0 ||
      // The (right-most) trimmed path component is exactly '..'
      preDotState === 1 && startDot === end - 1 && startDot === startPart + 1) {
    return '';
  }
  return path.slice(startDot, end);
};

function filter (xs, f) {
    if (xs.filter) return xs.filter(f);
    var res = [];
    for (var i = 0; i < xs.length; i++) {
        if (f(xs[i], i, xs)) res.push(xs[i]);
    }
    return res;
}

// String.prototype.substr - negative index don't work in IE8
var substr = 'ab'.substr(-1) === 'b'
    ? function (str, start, len) { return str.substr(start, len) }
    : function (str, start, len) {
        if (start < 0) start = str.length + start;
        return str.substr(start, len);
    }
;

/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("4362")))

/***/ }),

/***/ "dfb9":
/***/ (function(module, exports, __webpack_require__) {

var lengthOfArrayLike = __webpack_require__("07fa");

module.exports = function (Constructor, list) {
  var index = 0;
  var length = lengthOfArrayLike(list);
  var result = new Constructor(length);
  while (length > index) result[index] = list[index++];
  return result;
};


/***/ }),

/***/ "e01a":
/***/ (function(module, exports, __webpack_require__) {

"use strict";
// `Symbol.prototype.description` getter
// https://tc39.es/ecma262/#sec-symbol.prototype.description

var $ = __webpack_require__("23e7");
var DESCRIPTORS = __webpack_require__("83ab");
var global = __webpack_require__("da84");
var uncurryThis = __webpack_require__("e330");
var hasOwn = __webpack_require__("1a2d");
var isCallable = __webpack_require__("1626");
var isPrototypeOf = __webpack_require__("3a9b");
var toString = __webpack_require__("577e");
var defineProperty = __webpack_require__("9bf2").f;
var copyConstructorProperties = __webpack_require__("e893");

var NativeSymbol = global.Symbol;
var SymbolPrototype = NativeSymbol && NativeSymbol.prototype;

if (DESCRIPTORS && isCallable(NativeSymbol) && (!('description' in SymbolPrototype) ||
  // Safari 12 bug
  NativeSymbol().description !== undefined
)) {
  var EmptyStringDescriptionStore = {};
  // wrap Symbol constructor for correct work with undefined description
  var SymbolWrapper = function Symbol() {
    var description = arguments.length < 1 || arguments[0] === undefined ? undefined : toString(arguments[0]);
    var result = isPrototypeOf(SymbolPrototype, this)
      ? new NativeSymbol(description)
      // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'
      : description === undefined ? NativeSymbol() : NativeSymbol(description);
    if (description === '') EmptyStringDescriptionStore[result] = true;
    return result;
  };

  copyConstructorProperties(SymbolWrapper, NativeSymbol);
  SymbolWrapper.prototype = SymbolPrototype;
  SymbolPrototype.constructor = SymbolWrapper;

  var NATIVE_SYMBOL = String(NativeSymbol('test')) == 'Symbol(test)';
  var symbolToString = uncurryThis(SymbolPrototype.toString);
  var symbolValueOf = uncurryThis(SymbolPrototype.valueOf);
  var regexp = /^Symbol\((.*)\)[^)]+$/;
  var replace = uncurryThis(''.replace);
  var stringSlice = uncurryThis(''.slice);

  defineProperty(SymbolPrototype, 'description', {
    configurable: true,
    get: function description() {
      var symbol = symbolValueOf(this);
      var string = symbolToString(symbol);
      if (hasOwn(EmptyStringDescriptionStore, symbol)) return '';
      var desc = NATIVE_SYMBOL ? stringSlice(string, 7, -1) : replace(string, regexp, '$1');
      return desc === '' ? undefined : desc;
    }
  });

  $({ global: true, forced: true }, {
    Symbol: SymbolWrapper
  });
}


/***/ }),

/***/ "e0ce":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DownloadApp_vue_vue_type_style_index_0_id_484849e2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("2005");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DownloadApp_vue_vue_type_style_index_0_id_484849e2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_DownloadApp_vue_vue_type_style_index_0_id_484849e2_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "e163":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var hasOwn = __webpack_require__("1a2d");
var isCallable = __webpack_require__("1626");
var toObject = __webpack_require__("7b0b");
var sharedKey = __webpack_require__("f772");
var CORRECT_PROTOTYPE_GETTER = __webpack_require__("e177");

var IE_PROTO = sharedKey('IE_PROTO');
var Object = global.Object;
var ObjectPrototype = Object.prototype;

// `Object.getPrototypeOf` method
// https://tc39.es/ecma262/#sec-object.getprototypeof
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
  var object = toObject(O);
  if (hasOwn(object, IE_PROTO)) return object[IE_PROTO];
  var constructor = object.constructor;
  if (isCallable(constructor) && object instanceof constructor) {
    return constructor.prototype;
  } return object instanceof Object ? ObjectPrototype : null;
};


/***/ }),

/***/ "e173":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SlideVerify_vue_vue_type_style_index_0_id_173be767_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("1aed");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SlideVerify_vue_vue_type_style_index_0_id_173be767_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SlideVerify_vue_vue_type_style_index_0_id_173be767_scoped_true_lang_scss___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "e177":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");

module.exports = !fails(function () {
  function F() { /* empty */ }
  F.prototype.constructor = null;
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
  return Object.getPrototypeOf(new F()) !== F.prototype;
});


/***/ }),

/***/ "e201":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var D_framework_vue_demo_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("53ca");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__("d3b7");
/* harmony import */ var core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__("e6cf");
/* harmony import */ var core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_promise_js__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__("e260");
/* harmony import */ var core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_iterator_js__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__("5cc6");
/* harmony import */ var core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_uint8_array_js__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__("907a");
/* harmony import */ var core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_at_js__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__("9a8c");
/* harmony import */ var core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_copy_within_js__WEBPACK_IMPORTED_MODULE_6__);
/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__("a975");
/* harmony import */ var core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_every_js__WEBPACK_IMPORTED_MODULE_7__);
/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__("735e");
/* harmony import */ var core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_fill_js__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__("c1ac");
/* harmony import */ var core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_filter_js__WEBPACK_IMPORTED_MODULE_9__);
/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__("d139");
/* harmony import */ var core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_js__WEBPACK_IMPORTED_MODULE_10__);
/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__("3a7b");
/* harmony import */ var core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_find_index_js__WEBPACK_IMPORTED_MODULE_11__);
/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__("d5d6");
/* harmony import */ var core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_for_each_js__WEBPACK_IMPORTED_MODULE_12__);
/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__("82f8");
/* harmony import */ var core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_includes_js__WEBPACK_IMPORTED_MODULE_13__);
/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__("e91f");
/* harmony import */ var core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_index_of_js__WEBPACK_IMPORTED_MODULE_14__);
/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__("60bd");
/* harmony import */ var core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_iterator_js__WEBPACK_IMPORTED_MODULE_15__);
/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__("5f96");
/* harmony import */ var core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_join_js__WEBPACK_IMPORTED_MODULE_16__);
/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__("3280");
/* harmony import */ var core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_last_index_of_js__WEBPACK_IMPORTED_MODULE_17__);
/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__("3fcc");
/* harmony import */ var core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_map_js__WEBPACK_IMPORTED_MODULE_18__);
/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("ca91");
/* harmony import */ var core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_js__WEBPACK_IMPORTED_MODULE_19__);
/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("25a1");
/* harmony import */ var core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reduce_right_js__WEBPACK_IMPORTED_MODULE_20__);
/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("cd26");
/* harmony import */ var core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_reverse_js__WEBPACK_IMPORTED_MODULE_21__);
/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("3c5d");
/* harmony import */ var core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_set_js__WEBPACK_IMPORTED_MODULE_22__);
/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__("2954");
/* harmony import */ var core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_slice_js__WEBPACK_IMPORTED_MODULE_23__);
/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__("649e");
/* harmony import */ var core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_some_js__WEBPACK_IMPORTED_MODULE_24__);
/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__("219c");
/* harmony import */ var core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_sort_js__WEBPACK_IMPORTED_MODULE_25__);
/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__("170b");
/* harmony import */ var core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_subarray_js__WEBPACK_IMPORTED_MODULE_26__);
/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__("b39a");
/* harmony import */ var core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_locale_string_js__WEBPACK_IMPORTED_MODULE_27__);
/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__("72f7");
/* harmony import */ var core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_typed_array_to_string_js__WEBPACK_IMPORTED_MODULE_28__);
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__("cca6");
/* harmony import */ var core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_assign_js__WEBPACK_IMPORTED_MODULE_29__);
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__("d9e2");
/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_30__);
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__("3ca3");
/* harmony import */ var core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_iterator_js__WEBPACK_IMPORTED_MODULE_31__);
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__("ddb0");
/* harmony import */ var core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_web_dom_collections_iterator_js__WEBPACK_IMPORTED_MODULE_32__);
/* harmony import */ var pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__("f8db");
/* harmony import */ var pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_33__);


































var pendingOperation = Promise.resolve();
/* harmony default export */ __webpack_exports__["default"] = (function (PDFJS) {
  function isPDFDocumentLoadingTask(obj) {
    return Object(D_framework_vue_demo_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(obj) === 'object' && obj !== null && obj.__PDFDocumentLoadingTask === true; // or: return obj.constructor.name === 'PDFDocumentLoadingTask';
  }

  function createLoadingTask(src, options) {
    var source;
    if (typeof src === 'string') source = {
      url: src
    };else if (src instanceof Uint8Array) source = {
      data: src
    };else if (Object(D_framework_vue_demo_node_modules_babel_runtime_helpers_esm_typeof_js__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(src) === 'object' && src !== null) source = Object.assign({}, src);else throw new TypeError('invalid src type'); // source.verbosity = PDFJS.VerbosityLevel.INFOS;
    // source.pdfBug = true;
    // source.stopAtErrors = true;

    if (options && options.withCredentials) source.withCredentials = options.withCredentials;
    var loadingTask = PDFJS.getDocument(source);
    loadingTask.__PDFDocumentLoadingTask = true; // since PDFDocumentLoadingTask is not public

    if (options && options.onPassword) loadingTask.onPassword = options.onPassword;
    if (options && options.onProgress) loadingTask.onProgress = options.onProgress;
    return loadingTask;
  }

  function PDFJSWrapper(canvasElt, annotationLayerElt, emitEvent) {
    var pdfDoc = null;
    var pdfPage = null;
    var pdfRender = null;
    var canceling = false;
    canvasElt.getContext('2d').save();

    function clearCanvas() {
      canvasElt.getContext('2d').clearRect(0, 0, canvasElt.width, canvasElt.height);
    }

    function clearAnnotations() {
      while (annotationLayerElt.firstChild) {
        annotationLayerElt.removeChild(annotationLayerElt.firstChild);
      }
    }

    this.destroy = function () {
      if (pdfDoc === null) return; // Aborts all network requests and destroys worker.

      pendingOperation = pdfDoc.destroy();
      pdfDoc = null;
    };

    this.getResolutionScale = function () {
      return canvasElt.offsetWidth / canvasElt.width;
    };

    this.printPage = function (dpi, pageNumberOnly) {
      if (pdfPage === null) return; // 1in == 72pt
      // 1in == 96px

      var PRINT_RESOLUTION = dpi === undefined ? 150 : dpi;
      var PRINT_UNITS = PRINT_RESOLUTION / 72.0;
      var CSS_UNITS = 96.0 / 72.0;
      var iframeElt = document.createElement('iframe');

      function removeIframe() {
        iframeElt.parentNode.removeChild(iframeElt);
      }

      new Promise(function (resolve, reject) {
        iframeElt.frameBorder = '0';
        iframeElt.scrolling = 'no';
        iframeElt.width = '0px;';
        iframeElt.height = '0px;';
        iframeElt.style.cssText = 'position: absolute; top: 0; left: 0';

        iframeElt.onload = function () {
          resolve(this.contentWindow);
        };

        window.document.body.appendChild(iframeElt);
      }).then(function (win) {
        win.document.title = '';
        return pdfDoc.getPage(1).then(function (page) {
          var viewport = page.getViewport({
            scale: 1
          });
          win.document.head.appendChild(win.document.createElement('style')).textContent = '@supports ((size:A4) and (size:1pt 1pt)) {' + '@page { margin: 1pt; size: ' + viewport.width * PRINT_UNITS / CSS_UNITS + 'pt ' + viewport.height * PRINT_UNITS / CSS_UNITS + 'pt; }' + '}' + '@media print {' + 'body { margin: 0 }' + 'canvas { page-break-before: avoid; page-break-after: always; page-break-inside: avoid }' + '}' + '@media screen {' + 'body { margin: 0 }' + '}' + '';
          return win;
        });
      }).then(function (win) {
        var allPages = [];

        for (var pageNumber = 1; pageNumber <= pdfDoc.numPages; ++pageNumber) {
          if (pageNumberOnly !== undefined && pageNumberOnly.indexOf(pageNumber) === -1) continue;
          allPages.push(pdfDoc.getPage(pageNumber).then(function (page) {
            var viewport = page.getViewport({
              scale: 1
            });
            var printCanvasElt = win.document.body.appendChild(win.document.createElement('canvas'));
            printCanvasElt.width = viewport.width * PRINT_UNITS;
            printCanvasElt.height = viewport.height * PRINT_UNITS;
            return page.render({
              canvasContext: printCanvasElt.getContext('2d'),
              transform: [// Additional transform, applied just before viewport transform.
              PRINT_UNITS, 0, 0, PRINT_UNITS, 0, 0],
              viewport: viewport,
              intent: 'print'
            }).promise;
          }));
        }

        Promise.all(allPages).then(function () {
          win.focus(); // Required for IE

          if (win.document.queryCommandSupported('print')) {
            win.document.execCommand('print', false, null);
          } else {
            win.print();
          }

          removeIframe();
        }).catch(function (err) {
          removeIframe();
          emitEvent('error', err);
        });
      });
    };

    this.renderPage = function (rotate) {
      if (pdfRender !== null) {
        if (canceling) return;
        canceling = true;
        pdfRender.cancel().catch(function (err) {
          emitEvent('error', err);
        });
        return;
      }

      if (pdfPage === null) return;
      var pageRotate = (pdfPage.rotate === undefined ? 0 : pdfPage.rotate) + (rotate === undefined ? 0 : rotate);
      var scale = canvasElt.offsetWidth / pdfPage.getViewport({
        scale: 1
      }).width * (window.devicePixelRatio || 1);
      var viewport = pdfPage.getViewport({
        scale: scale,
        rotation: pageRotate
      });
      emitEvent('page-size', viewport.width, viewport.height, scale);
      canvasElt.width = viewport.width;
      canvasElt.height = viewport.height;
      pdfRender = pdfPage.render({
        canvasContext: canvasElt.getContext('2d'),
        viewport: viewport
      });
      annotationLayerElt.style.visibility = 'hidden';
      clearAnnotations();
      var viewer = {
        scrollPageIntoView: function scrollPageIntoView(params) {
          emitEvent('link-clicked', params.pageNumber);
        }
      };
      var linkService = new pdfjs_dist_es5_web_pdf_viewer__WEBPACK_IMPORTED_MODULE_33__["PDFLinkService"]();
      linkService.setDocument(pdfDoc);
      linkService.setViewer(viewer);
      pendingOperation = pendingOperation.then(function () {
        var getAnnotationsOperation = pdfPage.getAnnotations({
          intent: 'display'
        }).then(function (annotations) {
          PDFJS.AnnotationLayer.render({
            viewport: viewport.clone({
              dontFlip: true
            }),
            div: annotationLayerElt,
            annotations: annotations,
            page: pdfPage,
            linkService: linkService,
            renderInteractiveForms: false
          });
        });
        var pdfRenderOperation = pdfRender.promise.then(function () {
          annotationLayerElt.style.visibility = '';
          canceling = false;
          pdfRender = null;
        }).catch(function (err) {
          pdfRender = null;

          if (err instanceof PDFJS.RenderingCancelledException) {
            canceling = false;
            this.renderPage(rotate);
            return;
          }

          emitEvent('error', err);
        }.bind(this));
        return Promise.all([getAnnotationsOperation, pdfRenderOperation]);
      }.bind(this));
    };

    this.forEachPage = function (pageCallback) {
      var numPages = pdfDoc.numPages;

      (function next(pageNum) {
        pdfDoc.getPage(pageNum).then(pageCallback).then(function () {
          if (++pageNum <= numPages) next(pageNum);
        });
      })(1);
    };

    this.loadPage = function (pageNumber, rotate) {
      pdfPage = null;
      if (pdfDoc === null) return;
      pendingOperation = pendingOperation.then(function () {
        return pdfDoc.getPage(pageNumber);
      }).then(function (page) {
        pdfPage = page;
        this.renderPage(rotate);
        emitEvent('page-loaded', page.pageNumber);
      }.bind(this)).catch(function (err) {
        clearCanvas();
        clearAnnotations();
        emitEvent('error', err);
      });
    };

    this.loadDocument = function (src) {
      pdfDoc = null;
      pdfPage = null;
      emitEvent('num-pages', undefined);

      if (!src) {
        canvasElt.removeAttribute('width');
        canvasElt.removeAttribute('height');
        clearAnnotations();
        return;
      } // wait for pending operation ends


      pendingOperation = pendingOperation.then(function () {
        var loadingTask;

        if (isPDFDocumentLoadingTask(src)) {
          if (src.destroyed) {
            emitEvent('error', new Error('loadingTask has been destroyed'));
            return;
          }

          loadingTask = src;
        } else {
          loadingTask = createLoadingTask(src, {
            onPassword: function onPassword(updatePassword, reason) {
              var reasonStr;

              switch (reason) {
                case PDFJS.PasswordResponses.NEED_PASSWORD:
                  reasonStr = 'NEED_PASSWORD';
                  break;

                case PDFJS.PasswordResponses.INCORRECT_PASSWORD:
                  reasonStr = 'INCORRECT_PASSWORD';
                  break;
              }

              emitEvent('password', updatePassword, reasonStr);
            },
            onProgress: function onProgress(status) {
              var ratio = status.loaded / status.total;
              emitEvent('progress', Math.min(ratio, 1));
            }
          });
        }

        return loadingTask.promise;
      }).then(function (pdf) {
        pdfDoc = pdf;
        emitEvent('num-pages', pdf.numPages);
        emitEvent('loaded');
      }).catch(function (err) {
        clearCanvas();
        clearAnnotations();
        emitEvent('error', err);
      });
    };

    annotationLayerElt.style.transformOrigin = '0 0';
  }

  return {
    createLoadingTask: createLoadingTask,
    PDFJSWrapper: PDFJSWrapper
  };
});

/***/ }),

/***/ "e219":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAABsCAYAAACiuLoyAAAABHNCSVQICAgIfAhkiAAABvVJREFUeF7tXctuHEUUrR7Py44dO/KYOMQPCVlYjhRExIKwyCIrpHxBlAWPRcQagZQoUhSyCYkEEktQFsAmiviACFYRCossWAARscIikhMnGWNbdjy2mbHHHu5tbAjz6K6u6kdV+5RUGj9uVZ8693R1T93uuo5oKo1G4zj96X2qU1SPUB1stsHvVjGwSGjv79RvHMe5+yJ6Z/cXcnyRfr5M9SOqXVYNEWBlGdgiw8+oXiQhbHIjVwDk/Nfo4zuqk7I9wc5qBn4l9O+QCH7bFcBV+sM5q4cE8EEZuEYCOO/Q2f8WtfyJaiZoD7C3moFtQn+MBfAl/fCB1UMBeFUGvmIB8F3hm6o9oJ3VDPzIAlimIfRbPQyAV2VgjgXQUG2NdvYzAAHY70OtEUAAWvTZ3xgCsN+HWiOAALTos78xBGC/D7VGAAFo0Wd/YwjAfh9qjUBLAA9ma+LOvYqYX66L6ob3ckIx74ihgaw4cbRPTI4UPEGvrm+KpUpN1Da2xPY2limayeouZkWpvyj4U7coC2D6UVXcvL2kdPzTJw+IqTF+/KC1sPOfzq8p9bvXGo0e7NUWgbIArt9aELPz7jMFgcvIUE6cPVVq2+5xeVX8VasH7nMvNuguZMXocK/W0JUFcOVGWdQ21abnQs4RF84MtwX+xwyHJlBkGMhkHDExqhfGURbApW+fyWDsaHP53UMQgBaD/zR+dXxAqxcIQIu+5BtDAMn7IFEEEECi9Cd/cAggeR8kigACSJT+5A8OASTvg0QRQACJ0p/8wSGA5H2QGAJaBxITYylbB8BSsLyeEl0KjmolEMEgeQEkGgyKSgA8fDccvMLh4LpANLhVEHzmlwYSDgdHKQD5cwCWugwYFwvQHRDaB2MAAgjGV+qsIYDUuTTYgCCAYHylztpYAaysbYjNOu9hgNLMQC6bEfv35UMhxjgBsNMfz62KOpzv6eAsiYDXAVgMOsU4AZQX1gWf/Sj+DPAsMFzq8Tf0sDBOAA+frODsl3QpzwKvHN4vad3ezDgB4KngYP5ENDAYX6mzhgBS59JgA4IAgvGVOmsIIHUuDTYgCCAYX6mzhgBS59JgA4IAgvGVOmsIIHUuDTag1Alg5mmFXjvnvAYofgwUcl1i/OU+PzPP/xu3Eri4XBWLz6tag9orjQdpm5hBejZQpxgnAN4T6Mmfa9glxMer/GDo4Zf2Cd4kQqcYJ4DdwfAGURwa5k+U/xgo5LvcEDB/hlGMFUAYg0Mf/gxAAP4cpdoCAki1e/0HBwH4c5RqC2MF4O4Salgyk4zjSN98RYk/CA4/9RonAP4aWF5cd98PNLH09uTE8GBPx69fceH3wyHLnXECsGEhyGsBJk78qVwImnlGS8GGf/fn7+Djh9ovwca5lO2Fw9oZwJaHQjsFYeLGn7pgUNwEyp4pzXYQwB7fKxgCgADaTh5xz2C4BKjO4ZrtMANgBsAMoHMS2Z4vADMAZgDMAJgBWhnATaCkKjpdAh7O0uvhW2bvDJLtoteyR9q/lh0nfi8ckm4QxsUCbNggwmtjhjjxp3KDCHeLGEodZ+oswGcdp2rrtDVLXPj9cFg7AzBwDqk+X91wP9erZuQQ7KEsnfwEbn9v3vdJ3CjxB8EhIwLjLgEyoGETHgMQQHhcWtkTBGCl28IDDQGEx6WVPUEAVrotPNBGCsBNGFHhhBH0ZHAEGSO66Y6+RC9W8qdXiRqHqhtl8cv0b5wA4kwZ45VyJU4cMo5qZ5PKlDFxJo3ySroUJw5VAaQyaVScwRRe2JkY7TciqqciAi/8sv0ZdwmIUwBMkilxfVmHNdvhkTBV5nbaQQANtRfwosoahhkgmKIxAwTjq8UaMwBmAGtvAr3uYWTPC9wEjrdPvhz3pUjWYbgJVGWqQztcAnAJwCVA5aS6cqNMO3o2VJqKQs4RF84MJ048b7E3MWbvJcALv6xjlO8Brt9aELPzart4jAzlxNlTpbYY41yCxVKwUH8qePpRVdy8vSQrtP/ZnT55QEyNtd/iNM4gDIJBGgJgjz6YrYk79ypifrkuqhvel4Ni3hFDA1lx4mifmBwpeArHDcOucDi4ThtFKWnMsxGf+SXaY1cqHBwhDtWRyeKX6V/5EiDTOWzMZwACMN9HkSKEACKl1/zOIQDzfRQpQhZAmY5wMNKjoHNTGZhjAXxP6N42FSFwRcrADyyAq3SIc5EeBp2bysA1FsAEofudat5UlMAVCQOr1OvrbsIZEsF5+vg0ksOgU1MZ+NBxnC92BZAhlD9TPWYqWuAKlYFfqLc3SADb/6acolmAF+c/ofox1XAyEoWKGZ2FwABn4Pqc6iVyvpubryXnGAnhOP39PapHdupgCAdGF8kxsEiHvk91murX5Pi7L0L5GwJHxtpreRpUAAAAAElFTkSuQmCC"

/***/ }),

/***/ "e260":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var toIndexedObject = __webpack_require__("fc6a");
var addToUnscopables = __webpack_require__("44d2");
var Iterators = __webpack_require__("3f8c");
var InternalStateModule = __webpack_require__("69f3");
var defineProperty = __webpack_require__("9bf2").f;
var defineIterator = __webpack_require__("7dd0");
var IS_PURE = __webpack_require__("c430");
var DESCRIPTORS = __webpack_require__("83ab");

var ARRAY_ITERATOR = 'Array Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);

// `Array.prototype.entries` method
// https://tc39.es/ecma262/#sec-array.prototype.entries
// `Array.prototype.keys` method
// https://tc39.es/ecma262/#sec-array.prototype.keys
// `Array.prototype.values` method
// https://tc39.es/ecma262/#sec-array.prototype.values
// `Array.prototype[@@iterator]` method
// https://tc39.es/ecma262/#sec-array.prototype-@@iterator
// `CreateArrayIterator` internal method
// https://tc39.es/ecma262/#sec-createarrayiterator
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
  setInternalState(this, {
    type: ARRAY_ITERATOR,
    target: toIndexedObject(iterated), // target
    index: 0,                          // next index
    kind: kind                         // kind
  });
// `%ArrayIteratorPrototype%.next` method
// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next
}, function () {
  var state = getInternalState(this);
  var target = state.target;
  var kind = state.kind;
  var index = state.index++;
  if (!target || index >= target.length) {
    state.target = undefined;
    return { value: undefined, done: true };
  }
  if (kind == 'keys') return { value: index, done: false };
  if (kind == 'values') return { value: target[index], done: false };
  return { value: [index, target[index]], done: false };
}, 'values');

// argumentsList[@@iterator] is %ArrayProto_values%
// https://tc39.es/ecma262/#sec-createunmappedargumentsobject
// https://tc39.es/ecma262/#sec-createmappedargumentsobject
var values = Iterators.Arguments = Iterators.Array;

// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');

// V8 ~ Chrome 45- bug
if (!IS_PURE && DESCRIPTORS && values.name !== 'values') try {
  defineProperty(values, 'name', { value: 'values' });
} catch (error) { /* empty */ }


/***/ }),

/***/ "e2cc":
/***/ (function(module, exports, __webpack_require__) {

var redefine = __webpack_require__("6eeb");

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


/***/ }),

/***/ "e330":
/***/ (function(module, exports, __webpack_require__) {

var NATIVE_BIND = __webpack_require__("40d5");

var FunctionPrototype = Function.prototype;
var bind = FunctionPrototype.bind;
var call = FunctionPrototype.call;
var uncurryThis = NATIVE_BIND && bind.bind(call, call);

module.exports = NATIVE_BIND ? function (fn) {
  return fn && uncurryThis(fn);
} : function (fn) {
  return fn && function () {
    return call.apply(fn, arguments);
  };
};


/***/ }),

/***/ "e391":
/***/ (function(module, exports, __webpack_require__) {

var toString = __webpack_require__("577e");

module.exports = function (argument, $default) {
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);
};


/***/ }),

/***/ "e3db":
/***/ (function(module, exports) {

var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
  return toString.call(arr) == '[object Array]';
};


/***/ }),

/***/ "e439":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var fails = __webpack_require__("d039");
var toIndexedObject = __webpack_require__("fc6a");
var nativeGetOwnPropertyDescriptor = __webpack_require__("06cf").f;
var DESCRIPTORS = __webpack_require__("83ab");

var FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });
var FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;

// `Object.getOwnPropertyDescriptor` method
// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {
  getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {
    return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);
  }
});


/***/ }),

/***/ "e4fa":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "e538":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");

exports.f = wellKnownSymbol;


/***/ }),

/***/ "e58c":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

/* eslint-disable es/no-array-prototype-lastindexof -- safe */
var apply = __webpack_require__("2ba4");
var toIndexedObject = __webpack_require__("fc6a");
var toIntegerOrInfinity = __webpack_require__("5926");
var lengthOfArrayLike = __webpack_require__("07fa");
var arrayMethodIsStrict = __webpack_require__("a640");

var min = Math.min;
var $lastIndexOf = [].lastIndexOf;
var NEGATIVE_ZERO = !!$lastIndexOf && 1 / [1].lastIndexOf(1, -0) < 0;
var STRICT_METHOD = arrayMethodIsStrict('lastIndexOf');
var FORCED = NEGATIVE_ZERO || !STRICT_METHOD;

// `Array.prototype.lastIndexOf` method implementation
// https://tc39.es/ecma262/#sec-array.prototype.lastindexof
module.exports = FORCED ? function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) {
  // convert -0 to +0
  if (NEGATIVE_ZERO) return apply($lastIndexOf, this, arguments) || 0;
  var O = toIndexedObject(this);
  var length = lengthOfArrayLike(O);
  var index = length - 1;
  if (arguments.length > 1) index = min(index, toIntegerOrInfinity(arguments[1]));
  if (index < 0) index = length + index;
  for (;index >= 0; index--) if (index in O && O[index] === searchElement) return index || 0;
  return -1;
} : $lastIndexOf;


/***/ }),

/***/ "e5cb":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var getBuiltIn = __webpack_require__("d066");
var hasOwn = __webpack_require__("1a2d");
var createNonEnumerableProperty = __webpack_require__("9112");
var isPrototypeOf = __webpack_require__("3a9b");
var setPrototypeOf = __webpack_require__("d2bb");
var copyConstructorProperties = __webpack_require__("e893");
var inheritIfRequired = __webpack_require__("7156");
var normalizeStringArgument = __webpack_require__("e391");
var installErrorCause = __webpack_require__("ab36");
var clearErrorStack = __webpack_require__("c770");
var ERROR_STACK_INSTALLABLE = __webpack_require__("b980");
var IS_PURE = __webpack_require__("c430");

module.exports = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
  var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
  var path = FULL_NAME.split('.');
  var ERROR_NAME = path[path.length - 1];
  var OriginalError = getBuiltIn.apply(null, path);

  if (!OriginalError) return;

  var OriginalErrorPrototype = OriginalError.prototype;

  // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006
  if (!IS_PURE && hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;

  if (!FORCED) return OriginalError;

  var BaseError = getBuiltIn('Error');

  var WrappedError = wrapper(function (a, b) {
    var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
    var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
    if (message !== undefined) createNonEnumerableProperty(result, 'message', message);
    if (ERROR_STACK_INSTALLABLE) createNonEnumerableProperty(result, 'stack', clearErrorStack(result.stack, 2));
    if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);
    if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);
    return result;
  });

  WrappedError.prototype = OriginalErrorPrototype;

  if (ERROR_NAME !== 'Error') {
    if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);
    else copyConstructorProperties(WrappedError, BaseError, { name: true });
  }

  copyConstructorProperties(WrappedError, OriginalError);

  if (!IS_PURE) try {
    // Safari 13- bug: WebAssembly errors does not have a proper `.name`
    if (OriginalErrorPrototype.name !== ERROR_NAME) {
      createNonEnumerableProperty(OriginalErrorPrototype, 'name', ERROR_NAME);
    }
    OriginalErrorPrototype.constructor = WrappedError;
  } catch (error) { /* empty */ }

  return WrappedError;
};


/***/ }),

/***/ "e667":
/***/ (function(module, exports) {

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


/***/ }),

/***/ "e6cf":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var IS_PURE = __webpack_require__("c430");
var global = __webpack_require__("da84");
var getBuiltIn = __webpack_require__("d066");
var call = __webpack_require__("c65b");
var NativePromise = __webpack_require__("fea9");
var redefine = __webpack_require__("6eeb");
var redefineAll = __webpack_require__("e2cc");
var setPrototypeOf = __webpack_require__("d2bb");
var setToStringTag = __webpack_require__("d44e");
var setSpecies = __webpack_require__("2626");
var aCallable = __webpack_require__("59ed");
var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");
var anInstance = __webpack_require__("19aa");
var inspectSource = __webpack_require__("8925");
var iterate = __webpack_require__("2266");
var checkCorrectnessOfIteration = __webpack_require__("1c7e");
var speciesConstructor = __webpack_require__("4840");
var task = __webpack_require__("2cf4").set;
var microtask = __webpack_require__("b575");
var promiseResolve = __webpack_require__("cdf9");
var hostReportErrors = __webpack_require__("44de");
var newPromiseCapabilityModule = __webpack_require__("f069");
var perform = __webpack_require__("e667");
var Queue = __webpack_require__("01b4");
var InternalStateModule = __webpack_require__("69f3");
var isForced = __webpack_require__("94ca");
var wellKnownSymbol = __webpack_require__("b622");
var IS_BROWSER = __webpack_require__("6069");
var IS_NODE = __webpack_require__("605d");
var V8_VERSION = __webpack_require__("2d00");

var SPECIES = wellKnownSymbol('species');
var PROMISE = 'Promise';

var getInternalState = InternalStateModule.getterFor(PROMISE);
var setInternalState = InternalStateModule.set;
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
var NativePromisePrototype = NativePromise && NativePromise.prototype;
var PromiseConstructor = NativePromise;
var PromisePrototype = NativePromisePrototype;
var TypeError = global.TypeError;
var document = global.document;
var process = global.process;
var newPromiseCapability = newPromiseCapabilityModule.f;
var newGenericPromiseCapability = newPromiseCapability;

var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
var NATIVE_REJECTION_EVENT = isCallable(global.PromiseRejectionEvent);
var UNHANDLED_REJECTION = 'unhandledrejection';
var REJECTION_HANDLED = 'rejectionhandled';
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var SUBCLASSING = false;

var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;

var FORCED = isForced(PROMISE, function () {
  var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);
  var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);
  // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables
  // https://bugs.chromium.org/p/chromium/issues/detail?id=830565
  // We can't detect it synchronously, so just check versions
  if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;
  // We need Promise#finally in the pure version for preventing prototype pollution
  if (IS_PURE && !PromisePrototype['finally']) return true;
  // We can't use @@species feature detection in V8 since it causes
  // deoptimization and performance degradation
  // https://github.com/zloirock/core-js/issues/679
  if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;
  // Detect correctness of subclassing with @@species support
  var promise = new PromiseConstructor(function (resolve) { resolve(1); });
  var FakePromise = function (exec) {
    exec(function () { /* empty */ }, function () { /* empty */ });
  };
  var constructor = promise.constructor = {};
  constructor[SPECIES] = FakePromise;
  SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;
  if (!SUBCLASSING) return true;
  // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test
  return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;
});

var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
  PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });
});

// helpers
var isThenable = function (it) {
  var then;
  return isObject(it) && isCallable(then = it.then) ? then : false;
};

var callReaction = function (reaction, state) {
  var value = state.value;
  var ok = state.state == FULFILLED;
  var handler = ok ? reaction.ok : reaction.fail;
  var resolve = reaction.resolve;
  var reject = reaction.reject;
  var domain = reaction.domain;
  var result, then, exited;
  try {
    if (handler) {
      if (!ok) {
        if (state.rejection === UNHANDLED) onHandleUnhandled(state);
        state.rejection = HANDLED;
      }
      if (handler === true) result = value;
      else {
        if (domain) domain.enter();
        result = handler(value); // can throw
        if (domain) {
          domain.exit();
          exited = true;
        }
      }
      if (result === reaction.promise) {
        reject(TypeError('Promise-chain cycle'));
      } else if (then = isThenable(result)) {
        call(then, result, resolve, reject);
      } else resolve(result);
    } else reject(value);
  } catch (error) {
    if (domain && !exited) domain.exit();
    reject(error);
  }
};

var notify = function (state, isReject) {
  if (state.notified) return;
  state.notified = true;
  microtask(function () {
    var reactions = state.reactions;
    var reaction;
    while (reaction = reactions.get()) {
      callReaction(reaction, state);
    }
    state.notified = false;
    if (isReject && !state.rejection) onUnhandled(state);
  });
};

var dispatchEvent = function (name, promise, reason) {
  var event, handler;
  if (DISPATCH_EVENT) {
    event = document.createEvent('Event');
    event.promise = promise;
    event.reason = reason;
    event.initEvent(name, false, true);
    global.dispatchEvent(event);
  } else event = { promise: promise, reason: reason };
  if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);
  else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);
};

var onUnhandled = function (state) {
  call(task, global, function () {
    var promise = state.facade;
    var value = state.value;
    var IS_UNHANDLED = isUnhandled(state);
    var result;
    if (IS_UNHANDLED) {
      result = perform(function () {
        if (IS_NODE) {
          process.emit('unhandledRejection', value, promise);
        } else dispatchEvent(UNHANDLED_REJECTION, promise, value);
      });
      // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should
      state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
      if (result.error) throw result.value;
    }
  });
};

var isUnhandled = function (state) {
  return state.rejection !== HANDLED && !state.parent;
};

var onHandleUnhandled = function (state) {
  call(task, global, function () {
    var promise = state.facade;
    if (IS_NODE) {
      process.emit('rejectionHandled', promise);
    } else dispatchEvent(REJECTION_HANDLED, promise, state.value);
  });
};

var bind = function (fn, state, unwrap) {
  return function (value) {
    fn(state, value, unwrap);
  };
};

var internalReject = function (state, value, unwrap) {
  if (state.done) return;
  state.done = true;
  if (unwrap) state = unwrap;
  state.value = value;
  state.state = REJECTED;
  notify(state, true);
};

var internalResolve = function (state, value, unwrap) {
  if (state.done) return;
  state.done = true;
  if (unwrap) state = unwrap;
  try {
    if (state.facade === value) throw TypeError("Promise can't be resolved itself");
    var then = isThenable(value);
    if (then) {
      microtask(function () {
        var wrapper = { done: false };
        try {
          call(then, value,
            bind(internalResolve, wrapper, state),
            bind(internalReject, wrapper, state)
          );
        } catch (error) {
          internalReject(wrapper, error, state);
        }
      });
    } else {
      state.value = value;
      state.state = FULFILLED;
      notify(state, false);
    }
  } catch (error) {
    internalReject({ done: false }, error, state);
  }
};

// constructor polyfill
if (FORCED) {
  // 25.4.3.1 Promise(executor)
  PromiseConstructor = function Promise(executor) {
    anInstance(this, PromisePrototype);
    aCallable(executor);
    call(Internal, this);
    var state = getInternalState(this);
    try {
      executor(bind(internalResolve, state), bind(internalReject, state));
    } catch (error) {
      internalReject(state, error);
    }
  };
  PromisePrototype = PromiseConstructor.prototype;
  // eslint-disable-next-line no-unused-vars -- required for `.length`
  Internal = function Promise(executor) {
    setInternalState(this, {
      type: PROMISE,
      done: false,
      notified: false,
      parent: false,
      reactions: new Queue(),
      rejection: false,
      state: PENDING,
      value: undefined
    });
  };
  Internal.prototype = redefineAll(PromisePrototype, {
    // `Promise.prototype.then` method
    // https://tc39.es/ecma262/#sec-promise.prototype.then
    // eslint-disable-next-line unicorn/no-thenable -- safe
    then: function then(onFulfilled, onRejected) {
      var state = getInternalPromiseState(this);
      var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
      state.parent = true;
      reaction.ok = isCallable(onFulfilled) ? onFulfilled : true;
      reaction.fail = isCallable(onRejected) && onRejected;
      reaction.domain = IS_NODE ? process.domain : undefined;
      if (state.state == PENDING) state.reactions.add(reaction);
      else microtask(function () {
        callReaction(reaction, state);
      });
      return reaction.promise;
    },
    // `Promise.prototype.catch` method
    // https://tc39.es/ecma262/#sec-promise.prototype.catch
    'catch': function (onRejected) {
      return this.then(undefined, onRejected);
    }
  });
  OwnPromiseCapability = function () {
    var promise = new Internal();
    var state = getInternalState(promise);
    this.promise = promise;
    this.resolve = bind(internalResolve, state);
    this.reject = bind(internalReject, state);
  };
  newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
    return C === PromiseConstructor || C === PromiseWrapper
      ? new OwnPromiseCapability(C)
      : newGenericPromiseCapability(C);
  };

  if (!IS_PURE && isCallable(NativePromise) && NativePromisePrototype !== Object.prototype) {
    nativeThen = NativePromisePrototype.then;

    if (!SUBCLASSING) {
      // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs
      redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {
        var that = this;
        return new PromiseConstructor(function (resolve, reject) {
          call(nativeThen, that, resolve, reject);
        }).then(onFulfilled, onRejected);
      // https://github.com/zloirock/core-js/issues/640
      }, { unsafe: true });

      // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`
      redefine(NativePromisePrototype, 'catch', PromisePrototype['catch'], { unsafe: true });
    }

    // make `.constructor === Promise` work for native promise-based APIs
    try {
      delete NativePromisePrototype.constructor;
    } catch (error) { /* empty */ }

    // make `instanceof Promise` work for native promise-based APIs
    if (setPrototypeOf) {
      setPrototypeOf(NativePromisePrototype, PromisePrototype);
    }
  }
}

$({ global: true, wrap: true, forced: FORCED }, {
  Promise: PromiseConstructor
});

setToStringTag(PromiseConstructor, PROMISE, false, true);
setSpecies(PROMISE);

PromiseWrapper = getBuiltIn(PROMISE);

// statics
$({ target: PROMISE, stat: true, forced: FORCED }, {
  // `Promise.reject` method
  // https://tc39.es/ecma262/#sec-promise.reject
  reject: function reject(r) {
    var capability = newPromiseCapability(this);
    call(capability.reject, undefined, r);
    return capability.promise;
  }
});

$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {
  // `Promise.resolve` method
  // https://tc39.es/ecma262/#sec-promise.resolve
  resolve: function resolve(x) {
    return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
  }
});

$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {
  // `Promise.all` method
  // https://tc39.es/ecma262/#sec-promise.all
  all: function all(iterable) {
    var C = this;
    var capability = newPromiseCapability(C);
    var resolve = capability.resolve;
    var reject = capability.reject;
    var result = perform(function () {
      var $promiseResolve = aCallable(C.resolve);
      var values = [];
      var counter = 0;
      var remaining = 1;
      iterate(iterable, function (promise) {
        var index = counter++;
        var alreadyCalled = false;
        remaining++;
        call($promiseResolve, C, promise).then(function (value) {
          if (alreadyCalled) return;
          alreadyCalled = true;
          values[index] = value;
          --remaining || resolve(values);
        }, reject);
      });
      --remaining || resolve(values);
    });
    if (result.error) reject(result.value);
    return capability.promise;
  },
  // `Promise.race` method
  // https://tc39.es/ecma262/#sec-promise.race
  race: function race(iterable) {
    var C = this;
    var capability = newPromiseCapability(C);
    var reject = capability.reject;
    var result = perform(function () {
      var $promiseResolve = aCallable(C.resolve);
      iterate(iterable, function (promise) {
        call($promiseResolve, C, promise).then(capability.resolve, reject);
      });
    });
    if (result.error) reject(result.value);
    return capability.promise;
  }
});


/***/ }),

/***/ "e796":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "e79d":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "e893":
/***/ (function(module, exports, __webpack_require__) {

var hasOwn = __webpack_require__("1a2d");
var ownKeys = __webpack_require__("56ef");
var getOwnPropertyDescriptorModule = __webpack_require__("06cf");
var definePropertyModule = __webpack_require__("9bf2");

module.exports = function (target, source, exceptions) {
  var keys = ownKeys(source);
  var defineProperty = definePropertyModule.f;
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
  for (var i = 0; i < keys.length; i++) {
    var key = keys[i];
    if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {
      defineProperty(target, key, getOwnPropertyDescriptor(source, key));
    }
  }
};


/***/ }),

/***/ "e8b5":
/***/ (function(module, exports, __webpack_require__) {

var classof = __webpack_require__("c6b6");

// `IsArray` abstract operation
// https://tc39.es/ecma262/#sec-isarray
// eslint-disable-next-line es/no-array-isarray -- safe
module.exports = Array.isArray || function isArray(argument) {
  return classof(argument) == 'Array';
};


/***/ }),

/***/ "e91f":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var ArrayBufferViewCore = __webpack_require__("ebb5");
var $indexOf = __webpack_require__("4d64").indexOf;

var aTypedArray = ArrayBufferViewCore.aTypedArray;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;

// `%TypedArray%.prototype.indexOf` method
// https://tc39.es/ecma262/#sec-%typedarray%.prototype.indexof
exportTypedArrayMethod('indexOf', function indexOf(searchElement /* , fromIndex */) {
  return $indexOf(aTypedArray(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);
});


/***/ }),

/***/ "e95a":
/***/ (function(module, exports, __webpack_require__) {

var wellKnownSymbol = __webpack_require__("b622");
var Iterators = __webpack_require__("3f8c");

var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;

// check on default Array iterator
module.exports = function (it) {
  return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};


/***/ }),

/***/ "e9c4":
/***/ (function(module, exports, __webpack_require__) {

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var getBuiltIn = __webpack_require__("d066");
var apply = __webpack_require__("2ba4");
var uncurryThis = __webpack_require__("e330");
var fails = __webpack_require__("d039");

var Array = global.Array;
var $stringify = getBuiltIn('JSON', 'stringify');
var exec = uncurryThis(/./.exec);
var charAt = uncurryThis(''.charAt);
var charCodeAt = uncurryThis(''.charCodeAt);
var replace = uncurryThis(''.replace);
var numberToString = uncurryThis(1.0.toString);

var tester = /[\uD800-\uDFFF]/g;
var low = /^[\uD800-\uDBFF]$/;
var hi = /^[\uDC00-\uDFFF]$/;

var fix = function (match, offset, string) {
  var prev = charAt(string, offset - 1);
  var next = charAt(string, offset + 1);
  if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {
    return '\\u' + numberToString(charCodeAt(match, 0), 16);
  } return match;
};

var FORCED = fails(function () {
  return $stringify('\uDF06\uD834') !== '"\\udf06\\ud834"'
    || $stringify('\uDEAD') !== '"\\udead"';
});

if ($stringify) {
  // `JSON.stringify` method
  // https://tc39.es/ecma262/#sec-json.stringify
  // https://github.com/tc39/proposal-well-formed-stringify
  $({ target: 'JSON', stat: true, forced: FORCED }, {
    // eslint-disable-next-line no-unused-vars -- required for `.length`
    stringify: function stringify(it, replacer, space) {
      for (var i = 0, l = arguments.length, args = Array(l); i < l; i++) args[i] = arguments[i];
      var result = apply($stringify, null, args);
      return typeof result == 'string' ? replace(result, tester, fix) : result;
    }
  });
}


/***/ }),

/***/ "eac5":
/***/ (function(module, exports, __webpack_require__) {

var isObject = __webpack_require__("861d");

var floor = Math.floor;

// `IsIntegralNumber` abstract operation
// https://tc39.es/ecma262/#sec-isintegralnumber
// eslint-disable-next-line es/no-number-isinteger -- safe
module.exports = Number.isInteger || function isInteger(it) {
  return !isObject(it) && isFinite(it) && floor(it) === it;
};


/***/ }),

/***/ "ebaa":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchMore_vue_vue_type_style_index_0_id_46b62b43_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("64a7");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchMore_vue_vue_type_style_index_0_id_46b62b43_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_SearchMore_vue_vue_type_style_index_0_id_46b62b43_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ebb5":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var NATIVE_ARRAY_BUFFER = __webpack_require__("a981");
var DESCRIPTORS = __webpack_require__("83ab");
var global = __webpack_require__("da84");
var isCallable = __webpack_require__("1626");
var isObject = __webpack_require__("861d");
var hasOwn = __webpack_require__("1a2d");
var classof = __webpack_require__("f5df");
var tryToString = __webpack_require__("0d51");
var createNonEnumerableProperty = __webpack_require__("9112");
var redefine = __webpack_require__("6eeb");
var defineProperty = __webpack_require__("9bf2").f;
var isPrototypeOf = __webpack_require__("3a9b");
var getPrototypeOf = __webpack_require__("e163");
var setPrototypeOf = __webpack_require__("d2bb");
var wellKnownSymbol = __webpack_require__("b622");
var uid = __webpack_require__("90e3");

var Int8Array = global.Int8Array;
var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
var Uint8ClampedArray = global.Uint8ClampedArray;
var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
var TypedArray = Int8Array && getPrototypeOf(Int8Array);
var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
var ObjectPrototype = Object.prototype;
var TypeError = global.TypeError;

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
var TYPED_ARRAY_CONSTRUCTOR = uid('TYPED_ARRAY_CONSTRUCTOR');
// Fixing native typed arrays in Opera Presto crashes the browser, see #595
var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
var TYPED_ARRAY_TAG_REQUIRED = false;
var NAME, Constructor, Prototype;

var TypedArrayConstructorsList = {
  Int8Array: 1,
  Uint8Array: 1,
  Uint8ClampedArray: 1,
  Int16Array: 2,
  Uint16Array: 2,
  Int32Array: 4,
  Uint32Array: 4,
  Float32Array: 4,
  Float64Array: 8
};

var BigIntArrayConstructorsList = {
  BigInt64Array: 8,
  BigUint64Array: 8
};

var isView = function isView(it) {
  if (!isObject(it)) return false;
  var klass = classof(it);
  return klass === 'DataView'
    || hasOwn(TypedArrayConstructorsList, klass)
    || hasOwn(BigIntArrayConstructorsList, klass);
};

var isTypedArray = function (it) {
  if (!isObject(it)) return false;
  var klass = classof(it);
  return hasOwn(TypedArrayConstructorsList, klass)
    || hasOwn(BigIntArrayConstructorsList, klass);
};

var aTypedArray = function (it) {
  if (isTypedArray(it)) return it;
  throw TypeError('Target is not a typed array');
};

var aTypedArrayConstructor = function (C) {
  if (isCallable(C) && (!setPrototypeOf || isPrototypeOf(TypedArray, C))) return C;
  throw TypeError(tryToString(C) + ' is not a typed array constructor');
};

var exportTypedArrayMethod = function (KEY, property, forced, options) {
  if (!DESCRIPTORS) return;
  if (forced) for (var ARRAY in TypedArrayConstructorsList) {
    var TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && hasOwn(TypedArrayConstructor.prototype, KEY)) try {
      delete TypedArrayConstructor.prototype[KEY];
    } catch (error) {
      // old WebKit bug - some methods are non-configurable
      try {
        TypedArrayConstructor.prototype[KEY] = property;
      } catch (error2) { /* empty */ }
    }
  }
  if (!TypedArrayPrototype[KEY] || forced) {
    redefine(TypedArrayPrototype, KEY, forced ? property
      : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property, options);
  }
};

var exportTypedArrayStaticMethod = function (KEY, property, forced) {
  var ARRAY, TypedArrayConstructor;
  if (!DESCRIPTORS) return;
  if (setPrototypeOf) {
    if (forced) for (ARRAY in TypedArrayConstructorsList) {
      TypedArrayConstructor = global[ARRAY];
      if (TypedArrayConstructor && hasOwn(TypedArrayConstructor, KEY)) try {
        delete TypedArrayConstructor[KEY];
      } catch (error) { /* empty */ }
    }
    if (!TypedArray[KEY] || forced) {
      // V8 ~ Chrome 49-50 `%TypedArray%` methods are non-writable non-configurable
      try {
        return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && TypedArray[KEY] || property);
      } catch (error) { /* empty */ }
    } else return;
  }
  for (ARRAY in TypedArrayConstructorsList) {
    TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
      redefine(TypedArrayConstructor, KEY, property);
    }
  }
};

for (NAME in TypedArrayConstructorsList) {
  Constructor = global[NAME];
  Prototype = Constructor && Constructor.prototype;
  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);
  else NATIVE_ARRAY_BUFFER_VIEWS = false;
}

for (NAME in BigIntArrayConstructorsList) {
  Constructor = global[NAME];
  Prototype = Constructor && Constructor.prototype;
  if (Prototype) createNonEnumerableProperty(Prototype, TYPED_ARRAY_CONSTRUCTOR, Constructor);
}

// WebKit bug - typed arrays constructors prototype is Object.prototype
if (!NATIVE_ARRAY_BUFFER_VIEWS || !isCallable(TypedArray) || TypedArray === Function.prototype) {
  // eslint-disable-next-line no-shadow -- safe
  TypedArray = function TypedArray() {
    throw TypeError('Incorrect invocation');
  };
  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
    if (global[NAME]) setPrototypeOf(global[NAME], TypedArray);
  }
}

if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
  TypedArrayPrototype = TypedArray.prototype;
  if (NATIVE_ARRAY_BUFFER_VIEWS) for (NAME in TypedArrayConstructorsList) {
    if (global[NAME]) setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
  }
}

// WebKit bug - one more object in Uint8ClampedArray prototype chain
if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
  setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
}

if (DESCRIPTORS && !hasOwn(TypedArrayPrototype, TO_STRING_TAG)) {
  TYPED_ARRAY_TAG_REQUIRED = true;
  defineProperty(TypedArrayPrototype, TO_STRING_TAG, { get: function () {
    return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
  } });
  for (NAME in TypedArrayConstructorsList) if (global[NAME]) {
    createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
  }
}

module.exports = {
  NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
  TYPED_ARRAY_CONSTRUCTOR: TYPED_ARRAY_CONSTRUCTOR,
  TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQUIRED && TYPED_ARRAY_TAG,
  aTypedArray: aTypedArray,
  aTypedArrayConstructor: aTypedArrayConstructor,
  exportTypedArrayMethod: exportTypedArrayMethod,
  exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
  isView: isView,
  isTypedArray: isTypedArray,
  TypedArray: TypedArray,
  TypedArrayPrototype: TypedArrayPrototype
};


/***/ }),

/***/ "edfb":
/***/ (function(module, exports, __webpack_require__) {

/* WEBPACK VAR INJECTION */(function(Buffer, process, global) {/**
 * @licstart The following is the entire license notice for the
 * Javascript code in this page
 *
 * Copyright 2020 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @licend The above is the entire license notice for the
 * Javascript code in this page
 */

(function webpackUniversalModuleDefinition(root, factory) {
	if(true)
		module.exports = factory();
	else {}
})(this, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// The require function
/******/ 	function __w_pdfjs_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__w_pdfjs_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__w_pdfjs_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__w_pdfjs_require__.d = function(exports, name, getter) {
/******/ 		if(!__w_pdfjs_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__w_pdfjs_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__w_pdfjs_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __w_pdfjs_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__w_pdfjs_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__w_pdfjs_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__w_pdfjs_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__w_pdfjs_require__.p = "";
/******/
/******/
/******/ 	// Load entry module and return exports
/******/ 	return __w_pdfjs_require__(__w_pdfjs_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
Object.defineProperty(exports, "addLinkAttributes", {
  enumerable: true,
  get: function get() {
    return _display_utils.addLinkAttributes;
  }
});
Object.defineProperty(exports, "getFilenameFromUrl", {
  enumerable: true,
  get: function get() {
    return _display_utils.getFilenameFromUrl;
  }
});
Object.defineProperty(exports, "LinkTarget", {
  enumerable: true,
  get: function get() {
    return _display_utils.LinkTarget;
  }
});
Object.defineProperty(exports, "loadScript", {
  enumerable: true,
  get: function get() {
    return _display_utils.loadScript;
  }
});
Object.defineProperty(exports, "PDFDateString", {
  enumerable: true,
  get: function get() {
    return _display_utils.PDFDateString;
  }
});
Object.defineProperty(exports, "RenderingCancelledException", {
  enumerable: true,
  get: function get() {
    return _display_utils.RenderingCancelledException;
  }
});
Object.defineProperty(exports, "build", {
  enumerable: true,
  get: function get() {
    return _api.build;
  }
});
Object.defineProperty(exports, "getDocument", {
  enumerable: true,
  get: function get() {
    return _api.getDocument;
  }
});
Object.defineProperty(exports, "LoopbackPort", {
  enumerable: true,
  get: function get() {
    return _api.LoopbackPort;
  }
});
Object.defineProperty(exports, "PDFDataRangeTransport", {
  enumerable: true,
  get: function get() {
    return _api.PDFDataRangeTransport;
  }
});
Object.defineProperty(exports, "PDFWorker", {
  enumerable: true,
  get: function get() {
    return _api.PDFWorker;
  }
});
Object.defineProperty(exports, "version", {
  enumerable: true,
  get: function get() {
    return _api.version;
  }
});
Object.defineProperty(exports, "CMapCompressionType", {
  enumerable: true,
  get: function get() {
    return _util.CMapCompressionType;
  }
});
Object.defineProperty(exports, "createObjectURL", {
  enumerable: true,
  get: function get() {
    return _util.createObjectURL;
  }
});
Object.defineProperty(exports, "createPromiseCapability", {
  enumerable: true,
  get: function get() {
    return _util.createPromiseCapability;
  }
});
Object.defineProperty(exports, "createValidAbsoluteUrl", {
  enumerable: true,
  get: function get() {
    return _util.createValidAbsoluteUrl;
  }
});
Object.defineProperty(exports, "InvalidPDFException", {
  enumerable: true,
  get: function get() {
    return _util.InvalidPDFException;
  }
});
Object.defineProperty(exports, "MissingPDFException", {
  enumerable: true,
  get: function get() {
    return _util.MissingPDFException;
  }
});
Object.defineProperty(exports, "OPS", {
  enumerable: true,
  get: function get() {
    return _util.OPS;
  }
});
Object.defineProperty(exports, "PasswordResponses", {
  enumerable: true,
  get: function get() {
    return _util.PasswordResponses;
  }
});
Object.defineProperty(exports, "PermissionFlag", {
  enumerable: true,
  get: function get() {
    return _util.PermissionFlag;
  }
});
Object.defineProperty(exports, "removeNullCharacters", {
  enumerable: true,
  get: function get() {
    return _util.removeNullCharacters;
  }
});
Object.defineProperty(exports, "shadow", {
  enumerable: true,
  get: function get() {
    return _util.shadow;
  }
});
Object.defineProperty(exports, "UnexpectedResponseException", {
  enumerable: true,
  get: function get() {
    return _util.UnexpectedResponseException;
  }
});
Object.defineProperty(exports, "UNSUPPORTED_FEATURES", {
  enumerable: true,
  get: function get() {
    return _util.UNSUPPORTED_FEATURES;
  }
});
Object.defineProperty(exports, "Util", {
  enumerable: true,
  get: function get() {
    return _util.Util;
  }
});
Object.defineProperty(exports, "VerbosityLevel", {
  enumerable: true,
  get: function get() {
    return _util.VerbosityLevel;
  }
});
Object.defineProperty(exports, "AnnotationLayer", {
  enumerable: true,
  get: function get() {
    return _annotation_layer.AnnotationLayer;
  }
});
Object.defineProperty(exports, "apiCompatibilityParams", {
  enumerable: true,
  get: function get() {
    return _api_compatibility.apiCompatibilityParams;
  }
});
Object.defineProperty(exports, "GlobalWorkerOptions", {
  enumerable: true,
  get: function get() {
    return _worker_options.GlobalWorkerOptions;
  }
});
Object.defineProperty(exports, "renderTextLayer", {
  enumerable: true,
  get: function get() {
    return _text_layer.renderTextLayer;
  }
});
Object.defineProperty(exports, "SVGGraphics", {
  enumerable: true,
  get: function get() {
    return _svg.SVGGraphics;
  }
});

var _display_utils = __w_pdfjs_require__(1);

var _api = __w_pdfjs_require__(202);

var _util = __w_pdfjs_require__(5);

var _annotation_layer = __w_pdfjs_require__(216);

var _api_compatibility = __w_pdfjs_require__(206);

var _worker_options = __w_pdfjs_require__(209);

var _text_layer = __w_pdfjs_require__(217);

var _svg = __w_pdfjs_require__(218);

var pdfjsVersion = '2.6.347';
var pdfjsBuild = '3be9c65f';
{
  var _require = __w_pdfjs_require__(7),
      isNodeJS = _require.isNodeJS;

  if (isNodeJS) {
    var PDFNodeStream = __w_pdfjs_require__(219).PDFNodeStream;

    (0, _api.setPDFNetworkStreamFactory)(function (params) {
      return new PDFNodeStream(params);
    });
  } else {
    var PDFNetworkStream = __w_pdfjs_require__(222).PDFNetworkStream;

    var PDFFetchStream;

    if ((0, _display_utils.isFetchSupported)()) {
      PDFFetchStream = __w_pdfjs_require__(223).PDFFetchStream;
    }

    (0, _api.setPDFNetworkStreamFactory)(function (params) {
      if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {
        return new PDFFetchStream(params);
      }

      return new PDFNetworkStream(params);
    });
  }
}

/***/ }),
/* 1 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.addLinkAttributes = addLinkAttributes;
exports.getFilenameFromUrl = getFilenameFromUrl;
exports.isFetchSupported = isFetchSupported;
exports.isValidFetchUrl = isValidFetchUrl;
exports.loadScript = loadScript;
exports.deprecated = deprecated;
exports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.BaseCMapReaderFactory = exports.DOMCanvasFactory = exports.BaseCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var DEFAULT_LINK_REL = "noopener noreferrer nofollow";
exports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;
var SVG_NS = "http://www.w3.org/2000/svg";

var BaseCanvasFactory = /*#__PURE__*/function () {
  function BaseCanvasFactory() {
    _classCallCheck(this, BaseCanvasFactory);

    if (this.constructor === BaseCanvasFactory) {
      (0, _util.unreachable)("Cannot initialize BaseCanvasFactory.");
    }
  }

  _createClass(BaseCanvasFactory, [{
    key: "create",
    value: function create(width, height) {
      (0, _util.unreachable)("Abstract method `create` called.");
    }
  }, {
    key: "reset",
    value: function reset(canvasAndContext, width, height) {
      if (!canvasAndContext.canvas) {
        throw new Error("Canvas is not specified");
      }

      if (width <= 0 || height <= 0) {
        throw new Error("Invalid canvas size");
      }

      canvasAndContext.canvas.width = width;
      canvasAndContext.canvas.height = height;
    }
  }, {
    key: "destroy",
    value: function destroy(canvasAndContext) {
      if (!canvasAndContext.canvas) {
        throw new Error("Canvas is not specified");
      }

      canvasAndContext.canvas.width = 0;
      canvasAndContext.canvas.height = 0;
      canvasAndContext.canvas = null;
      canvasAndContext.context = null;
    }
  }]);

  return BaseCanvasFactory;
}();

exports.BaseCanvasFactory = BaseCanvasFactory;

var DOMCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
  _inherits(DOMCanvasFactory, _BaseCanvasFactory);

  var _super = _createSuper(DOMCanvasFactory);

  function DOMCanvasFactory() {
    var _this;

    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        _ref$ownerDocument = _ref.ownerDocument,
        ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;

    _classCallCheck(this, DOMCanvasFactory);

    _this = _super.call(this);
    _this._document = ownerDocument;
    return _this;
  }

  _createClass(DOMCanvasFactory, [{
    key: "create",
    value: function create(width, height) {
      if (width <= 0 || height <= 0) {
        throw new Error("Invalid canvas size");
      }

      var canvas = this._document.createElement("canvas");

      var context = canvas.getContext("2d");
      canvas.width = width;
      canvas.height = height;
      return {
        canvas: canvas,
        context: context
      };
    }
  }]);

  return DOMCanvasFactory;
}(BaseCanvasFactory);

exports.DOMCanvasFactory = DOMCanvasFactory;

var BaseCMapReaderFactory = /*#__PURE__*/function () {
  function BaseCMapReaderFactory(_ref2) {
    var _ref2$baseUrl = _ref2.baseUrl,
        baseUrl = _ref2$baseUrl === void 0 ? null : _ref2$baseUrl,
        _ref2$isCompressed = _ref2.isCompressed,
        isCompressed = _ref2$isCompressed === void 0 ? false : _ref2$isCompressed;

    _classCallCheck(this, BaseCMapReaderFactory);

    if (this.constructor === BaseCMapReaderFactory) {
      (0, _util.unreachable)("Cannot initialize BaseCMapReaderFactory.");
    }

    this.baseUrl = baseUrl;
    this.isCompressed = isCompressed;
  }

  _createClass(BaseCMapReaderFactory, [{
    key: "fetch",
    value: function () {
      var _fetch = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref3) {
        var _this2 = this;

        var name, url, compressionType;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                name = _ref3.name;

                if (this.baseUrl) {
                  _context.next = 3;
                  break;
                }

                throw new Error('The CMap "baseUrl" parameter must be specified, ensure that ' + 'the "cMapUrl" and "cMapPacked" API parameters are provided.');

              case 3:
                if (name) {
                  _context.next = 5;
                  break;
                }

                throw new Error("CMap name must be specified.");

              case 5:
                url = this.baseUrl + name + (this.isCompressed ? ".bcmap" : "");
                compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;
                return _context.abrupt("return", this._fetchData(url, compressionType)["catch"](function (reason) {
                  throw new Error("Unable to load ".concat(_this2.isCompressed ? "binary " : "", "CMap at: ").concat(url));
                }));

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function fetch(_x) {
        return _fetch.apply(this, arguments);
      }

      return fetch;
    }()
  }, {
    key: "_fetchData",
    value: function _fetchData(url, compressionType) {
      (0, _util.unreachable)("Abstract method `_fetchData` called.");
    }
  }]);

  return BaseCMapReaderFactory;
}();

exports.BaseCMapReaderFactory = BaseCMapReaderFactory;

var DOMCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
  _inherits(DOMCMapReaderFactory, _BaseCMapReaderFactor);

  var _super2 = _createSuper(DOMCMapReaderFactory);

  function DOMCMapReaderFactory() {
    _classCallCheck(this, DOMCMapReaderFactory);

    return _super2.apply(this, arguments);
  }

  _createClass(DOMCMapReaderFactory, [{
    key: "_fetchData",
    value: function _fetchData(url, compressionType) {
      var _this3 = this;

      if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {
        return fetch(url).then( /*#__PURE__*/function () {
          var _ref4 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(response) {
            var cMapData;
            return _regenerator["default"].wrap(function _callee2$(_context2) {
              while (1) {
                switch (_context2.prev = _context2.next) {
                  case 0:
                    if (response.ok) {
                      _context2.next = 2;
                      break;
                    }

                    throw new Error(response.statusText);

                  case 2:
                    if (!_this3.isCompressed) {
                      _context2.next = 10;
                      break;
                    }

                    _context2.t0 = Uint8Array;
                    _context2.next = 6;
                    return response.arrayBuffer();

                  case 6:
                    _context2.t1 = _context2.sent;
                    cMapData = new _context2.t0(_context2.t1);
                    _context2.next = 15;
                    break;

                  case 10:
                    _context2.t2 = _util.stringToBytes;
                    _context2.next = 13;
                    return response.text();

                  case 13:
                    _context2.t3 = _context2.sent;
                    cMapData = (0, _context2.t2)(_context2.t3);

                  case 15:
                    return _context2.abrupt("return", {
                      cMapData: cMapData,
                      compressionType: compressionType
                    });

                  case 16:
                  case "end":
                    return _context2.stop();
                }
              }
            }, _callee2);
          }));

          return function (_x2) {
            return _ref4.apply(this, arguments);
          };
        }());
      }

      return new Promise(function (resolve, reject) {
        var request = new XMLHttpRequest();
        request.open("GET", url, true);

        if (_this3.isCompressed) {
          request.responseType = "arraybuffer";
        }

        request.onreadystatechange = function () {
          if (request.readyState !== XMLHttpRequest.DONE) {
            return;
          }

          if (request.status === 200 || request.status === 0) {
            var cMapData;

            if (_this3.isCompressed && request.response) {
              cMapData = new Uint8Array(request.response);
            } else if (!_this3.isCompressed && request.responseText) {
              cMapData = (0, _util.stringToBytes)(request.responseText);
            }

            if (cMapData) {
              resolve({
                cMapData: cMapData,
                compressionType: compressionType
              });
              return;
            }
          }

          reject(new Error(request.statusText));
        };

        request.send(null);
      });
    }
  }]);

  return DOMCMapReaderFactory;
}(BaseCMapReaderFactory);

exports.DOMCMapReaderFactory = DOMCMapReaderFactory;

var DOMSVGFactory = /*#__PURE__*/function () {
  function DOMSVGFactory() {
    _classCallCheck(this, DOMSVGFactory);
  }

  _createClass(DOMSVGFactory, [{
    key: "create",
    value: function create(width, height) {
      (0, _util.assert)(width > 0 && height > 0, "Invalid SVG dimensions");
      var svg = document.createElementNS(SVG_NS, "svg:svg");
      svg.setAttribute("version", "1.1");
      svg.setAttribute("width", width + "px");
      svg.setAttribute("height", height + "px");
      svg.setAttribute("preserveAspectRatio", "none");
      svg.setAttribute("viewBox", "0 0 " + width + " " + height);
      return svg;
    }
  }, {
    key: "createElement",
    value: function createElement(type) {
      (0, _util.assert)(typeof type === "string", "Invalid SVG element type");
      return document.createElementNS(SVG_NS, type);
    }
  }]);

  return DOMSVGFactory;
}();

exports.DOMSVGFactory = DOMSVGFactory;

var PageViewport = /*#__PURE__*/function () {
  function PageViewport(_ref5) {
    var viewBox = _ref5.viewBox,
        scale = _ref5.scale,
        rotation = _ref5.rotation,
        _ref5$offsetX = _ref5.offsetX,
        offsetX = _ref5$offsetX === void 0 ? 0 : _ref5$offsetX,
        _ref5$offsetY = _ref5.offsetY,
        offsetY = _ref5$offsetY === void 0 ? 0 : _ref5$offsetY,
        _ref5$dontFlip = _ref5.dontFlip,
        dontFlip = _ref5$dontFlip === void 0 ? false : _ref5$dontFlip;

    _classCallCheck(this, PageViewport);

    this.viewBox = viewBox;
    this.scale = scale;
    this.rotation = rotation;
    this.offsetX = offsetX;
    this.offsetY = offsetY;
    var centerX = (viewBox[2] + viewBox[0]) / 2;
    var centerY = (viewBox[3] + viewBox[1]) / 2;
    var rotateA, rotateB, rotateC, rotateD;
    rotation = rotation % 360;
    rotation = rotation < 0 ? rotation + 360 : rotation;

    switch (rotation) {
      case 180:
        rotateA = -1;
        rotateB = 0;
        rotateC = 0;
        rotateD = 1;
        break;

      case 90:
        rotateA = 0;
        rotateB = 1;
        rotateC = 1;
        rotateD = 0;
        break;

      case 270:
        rotateA = 0;
        rotateB = -1;
        rotateC = -1;
        rotateD = 0;
        break;

      case 0:
        rotateA = 1;
        rotateB = 0;
        rotateC = 0;
        rotateD = -1;
        break;

      default:
        throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.");
    }

    if (dontFlip) {
      rotateC = -rotateC;
      rotateD = -rotateD;
    }

    var offsetCanvasX, offsetCanvasY;
    var width, height;

    if (rotateA === 0) {
      offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;
      offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;
      width = Math.abs(viewBox[3] - viewBox[1]) * scale;
      height = Math.abs(viewBox[2] - viewBox[0]) * scale;
    } else {
      offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;
      offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;
      width = Math.abs(viewBox[2] - viewBox[0]) * scale;
      height = Math.abs(viewBox[3] - viewBox[1]) * scale;
    }

    this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];
    this.width = width;
    this.height = height;
  }

  _createClass(PageViewport, [{
    key: "clone",
    value: function clone() {
      var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref6$scale = _ref6.scale,
          scale = _ref6$scale === void 0 ? this.scale : _ref6$scale,
          _ref6$rotation = _ref6.rotation,
          rotation = _ref6$rotation === void 0 ? this.rotation : _ref6$rotation,
          _ref6$offsetX = _ref6.offsetX,
          offsetX = _ref6$offsetX === void 0 ? this.offsetX : _ref6$offsetX,
          _ref6$offsetY = _ref6.offsetY,
          offsetY = _ref6$offsetY === void 0 ? this.offsetY : _ref6$offsetY,
          _ref6$dontFlip = _ref6.dontFlip,
          dontFlip = _ref6$dontFlip === void 0 ? false : _ref6$dontFlip;

      return new PageViewport({
        viewBox: this.viewBox.slice(),
        scale: scale,
        rotation: rotation,
        offsetX: offsetX,
        offsetY: offsetY,
        dontFlip: dontFlip
      });
    }
  }, {
    key: "convertToViewportPoint",
    value: function convertToViewportPoint(x, y) {
      return _util.Util.applyTransform([x, y], this.transform);
    }
  }, {
    key: "convertToViewportRectangle",
    value: function convertToViewportRectangle(rect) {
      var topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);

      var bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);

      return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];
    }
  }, {
    key: "convertToPdfPoint",
    value: function convertToPdfPoint(x, y) {
      return _util.Util.applyInverseTransform([x, y], this.transform);
    }
  }]);

  return PageViewport;
}();

exports.PageViewport = PageViewport;

var RenderingCancelledException = /*#__PURE__*/function (_BaseException) {
  _inherits(RenderingCancelledException, _BaseException);

  var _super3 = _createSuper(RenderingCancelledException);

  function RenderingCancelledException(msg, type) {
    var _this4;

    _classCallCheck(this, RenderingCancelledException);

    _this4 = _super3.call(this, msg);
    _this4.type = type;
    return _this4;
  }

  return RenderingCancelledException;
}(_util.BaseException);

exports.RenderingCancelledException = RenderingCancelledException;
var LinkTarget = {
  NONE: 0,
  SELF: 1,
  BLANK: 2,
  PARENT: 3,
  TOP: 4
};
exports.LinkTarget = LinkTarget;

function addLinkAttributes(link) {
  var _ref7 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
      url = _ref7.url,
      target = _ref7.target,
      rel = _ref7.rel,
      _ref7$enabled = _ref7.enabled,
      enabled = _ref7$enabled === void 0 ? true : _ref7$enabled;

  (0, _util.assert)(url && typeof url === "string", 'addLinkAttributes: A valid "url" parameter must provided.');
  var urlNullRemoved = (0, _util.removeNullCharacters)(url);

  if (enabled) {
    link.href = link.title = urlNullRemoved;
  } else {
    link.href = "";
    link.title = "Disabled: ".concat(urlNullRemoved);

    link.onclick = function () {
      return false;
    };
  }

  var targetStr = "";

  switch (target) {
    case LinkTarget.NONE:
      break;

    case LinkTarget.SELF:
      targetStr = "_self";
      break;

    case LinkTarget.BLANK:
      targetStr = "_blank";
      break;

    case LinkTarget.PARENT:
      targetStr = "_parent";
      break;

    case LinkTarget.TOP:
      targetStr = "_top";
      break;
  }

  link.target = targetStr;
  link.rel = typeof rel === "string" ? rel : DEFAULT_LINK_REL;
}

function getFilenameFromUrl(url) {
  var anchor = url.indexOf("#");
  var query = url.indexOf("?");
  var end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);
  return url.substring(url.lastIndexOf("/", end) + 1, end);
}

var StatTimer = /*#__PURE__*/function () {
  function StatTimer() {
    _classCallCheck(this, StatTimer);

    this.started = Object.create(null);
    this.times = [];
  }

  _createClass(StatTimer, [{
    key: "time",
    value: function time(name) {
      if (name in this.started) {
        (0, _util.warn)("Timer is already running for ".concat(name));
      }

      this.started[name] = Date.now();
    }
  }, {
    key: "timeEnd",
    value: function timeEnd(name) {
      if (!(name in this.started)) {
        (0, _util.warn)("Timer has not been started for ".concat(name));
      }

      this.times.push({
        name: name,
        start: this.started[name],
        end: Date.now()
      });
      delete this.started[name];
    }
  }, {
    key: "toString",
    value: function toString() {
      var outBuf = [];
      var longest = 0;

      var _iterator = _createForOfIteratorHelper(this.times),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var time = _step.value;
          var name = time.name;

          if (name.length > longest) {
            longest = name.length;
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      var _iterator2 = _createForOfIteratorHelper(this.times),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var _time = _step2.value;
          var duration = _time.end - _time.start;
          outBuf.push("".concat(_time.name.padEnd(longest), " ").concat(duration, "ms\n"));
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }

      return outBuf.join("");
    }
  }]);

  return StatTimer;
}();

exports.StatTimer = StatTimer;

function isFetchSupported() {
  return typeof fetch !== "undefined" && typeof Response !== "undefined" && "body" in Response.prototype && typeof ReadableStream !== "undefined";
}

function isValidFetchUrl(url, baseUrl) {
  try {
    var _ref8 = baseUrl ? new URL(url, baseUrl) : new URL(url),
        protocol = _ref8.protocol;

    return protocol === "http:" || protocol === "https:";
  } catch (ex) {
    return false;
  }
}

function loadScript(src) {
  return new Promise(function (resolve, reject) {
    var script = document.createElement("script");
    script.src = src;
    script.onload = resolve;

    script.onerror = function () {
      reject(new Error("Cannot load script at: ".concat(script.src)));
    };

    (document.head || document.documentElement).appendChild(script);
  });
}

function deprecated(details) {
  console.log("Deprecated API usage: " + details);
}

var pdfDateStringRegex;

var PDFDateString = /*#__PURE__*/function () {
  function PDFDateString() {
    _classCallCheck(this, PDFDateString);
  }

  _createClass(PDFDateString, null, [{
    key: "toDateObject",
    value: function toDateObject(input) {
      if (!input || !(0, _util.isString)(input)) {
        return null;
      }

      if (!pdfDateStringRegex) {
        pdfDateStringRegex = new RegExp("^D:" + "(\\d{4})" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "(\\d{2})?" + "([Z|+|-])?" + "(\\d{2})?" + "'?" + "(\\d{2})?" + "'?");
      }

      var matches = pdfDateStringRegex.exec(input);

      if (!matches) {
        return null;
      }

      var year = parseInt(matches[1], 10);
      var month = parseInt(matches[2], 10);
      month = month >= 1 && month <= 12 ? month - 1 : 0;
      var day = parseInt(matches[3], 10);
      day = day >= 1 && day <= 31 ? day : 1;
      var hour = parseInt(matches[4], 10);
      hour = hour >= 0 && hour <= 23 ? hour : 0;
      var minute = parseInt(matches[5], 10);
      minute = minute >= 0 && minute <= 59 ? minute : 0;
      var second = parseInt(matches[6], 10);
      second = second >= 0 && second <= 59 ? second : 0;
      var universalTimeRelation = matches[7] || "Z";
      var offsetHour = parseInt(matches[8], 10);
      offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;
      var offsetMinute = parseInt(matches[9], 10) || 0;
      offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;

      if (universalTimeRelation === "-") {
        hour += offsetHour;
        minute += offsetMinute;
      } else if (universalTimeRelation === "+") {
        hour -= offsetHour;
        minute -= offsetMinute;
      }

      return new Date(Date.UTC(year, month, day, hour, minute, second));
    }
  }]);

  return PDFDateString;
}();

exports.PDFDateString = PDFDateString;

/***/ }),
/* 2 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


module.exports = __w_pdfjs_require__(3);

/***/ }),
/* 3 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";
/* WEBPACK VAR INJECTION */(function(module) {

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

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

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

  function define(obj, key, value) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
    return obj[key];
  }

  try {
    define({}, "");
  } catch (err) {
    define = function define(obj, key, value) {
      return obj[key] = value;
    };
  }

  function wrap(innerFn, outerFn, self, tryLocsList) {
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
    var generator = Object.create(protoGenerator.prototype);
    var context = new Context(tryLocsList || []);
    generator._invoke = makeInvokeMethod(innerFn, self, context);
    return generator;
  }

  exports.wrap = wrap;

  function tryCatch(fn, obj, arg) {
    try {
      return {
        type: "normal",
        arg: fn.call(obj, arg)
      };
    } catch (err) {
      return {
        type: "throw",
        arg: err
      };
    }
  }

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

  function Generator() {}

  function GeneratorFunction() {}

  function GeneratorFunctionPrototype() {}

  var IteratorPrototype = {};

  IteratorPrototype[iteratorSymbol] = function () {
    return this;
  };

  var getProto = Object.getPrototypeOf;
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
    IteratorPrototype = NativeIteratorPrototype;
  }

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

  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function (method) {
      define(prototype, method, function (arg) {
        return this._invoke(method, arg);
      });
    });
  }

  exports.isGeneratorFunction = function (genFun) {
    var ctor = typeof genFun === "function" && genFun.constructor;
    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
  };

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

    genFun.prototype = Object.create(Gp);
    return genFun;
  };

  exports.awrap = function (arg) {
    return {
      __await: arg
    };
  };

  function AsyncIterator(generator, PromiseImpl) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);

      if (record.type === "throw") {
        reject(record.arg);
      } else {
        var result = record.arg;
        var value = result.value;

        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
          return PromiseImpl.resolve(value.__await).then(function (value) {
            invoke("next", value, resolve, reject);
          }, function (err) {
            invoke("throw", err, resolve, reject);
          });
        }

        return PromiseImpl.resolve(value).then(function (unwrapped) {
          result.value = unwrapped;
          resolve(result);
        }, function (error) {
          return invoke("throw", error, resolve, reject);
        });
      }
    }

    var previousPromise;

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

      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
    }

    this._invoke = enqueue;
  }

  defineIteratorMethods(AsyncIterator.prototype);

  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
    return this;
  };

  exports.AsyncIterator = AsyncIterator;

  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
    if (PromiseImpl === void 0) PromiseImpl = Promise;
    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
      return result.done ? result.value : iter.next();
    });
  };

  function makeInvokeMethod(innerFn, self, context) {
    var state = GenStateSuspendedStart;
    return function invoke(method, arg) {
      if (state === GenStateExecuting) {
        throw new Error("Generator is already running");
      }

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

        return doneResult();
      }

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

      while (true) {
        var delegate = context.delegate;

        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);

          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }

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

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

        state = GenStateExecuting;
        var record = tryCatch(innerFn, self, context);

        if (record.type === "normal") {
          state = context.done ? GenStateCompleted : GenStateSuspendedYield;

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

          return {
            value: record.arg,
            done: context.done
          };
        } else if (record.type === "throw") {
          state = GenStateCompleted;
          context.method = "throw";
          context.arg = record.arg;
        }
      }
    };
  }

  function maybeInvokeDelegate(delegate, context) {
    var method = delegate.iterator[context.method];

    if (method === undefined) {
      context.delegate = null;

      if (context.method === "throw") {
        if (delegate.iterator["return"]) {
          context.method = "return";
          context.arg = undefined;
          maybeInvokeDelegate(delegate, context);

          if (context.method === "throw") {
            return ContinueSentinel;
          }
        }

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

      return ContinueSentinel;
    }

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

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

    var info = record.arg;

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

    if (info.done) {
      context[delegate.resultName] = info.value;
      context.next = delegate.nextLoc;

      if (context.method !== "return") {
        context.method = "next";
        context.arg = undefined;
      }
    } else {
      return info;
    }

    context.delegate = null;
    return ContinueSentinel;
  }

  defineIteratorMethods(Gp);
  define(Gp, toStringTagSymbol, "Generator");

  Gp[iteratorSymbol] = function () {
    return this;
  };

  Gp.toString = function () {
    return "[object Generator]";
  };

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

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

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

    this.tryEntries.push(entry);
  }

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

  function Context(tryLocsList) {
    this.tryEntries = [{
      tryLoc: "root"
    }];
    tryLocsList.forEach(pushTryEntry, this);
    this.reset(true);
  }

  exports.keys = function (object) {
    var keys = [];

    for (var key in object) {
      keys.push(key);
    }

    keys.reverse();
    return function next() {
      while (keys.length) {
        var key = keys.pop();

        if (key in object) {
          next.value = key;
          next.done = false;
          return next;
        }
      }

      next.done = true;
      return next;
    };
  };

  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];

      if (iteratorMethod) {
        return iteratorMethod.call(iterable);
      }

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

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

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

        return next.next = next;
      }
    }

    return {
      next: doneResult
    };
  }

  exports.values = values;

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

  Context.prototype = {
    constructor: Context,
    reset: function reset(skipTempReset) {
      this.prev = 0;
      this.next = 0;
      this.sent = this._sent = undefined;
      this.done = false;
      this.delegate = null;
      this.method = "next";
      this.arg = undefined;
      this.tryEntries.forEach(resetTryEntry);

      if (!skipTempReset) {
        for (var name in this) {
          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
            this[name] = undefined;
          }
        }
      }
    },
    stop: function stop() {
      this.done = true;
      var rootEntry = this.tryEntries[0];
      var rootRecord = rootEntry.completion;

      if (rootRecord.type === "throw") {
        throw rootRecord.arg;
      }

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

      var context = this;

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

        if (caught) {
          context.method = "next";
          context.arg = undefined;
        }

        return !!caught;
      }

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

        if (entry.tryLoc === "root") {
          return handle("end");
        }

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

          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            } else if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            }
          } else if (hasFinally) {
            if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else {
            throw new Error("try statement without catch or finally");
          }
        }
      }
    },
    abrupt: function abrupt(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];

        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }

      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
        finallyEntry = null;
      }

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

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

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

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

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

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

        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;

          if (record.type === "throw") {
            var thrown = record.arg;
            resetTryEntry(entry);
          }

          return thrown;
        }
      }

      throw new Error("illegal catch attempt");
    },
    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
      this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      };

      if (this.method === "next") {
        this.arg = undefined;
      }

      return ContinueSentinel;
    }
  };
  return exports;
}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});

try {
  regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
  Function("r", "regeneratorRuntime = r")(runtime);
}
/* WEBPACK VAR INJECTION */}.call(this, __w_pdfjs_require__(4)(module)))

/***/ }),
/* 4 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


module.exports = function (module) {
  if (!module.webpackPolyfill) {
    module.deprecate = function () {};

    module.paths = [];
    if (!module.children) module.children = [];
    Object.defineProperty(module, "loaded", {
      enumerable: true,
      get: function get() {
        return module.l;
      }
    });
    Object.defineProperty(module, "id", {
      enumerable: true,
      get: function get() {
        return module.i;
      }
    });
    module.webpackPolyfill = 1;
  }

  return module;
};

/***/ }),
/* 5 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.arrayByteLength = arrayByteLength;
exports.arraysToBytes = arraysToBytes;
exports.assert = assert;
exports.bytesToString = bytesToString;
exports.createPromiseCapability = createPromiseCapability;
exports.escapeString = escapeString;
exports.getModificationDate = getModificationDate;
exports.getVerbosityLevel = getVerbosityLevel;
exports.info = info;
exports.isArrayBuffer = isArrayBuffer;
exports.isArrayEqual = isArrayEqual;
exports.isBool = isBool;
exports.isNum = isNum;
exports.isString = isString;
exports.isSameOrigin = isSameOrigin;
exports.createValidAbsoluteUrl = createValidAbsoluteUrl;
exports.removeNullCharacters = removeNullCharacters;
exports.setVerbosityLevel = setVerbosityLevel;
exports.shadow = shadow;
exports.string32 = string32;
exports.stringToBytes = stringToBytes;
exports.stringToPDFString = stringToPDFString;
exports.stringToUTF8String = stringToUTF8String;
exports.utf8StringToString = utf8StringToString;
exports.warn = warn;
exports.unreachable = unreachable;
exports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;

__w_pdfjs_require__(6);

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];
exports.IDENTITY_MATRIX = IDENTITY_MATRIX;
var FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];
exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;
var PermissionFlag = {
  PRINT: 0x04,
  MODIFY_CONTENTS: 0x08,
  COPY: 0x10,
  MODIFY_ANNOTATIONS: 0x20,
  FILL_INTERACTIVE_FORMS: 0x100,
  COPY_FOR_ACCESSIBILITY: 0x200,
  ASSEMBLE: 0x400,
  PRINT_HIGH_QUALITY: 0x800
};
exports.PermissionFlag = PermissionFlag;
var TextRenderingMode = {
  FILL: 0,
  STROKE: 1,
  FILL_STROKE: 2,
  INVISIBLE: 3,
  FILL_ADD_TO_PATH: 4,
  STROKE_ADD_TO_PATH: 5,
  FILL_STROKE_ADD_TO_PATH: 6,
  ADD_TO_PATH: 7,
  FILL_STROKE_MASK: 3,
  ADD_TO_PATH_FLAG: 4
};
exports.TextRenderingMode = TextRenderingMode;
var ImageKind = {
  GRAYSCALE_1BPP: 1,
  RGB_24BPP: 2,
  RGBA_32BPP: 3
};
exports.ImageKind = ImageKind;
var AnnotationType = {
  TEXT: 1,
  LINK: 2,
  FREETEXT: 3,
  LINE: 4,
  SQUARE: 5,
  CIRCLE: 6,
  POLYGON: 7,
  POLYLINE: 8,
  HIGHLIGHT: 9,
  UNDERLINE: 10,
  SQUIGGLY: 11,
  STRIKEOUT: 12,
  STAMP: 13,
  CARET: 14,
  INK: 15,
  POPUP: 16,
  FILEATTACHMENT: 17,
  SOUND: 18,
  MOVIE: 19,
  WIDGET: 20,
  SCREEN: 21,
  PRINTERMARK: 22,
  TRAPNET: 23,
  WATERMARK: 24,
  THREED: 25,
  REDACT: 26
};
exports.AnnotationType = AnnotationType;
var AnnotationStateModelType = {
  MARKED: "Marked",
  REVIEW: "Review"
};
exports.AnnotationStateModelType = AnnotationStateModelType;
var AnnotationMarkedState = {
  MARKED: "Marked",
  UNMARKED: "Unmarked"
};
exports.AnnotationMarkedState = AnnotationMarkedState;
var AnnotationReviewState = {
  ACCEPTED: "Accepted",
  REJECTED: "Rejected",
  CANCELLED: "Cancelled",
  COMPLETED: "Completed",
  NONE: "None"
};
exports.AnnotationReviewState = AnnotationReviewState;
var AnnotationReplyType = {
  GROUP: "Group",
  REPLY: "R"
};
exports.AnnotationReplyType = AnnotationReplyType;
var AnnotationFlag = {
  INVISIBLE: 0x01,
  HIDDEN: 0x02,
  PRINT: 0x04,
  NOZOOM: 0x08,
  NOROTATE: 0x10,
  NOVIEW: 0x20,
  READONLY: 0x40,
  LOCKED: 0x80,
  TOGGLENOVIEW: 0x100,
  LOCKEDCONTENTS: 0x200
};
exports.AnnotationFlag = AnnotationFlag;
var AnnotationFieldFlag = {
  READONLY: 0x0000001,
  REQUIRED: 0x0000002,
  NOEXPORT: 0x0000004,
  MULTILINE: 0x0001000,
  PASSWORD: 0x0002000,
  NOTOGGLETOOFF: 0x0004000,
  RADIO: 0x0008000,
  PUSHBUTTON: 0x0010000,
  COMBO: 0x0020000,
  EDIT: 0x0040000,
  SORT: 0x0080000,
  FILESELECT: 0x0100000,
  MULTISELECT: 0x0200000,
  DONOTSPELLCHECK: 0x0400000,
  DONOTSCROLL: 0x0800000,
  COMB: 0x1000000,
  RICHTEXT: 0x2000000,
  RADIOSINUNISON: 0x2000000,
  COMMITONSELCHANGE: 0x4000000
};
exports.AnnotationFieldFlag = AnnotationFieldFlag;
var AnnotationBorderStyleType = {
  SOLID: 1,
  DASHED: 2,
  BEVELED: 3,
  INSET: 4,
  UNDERLINE: 5
};
exports.AnnotationBorderStyleType = AnnotationBorderStyleType;
var StreamType = {
  UNKNOWN: "UNKNOWN",
  FLATE: "FLATE",
  LZW: "LZW",
  DCT: "DCT",
  JPX: "JPX",
  JBIG: "JBIG",
  A85: "A85",
  AHX: "AHX",
  CCF: "CCF",
  RLX: "RLX"
};
exports.StreamType = StreamType;
var FontType = {
  UNKNOWN: "UNKNOWN",
  TYPE1: "TYPE1",
  TYPE1C: "TYPE1C",
  CIDFONTTYPE0: "CIDFONTTYPE0",
  CIDFONTTYPE0C: "CIDFONTTYPE0C",
  TRUETYPE: "TRUETYPE",
  CIDFONTTYPE2: "CIDFONTTYPE2",
  TYPE3: "TYPE3",
  OPENTYPE: "OPENTYPE",
  TYPE0: "TYPE0",
  MMTYPE1: "MMTYPE1"
};
exports.FontType = FontType;
var VerbosityLevel = {
  ERRORS: 0,
  WARNINGS: 1,
  INFOS: 5
};
exports.VerbosityLevel = VerbosityLevel;
var CMapCompressionType = {
  NONE: 0,
  BINARY: 1,
  STREAM: 2
};
exports.CMapCompressionType = CMapCompressionType;
var OPS = {
  dependency: 1,
  setLineWidth: 2,
  setLineCap: 3,
  setLineJoin: 4,
  setMiterLimit: 5,
  setDash: 6,
  setRenderingIntent: 7,
  setFlatness: 8,
  setGState: 9,
  save: 10,
  restore: 11,
  transform: 12,
  moveTo: 13,
  lineTo: 14,
  curveTo: 15,
  curveTo2: 16,
  curveTo3: 17,
  closePath: 18,
  rectangle: 19,
  stroke: 20,
  closeStroke: 21,
  fill: 22,
  eoFill: 23,
  fillStroke: 24,
  eoFillStroke: 25,
  closeFillStroke: 26,
  closeEOFillStroke: 27,
  endPath: 28,
  clip: 29,
  eoClip: 30,
  beginText: 31,
  endText: 32,
  setCharSpacing: 33,
  setWordSpacing: 34,
  setHScale: 35,
  setLeading: 36,
  setFont: 37,
  setTextRenderingMode: 38,
  setTextRise: 39,
  moveText: 40,
  setLeadingMoveText: 41,
  setTextMatrix: 42,
  nextLine: 43,
  showText: 44,
  showSpacedText: 45,
  nextLineShowText: 46,
  nextLineSetSpacingShowText: 47,
  setCharWidth: 48,
  setCharWidthAndBounds: 49,
  setStrokeColorSpace: 50,
  setFillColorSpace: 51,
  setStrokeColor: 52,
  setStrokeColorN: 53,
  setFillColor: 54,
  setFillColorN: 55,
  setStrokeGray: 56,
  setFillGray: 57,
  setStrokeRGBColor: 58,
  setFillRGBColor: 59,
  setStrokeCMYKColor: 60,
  setFillCMYKColor: 61,
  shadingFill: 62,
  beginInlineImage: 63,
  beginImageData: 64,
  endInlineImage: 65,
  paintXObject: 66,
  markPoint: 67,
  markPointProps: 68,
  beginMarkedContent: 69,
  beginMarkedContentProps: 70,
  endMarkedContent: 71,
  beginCompat: 72,
  endCompat: 73,
  paintFormXObjectBegin: 74,
  paintFormXObjectEnd: 75,
  beginGroup: 76,
  endGroup: 77,
  beginAnnotations: 78,
  endAnnotations: 79,
  beginAnnotation: 80,
  endAnnotation: 81,
  paintJpegXObject: 82,
  paintImageMaskXObject: 83,
  paintImageMaskXObjectGroup: 84,
  paintImageXObject: 85,
  paintInlineImageXObject: 86,
  paintInlineImageXObjectGroup: 87,
  paintImageXObjectRepeat: 88,
  paintImageMaskXObjectRepeat: 89,
  paintSolidColorImageMask: 90,
  constructPath: 91
};
exports.OPS = OPS;
var UNSUPPORTED_FEATURES = {
  unknown: "unknown",
  forms: "forms",
  javaScript: "javaScript",
  smask: "smask",
  shadingPattern: "shadingPattern",
  font: "font",
  errorTilingPattern: "errorTilingPattern",
  errorExtGState: "errorExtGState",
  errorXObject: "errorXObject",
  errorFontLoadType3: "errorFontLoadType3",
  errorFontState: "errorFontState",
  errorFontMissing: "errorFontMissing",
  errorFontTranslate: "errorFontTranslate",
  errorColorSpace: "errorColorSpace",
  errorOperatorList: "errorOperatorList",
  errorFontToUnicode: "errorFontToUnicode",
  errorFontLoadNative: "errorFontLoadNative",
  errorFontGetPath: "errorFontGetPath",
  errorMarkedContent: "errorMarkedContent"
};
exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;
var PasswordResponses = {
  NEED_PASSWORD: 1,
  INCORRECT_PASSWORD: 2
};
exports.PasswordResponses = PasswordResponses;
var verbosity = VerbosityLevel.WARNINGS;

function setVerbosityLevel(level) {
  if (Number.isInteger(level)) {
    verbosity = level;
  }
}

function getVerbosityLevel() {
  return verbosity;
}

function info(msg) {
  if (verbosity >= VerbosityLevel.INFOS) {
    console.log("Info: ".concat(msg));
  }
}

function warn(msg) {
  if (verbosity >= VerbosityLevel.WARNINGS) {
    console.log("Warning: ".concat(msg));
  }
}

function unreachable(msg) {
  throw new Error(msg);
}

function assert(cond, msg) {
  if (!cond) {
    unreachable(msg);
  }
}

function isSameOrigin(baseUrl, otherUrl) {
  var base;

  try {
    base = new URL(baseUrl);

    if (!base.origin || base.origin === "null") {
      return false;
    }
  } catch (e) {
    return false;
  }

  var other = new URL(otherUrl, base);
  return base.origin === other.origin;
}

function _isValidProtocol(url) {
  if (!url) {
    return false;
  }

  switch (url.protocol) {
    case "http:":
    case "https:":
    case "ftp:":
    case "mailto:":
    case "tel:":
      return true;

    default:
      return false;
  }
}

function createValidAbsoluteUrl(url, baseUrl) {
  if (!url) {
    return null;
  }

  try {
    var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);

    if (_isValidProtocol(absoluteUrl)) {
      return absoluteUrl;
    }
  } catch (ex) {}

  return null;
}

function shadow(obj, prop, value) {
  Object.defineProperty(obj, prop, {
    value: value,
    enumerable: true,
    configurable: true,
    writable: false
  });
  return value;
}

var BaseException = function BaseExceptionClosure() {
  function BaseException(message) {
    if (this.constructor === BaseException) {
      unreachable("Cannot initialize BaseException.");
    }

    this.message = message;
    this.name = this.constructor.name;
  }

  BaseException.prototype = new Error();
  BaseException.constructor = BaseException;
  return BaseException;
}();

exports.BaseException = BaseException;

var PasswordException = /*#__PURE__*/function (_BaseException) {
  _inherits(PasswordException, _BaseException);

  var _super = _createSuper(PasswordException);

  function PasswordException(msg, code) {
    var _this;

    _classCallCheck(this, PasswordException);

    _this = _super.call(this, msg);
    _this.code = code;
    return _this;
  }

  return PasswordException;
}(BaseException);

exports.PasswordException = PasswordException;

var UnknownErrorException = /*#__PURE__*/function (_BaseException2) {
  _inherits(UnknownErrorException, _BaseException2);

  var _super2 = _createSuper(UnknownErrorException);

  function UnknownErrorException(msg, details) {
    var _this2;

    _classCallCheck(this, UnknownErrorException);

    _this2 = _super2.call(this, msg);
    _this2.details = details;
    return _this2;
  }

  return UnknownErrorException;
}(BaseException);

exports.UnknownErrorException = UnknownErrorException;

var InvalidPDFException = /*#__PURE__*/function (_BaseException3) {
  _inherits(InvalidPDFException, _BaseException3);

  var _super3 = _createSuper(InvalidPDFException);

  function InvalidPDFException() {
    _classCallCheck(this, InvalidPDFException);

    return _super3.apply(this, arguments);
  }

  return InvalidPDFException;
}(BaseException);

exports.InvalidPDFException = InvalidPDFException;

var MissingPDFException = /*#__PURE__*/function (_BaseException4) {
  _inherits(MissingPDFException, _BaseException4);

  var _super4 = _createSuper(MissingPDFException);

  function MissingPDFException() {
    _classCallCheck(this, MissingPDFException);

    return _super4.apply(this, arguments);
  }

  return MissingPDFException;
}(BaseException);

exports.MissingPDFException = MissingPDFException;

var UnexpectedResponseException = /*#__PURE__*/function (_BaseException5) {
  _inherits(UnexpectedResponseException, _BaseException5);

  var _super5 = _createSuper(UnexpectedResponseException);

  function UnexpectedResponseException(msg, status) {
    var _this3;

    _classCallCheck(this, UnexpectedResponseException);

    _this3 = _super5.call(this, msg);
    _this3.status = status;
    return _this3;
  }

  return UnexpectedResponseException;
}(BaseException);

exports.UnexpectedResponseException = UnexpectedResponseException;

var FormatError = /*#__PURE__*/function (_BaseException6) {
  _inherits(FormatError, _BaseException6);

  var _super6 = _createSuper(FormatError);

  function FormatError() {
    _classCallCheck(this, FormatError);

    return _super6.apply(this, arguments);
  }

  return FormatError;
}(BaseException);

exports.FormatError = FormatError;

var AbortException = /*#__PURE__*/function (_BaseException7) {
  _inherits(AbortException, _BaseException7);

  var _super7 = _createSuper(AbortException);

  function AbortException() {
    _classCallCheck(this, AbortException);

    return _super7.apply(this, arguments);
  }

  return AbortException;
}(BaseException);

exports.AbortException = AbortException;
var NullCharactersRegExp = /\x00/g;

function removeNullCharacters(str) {
  if (typeof str !== "string") {
    warn("The argument for removeNullCharacters must be a string.");
    return str;
  }

  return str.replace(NullCharactersRegExp, "");
}

function bytesToString(bytes) {
  assert(bytes !== null && _typeof(bytes) === "object" && bytes.length !== undefined, "Invalid argument for bytesToString");
  var length = bytes.length;
  var MAX_ARGUMENT_COUNT = 8192;

  if (length < MAX_ARGUMENT_COUNT) {
    return String.fromCharCode.apply(null, bytes);
  }

  var strBuf = [];

  for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) {
    var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);
    var chunk = bytes.subarray(i, chunkEnd);
    strBuf.push(String.fromCharCode.apply(null, chunk));
  }

  return strBuf.join("");
}

function stringToBytes(str) {
  assert(typeof str === "string", "Invalid argument for stringToBytes");
  var length = str.length;
  var bytes = new Uint8Array(length);

  for (var i = 0; i < length; ++i) {
    bytes[i] = str.charCodeAt(i) & 0xff;
  }

  return bytes;
}

function arrayByteLength(arr) {
  if (arr.length !== undefined) {
    return arr.length;
  }

  assert(arr.byteLength !== undefined, "arrayByteLength - invalid argument.");
  return arr.byteLength;
}

function arraysToBytes(arr) {
  var length = arr.length;

  if (length === 1 && arr[0] instanceof Uint8Array) {
    return arr[0];
  }

  var resultLength = 0;

  for (var i = 0; i < length; i++) {
    resultLength += arrayByteLength(arr[i]);
  }

  var pos = 0;
  var data = new Uint8Array(resultLength);

  for (var _i = 0; _i < length; _i++) {
    var item = arr[_i];

    if (!(item instanceof Uint8Array)) {
      if (typeof item === "string") {
        item = stringToBytes(item);
      } else {
        item = new Uint8Array(item);
      }
    }

    var itemLength = item.byteLength;
    data.set(item, pos);
    pos += itemLength;
  }

  return data;
}

function string32(value) {
  return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);
}

function isLittleEndian() {
  var buffer8 = new Uint8Array(4);
  buffer8[0] = 1;
  var view32 = new Uint32Array(buffer8.buffer, 0, 1);
  return view32[0] === 1;
}

var IsLittleEndianCached = {
  get value() {
    return shadow(this, "value", isLittleEndian());
  }

};
exports.IsLittleEndianCached = IsLittleEndianCached;

function isEvalSupported() {
  try {
    new Function("");
    return true;
  } catch (e) {
    return false;
  }
}

var IsEvalSupportedCached = {
  get value() {
    return shadow(this, "value", isEvalSupported());
  }

};
exports.IsEvalSupportedCached = IsEvalSupportedCached;
var rgbBuf = ["rgb(", 0, ",", 0, ",", 0, ")"];

var Util = /*#__PURE__*/function () {
  function Util() {
    _classCallCheck(this, Util);
  }

  _createClass(Util, null, [{
    key: "makeCssRgb",
    value: function makeCssRgb(r, g, b) {
      rgbBuf[1] = r;
      rgbBuf[3] = g;
      rgbBuf[5] = b;
      return rgbBuf.join("");
    }
  }, {
    key: "transform",
    value: function transform(m1, m2) {
      return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];
    }
  }, {
    key: "applyTransform",
    value: function applyTransform(p, m) {
      var xt = p[0] * m[0] + p[1] * m[2] + m[4];
      var yt = p[0] * m[1] + p[1] * m[3] + m[5];
      return [xt, yt];
    }
  }, {
    key: "applyInverseTransform",
    value: function applyInverseTransform(p, m) {
      var d = m[0] * m[3] - m[1] * m[2];
      var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;
      var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;
      return [xt, yt];
    }
  }, {
    key: "getAxialAlignedBoundingBox",
    value: function getAxialAlignedBoundingBox(r, m) {
      var p1 = Util.applyTransform(r, m);
      var p2 = Util.applyTransform(r.slice(2, 4), m);
      var p3 = Util.applyTransform([r[0], r[3]], m);
      var p4 = Util.applyTransform([r[2], r[1]], m);
      return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];
    }
  }, {
    key: "inverseTransform",
    value: function inverseTransform(m) {
      var d = m[0] * m[3] - m[1] * m[2];
      return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];
    }
  }, {
    key: "apply3dTransform",
    value: function apply3dTransform(m, v) {
      return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];
    }
  }, {
    key: "singularValueDecompose2dScale",
    value: function singularValueDecompose2dScale(m) {
      var transpose = [m[0], m[2], m[1], m[3]];
      var a = m[0] * transpose[0] + m[1] * transpose[2];
      var b = m[0] * transpose[1] + m[1] * transpose[3];
      var c = m[2] * transpose[0] + m[3] * transpose[2];
      var d = m[2] * transpose[1] + m[3] * transpose[3];
      var first = (a + d) / 2;
      var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;
      var sx = first + second || 1;
      var sy = first - second || 1;
      return [Math.sqrt(sx), Math.sqrt(sy)];
    }
  }, {
    key: "normalizeRect",
    value: function normalizeRect(rect) {
      var r = rect.slice(0);

      if (rect[0] > rect[2]) {
        r[0] = rect[2];
        r[2] = rect[0];
      }

      if (rect[1] > rect[3]) {
        r[1] = rect[3];
        r[3] = rect[1];
      }

      return r;
    }
  }, {
    key: "intersect",
    value: function intersect(rect1, rect2) {
      function compare(a, b) {
        return a - b;
      }

      var orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);
      var orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);
      var result = [];
      rect1 = Util.normalizeRect(rect1);
      rect2 = Util.normalizeRect(rect2);

      if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {
        result[0] = orderedX[1];
        result[2] = orderedX[2];
      } else {
        return null;
      }

      if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {
        result[1] = orderedY[1];
        result[3] = orderedY[2];
      } else {
        return null;
      }

      return result;
    }
  }]);

  return Util;
}();

exports.Util = Util;
var PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];

function stringToPDFString(str) {
  var length = str.length,
      strBuf = [];

  if (str[0] === "\xFE" && str[1] === "\xFF") {
    for (var i = 2; i < length; i += 2) {
      strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));
    }
  } else if (str[0] === "\xFF" && str[1] === "\xFE") {
    for (var _i2 = 2; _i2 < length; _i2 += 2) {
      strBuf.push(String.fromCharCode(str.charCodeAt(_i2 + 1) << 8 | str.charCodeAt(_i2)));
    }
  } else {
    for (var _i3 = 0; _i3 < length; ++_i3) {
      var code = PDFStringTranslateTable[str.charCodeAt(_i3)];
      strBuf.push(code ? String.fromCharCode(code) : str.charAt(_i3));
    }
  }

  return strBuf.join("");
}

function escapeString(str) {
  return str.replace(/([\(\)\\])/g, "\\$1");
}

function stringToUTF8String(str) {
  return decodeURIComponent(escape(str));
}

function utf8StringToString(str) {
  return unescape(encodeURIComponent(str));
}

function isBool(v) {
  return typeof v === "boolean";
}

function isNum(v) {
  return typeof v === "number";
}

function isString(v) {
  return typeof v === "string";
}

function isArrayBuffer(v) {
  return _typeof(v) === "object" && v !== null && v.byteLength !== undefined;
}

function isArrayEqual(arr1, arr2) {
  if (arr1.length !== arr2.length) {
    return false;
  }

  return arr1.every(function (element, index) {
    return element === arr2[index];
  });
}

function getModificationDate() {
  var date = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Date(Date.now());
  var buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, "0"), (date.getUTCDate() + 1).toString().padStart(2, "0"), date.getUTCHours().toString().padStart(2, "0"), date.getUTCMinutes().toString().padStart(2, "0"), date.getUTCSeconds().toString().padStart(2, "0")];
  return buffer.join("");
}

function createPromiseCapability() {
  var capability = Object.create(null);
  var isSettled = false;
  Object.defineProperty(capability, "settled", {
    get: function get() {
      return isSettled;
    }
  });
  capability.promise = new Promise(function (resolve, reject) {
    capability.resolve = function (data) {
      isSettled = true;
      resolve(data);
    };

    capability.reject = function (reason) {
      isSettled = true;
      reject(reason);
    };
  });
  return capability;
}

var createObjectURL = function createObjectURLClosure() {
  var digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
  return function createObjectURL(data, contentType) {
    var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    if (!forceDataSchema && URL.createObjectURL) {
      var blob = new Blob([data], {
        type: contentType
      });
      return URL.createObjectURL(blob);
    }

    var buffer = "data:".concat(contentType, ";base64,");

    for (var i = 0, ii = data.length; i < ii; i += 3) {
      var b1 = data[i] & 0xff;
      var b2 = data[i + 1] & 0xff;
      var b3 = data[i + 2] & 0xff;
      var d1 = b1 >> 2,
          d2 = (b1 & 3) << 4 | b2 >> 4;
      var d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;
      var d4 = i + 2 < ii ? b3 & 0x3f : 64;
      buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];
    }

    return buffer;
  };
}();

exports.createObjectURL = createObjectURL;

/***/ }),
/* 6 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


var _is_node = __w_pdfjs_require__(7);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

if (typeof globalThis === "undefined" || !globalThis._pdfjsCompatibilityChecked) {
  if (typeof globalThis === "undefined" || globalThis.Math !== Math) {
    globalThis = __w_pdfjs_require__(8);
  }

  globalThis._pdfjsCompatibilityChecked = true;
  var hasDOM = (typeof window === "undefined" ? "undefined" : _typeof(window)) === "object" && (typeof document === "undefined" ? "undefined" : _typeof(document)) === "object";
  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
  var isIE = /Trident/.test(userAgent);

  (function checkNodeBtoa() {
    if (globalThis.btoa || !_is_node.isNodeJS) {
      return;
    }

    globalThis.btoa = function (chars) {
      return Buffer.from(chars, "binary").toString("base64");
    };
  })();

  (function checkNodeAtob() {
    if (globalThis.atob || !_is_node.isNodeJS) {
      return;
    }

    globalThis.atob = function (input) {
      return Buffer.from(input, "base64").toString("binary");
    };
  })();

  (function checkChildNodeRemove() {
    if (!hasDOM) {
      return;
    }

    if (typeof Element.prototype.remove !== "undefined") {
      return;
    }

    Element.prototype.remove = function () {
      if (this.parentNode) {
        this.parentNode.removeChild(this);
      }
    };
  })();

  (function checkDOMTokenListAddRemove() {
    if (!hasDOM || _is_node.isNodeJS) {
      return;
    }

    var div = document.createElement("div");
    div.classList.add("testOne", "testTwo");

    if (div.classList.contains("testOne") === true && div.classList.contains("testTwo") === true) {
      return;
    }

    var OriginalDOMTokenListAdd = DOMTokenList.prototype.add;
    var OriginalDOMTokenListRemove = DOMTokenList.prototype.remove;

    DOMTokenList.prototype.add = function () {
      for (var _len = arguments.length, tokens = new Array(_len), _key = 0; _key < _len; _key++) {
        tokens[_key] = arguments[_key];
      }

      for (var _i = 0, _tokens = tokens; _i < _tokens.length; _i++) {
        var token = _tokens[_i];
        OriginalDOMTokenListAdd.call(this, token);
      }
    };

    DOMTokenList.prototype.remove = function () {
      for (var _len2 = arguments.length, tokens = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
        tokens[_key2] = arguments[_key2];
      }

      for (var _i2 = 0, _tokens2 = tokens; _i2 < _tokens2.length; _i2++) {
        var token = _tokens2[_i2];
        OriginalDOMTokenListRemove.call(this, token);
      }
    };
  })();

  (function checkDOMTokenListToggle() {
    if (!hasDOM || _is_node.isNodeJS) {
      return;
    }

    var div = document.createElement("div");

    if (div.classList.toggle("test", 0) === false) {
      return;
    }

    DOMTokenList.prototype.toggle = function (token) {
      var force = arguments.length > 1 ? !!arguments[1] : !this.contains(token);
      return this[force ? "add" : "remove"](token), force;
    };
  })();

  (function checkWindowHistoryPushStateReplaceState() {
    if (!hasDOM || !isIE) {
      return;
    }

    var OriginalPushState = window.history.pushState;
    var OriginalReplaceState = window.history.replaceState;

    window.history.pushState = function (state, title, url) {
      var args = url === undefined ? [state, title] : [state, title, url];
      OriginalPushState.apply(this, args);
    };

    window.history.replaceState = function (state, title, url) {
      var args = url === undefined ? [state, title] : [state, title, url];
      OriginalReplaceState.apply(this, args);
    };
  })();

  (function checkStringStartsWith() {
    if (String.prototype.startsWith) {
      return;
    }

    __w_pdfjs_require__(53);
  })();

  (function checkStringEndsWith() {
    if (String.prototype.endsWith) {
      return;
    }

    __w_pdfjs_require__(64);
  })();

  (function checkStringIncludes() {
    if (String.prototype.includes) {
      return;
    }

    __w_pdfjs_require__(66);
  })();

  (function checkArrayIncludes() {
    if (Array.prototype.includes) {
      return;
    }

    __w_pdfjs_require__(68);
  })();

  (function checkArrayFrom() {
    if (Array.from) {
      return;
    }

    __w_pdfjs_require__(76);
  })();

  (function checkObjectAssign() {
    if (Object.assign) {
      return;
    }

    __w_pdfjs_require__(98);
  })();

  (function checkObjectFromEntries() {
    if (Object.fromEntries) {
      return;
    }

    __w_pdfjs_require__(101);
  })();

  (function checkMathLog2() {
    if (Math.log2) {
      return;
    }

    Math.log2 = __w_pdfjs_require__(105);
  })();

  (function checkNumberIsNaN() {
    if (Number.isNaN) {
      return;
    }

    Number.isNaN = __w_pdfjs_require__(107);
  })();

  (function checkNumberIsInteger() {
    if (Number.isInteger) {
      return;
    }

    Number.isInteger = __w_pdfjs_require__(109);
  })();

  (function checkTypedArraySlice() {
    if (Uint8Array.prototype.slice) {
      return;
    }

    __w_pdfjs_require__(112);
  })();

  (function checkPromise() {
    if (globalThis.Promise && globalThis.Promise.allSettled) {
      return;
    }

    globalThis.Promise = __w_pdfjs_require__(117);
  })();

  (function checkURL() {
    globalThis.URL = __w_pdfjs_require__(138);
  })();

  (function checkReadableStream() {
    var isReadableStreamSupported = false;

    if (typeof ReadableStream !== "undefined") {
      try {
        new ReadableStream({
          start: function start(controller) {
            controller.close();
          }
        });
        isReadableStreamSupported = true;
      } catch (e) {}
    }

    if (isReadableStreamSupported) {
      return;
    }

    globalThis.ReadableStream = __w_pdfjs_require__(145).ReadableStream;
  })();

  (function checkMapEntries() {
    if (globalThis.Map && globalThis.Map.prototype.entries) {
      return;
    }

    globalThis.Map = __w_pdfjs_require__(146);
  })();

  (function checkSetEntries() {
    if (globalThis.Set && globalThis.Set.prototype.entries) {
      return;
    }

    globalThis.Set = __w_pdfjs_require__(153);
  })();

  (function checkWeakMap() {
    if (globalThis.WeakMap) {
      return;
    }

    globalThis.WeakMap = __w_pdfjs_require__(155);
  })();

  (function checkWeakSet() {
    if (globalThis.WeakSet) {
      return;
    }

    globalThis.WeakSet = __w_pdfjs_require__(161);
  })();

  (function checkStringCodePointAt() {
    if (String.prototype.codePointAt) {
      return;
    }

    __w_pdfjs_require__(163);
  })();

  (function checkStringFromCodePoint() {
    if (String.fromCodePoint) {
      return;
    }

    String.fromCodePoint = __w_pdfjs_require__(165);
  })();

  (function checkSymbol() {
    if (globalThis.Symbol) {
      return;
    }

    __w_pdfjs_require__(167);
  })();

  (function checkStringPadStart() {
    if (String.prototype.padStart) {
      return;
    }

    __w_pdfjs_require__(190);
  })();

  (function checkStringPadEnd() {
    if (String.prototype.padEnd) {
      return;
    }

    __w_pdfjs_require__(195);
  })();

  (function checkObjectValues() {
    if (Object.values) {
      return;
    }

    Object.values = __w_pdfjs_require__(197);
  })();

  (function checkObjectEntries() {
    if (Object.entries) {
      return;
    }

    Object.entries = __w_pdfjs_require__(200);
  })();
}

/***/ }),
/* 7 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.isNodeJS = void 0;

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var isNodeJS = (typeof process === "undefined" ? "undefined" : _typeof(process)) === "object" && process + "" === "[object process]" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== "browser");
exports.isNodeJS = isNodeJS;

/***/ }),
/* 8 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(9);
module.exports = __w_pdfjs_require__(11);

/***/ }),
/* 9 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var global = __w_pdfjs_require__(11);
$({ global: true }, { globalThis: global });

/***/ }),
/* 10 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var redefine = __w_pdfjs_require__(29);
var setGlobal = __w_pdfjs_require__(30);
var copyConstructorProperties = __w_pdfjs_require__(40);
var isForced = __w_pdfjs_require__(52);
module.exports = function (options, source) {
 var TARGET = options.target;
 var GLOBAL = options.global;
 var STATIC = options.stat;
 var FORCED, target, key, targetProperty, sourceProperty, descriptor;
 if (GLOBAL) {
  target = global;
 } else if (STATIC) {
  target = global[TARGET] || setGlobal(TARGET, {});
 } else {
  target = (global[TARGET] || {}).prototype;
 }
 if (target)
  for (key in source) {
   sourceProperty = source[key];
   if (options.noTargetGet) {
    descriptor = getOwnPropertyDescriptor(target, key);
    targetProperty = descriptor && descriptor.value;
   } else
    targetProperty = target[key];
   FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
   if (!FORCED && targetProperty !== undefined) {
    if (typeof sourceProperty === typeof targetProperty)
     continue;
    copyConstructorProperties(sourceProperty, targetProperty);
   }
   if (options.sham || targetProperty && targetProperty.sham) {
    createNonEnumerableProperty(sourceProperty, 'sham', true);
   }
   redefine(target, key, sourceProperty, options);
  }
};

/***/ }),
/* 11 */
/***/ (function(module, exports) {

var check = function (it) {
 return it && it.Math == Math && it;
};
module.exports = check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || check(typeof self == 'object' && self) || check(typeof global == 'object' && global) || Function('return this')();

/***/ }),
/* 12 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var propertyIsEnumerableModule = __w_pdfjs_require__(15);
var createPropertyDescriptor = __w_pdfjs_require__(16);
var toIndexedObject = __w_pdfjs_require__(17);
var toPrimitive = __w_pdfjs_require__(21);
var has = __w_pdfjs_require__(23);
var IE8_DOM_DEFINE = __w_pdfjs_require__(24);
var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
exports.f = DESCRIPTORS ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
 O = toIndexedObject(O);
 P = toPrimitive(P, true);
 if (IE8_DOM_DEFINE)
  try {
   return nativeGetOwnPropertyDescriptor(O, P);
  } catch (error) {
  }
 if (has(O, P))
  return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);
};

/***/ }),
/* 13 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
module.exports = !fails(function () {
 return Object.defineProperty({}, 1, {
  get: function () {
   return 7;
  }
 })[1] != 7;
});

/***/ }),
/* 14 */
/***/ (function(module, exports) {

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

/***/ }),
/* 15 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var nativePropertyIsEnumerable = {}.propertyIsEnumerable;
var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
var NASHORN_BUG = getOwnPropertyDescriptor && !nativePropertyIsEnumerable.call({ 1: 2 }, 1);
exports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
 var descriptor = getOwnPropertyDescriptor(this, V);
 return !!descriptor && descriptor.enumerable;
} : nativePropertyIsEnumerable;

/***/ }),
/* 16 */
/***/ (function(module, exports) {

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

/***/ }),
/* 17 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var IndexedObject = __w_pdfjs_require__(18);
var requireObjectCoercible = __w_pdfjs_require__(20);
module.exports = function (it) {
 return IndexedObject(requireObjectCoercible(it));
};

/***/ }),
/* 18 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
var classof = __w_pdfjs_require__(19);
var split = ''.split;
module.exports = fails(function () {
 return !Object('z').propertyIsEnumerable(0);
}) ? function (it) {
 return classof(it) == 'String' ? split.call(it, '') : Object(it);
} : Object;

/***/ }),
/* 19 */
/***/ (function(module, exports) {

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

/***/ }),
/* 20 */
/***/ (function(module, exports) {

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

/***/ }),
/* 21 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
module.exports = function (input, PREFERRED_STRING) {
 if (!isObject(input))
  return input;
 var fn, val;
 if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
  return val;
 if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input)))
  return val;
 if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input)))
  return val;
 throw TypeError("Can't convert object to primitive value");
};

/***/ }),
/* 22 */
/***/ (function(module, exports) {

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

/***/ }),
/* 23 */
/***/ (function(module, exports) {

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

/***/ }),
/* 24 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var fails = __w_pdfjs_require__(14);
var createElement = __w_pdfjs_require__(25);
module.exports = !DESCRIPTORS && !fails(function () {
 return Object.defineProperty(createElement('div'), 'a', {
  get: function () {
   return 7;
  }
 }).a != 7;
});

/***/ }),
/* 25 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var isObject = __w_pdfjs_require__(22);
var document = global.document;
var EXISTS = isObject(document) && isObject(document.createElement);
module.exports = function (it) {
 return EXISTS ? document.createElement(it) : {};
};

/***/ }),
/* 26 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var definePropertyModule = __w_pdfjs_require__(27);
var createPropertyDescriptor = __w_pdfjs_require__(16);
module.exports = DESCRIPTORS ? function (object, key, value) {
 return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));
} : function (object, key, value) {
 object[key] = value;
 return object;
};

/***/ }),
/* 27 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var IE8_DOM_DEFINE = __w_pdfjs_require__(24);
var anObject = __w_pdfjs_require__(28);
var toPrimitive = __w_pdfjs_require__(21);
var nativeDefineProperty = Object.defineProperty;
exports.f = DESCRIPTORS ? nativeDefineProperty : function defineProperty(O, P, Attributes) {
 anObject(O);
 P = toPrimitive(P, true);
 anObject(Attributes);
 if (IE8_DOM_DEFINE)
  try {
   return nativeDefineProperty(O, P, Attributes);
  } catch (error) {
  }
 if ('get' in Attributes || 'set' in Attributes)
  throw TypeError('Accessors not supported');
 if ('value' in Attributes)
  O[P] = Attributes.value;
 return O;
};

/***/ }),
/* 28 */
/***/ (function(module, exports, __w_pdfjs_require__) {

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

/***/ }),
/* 29 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var has = __w_pdfjs_require__(23);
var setGlobal = __w_pdfjs_require__(30);
var inspectSource = __w_pdfjs_require__(31);
var InternalStateModule = __w_pdfjs_require__(33);
var getInternalState = InternalStateModule.get;
var enforceInternalState = InternalStateModule.enforce;
var TEMPLATE = String(String).split('String');
(module.exports = function (O, key, value, options) {
 var unsafe = options ? !!options.unsafe : false;
 var simple = options ? !!options.enumerable : false;
 var noTargetGet = options ? !!options.noTargetGet : false;
 if (typeof value == 'function') {
  if (typeof key == 'string' && !has(value, 'name'))
   createNonEnumerableProperty(value, 'name', key);
  enforceInternalState(value).source = TEMPLATE.join(typeof key == 'string' ? key : '');
 }
 if (O === global) {
  if (simple)
   O[key] = value;
  else
   setGlobal(key, value);
  return;
 } else if (!unsafe) {
  delete O[key];
 } else if (!noTargetGet && O[key]) {
  simple = true;
 }
 if (simple)
  O[key] = value;
 else
  createNonEnumerableProperty(O, key, value);
})(Function.prototype, 'toString', function toString() {
 return typeof this == 'function' && getInternalState(this).source || inspectSource(this);
});

/***/ }),
/* 30 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
module.exports = function (key, value) {
 try {
  createNonEnumerableProperty(global, key, value);
 } catch (error) {
  global[key] = value;
 }
 return value;
};

/***/ }),
/* 31 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var store = __w_pdfjs_require__(32);
var functionToString = Function.toString;
if (typeof store.inspectSource != 'function') {
 store.inspectSource = function (it) {
  return functionToString.call(it);
 };
}
module.exports = store.inspectSource;

/***/ }),
/* 32 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var setGlobal = __w_pdfjs_require__(30);
var SHARED = '__core-js_shared__';
var store = global[SHARED] || setGlobal(SHARED, {});
module.exports = store;

/***/ }),
/* 33 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var NATIVE_WEAK_MAP = __w_pdfjs_require__(34);
var global = __w_pdfjs_require__(11);
var isObject = __w_pdfjs_require__(22);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var objectHas = __w_pdfjs_require__(23);
var sharedKey = __w_pdfjs_require__(35);
var hiddenKeys = __w_pdfjs_require__(39);
var WeakMap = global.WeakMap;
var set, get, has;
var enforce = function (it) {
 return has(it) ? get(it) : set(it, {});
};
var getterFor = function (TYPE) {
 return function (it) {
  var state;
  if (!isObject(it) || (state = get(it)).type !== TYPE) {
   throw TypeError('Incompatible receiver, ' + TYPE + ' required');
  }
  return state;
 };
};
if (NATIVE_WEAK_MAP) {
 var store = new WeakMap();
 var wmget = store.get;
 var wmhas = store.has;
 var wmset = store.set;
 set = function (it, metadata) {
  wmset.call(store, it, metadata);
  return metadata;
 };
 get = function (it) {
  return wmget.call(store, it) || {};
 };
 has = function (it) {
  return wmhas.call(store, it);
 };
} else {
 var STATE = sharedKey('state');
 hiddenKeys[STATE] = true;
 set = function (it, metadata) {
  createNonEnumerableProperty(it, STATE, metadata);
  return metadata;
 };
 get = function (it) {
  return objectHas(it, STATE) ? it[STATE] : {};
 };
 has = function (it) {
  return objectHas(it, STATE);
 };
}
module.exports = {
 set: set,
 get: get,
 has: has,
 enforce: enforce,
 getterFor: getterFor
};

/***/ }),
/* 34 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var inspectSource = __w_pdfjs_require__(31);
var WeakMap = global.WeakMap;
module.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));

/***/ }),
/* 35 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var shared = __w_pdfjs_require__(36);
var uid = __w_pdfjs_require__(38);
var keys = shared('keys');
module.exports = function (key) {
 return keys[key] || (keys[key] = uid(key));
};

/***/ }),
/* 36 */
/***/ (function(module, exports, __w_pdfjs_require__) {

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

/***/ }),
/* 37 */
/***/ (function(module, exports) {

module.exports = false;

/***/ }),
/* 38 */
/***/ (function(module, exports) {

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

/***/ }),
/* 39 */
/***/ (function(module, exports) {

module.exports = {};

/***/ }),
/* 40 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var has = __w_pdfjs_require__(23);
var ownKeys = __w_pdfjs_require__(41);
var getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);
var definePropertyModule = __w_pdfjs_require__(27);
module.exports = function (target, source) {
 var keys = ownKeys(source);
 var defineProperty = definePropertyModule.f;
 var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
 for (var i = 0; i < keys.length; i++) {
  var key = keys[i];
  if (!has(target, key))
   defineProperty(target, key, getOwnPropertyDescriptor(source, key));
 }
};

/***/ }),
/* 41 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var getBuiltIn = __w_pdfjs_require__(42);
var getOwnPropertyNamesModule = __w_pdfjs_require__(44);
var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
var anObject = __w_pdfjs_require__(28);
module.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
 var keys = getOwnPropertyNamesModule.f(anObject(it));
 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
 return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;
};

/***/ }),
/* 42 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var path = __w_pdfjs_require__(43);
var global = __w_pdfjs_require__(11);
var aFunction = function (variable) {
 return typeof variable == 'function' ? variable : undefined;
};
module.exports = function (namespace, method) {
 return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace]) : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];
};

/***/ }),
/* 43 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
module.exports = global;

/***/ }),
/* 44 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var internalObjectKeys = __w_pdfjs_require__(45);
var enumBugKeys = __w_pdfjs_require__(50);
var hiddenKeys = enumBugKeys.concat('length', 'prototype');
exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
 return internalObjectKeys(O, hiddenKeys);
};

/***/ }),
/* 45 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var has = __w_pdfjs_require__(23);
var toIndexedObject = __w_pdfjs_require__(17);
var indexOf = __w_pdfjs_require__(46).indexOf;
var hiddenKeys = __w_pdfjs_require__(39);
module.exports = function (object, names) {
 var O = toIndexedObject(object);
 var i = 0;
 var result = [];
 var key;
 for (key in O)
  !has(hiddenKeys, key) && has(O, key) && result.push(key);
 while (names.length > i)
  if (has(O, key = names[i++])) {
   ~indexOf(result, key) || result.push(key);
  }
 return result;
};

/***/ }),
/* 46 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var toIndexedObject = __w_pdfjs_require__(17);
var toLength = __w_pdfjs_require__(47);
var toAbsoluteIndex = __w_pdfjs_require__(49);
var createMethod = function (IS_INCLUDES) {
 return function ($this, el, fromIndex) {
  var O = toIndexedObject($this);
  var length = toLength(O.length);
  var index = toAbsoluteIndex(fromIndex, length);
  var value;
  if (IS_INCLUDES && el != el)
   while (length > index) {
    value = O[index++];
    if (value != value)
     return true;
   }
  else
   for (; length > index; index++) {
    if ((IS_INCLUDES || index in O) && O[index] === el)
     return IS_INCLUDES || index || 0;
   }
  return !IS_INCLUDES && -1;
 };
};
module.exports = {
 includes: createMethod(true),
 indexOf: createMethod(false)
};

/***/ }),
/* 47 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var toInteger = __w_pdfjs_require__(48);
var min = Math.min;
module.exports = function (argument) {
 return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0;
};

/***/ }),
/* 48 */
/***/ (function(module, exports) {

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

/***/ }),
/* 49 */
/***/ (function(module, exports, __w_pdfjs_require__) {

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

/***/ }),
/* 50 */
/***/ (function(module, exports) {

module.exports = [
 'constructor',
 'hasOwnProperty',
 'isPrototypeOf',
 'propertyIsEnumerable',
 'toLocaleString',
 'toString',
 'valueOf'
];

/***/ }),
/* 51 */
/***/ (function(module, exports) {

exports.f = Object.getOwnPropertySymbols;

/***/ }),
/* 52 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
var replacement = /#|\.prototype\./;
var isForced = function (feature, detection) {
 var value = data[normalize(feature)];
 return value == POLYFILL ? true : value == NATIVE ? false : typeof detection == 'function' ? fails(detection) : !!detection;
};
var normalize = isForced.normalize = function (string) {
 return String(string).replace(replacement, '.').toLowerCase();
};
var data = isForced.data = {};
var NATIVE = isForced.NATIVE = 'N';
var POLYFILL = isForced.POLYFILL = 'P';
module.exports = isForced;

/***/ }),
/* 53 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(54);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'startsWith');

/***/ }),
/* 54 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;
var toLength = __w_pdfjs_require__(47);
var notARegExp = __w_pdfjs_require__(55);
var requireObjectCoercible = __w_pdfjs_require__(20);
var correctIsRegExpLogic = __w_pdfjs_require__(60);
var IS_PURE = __w_pdfjs_require__(37);
var nativeStartsWith = ''.startsWith;
var min = Math.min;
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('startsWith');
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
 var descriptor = getOwnPropertyDescriptor(String.prototype, 'startsWith');
 return descriptor && !descriptor.writable;
}();
$({
 target: 'String',
 proto: true,
 forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
}, {
 startsWith: function startsWith(searchString) {
  var that = String(requireObjectCoercible(this));
  notARegExp(searchString);
  var index = toLength(min(arguments.length > 1 ? arguments[1] : undefined, that.length));
  var search = String(searchString);
  return nativeStartsWith ? nativeStartsWith.call(that, search, index) : that.slice(index, index + search.length) === search;
 }
});

/***/ }),
/* 55 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isRegExp = __w_pdfjs_require__(56);
module.exports = function (it) {
 if (isRegExp(it)) {
  throw TypeError("The method doesn't accept regular expressions");
 }
 return it;
};

/***/ }),
/* 56 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
var classof = __w_pdfjs_require__(19);
var wellKnownSymbol = __w_pdfjs_require__(57);
var MATCH = wellKnownSymbol('match');
module.exports = function (it) {
 var isRegExp;
 return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');
};

/***/ }),
/* 57 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var shared = __w_pdfjs_require__(36);
var has = __w_pdfjs_require__(23);
var uid = __w_pdfjs_require__(38);
var NATIVE_SYMBOL = __w_pdfjs_require__(58);
var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);
var WellKnownSymbolsStore = shared('wks');
var Symbol = global.Symbol;
var createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;
module.exports = function (name) {
 if (!has(WellKnownSymbolsStore, name)) {
  if (NATIVE_SYMBOL && has(Symbol, name))
   WellKnownSymbolsStore[name] = Symbol[name];
  else
   WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);
 }
 return WellKnownSymbolsStore[name];
};

/***/ }),
/* 58 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
module.exports = !!Object.getOwnPropertySymbols && !fails(function () {
 return !String(Symbol());
});

/***/ }),
/* 59 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var NATIVE_SYMBOL = __w_pdfjs_require__(58);
module.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';

/***/ }),
/* 60 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
var MATCH = wellKnownSymbol('match');
module.exports = function (METHOD_NAME) {
 var regexp = /./;
 try {
  '/./'[METHOD_NAME](regexp);
 } catch (e) {
  try {
   regexp[MATCH] = false;
   return '/./'[METHOD_NAME](regexp);
  } catch (f) {
  }
 }
 return false;
};

/***/ }),
/* 61 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var bind = __w_pdfjs_require__(62);
var call = Function.call;
module.exports = function (CONSTRUCTOR, METHOD, length) {
 return bind(call, global[CONSTRUCTOR].prototype[METHOD], length);
};

/***/ }),
/* 62 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var aFunction = __w_pdfjs_require__(63);
module.exports = function (fn, that, length) {
 aFunction(fn);
 if (that === undefined)
  return fn;
 switch (length) {
 case 0:
  return function () {
   return fn.call(that);
  };
 case 1:
  return function (a) {
   return fn.call(that, a);
  };
 case 2:
  return function (a, b) {
   return fn.call(that, a, b);
  };
 case 3:
  return function (a, b, c) {
   return fn.call(that, a, b, c);
  };
 }
 return function () {
  return fn.apply(that, arguments);
 };
};

/***/ }),
/* 63 */
/***/ (function(module, exports) {

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

/***/ }),
/* 64 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(65);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'endsWith');

/***/ }),
/* 65 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;
var toLength = __w_pdfjs_require__(47);
var notARegExp = __w_pdfjs_require__(55);
var requireObjectCoercible = __w_pdfjs_require__(20);
var correctIsRegExpLogic = __w_pdfjs_require__(60);
var IS_PURE = __w_pdfjs_require__(37);
var nativeEndsWith = ''.endsWith;
var min = Math.min;
var CORRECT_IS_REGEXP_LOGIC = correctIsRegExpLogic('endsWith');
var MDN_POLYFILL_BUG = !IS_PURE && !CORRECT_IS_REGEXP_LOGIC && !!function () {
 var descriptor = getOwnPropertyDescriptor(String.prototype, 'endsWith');
 return descriptor && !descriptor.writable;
}();
$({
 target: 'String',
 proto: true,
 forced: !MDN_POLYFILL_BUG && !CORRECT_IS_REGEXP_LOGIC
}, {
 endsWith: function endsWith(searchString) {
  var that = String(requireObjectCoercible(this));
  notARegExp(searchString);
  var endPosition = arguments.length > 1 ? arguments[1] : undefined;
  var len = toLength(that.length);
  var end = endPosition === undefined ? len : min(toLength(endPosition), len);
  var search = String(searchString);
  return nativeEndsWith ? nativeEndsWith.call(that, search, end) : that.slice(end - search.length, end) === search;
 }
});

/***/ }),
/* 66 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(67);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'includes');

/***/ }),
/* 67 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var notARegExp = __w_pdfjs_require__(55);
var requireObjectCoercible = __w_pdfjs_require__(20);
var correctIsRegExpLogic = __w_pdfjs_require__(60);
$({
 target: 'String',
 proto: true,
 forced: !correctIsRegExpLogic('includes')
}, {
 includes: function includes(searchString) {
  return !!~String(requireObjectCoercible(this)).indexOf(notARegExp(searchString), arguments.length > 1 ? arguments[1] : undefined);
 }
});

/***/ }),
/* 68 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(69);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('Array', 'includes');

/***/ }),
/* 69 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var $includes = __w_pdfjs_require__(46).includes;
var addToUnscopables = __w_pdfjs_require__(70);
var arrayMethodUsesToLength = __w_pdfjs_require__(75);
var USES_TO_LENGTH = arrayMethodUsesToLength('indexOf', {
 ACCESSORS: true,
 1: 0
});
$({
 target: 'Array',
 proto: true,
 forced: !USES_TO_LENGTH
}, {
 includes: function includes(el) {
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
 }
});
addToUnscopables('includes');

/***/ }),
/* 70 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
var create = __w_pdfjs_require__(71);
var definePropertyModule = __w_pdfjs_require__(27);
var UNSCOPABLES = wellKnownSymbol('unscopables');
var ArrayPrototype = Array.prototype;
if (ArrayPrototype[UNSCOPABLES] == undefined) {
 definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {
  configurable: true,
  value: create(null)
 });
}
module.exports = function (key) {
 ArrayPrototype[UNSCOPABLES][key] = true;
};

/***/ }),
/* 71 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
var defineProperties = __w_pdfjs_require__(72);
var enumBugKeys = __w_pdfjs_require__(50);
var hiddenKeys = __w_pdfjs_require__(39);
var html = __w_pdfjs_require__(74);
var documentCreateElement = __w_pdfjs_require__(25);
var sharedKey = __w_pdfjs_require__(35);
var GT = '>';
var LT = '<';
var PROTOTYPE = 'prototype';
var SCRIPT = 'script';
var IE_PROTO = sharedKey('IE_PROTO');
var EmptyConstructor = function () {
};
var scriptTag = function (content) {
 return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;
};
var NullProtoObjectViaActiveX = function (activeXDocument) {
 activeXDocument.write(scriptTag(''));
 activeXDocument.close();
 var temp = activeXDocument.parentWindow.Object;
 activeXDocument = null;
 return temp;
};
var NullProtoObjectViaIFrame = function () {
 var iframe = documentCreateElement('iframe');
 var JS = 'java' + SCRIPT + ':';
 var iframeDocument;
 iframe.style.display = 'none';
 html.appendChild(iframe);
 iframe.src = String(JS);
 iframeDocument = iframe.contentWindow.document;
 iframeDocument.open();
 iframeDocument.write(scriptTag('document.F=Object'));
 iframeDocument.close();
 return iframeDocument.F;
};
var activeXDocument;
var NullProtoObject = function () {
 try {
  activeXDocument = document.domain && new ActiveXObject('htmlfile');
 } catch (error) {
 }
 NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();
 var length = enumBugKeys.length;
 while (length--)
  delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];
 return NullProtoObject();
};
hiddenKeys[IE_PROTO] = true;
module.exports = Object.create || function create(O, Properties) {
 var result;
 if (O !== null) {
  EmptyConstructor[PROTOTYPE] = anObject(O);
  result = new EmptyConstructor();
  EmptyConstructor[PROTOTYPE] = null;
  result[IE_PROTO] = O;
 } else
  result = NullProtoObject();
 return Properties === undefined ? result : defineProperties(result, Properties);
};

/***/ }),
/* 72 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var definePropertyModule = __w_pdfjs_require__(27);
var anObject = __w_pdfjs_require__(28);
var objectKeys = __w_pdfjs_require__(73);
module.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {
 anObject(O);
 var keys = objectKeys(Properties);
 var length = keys.length;
 var index = 0;
 var key;
 while (length > index)
  definePropertyModule.f(O, key = keys[index++], Properties[key]);
 return O;
};

/***/ }),
/* 73 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var internalObjectKeys = __w_pdfjs_require__(45);
var enumBugKeys = __w_pdfjs_require__(50);
module.exports = Object.keys || function keys(O) {
 return internalObjectKeys(O, enumBugKeys);
};

/***/ }),
/* 74 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var getBuiltIn = __w_pdfjs_require__(42);
module.exports = getBuiltIn('document', 'documentElement');

/***/ }),
/* 75 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var fails = __w_pdfjs_require__(14);
var has = __w_pdfjs_require__(23);
var defineProperty = Object.defineProperty;
var cache = {};
var thrower = function (it) {
 throw it;
};
module.exports = function (METHOD_NAME, options) {
 if (has(cache, METHOD_NAME))
  return cache[METHOD_NAME];
 if (!options)
  options = {};
 var method = [][METHOD_NAME];
 var ACCESSORS = has(options, 'ACCESSORS') ? options.ACCESSORS : false;
 var argument0 = has(options, 0) ? options[0] : thrower;
 var argument1 = has(options, 1) ? options[1] : undefined;
 return cache[METHOD_NAME] = !!method && !fails(function () {
  if (ACCESSORS && !DESCRIPTORS)
   return true;
  var O = { length: -1 };
  if (ACCESSORS)
   defineProperty(O, 1, {
    enumerable: true,
    get: thrower
   });
  else
   O[1] = 1;
  method.call(O, argument0, argument1);
 });
};

/***/ }),
/* 76 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(77);
__w_pdfjs_require__(89);
var path = __w_pdfjs_require__(43);
module.exports = path.Array.from;

/***/ }),
/* 77 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var charAt = __w_pdfjs_require__(78).charAt;
var InternalStateModule = __w_pdfjs_require__(33);
var defineIterator = __w_pdfjs_require__(79);
var STRING_ITERATOR = 'String Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);
defineIterator(String, 'String', function (iterated) {
 setInternalState(this, {
  type: STRING_ITERATOR,
  string: String(iterated),
  index: 0
 });
}, function next() {
 var state = getInternalState(this);
 var string = state.string;
 var index = state.index;
 var point;
 if (index >= string.length)
  return {
   value: undefined,
   done: true
  };
 point = charAt(string, index);
 state.index += point.length;
 return {
  value: point,
  done: false
 };
});

/***/ }),
/* 78 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var toInteger = __w_pdfjs_require__(48);
var requireObjectCoercible = __w_pdfjs_require__(20);
var createMethod = function (CONVERT_TO_STRING) {
 return function ($this, pos) {
  var S = String(requireObjectCoercible($this));
  var position = toInteger(pos);
  var size = S.length;
  var first, second;
  if (position < 0 || position >= size)
   return CONVERT_TO_STRING ? '' : undefined;
  first = S.charCodeAt(position);
  return first < 0xD800 || first > 0xDBFF || position + 1 === size || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF ? CONVERT_TO_STRING ? S.charAt(position) : first : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;
 };
};
module.exports = {
 codeAt: createMethod(false),
 charAt: createMethod(true)
};

/***/ }),
/* 79 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var createIteratorConstructor = __w_pdfjs_require__(80);
var getPrototypeOf = __w_pdfjs_require__(82);
var setPrototypeOf = __w_pdfjs_require__(87);
var setToStringTag = __w_pdfjs_require__(85);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var redefine = __w_pdfjs_require__(29);
var wellKnownSymbol = __w_pdfjs_require__(57);
var IS_PURE = __w_pdfjs_require__(37);
var Iterators = __w_pdfjs_require__(86);
var IteratorsCore = __w_pdfjs_require__(81);
var IteratorPrototype = IteratorsCore.IteratorPrototype;
var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
var ITERATOR = wellKnownSymbol('iterator');
var KEYS = 'keys';
var VALUES = 'values';
var ENTRIES = 'entries';
var returnThis = function () {
 return this;
};
module.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {
 createIteratorConstructor(IteratorConstructor, NAME, next);
 var getIterationMethod = function (KIND) {
  if (KIND === DEFAULT && defaultIterator)
   return defaultIterator;
  if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype)
   return IterablePrototype[KIND];
  switch (KIND) {
  case KEYS:
   return function keys() {
    return new IteratorConstructor(this, KIND);
   };
  case VALUES:
   return function values() {
    return new IteratorConstructor(this, KIND);
   };
  case ENTRIES:
   return function entries() {
    return new IteratorConstructor(this, KIND);
   };
  }
  return function () {
   return new IteratorConstructor(this);
  };
 };
 var TO_STRING_TAG = NAME + ' Iterator';
 var INCORRECT_VALUES_NAME = false;
 var IterablePrototype = Iterable.prototype;
 var nativeIterator = IterablePrototype[ITERATOR] || IterablePrototype['@@iterator'] || DEFAULT && IterablePrototype[DEFAULT];
 var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
 var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;
 var CurrentIteratorPrototype, methods, KEY;
 if (anyNativeIterator) {
  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
  if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
   if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
    if (setPrototypeOf) {
     setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
    } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {
     createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);
    }
   }
   setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);
   if (IS_PURE)
    Iterators[TO_STRING_TAG] = returnThis;
  }
 }
 if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {
  INCORRECT_VALUES_NAME = true;
  defaultIterator = function values() {
   return nativeIterator.call(this);
  };
 }
 if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {
  createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);
 }
 Iterators[NAME] = defaultIterator;
 if (DEFAULT) {
  methods = {
   values: getIterationMethod(VALUES),
   keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
   entries: getIterationMethod(ENTRIES)
  };
  if (FORCED)
   for (KEY in methods) {
    if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
     redefine(IterablePrototype, KEY, methods[KEY]);
    }
   }
  else
   $({
    target: NAME,
    proto: true,
    forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME
   }, methods);
 }
 return methods;
};

/***/ }),
/* 80 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var IteratorPrototype = __w_pdfjs_require__(81).IteratorPrototype;
var create = __w_pdfjs_require__(71);
var createPropertyDescriptor = __w_pdfjs_require__(16);
var setToStringTag = __w_pdfjs_require__(85);
var Iterators = __w_pdfjs_require__(86);
var returnThis = function () {
 return this;
};
module.exports = function (IteratorConstructor, NAME, next) {
 var TO_STRING_TAG = NAME + ' Iterator';
 IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });
 setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);
 Iterators[TO_STRING_TAG] = returnThis;
 return IteratorConstructor;
};

/***/ }),
/* 81 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var getPrototypeOf = __w_pdfjs_require__(82);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var has = __w_pdfjs_require__(23);
var wellKnownSymbol = __w_pdfjs_require__(57);
var IS_PURE = __w_pdfjs_require__(37);
var ITERATOR = wellKnownSymbol('iterator');
var BUGGY_SAFARI_ITERATORS = false;
var returnThis = function () {
 return this;
};
var IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;
if ([].keys) {
 arrayIterator = [].keys();
 if (!('next' in arrayIterator))
  BUGGY_SAFARI_ITERATORS = true;
 else {
  PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));
  if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
   IteratorPrototype = PrototypeOfArrayIteratorPrototype;
 }
}
if (IteratorPrototype == undefined)
 IteratorPrototype = {};
if (!IS_PURE && !has(IteratorPrototype, ITERATOR)) {
 createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);
}
module.exports = {
 IteratorPrototype: IteratorPrototype,
 BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS
};

/***/ }),
/* 82 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var has = __w_pdfjs_require__(23);
var toObject = __w_pdfjs_require__(83);
var sharedKey = __w_pdfjs_require__(35);
var CORRECT_PROTOTYPE_GETTER = __w_pdfjs_require__(84);
var IE_PROTO = sharedKey('IE_PROTO');
var ObjectPrototype = Object.prototype;
module.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {
 O = toObject(O);
 if (has(O, IE_PROTO))
  return O[IE_PROTO];
 if (typeof O.constructor == 'function' && O instanceof O.constructor) {
  return O.constructor.prototype;
 }
 return O instanceof Object ? ObjectPrototype : null;
};

/***/ }),
/* 83 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var requireObjectCoercible = __w_pdfjs_require__(20);
module.exports = function (argument) {
 return Object(requireObjectCoercible(argument));
};

/***/ }),
/* 84 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
module.exports = !fails(function () {
 function F() {
 }
 F.prototype.constructor = null;
 return Object.getPrototypeOf(new F()) !== F.prototype;
});

/***/ }),
/* 85 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineProperty = __w_pdfjs_require__(27).f;
var has = __w_pdfjs_require__(23);
var wellKnownSymbol = __w_pdfjs_require__(57);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
module.exports = function (it, TAG, STATIC) {
 if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {
  defineProperty(it, TO_STRING_TAG, {
   configurable: true,
   value: TAG
  });
 }
};

/***/ }),
/* 86 */
/***/ (function(module, exports) {

module.exports = {};

/***/ }),
/* 87 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
var aPossiblePrototype = __w_pdfjs_require__(88);
module.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {
 var CORRECT_SETTER = false;
 var test = {};
 var setter;
 try {
  setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;
  setter.call(test, []);
  CORRECT_SETTER = test instanceof Array;
 } catch (error) {
 }
 return function setPrototypeOf(O, proto) {
  anObject(O);
  aPossiblePrototype(proto);
  if (CORRECT_SETTER)
   setter.call(O, proto);
  else
   O.__proto__ = proto;
  return O;
 };
}() : undefined);

/***/ }),
/* 88 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
module.exports = function (it) {
 if (!isObject(it) && it !== null) {
  throw TypeError("Can't set " + String(it) + ' as a prototype');
 }
 return it;
};

/***/ }),
/* 89 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var from = __w_pdfjs_require__(90);
var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function (iterable) {
 Array.from(iterable);
});
$({
 target: 'Array',
 stat: true,
 forced: INCORRECT_ITERATION
}, { from: from });

/***/ }),
/* 90 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var bind = __w_pdfjs_require__(62);
var toObject = __w_pdfjs_require__(83);
var callWithSafeIterationClosing = __w_pdfjs_require__(91);
var isArrayIteratorMethod = __w_pdfjs_require__(92);
var toLength = __w_pdfjs_require__(47);
var createProperty = __w_pdfjs_require__(93);
var getIteratorMethod = __w_pdfjs_require__(94);
module.exports = function from(arrayLike) {
 var O = toObject(arrayLike);
 var C = typeof this == 'function' ? this : Array;
 var argumentsLength = arguments.length;
 var mapfn = argumentsLength > 1 ? arguments[1] : undefined;
 var mapping = mapfn !== undefined;
 var iteratorMethod = getIteratorMethod(O);
 var index = 0;
 var length, result, step, iterator, next, value;
 if (mapping)
  mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : undefined, 2);
 if (iteratorMethod != undefined && !(C == Array && isArrayIteratorMethod(iteratorMethod))) {
  iterator = iteratorMethod.call(O);
  next = iterator.next;
  result = new C();
  for (; !(step = next.call(iterator)).done; index++) {
   value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [
    step.value,
    index
   ], true) : step.value;
   createProperty(result, index, value);
  }
 } else {
  length = toLength(O.length);
  result = new C(length);
  for (; length > index; index++) {
   value = mapping ? mapfn(O[index], index) : O[index];
   createProperty(result, index, value);
  }
 }
 result.length = index;
 return result;
};

/***/ }),
/* 91 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
module.exports = function (iterator, fn, value, ENTRIES) {
 try {
  return ENTRIES ? fn(anObject(value)[0], value[1]) : fn(value);
 } catch (error) {
  var returnMethod = iterator['return'];
  if (returnMethod !== undefined)
   anObject(returnMethod.call(iterator));
  throw error;
 }
};

/***/ }),
/* 92 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
var Iterators = __w_pdfjs_require__(86);
var ITERATOR = wellKnownSymbol('iterator');
var ArrayPrototype = Array.prototype;
module.exports = function (it) {
 return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);
};

/***/ }),
/* 93 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var toPrimitive = __w_pdfjs_require__(21);
var definePropertyModule = __w_pdfjs_require__(27);
var createPropertyDescriptor = __w_pdfjs_require__(16);
module.exports = function (object, key, value) {
 var propertyKey = toPrimitive(key);
 if (propertyKey in object)
  definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));
 else
  object[propertyKey] = value;
};

/***/ }),
/* 94 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var classof = __w_pdfjs_require__(95);
var Iterators = __w_pdfjs_require__(86);
var wellKnownSymbol = __w_pdfjs_require__(57);
var ITERATOR = wellKnownSymbol('iterator');
module.exports = function (it) {
 if (it != undefined)
  return it[ITERATOR] || it['@@iterator'] || Iterators[classof(it)];
};

/***/ }),
/* 95 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
var classofRaw = __w_pdfjs_require__(19);
var wellKnownSymbol = __w_pdfjs_require__(57);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var CORRECT_ARGUMENTS = classofRaw(function () {
 return arguments;
}()) == 'Arguments';
var tryGet = function (it, key) {
 try {
  return it[key];
 } catch (error) {
 }
};
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
 var O, tag, result;
 return it === undefined ? 'Undefined' : it === null ? 'Null' : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;
};

/***/ }),
/* 96 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var test = {};
test[TO_STRING_TAG] = 'z';
module.exports = String(test) === '[object z]';

/***/ }),
/* 97 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
var ITERATOR = wellKnownSymbol('iterator');
var SAFE_CLOSING = false;
try {
 var called = 0;
 var iteratorWithReturn = {
  next: function () {
   return { done: !!called++ };
  },
  'return': function () {
   SAFE_CLOSING = true;
  }
 };
 iteratorWithReturn[ITERATOR] = function () {
  return this;
 };
 Array.from(iteratorWithReturn, function () {
  throw 2;
 });
} catch (error) {
}
module.exports = function (exec, SKIP_CLOSING) {
 if (!SKIP_CLOSING && !SAFE_CLOSING)
  return false;
 var ITERATION_SUPPORT = false;
 try {
  var object = {};
  object[ITERATOR] = function () {
   return {
    next: function () {
     return { done: ITERATION_SUPPORT = true };
    }
   };
  };
  exec(object);
 } catch (error) {
 }
 return ITERATION_SUPPORT;
};

/***/ }),
/* 98 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(99);
var path = __w_pdfjs_require__(43);
module.exports = path.Object.assign;

/***/ }),
/* 99 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var assign = __w_pdfjs_require__(100);
$({
 target: 'Object',
 stat: true,
 forced: Object.assign !== assign
}, { assign: assign });

/***/ }),
/* 100 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var DESCRIPTORS = __w_pdfjs_require__(13);
var fails = __w_pdfjs_require__(14);
var objectKeys = __w_pdfjs_require__(73);
var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
var propertyIsEnumerableModule = __w_pdfjs_require__(15);
var toObject = __w_pdfjs_require__(83);
var IndexedObject = __w_pdfjs_require__(18);
var nativeAssign = Object.assign;
var defineProperty = Object.defineProperty;
module.exports = !nativeAssign || fails(function () {
 if (DESCRIPTORS && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', {
   enumerable: true,
   get: function () {
    defineProperty(this, 'b', {
     value: 3,
     enumerable: false
    });
   }
  }), { b: 2 })).b !== 1)
  return true;
 var A = {};
 var B = {};
 var symbol = Symbol();
 var alphabet = 'abcdefghijklmnopqrst';
 A[symbol] = 7;
 alphabet.split('').forEach(function (chr) {
  B[chr] = chr;
 });
 return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet;
}) ? function assign(target, source) {
 var T = toObject(target);
 var argumentsLength = arguments.length;
 var index = 1;
 var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
 var propertyIsEnumerable = propertyIsEnumerableModule.f;
 while (argumentsLength > index) {
  var S = IndexedObject(arguments[index++]);
  var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);
  var length = keys.length;
  var j = 0;
  var key;
  while (length > j) {
   key = keys[j++];
   if (!DESCRIPTORS || propertyIsEnumerable.call(S, key))
    T[key] = S[key];
  }
 }
 return T;
} : nativeAssign;

/***/ }),
/* 101 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(102);
__w_pdfjs_require__(103);
var path = __w_pdfjs_require__(43);
module.exports = path.Object.fromEntries;

/***/ }),
/* 102 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var toIndexedObject = __w_pdfjs_require__(17);
var addToUnscopables = __w_pdfjs_require__(70);
var Iterators = __w_pdfjs_require__(86);
var InternalStateModule = __w_pdfjs_require__(33);
var defineIterator = __w_pdfjs_require__(79);
var ARRAY_ITERATOR = 'Array Iterator';
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);
module.exports = defineIterator(Array, 'Array', function (iterated, kind) {
 setInternalState(this, {
  type: ARRAY_ITERATOR,
  target: toIndexedObject(iterated),
  index: 0,
  kind: kind
 });
}, function () {
 var state = getInternalState(this);
 var target = state.target;
 var kind = state.kind;
 var index = state.index++;
 if (!target || index >= target.length) {
  state.target = undefined;
  return {
   value: undefined,
   done: true
  };
 }
 if (kind == 'keys')
  return {
   value: index,
   done: false
  };
 if (kind == 'values')
  return {
   value: target[index],
   done: false
  };
 return {
  value: [
   index,
   target[index]
  ],
  done: false
 };
}, 'values');
Iterators.Arguments = Iterators.Array;
addToUnscopables('keys');
addToUnscopables('values');
addToUnscopables('entries');

/***/ }),
/* 103 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var iterate = __w_pdfjs_require__(104);
var createProperty = __w_pdfjs_require__(93);
$({
 target: 'Object',
 stat: true
}, {
 fromEntries: function fromEntries(iterable) {
  var obj = {};
  iterate(iterable, function (k, v) {
   createProperty(obj, k, v);
  }, undefined, true);
  return obj;
 }
});

/***/ }),
/* 104 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
var isArrayIteratorMethod = __w_pdfjs_require__(92);
var toLength = __w_pdfjs_require__(47);
var bind = __w_pdfjs_require__(62);
var getIteratorMethod = __w_pdfjs_require__(94);
var callWithSafeIterationClosing = __w_pdfjs_require__(91);
var Result = function (stopped, result) {
 this.stopped = stopped;
 this.result = result;
};
var iterate = module.exports = function (iterable, fn, that, AS_ENTRIES, IS_ITERATOR) {
 var boundFunction = bind(fn, that, AS_ENTRIES ? 2 : 1);
 var iterator, iterFn, index, length, result, next, step;
 if (IS_ITERATOR) {
  iterator = iterable;
 } else {
  iterFn = getIteratorMethod(iterable);
  if (typeof iterFn != 'function')
   throw TypeError('Target is not iterable');
  if (isArrayIteratorMethod(iterFn)) {
   for (index = 0, length = toLength(iterable.length); length > index; index++) {
    result = AS_ENTRIES ? boundFunction(anObject(step = iterable[index])[0], step[1]) : boundFunction(iterable[index]);
    if (result && result instanceof Result)
     return result;
   }
   return new Result(false);
  }
  iterator = iterFn.call(iterable);
 }
 next = iterator.next;
 while (!(step = next.call(iterator)).done) {
  result = callWithSafeIterationClosing(iterator, boundFunction, step.value, AS_ENTRIES);
  if (typeof result == 'object' && result && result instanceof Result)
   return result;
 }
 return new Result(false);
};
iterate.stop = function (result) {
 return new Result(true, result);
};

/***/ }),
/* 105 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(106);
var path = __w_pdfjs_require__(43);
module.exports = path.Math.log2;

/***/ }),
/* 106 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var log = Math.log;
var LN2 = Math.LN2;
$({
 target: 'Math',
 stat: true
}, {
 log2: function log2(x) {
  return log(x) / LN2;
 }
});

/***/ }),
/* 107 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(108);
var path = __w_pdfjs_require__(43);
module.exports = path.Number.isNaN;

/***/ }),
/* 108 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
$({
 target: 'Number',
 stat: true
}, {
 isNaN: function isNaN(number) {
  return number != number;
 }
});

/***/ }),
/* 109 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(110);
var path = __w_pdfjs_require__(43);
module.exports = path.Number.isInteger;

/***/ }),
/* 110 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var isInteger = __w_pdfjs_require__(111);
$({
 target: 'Number',
 stat: true
}, { isInteger: isInteger });

/***/ }),
/* 111 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
var floor = Math.floor;
module.exports = function isInteger(it) {
 return !isObject(it) && isFinite(it) && floor(it) === it;
};

/***/ }),
/* 112 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(113);

/***/ }),
/* 113 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var ArrayBufferViewCore = __w_pdfjs_require__(114);
var speciesConstructor = __w_pdfjs_require__(116);
var fails = __w_pdfjs_require__(14);
var aTypedArray = ArrayBufferViewCore.aTypedArray;
var aTypedArrayConstructor = ArrayBufferViewCore.aTypedArrayConstructor;
var exportTypedArrayMethod = ArrayBufferViewCore.exportTypedArrayMethod;
var $slice = [].slice;
var FORCED = fails(function () {
 new Int8Array(1).slice();
});
exportTypedArrayMethod('slice', function slice(start, end) {
 var list = $slice.call(aTypedArray(this), start, end);
 var C = speciesConstructor(this, this.constructor);
 var index = 0;
 var length = list.length;
 var result = new (aTypedArrayConstructor(C))(length);
 while (length > index)
  result[index] = list[index++];
 return result;
}, FORCED);

/***/ }),
/* 114 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var NATIVE_ARRAY_BUFFER = __w_pdfjs_require__(115);
var DESCRIPTORS = __w_pdfjs_require__(13);
var global = __w_pdfjs_require__(11);
var isObject = __w_pdfjs_require__(22);
var has = __w_pdfjs_require__(23);
var classof = __w_pdfjs_require__(95);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var redefine = __w_pdfjs_require__(29);
var defineProperty = __w_pdfjs_require__(27).f;
var getPrototypeOf = __w_pdfjs_require__(82);
var setPrototypeOf = __w_pdfjs_require__(87);
var wellKnownSymbol = __w_pdfjs_require__(57);
var uid = __w_pdfjs_require__(38);
var Int8Array = global.Int8Array;
var Int8ArrayPrototype = Int8Array && Int8Array.prototype;
var Uint8ClampedArray = global.Uint8ClampedArray;
var Uint8ClampedArrayPrototype = Uint8ClampedArray && Uint8ClampedArray.prototype;
var TypedArray = Int8Array && getPrototypeOf(Int8Array);
var TypedArrayPrototype = Int8ArrayPrototype && getPrototypeOf(Int8ArrayPrototype);
var ObjectPrototype = Object.prototype;
var isPrototypeOf = ObjectPrototype.isPrototypeOf;
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var TYPED_ARRAY_TAG = uid('TYPED_ARRAY_TAG');
var NATIVE_ARRAY_BUFFER_VIEWS = NATIVE_ARRAY_BUFFER && !!setPrototypeOf && classof(global.opera) !== 'Opera';
var TYPED_ARRAY_TAG_REQIRED = false;
var NAME;
var TypedArrayConstructorsList = {
 Int8Array: 1,
 Uint8Array: 1,
 Uint8ClampedArray: 1,
 Int16Array: 2,
 Uint16Array: 2,
 Int32Array: 4,
 Uint32Array: 4,
 Float32Array: 4,
 Float64Array: 8
};
var isView = function isView(it) {
 var klass = classof(it);
 return klass === 'DataView' || has(TypedArrayConstructorsList, klass);
};
var isTypedArray = function (it) {
 return isObject(it) && has(TypedArrayConstructorsList, classof(it));
};
var aTypedArray = function (it) {
 if (isTypedArray(it))
  return it;
 throw TypeError('Target is not a typed array');
};
var aTypedArrayConstructor = function (C) {
 if (setPrototypeOf) {
  if (isPrototypeOf.call(TypedArray, C))
   return C;
 } else
  for (var ARRAY in TypedArrayConstructorsList)
   if (has(TypedArrayConstructorsList, NAME)) {
    var TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && (C === TypedArrayConstructor || isPrototypeOf.call(TypedArrayConstructor, C))) {
     return C;
    }
   }
 throw TypeError('Target is not a typed array constructor');
};
var exportTypedArrayMethod = function (KEY, property, forced) {
 if (!DESCRIPTORS)
  return;
 if (forced)
  for (var ARRAY in TypedArrayConstructorsList) {
   var TypedArrayConstructor = global[ARRAY];
   if (TypedArrayConstructor && has(TypedArrayConstructor.prototype, KEY)) {
    delete TypedArrayConstructor.prototype[KEY];
   }
  }
 if (!TypedArrayPrototype[KEY] || forced) {
  redefine(TypedArrayPrototype, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8ArrayPrototype[KEY] || property);
 }
};
var exportTypedArrayStaticMethod = function (KEY, property, forced) {
 var ARRAY, TypedArrayConstructor;
 if (!DESCRIPTORS)
  return;
 if (setPrototypeOf) {
  if (forced)
   for (ARRAY in TypedArrayConstructorsList) {
    TypedArrayConstructor = global[ARRAY];
    if (TypedArrayConstructor && has(TypedArrayConstructor, KEY)) {
     delete TypedArrayConstructor[KEY];
    }
   }
  if (!TypedArray[KEY] || forced) {
   try {
    return redefine(TypedArray, KEY, forced ? property : NATIVE_ARRAY_BUFFER_VIEWS && Int8Array[KEY] || property);
   } catch (error) {
   }
  } else
   return;
 }
 for (ARRAY in TypedArrayConstructorsList) {
  TypedArrayConstructor = global[ARRAY];
  if (TypedArrayConstructor && (!TypedArrayConstructor[KEY] || forced)) {
   redefine(TypedArrayConstructor, KEY, property);
  }
 }
};
for (NAME in TypedArrayConstructorsList) {
 if (!global[NAME])
  NATIVE_ARRAY_BUFFER_VIEWS = false;
}
if (!NATIVE_ARRAY_BUFFER_VIEWS || typeof TypedArray != 'function' || TypedArray === Function.prototype) {
 TypedArray = function TypedArray() {
  throw TypeError('Incorrect invocation');
 };
 if (NATIVE_ARRAY_BUFFER_VIEWS)
  for (NAME in TypedArrayConstructorsList) {
   if (global[NAME])
    setPrototypeOf(global[NAME], TypedArray);
  }
}
if (!NATIVE_ARRAY_BUFFER_VIEWS || !TypedArrayPrototype || TypedArrayPrototype === ObjectPrototype) {
 TypedArrayPrototype = TypedArray.prototype;
 if (NATIVE_ARRAY_BUFFER_VIEWS)
  for (NAME in TypedArrayConstructorsList) {
   if (global[NAME])
    setPrototypeOf(global[NAME].prototype, TypedArrayPrototype);
  }
}
if (NATIVE_ARRAY_BUFFER_VIEWS && getPrototypeOf(Uint8ClampedArrayPrototype) !== TypedArrayPrototype) {
 setPrototypeOf(Uint8ClampedArrayPrototype, TypedArrayPrototype);
}
if (DESCRIPTORS && !has(TypedArrayPrototype, TO_STRING_TAG)) {
 TYPED_ARRAY_TAG_REQIRED = true;
 defineProperty(TypedArrayPrototype, TO_STRING_TAG, {
  get: function () {
   return isObject(this) ? this[TYPED_ARRAY_TAG] : undefined;
  }
 });
 for (NAME in TypedArrayConstructorsList)
  if (global[NAME]) {
   createNonEnumerableProperty(global[NAME], TYPED_ARRAY_TAG, NAME);
  }
}
module.exports = {
 NATIVE_ARRAY_BUFFER_VIEWS: NATIVE_ARRAY_BUFFER_VIEWS,
 TYPED_ARRAY_TAG: TYPED_ARRAY_TAG_REQIRED && TYPED_ARRAY_TAG,
 aTypedArray: aTypedArray,
 aTypedArrayConstructor: aTypedArrayConstructor,
 exportTypedArrayMethod: exportTypedArrayMethod,
 exportTypedArrayStaticMethod: exportTypedArrayStaticMethod,
 isView: isView,
 isTypedArray: isTypedArray,
 TypedArray: TypedArray,
 TypedArrayPrototype: TypedArrayPrototype
};

/***/ }),
/* 115 */
/***/ (function(module, exports) {

module.exports = typeof ArrayBuffer !== 'undefined' && typeof DataView !== 'undefined';

/***/ }),
/* 116 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
var aFunction = __w_pdfjs_require__(63);
var wellKnownSymbol = __w_pdfjs_require__(57);
var SPECIES = wellKnownSymbol('species');
module.exports = function (O, defaultConstructor) {
 var C = anObject(O).constructor;
 var S;
 return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);
};

/***/ }),
/* 117 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(118);
__w_pdfjs_require__(77);
__w_pdfjs_require__(120);
__w_pdfjs_require__(122);
__w_pdfjs_require__(136);
__w_pdfjs_require__(137);
var path = __w_pdfjs_require__(43);
module.exports = path.Promise;

/***/ }),
/* 118 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
var redefine = __w_pdfjs_require__(29);
var toString = __w_pdfjs_require__(119);
if (!TO_STRING_TAG_SUPPORT) {
 redefine(Object.prototype, 'toString', toString, { unsafe: true });
}

/***/ }),
/* 119 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var TO_STRING_TAG_SUPPORT = __w_pdfjs_require__(96);
var classof = __w_pdfjs_require__(95);
module.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {
 return '[object ' + classof(this) + ']';
};

/***/ }),
/* 120 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var DOMIterables = __w_pdfjs_require__(121);
var ArrayIteratorMethods = __w_pdfjs_require__(102);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var wellKnownSymbol = __w_pdfjs_require__(57);
var ITERATOR = wellKnownSymbol('iterator');
var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var ArrayValues = ArrayIteratorMethods.values;
for (var COLLECTION_NAME in DOMIterables) {
 var Collection = global[COLLECTION_NAME];
 var CollectionPrototype = Collection && Collection.prototype;
 if (CollectionPrototype) {
  if (CollectionPrototype[ITERATOR] !== ArrayValues)
   try {
    createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);
   } catch (error) {
    CollectionPrototype[ITERATOR] = ArrayValues;
   }
  if (!CollectionPrototype[TO_STRING_TAG]) {
   createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);
  }
  if (DOMIterables[COLLECTION_NAME])
   for (var METHOD_NAME in ArrayIteratorMethods) {
    if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME])
     try {
      createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
     } catch (error) {
      CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
     }
   }
 }
}

/***/ }),
/* 121 */
/***/ (function(module, exports) {

module.exports = {
 CSSRuleList: 0,
 CSSStyleDeclaration: 0,
 CSSValueList: 0,
 ClientRectList: 0,
 DOMRectList: 0,
 DOMStringList: 0,
 DOMTokenList: 1,
 DataTransferItemList: 0,
 FileList: 0,
 HTMLAllCollection: 0,
 HTMLCollection: 0,
 HTMLFormElement: 0,
 HTMLSelectElement: 0,
 MediaList: 0,
 MimeTypeArray: 0,
 NamedNodeMap: 0,
 NodeList: 1,
 PaintRequestList: 0,
 Plugin: 0,
 PluginArray: 0,
 SVGLengthList: 0,
 SVGNumberList: 0,
 SVGPathSegList: 0,
 SVGPointList: 0,
 SVGStringList: 0,
 SVGTransformList: 0,
 SourceBufferList: 0,
 StyleSheetList: 0,
 TextTrackCueList: 0,
 TextTrackList: 0,
 TouchList: 0
};

/***/ }),
/* 122 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var IS_PURE = __w_pdfjs_require__(37);
var global = __w_pdfjs_require__(11);
var getBuiltIn = __w_pdfjs_require__(42);
var NativePromise = __w_pdfjs_require__(123);
var redefine = __w_pdfjs_require__(29);
var redefineAll = __w_pdfjs_require__(124);
var setToStringTag = __w_pdfjs_require__(85);
var setSpecies = __w_pdfjs_require__(125);
var isObject = __w_pdfjs_require__(22);
var aFunction = __w_pdfjs_require__(63);
var anInstance = __w_pdfjs_require__(126);
var classof = __w_pdfjs_require__(19);
var inspectSource = __w_pdfjs_require__(31);
var iterate = __w_pdfjs_require__(104);
var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
var speciesConstructor = __w_pdfjs_require__(116);
var task = __w_pdfjs_require__(127).set;
var microtask = __w_pdfjs_require__(130);
var promiseResolve = __w_pdfjs_require__(131);
var hostReportErrors = __w_pdfjs_require__(133);
var newPromiseCapabilityModule = __w_pdfjs_require__(132);
var perform = __w_pdfjs_require__(134);
var InternalStateModule = __w_pdfjs_require__(33);
var isForced = __w_pdfjs_require__(52);
var wellKnownSymbol = __w_pdfjs_require__(57);
var V8_VERSION = __w_pdfjs_require__(135);
var SPECIES = wellKnownSymbol('species');
var PROMISE = 'Promise';
var getInternalState = InternalStateModule.get;
var setInternalState = InternalStateModule.set;
var getInternalPromiseState = InternalStateModule.getterFor(PROMISE);
var PromiseConstructor = NativePromise;
var TypeError = global.TypeError;
var document = global.document;
var process = global.process;
var $fetch = getBuiltIn('fetch');
var newPromiseCapability = newPromiseCapabilityModule.f;
var newGenericPromiseCapability = newPromiseCapability;
var IS_NODE = classof(process) == 'process';
var DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);
var UNHANDLED_REJECTION = 'unhandledrejection';
var REJECTION_HANDLED = 'rejectionhandled';
var PENDING = 0;
var FULFILLED = 1;
var REJECTED = 2;
var HANDLED = 1;
var UNHANDLED = 2;
var Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;
var FORCED = isForced(PROMISE, function () {
 var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);
 if (!GLOBAL_CORE_JS_PROMISE) {
  if (V8_VERSION === 66)
   return true;
  if (!IS_NODE && typeof PromiseRejectionEvent != 'function')
   return true;
 }
 if (IS_PURE && !PromiseConstructor.prototype['finally'])
  return true;
 if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor))
  return false;
 var promise = PromiseConstructor.resolve(1);
 var FakePromise = function (exec) {
  exec(function () {
  }, function () {
  });
 };
 var constructor = promise.constructor = {};
 constructor[SPECIES] = FakePromise;
 return !(promise.then(function () {
 }) instanceof FakePromise);
});
var INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {
 PromiseConstructor.all(iterable)['catch'](function () {
 });
});
var isThenable = function (it) {
 var then;
 return isObject(it) && typeof (then = it.then) == 'function' ? then : false;
};
var notify = function (promise, state, isReject) {
 if (state.notified)
  return;
 state.notified = true;
 var chain = state.reactions;
 microtask(function () {
  var value = state.value;
  var ok = state.state == FULFILLED;
  var index = 0;
  while (chain.length > index) {
   var reaction = chain[index++];
   var handler = ok ? reaction.ok : reaction.fail;
   var resolve = reaction.resolve;
   var reject = reaction.reject;
   var domain = reaction.domain;
   var result, then, exited;
   try {
    if (handler) {
     if (!ok) {
      if (state.rejection === UNHANDLED)
       onHandleUnhandled(promise, state);
      state.rejection = HANDLED;
     }
     if (handler === true)
      result = value;
     else {
      if (domain)
       domain.enter();
      result = handler(value);
      if (domain) {
       domain.exit();
       exited = true;
      }
     }
     if (result === reaction.promise) {
      reject(TypeError('Promise-chain cycle'));
     } else if (then = isThenable(result)) {
      then.call(result, resolve, reject);
     } else
      resolve(result);
    } else
     reject(value);
   } catch (error) {
    if (domain && !exited)
     domain.exit();
    reject(error);
   }
  }
  state.reactions = [];
  state.notified = false;
  if (isReject && !state.rejection)
   onUnhandled(promise, state);
 });
};
var dispatchEvent = function (name, promise, reason) {
 var event, handler;
 if (DISPATCH_EVENT) {
  event = document.createEvent('Event');
  event.promise = promise;
  event.reason = reason;
  event.initEvent(name, false, true);
  global.dispatchEvent(event);
 } else
  event = {
   promise: promise,
   reason: reason
  };
 if (handler = global['on' + name])
  handler(event);
 else if (name === UNHANDLED_REJECTION)
  hostReportErrors('Unhandled promise rejection', reason);
};
var onUnhandled = function (promise, state) {
 task.call(global, function () {
  var value = state.value;
  var IS_UNHANDLED = isUnhandled(state);
  var result;
  if (IS_UNHANDLED) {
   result = perform(function () {
    if (IS_NODE) {
     process.emit('unhandledRejection', value, promise);
    } else
     dispatchEvent(UNHANDLED_REJECTION, promise, value);
   });
   state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;
   if (result.error)
    throw result.value;
  }
 });
};
var isUnhandled = function (state) {
 return state.rejection !== HANDLED && !state.parent;
};
var onHandleUnhandled = function (promise, state) {
 task.call(global, function () {
  if (IS_NODE) {
   process.emit('rejectionHandled', promise);
  } else
   dispatchEvent(REJECTION_HANDLED, promise, state.value);
 });
};
var bind = function (fn, promise, state, unwrap) {
 return function (value) {
  fn(promise, state, value, unwrap);
 };
};
var internalReject = function (promise, state, value, unwrap) {
 if (state.done)
  return;
 state.done = true;
 if (unwrap)
  state = unwrap;
 state.value = value;
 state.state = REJECTED;
 notify(promise, state, true);
};
var internalResolve = function (promise, state, value, unwrap) {
 if (state.done)
  return;
 state.done = true;
 if (unwrap)
  state = unwrap;
 try {
  if (promise === value)
   throw TypeError("Promise can't be resolved itself");
  var then = isThenable(value);
  if (then) {
   microtask(function () {
    var wrapper = { done: false };
    try {
     then.call(value, bind(internalResolve, promise, wrapper, state), bind(internalReject, promise, wrapper, state));
    } catch (error) {
     internalReject(promise, wrapper, error, state);
    }
   });
  } else {
   state.value = value;
   state.state = FULFILLED;
   notify(promise, state, false);
  }
 } catch (error) {
  internalReject(promise, { done: false }, error, state);
 }
};
if (FORCED) {
 PromiseConstructor = function Promise(executor) {
  anInstance(this, PromiseConstructor, PROMISE);
  aFunction(executor);
  Internal.call(this);
  var state = getInternalState(this);
  try {
   executor(bind(internalResolve, this, state), bind(internalReject, this, state));
  } catch (error) {
   internalReject(this, state, error);
  }
 };
 Internal = function Promise(executor) {
  setInternalState(this, {
   type: PROMISE,
   done: false,
   notified: false,
   parent: false,
   reactions: [],
   rejection: false,
   state: PENDING,
   value: undefined
  });
 };
 Internal.prototype = redefineAll(PromiseConstructor.prototype, {
  then: function then(onFulfilled, onRejected) {
   var state = getInternalPromiseState(this);
   var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));
   reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;
   reaction.fail = typeof onRejected == 'function' && onRejected;
   reaction.domain = IS_NODE ? process.domain : undefined;
   state.parent = true;
   state.reactions.push(reaction);
   if (state.state != PENDING)
    notify(this, state, false);
   return reaction.promise;
  },
  'catch': function (onRejected) {
   return this.then(undefined, onRejected);
  }
 });
 OwnPromiseCapability = function () {
  var promise = new Internal();
  var state = getInternalState(promise);
  this.promise = promise;
  this.resolve = bind(internalResolve, promise, state);
  this.reject = bind(internalReject, promise, state);
 };
 newPromiseCapabilityModule.f = newPromiseCapability = function (C) {
  return C === PromiseConstructor || C === PromiseWrapper ? new OwnPromiseCapability(C) : newGenericPromiseCapability(C);
 };
 if (!IS_PURE && typeof NativePromise == 'function') {
  nativeThen = NativePromise.prototype.then;
  redefine(NativePromise.prototype, 'then', function then(onFulfilled, onRejected) {
   var that = this;
   return new PromiseConstructor(function (resolve, reject) {
    nativeThen.call(that, resolve, reject);
   }).then(onFulfilled, onRejected);
  }, { unsafe: true });
  if (typeof $fetch == 'function')
   $({
    global: true,
    enumerable: true,
    forced: true
   }, {
    fetch: function fetch(input) {
     return promiseResolve(PromiseConstructor, $fetch.apply(global, arguments));
    }
   });
 }
}
$({
 global: true,
 wrap: true,
 forced: FORCED
}, { Promise: PromiseConstructor });
setToStringTag(PromiseConstructor, PROMISE, false, true);
setSpecies(PROMISE);
PromiseWrapper = getBuiltIn(PROMISE);
$({
 target: PROMISE,
 stat: true,
 forced: FORCED
}, {
 reject: function reject(r) {
  var capability = newPromiseCapability(this);
  capability.reject.call(undefined, r);
  return capability.promise;
 }
});
$({
 target: PROMISE,
 stat: true,
 forced: IS_PURE || FORCED
}, {
 resolve: function resolve(x) {
  return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);
 }
});
$({
 target: PROMISE,
 stat: true,
 forced: INCORRECT_ITERATION
}, {
 all: function all(iterable) {
  var C = this;
  var capability = newPromiseCapability(C);
  var resolve = capability.resolve;
  var reject = capability.reject;
  var result = perform(function () {
   var $promiseResolve = aFunction(C.resolve);
   var values = [];
   var counter = 0;
   var remaining = 1;
   iterate(iterable, function (promise) {
    var index = counter++;
    var alreadyCalled = false;
    values.push(undefined);
    remaining++;
    $promiseResolve.call(C, promise).then(function (value) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = value;
     --remaining || resolve(values);
    }, reject);
   });
   --remaining || resolve(values);
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 },
 race: function race(iterable) {
  var C = this;
  var capability = newPromiseCapability(C);
  var reject = capability.reject;
  var result = perform(function () {
   var $promiseResolve = aFunction(C.resolve);
   iterate(iterable, function (promise) {
    $promiseResolve.call(C, promise).then(capability.resolve, reject);
   });
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 }
});

/***/ }),
/* 123 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
module.exports = global.Promise;

/***/ }),
/* 124 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var redefine = __w_pdfjs_require__(29);
module.exports = function (target, src, options) {
 for (var key in src)
  redefine(target, key, src[key], options);
 return target;
};

/***/ }),
/* 125 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var getBuiltIn = __w_pdfjs_require__(42);
var definePropertyModule = __w_pdfjs_require__(27);
var wellKnownSymbol = __w_pdfjs_require__(57);
var DESCRIPTORS = __w_pdfjs_require__(13);
var SPECIES = wellKnownSymbol('species');
module.exports = function (CONSTRUCTOR_NAME) {
 var Constructor = getBuiltIn(CONSTRUCTOR_NAME);
 var defineProperty = definePropertyModule.f;
 if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {
  defineProperty(Constructor, SPECIES, {
   configurable: true,
   get: function () {
    return this;
   }
  });
 }
};

/***/ }),
/* 126 */
/***/ (function(module, exports) {

module.exports = function (it, Constructor, name) {
 if (!(it instanceof Constructor)) {
  throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');
 }
 return it;
};

/***/ }),
/* 127 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var fails = __w_pdfjs_require__(14);
var classof = __w_pdfjs_require__(19);
var bind = __w_pdfjs_require__(62);
var html = __w_pdfjs_require__(74);
var createElement = __w_pdfjs_require__(25);
var IS_IOS = __w_pdfjs_require__(128);
var location = global.location;
var set = global.setImmediate;
var clear = global.clearImmediate;
var process = global.process;
var MessageChannel = global.MessageChannel;
var Dispatch = global.Dispatch;
var counter = 0;
var queue = {};
var ONREADYSTATECHANGE = 'onreadystatechange';
var defer, channel, port;
var run = function (id) {
 if (queue.hasOwnProperty(id)) {
  var fn = queue[id];
  delete queue[id];
  fn();
 }
};
var runner = function (id) {
 return function () {
  run(id);
 };
};
var listener = function (event) {
 run(event.data);
};
var post = function (id) {
 global.postMessage(id + '', location.protocol + '//' + location.host);
};
if (!set || !clear) {
 set = function setImmediate(fn) {
  var args = [];
  var i = 1;
  while (arguments.length > i)
   args.push(arguments[i++]);
  queue[++counter] = function () {
   (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);
  };
  defer(counter);
  return counter;
 };
 clear = function clearImmediate(id) {
  delete queue[id];
 };
 if (classof(process) == 'process') {
  defer = function (id) {
   process.nextTick(runner(id));
  };
 } else if (Dispatch && Dispatch.now) {
  defer = function (id) {
   Dispatch.now(runner(id));
  };
 } else if (MessageChannel && !IS_IOS) {
  channel = new MessageChannel();
  port = channel.port2;
  channel.port1.onmessage = listener;
  defer = bind(port.postMessage, port, 1);
 } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts && !fails(post) && location.protocol !== 'file:') {
  defer = post;
  global.addEventListener('message', listener, false);
 } else if (ONREADYSTATECHANGE in createElement('script')) {
  defer = function (id) {
   html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {
    html.removeChild(this);
    run(id);
   };
  };
 } else {
  defer = function (id) {
   setTimeout(runner(id), 0);
  };
 }
}
module.exports = {
 set: set,
 clear: clear
};

/***/ }),
/* 128 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var userAgent = __w_pdfjs_require__(129);
module.exports = /(iphone|ipod|ipad).*applewebkit/i.test(userAgent);

/***/ }),
/* 129 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var getBuiltIn = __w_pdfjs_require__(42);
module.exports = getBuiltIn('navigator', 'userAgent') || '';

/***/ }),
/* 130 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var getOwnPropertyDescriptor = __w_pdfjs_require__(12).f;
var classof = __w_pdfjs_require__(19);
var macrotask = __w_pdfjs_require__(127).set;
var IS_IOS = __w_pdfjs_require__(128);
var MutationObserver = global.MutationObserver || global.WebKitMutationObserver;
var process = global.process;
var Promise = global.Promise;
var IS_NODE = classof(process) == 'process';
var queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');
var queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;
var flush, head, last, notify, toggle, node, promise, then;
if (!queueMicrotask) {
 flush = function () {
  var parent, fn;
  if (IS_NODE && (parent = process.domain))
   parent.exit();
  while (head) {
   fn = head.fn;
   head = head.next;
   try {
    fn();
   } catch (error) {
    if (head)
     notify();
    else
     last = undefined;
    throw error;
   }
  }
  last = undefined;
  if (parent)
   parent.enter();
 };
 if (IS_NODE) {
  notify = function () {
   process.nextTick(flush);
  };
 } else if (MutationObserver && !IS_IOS) {
  toggle = true;
  node = document.createTextNode('');
  new MutationObserver(flush).observe(node, { characterData: true });
  notify = function () {
   node.data = toggle = !toggle;
  };
 } else if (Promise && Promise.resolve) {
  promise = Promise.resolve(undefined);
  then = promise.then;
  notify = function () {
   then.call(promise, flush);
  };
 } else {
  notify = function () {
   macrotask.call(global, flush);
  };
 }
}
module.exports = queueMicrotask || function (fn) {
 var task = {
  fn: fn,
  next: undefined
 };
 if (last)
  last.next = task;
 if (!head) {
  head = task;
  notify();
 }
 last = task;
};

/***/ }),
/* 131 */
/***/ (function(module, exports, __w_pdfjs_require__) {

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

/***/ }),
/* 132 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

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

/***/ }),
/* 133 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
module.exports = function (a, b) {
 var console = global.console;
 if (console && console.error) {
  arguments.length === 1 ? console.error(a) : console.error(a, b);
 }
};

/***/ }),
/* 134 */
/***/ (function(module, exports) {

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

/***/ }),
/* 135 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var userAgent = __w_pdfjs_require__(129);
var process = global.process;
var versions = process && process.versions;
var v8 = versions && versions.v8;
var match, version;
if (v8) {
 match = v8.split('.');
 version = match[0] + match[1];
} else if (userAgent) {
 match = userAgent.match(/Edge\/(\d+)/);
 if (!match || match[1] >= 74) {
  match = userAgent.match(/Chrome\/(\d+)/);
  if (match)
   version = match[1];
 }
}
module.exports = version && +version;

/***/ }),
/* 136 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var aFunction = __w_pdfjs_require__(63);
var newPromiseCapabilityModule = __w_pdfjs_require__(132);
var perform = __w_pdfjs_require__(134);
var iterate = __w_pdfjs_require__(104);
$({
 target: 'Promise',
 stat: true
}, {
 allSettled: function allSettled(iterable) {
  var C = this;
  var capability = newPromiseCapabilityModule.f(C);
  var resolve = capability.resolve;
  var reject = capability.reject;
  var result = perform(function () {
   var promiseResolve = aFunction(C.resolve);
   var values = [];
   var counter = 0;
   var remaining = 1;
   iterate(iterable, function (promise) {
    var index = counter++;
    var alreadyCalled = false;
    values.push(undefined);
    remaining++;
    promiseResolve.call(C, promise).then(function (value) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = {
      status: 'fulfilled',
      value: value
     };
     --remaining || resolve(values);
    }, function (e) {
     if (alreadyCalled)
      return;
     alreadyCalled = true;
     values[index] = {
      status: 'rejected',
      reason: e
     };
     --remaining || resolve(values);
    });
   });
   --remaining || resolve(values);
  });
  if (result.error)
   reject(result.value);
  return capability.promise;
 }
});

/***/ }),
/* 137 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var IS_PURE = __w_pdfjs_require__(37);
var NativePromise = __w_pdfjs_require__(123);
var fails = __w_pdfjs_require__(14);
var getBuiltIn = __w_pdfjs_require__(42);
var speciesConstructor = __w_pdfjs_require__(116);
var promiseResolve = __w_pdfjs_require__(131);
var redefine = __w_pdfjs_require__(29);
var NON_GENERIC = !!NativePromise && fails(function () {
 NativePromise.prototype['finally'].call({
  then: function () {
  }
 }, function () {
 });
});
$({
 target: 'Promise',
 proto: true,
 real: true,
 forced: NON_GENERIC
}, {
 'finally': function (onFinally) {
  var C = speciesConstructor(this, getBuiltIn('Promise'));
  var isFunction = typeof onFinally == 'function';
  return this.then(isFunction ? function (x) {
   return promiseResolve(C, onFinally()).then(function () {
    return x;
   });
  } : onFinally, isFunction ? function (e) {
   return promiseResolve(C, onFinally()).then(function () {
    throw e;
   });
  } : onFinally);
 }
});
if (!IS_PURE && typeof NativePromise == 'function' && !NativePromise.prototype['finally']) {
 redefine(NativePromise.prototype, 'finally', getBuiltIn('Promise').prototype['finally']);
}

/***/ }),
/* 138 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(139);
__w_pdfjs_require__(144);
__w_pdfjs_require__(142);
var path = __w_pdfjs_require__(43);
module.exports = path.URL;

/***/ }),
/* 139 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

__w_pdfjs_require__(77);
var $ = __w_pdfjs_require__(10);
var DESCRIPTORS = __w_pdfjs_require__(13);
var USE_NATIVE_URL = __w_pdfjs_require__(140);
var global = __w_pdfjs_require__(11);
var defineProperties = __w_pdfjs_require__(72);
var redefine = __w_pdfjs_require__(29);
var anInstance = __w_pdfjs_require__(126);
var has = __w_pdfjs_require__(23);
var assign = __w_pdfjs_require__(100);
var arrayFrom = __w_pdfjs_require__(90);
var codeAt = __w_pdfjs_require__(78).codeAt;
var toASCII = __w_pdfjs_require__(141);
var setToStringTag = __w_pdfjs_require__(85);
var URLSearchParamsModule = __w_pdfjs_require__(142);
var InternalStateModule = __w_pdfjs_require__(33);
var NativeURL = global.URL;
var URLSearchParams = URLSearchParamsModule.URLSearchParams;
var getInternalSearchParamsState = URLSearchParamsModule.getState;
var setInternalState = InternalStateModule.set;
var getInternalURLState = InternalStateModule.getterFor('URL');
var floor = Math.floor;
var pow = Math.pow;
var INVALID_AUTHORITY = 'Invalid authority';
var INVALID_SCHEME = 'Invalid scheme';
var INVALID_HOST = 'Invalid host';
var INVALID_PORT = 'Invalid port';
var ALPHA = /[A-Za-z]/;
var ALPHANUMERIC = /[\d+-.A-Za-z]/;
var DIGIT = /\d/;
var HEX_START = /^(0x|0X)/;
var OCT = /^[0-7]+$/;
var DEC = /^\d+$/;
var HEX = /^[\dA-Fa-f]+$/;
var FORBIDDEN_HOST_CODE_POINT = /[\u0000\u0009\u000A\u000D #%/:?@[\\]]/;
var FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT = /[\u0000\u0009\u000A\u000D #/:?@[\\]]/;
var LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE = /^[\u0000-\u001F ]+|[\u0000-\u001F ]+$/g;
var TAB_AND_NEW_LINE = /[\u0009\u000A\u000D]/g;
var EOF;
var parseHost = function (url, input) {
 var result, codePoints, index;
 if (input.charAt(0) == '[') {
  if (input.charAt(input.length - 1) != ']')
   return INVALID_HOST;
  result = parseIPv6(input.slice(1, -1));
  if (!result)
   return INVALID_HOST;
  url.host = result;
 } else if (!isSpecial(url)) {
  if (FORBIDDEN_HOST_CODE_POINT_EXCLUDING_PERCENT.test(input))
   return INVALID_HOST;
  result = '';
  codePoints = arrayFrom(input);
  for (index = 0; index < codePoints.length; index++) {
   result += percentEncode(codePoints[index], C0ControlPercentEncodeSet);
  }
  url.host = result;
 } else {
  input = toASCII(input);
  if (FORBIDDEN_HOST_CODE_POINT.test(input))
   return INVALID_HOST;
  result = parseIPv4(input);
  if (result === null)
   return INVALID_HOST;
  url.host = result;
 }
};
var parseIPv4 = function (input) {
 var parts = input.split('.');
 var partsLength, numbers, index, part, radix, number, ipv4;
 if (parts.length && parts[parts.length - 1] == '') {
  parts.pop();
 }
 partsLength = parts.length;
 if (partsLength > 4)
  return input;
 numbers = [];
 for (index = 0; index < partsLength; index++) {
  part = parts[index];
  if (part == '')
   return input;
  radix = 10;
  if (part.length > 1 && part.charAt(0) == '0') {
   radix = HEX_START.test(part) ? 16 : 8;
   part = part.slice(radix == 8 ? 1 : 2);
  }
  if (part === '') {
   number = 0;
  } else {
   if (!(radix == 10 ? DEC : radix == 8 ? OCT : HEX).test(part))
    return input;
   number = parseInt(part, radix);
  }
  numbers.push(number);
 }
 for (index = 0; index < partsLength; index++) {
  number = numbers[index];
  if (index == partsLength - 1) {
   if (number >= pow(256, 5 - partsLength))
    return null;
  } else if (number > 255)
   return null;
 }
 ipv4 = numbers.pop();
 for (index = 0; index < numbers.length; index++) {
  ipv4 += numbers[index] * pow(256, 3 - index);
 }
 return ipv4;
};
var parseIPv6 = function (input) {
 var address = [
  0,
  0,
  0,
  0,
  0,
  0,
  0,
  0
 ];
 var pieceIndex = 0;
 var compress = null;
 var pointer = 0;
 var value, length, numbersSeen, ipv4Piece, number, swaps, swap;
 var char = function () {
  return input.charAt(pointer);
 };
 if (char() == ':') {
  if (input.charAt(1) != ':')
   return;
  pointer += 2;
  pieceIndex++;
  compress = pieceIndex;
 }
 while (char()) {
  if (pieceIndex == 8)
   return;
  if (char() == ':') {
   if (compress !== null)
    return;
   pointer++;
   pieceIndex++;
   compress = pieceIndex;
   continue;
  }
  value = length = 0;
  while (length < 4 && HEX.test(char())) {
   value = value * 16 + parseInt(char(), 16);
   pointer++;
   length++;
  }
  if (char() == '.') {
   if (length == 0)
    return;
   pointer -= length;
   if (pieceIndex > 6)
    return;
   numbersSeen = 0;
   while (char()) {
    ipv4Piece = null;
    if (numbersSeen > 0) {
     if (char() == '.' && numbersSeen < 4)
      pointer++;
     else
      return;
    }
    if (!DIGIT.test(char()))
     return;
    while (DIGIT.test(char())) {
     number = parseInt(char(), 10);
     if (ipv4Piece === null)
      ipv4Piece = number;
     else if (ipv4Piece == 0)
      return;
     else
      ipv4Piece = ipv4Piece * 10 + number;
     if (ipv4Piece > 255)
      return;
     pointer++;
    }
    address[pieceIndex] = address[pieceIndex] * 256 + ipv4Piece;
    numbersSeen++;
    if (numbersSeen == 2 || numbersSeen == 4)
     pieceIndex++;
   }
   if (numbersSeen != 4)
    return;
   break;
  } else if (char() == ':') {
   pointer++;
   if (!char())
    return;
  } else if (char())
   return;
  address[pieceIndex++] = value;
 }
 if (compress !== null) {
  swaps = pieceIndex - compress;
  pieceIndex = 7;
  while (pieceIndex != 0 && swaps > 0) {
   swap = address[pieceIndex];
   address[pieceIndex--] = address[compress + swaps - 1];
   address[compress + --swaps] = swap;
  }
 } else if (pieceIndex != 8)
  return;
 return address;
};
var findLongestZeroSequence = function (ipv6) {
 var maxIndex = null;
 var maxLength = 1;
 var currStart = null;
 var currLength = 0;
 var index = 0;
 for (; index < 8; index++) {
  if (ipv6[index] !== 0) {
   if (currLength > maxLength) {
    maxIndex = currStart;
    maxLength = currLength;
   }
   currStart = null;
   currLength = 0;
  } else {
   if (currStart === null)
    currStart = index;
   ++currLength;
  }
 }
 if (currLength > maxLength) {
  maxIndex = currStart;
  maxLength = currLength;
 }
 return maxIndex;
};
var serializeHost = function (host) {
 var result, index, compress, ignore0;
 if (typeof host == 'number') {
  result = [];
  for (index = 0; index < 4; index++) {
   result.unshift(host % 256);
   host = floor(host / 256);
  }
  return result.join('.');
 } else if (typeof host == 'object') {
  result = '';
  compress = findLongestZeroSequence(host);
  for (index = 0; index < 8; index++) {
   if (ignore0 && host[index] === 0)
    continue;
   if (ignore0)
    ignore0 = false;
   if (compress === index) {
    result += index ? ':' : '::';
    ignore0 = true;
   } else {
    result += host[index].toString(16);
    if (index < 7)
     result += ':';
   }
  }
  return '[' + result + ']';
 }
 return host;
};
var C0ControlPercentEncodeSet = {};
var fragmentPercentEncodeSet = assign({}, C0ControlPercentEncodeSet, {
 ' ': 1,
 '"': 1,
 '<': 1,
 '>': 1,
 '`': 1
});
var pathPercentEncodeSet = assign({}, fragmentPercentEncodeSet, {
 '#': 1,
 '?': 1,
 '{': 1,
 '}': 1
});
var userinfoPercentEncodeSet = assign({}, pathPercentEncodeSet, {
 '/': 1,
 ':': 1,
 ';': 1,
 '=': 1,
 '@': 1,
 '[': 1,
 '\\': 1,
 ']': 1,
 '^': 1,
 '|': 1
});
var percentEncode = function (char, set) {
 var code = codeAt(char, 0);
 return code > 0x20 && code < 0x7F && !has(set, char) ? char : encodeURIComponent(char);
};
var specialSchemes = {
 ftp: 21,
 file: null,
 http: 80,
 https: 443,
 ws: 80,
 wss: 443
};
var isSpecial = function (url) {
 return has(specialSchemes, url.scheme);
};
var includesCredentials = function (url) {
 return url.username != '' || url.password != '';
};
var cannotHaveUsernamePasswordPort = function (url) {
 return !url.host || url.cannotBeABaseURL || url.scheme == 'file';
};
var isWindowsDriveLetter = function (string, normalized) {
 var second;
 return string.length == 2 && ALPHA.test(string.charAt(0)) && ((second = string.charAt(1)) == ':' || !normalized && second == '|');
};
var startsWithWindowsDriveLetter = function (string) {
 var third;
 return string.length > 1 && isWindowsDriveLetter(string.slice(0, 2)) && (string.length == 2 || ((third = string.charAt(2)) === '/' || third === '\\' || third === '?' || third === '#'));
};
var shortenURLsPath = function (url) {
 var path = url.path;
 var pathSize = path.length;
 if (pathSize && (url.scheme != 'file' || pathSize != 1 || !isWindowsDriveLetter(path[0], true))) {
  path.pop();
 }
};
var isSingleDot = function (segment) {
 return segment === '.' || segment.toLowerCase() === '%2e';
};
var isDoubleDot = function (segment) {
 segment = segment.toLowerCase();
 return segment === '..' || segment === '%2e.' || segment === '.%2e' || segment === '%2e%2e';
};
var SCHEME_START = {};
var SCHEME = {};
var NO_SCHEME = {};
var SPECIAL_RELATIVE_OR_AUTHORITY = {};
var PATH_OR_AUTHORITY = {};
var RELATIVE = {};
var RELATIVE_SLASH = {};
var SPECIAL_AUTHORITY_SLASHES = {};
var SPECIAL_AUTHORITY_IGNORE_SLASHES = {};
var AUTHORITY = {};
var HOST = {};
var HOSTNAME = {};
var PORT = {};
var FILE = {};
var FILE_SLASH = {};
var FILE_HOST = {};
var PATH_START = {};
var PATH = {};
var CANNOT_BE_A_BASE_URL_PATH = {};
var QUERY = {};
var FRAGMENT = {};
var parseURL = function (url, input, stateOverride, base) {
 var state = stateOverride || SCHEME_START;
 var pointer = 0;
 var buffer = '';
 var seenAt = false;
 var seenBracket = false;
 var seenPasswordToken = false;
 var codePoints, char, bufferCodePoints, failure;
 if (!stateOverride) {
  url.scheme = '';
  url.username = '';
  url.password = '';
  url.host = null;
  url.port = null;
  url.path = [];
  url.query = null;
  url.fragment = null;
  url.cannotBeABaseURL = false;
  input = input.replace(LEADING_AND_TRAILING_C0_CONTROL_OR_SPACE, '');
 }
 input = input.replace(TAB_AND_NEW_LINE, '');
 codePoints = arrayFrom(input);
 while (pointer <= codePoints.length) {
  char = codePoints[pointer];
  switch (state) {
  case SCHEME_START:
   if (char && ALPHA.test(char)) {
    buffer += char.toLowerCase();
    state = SCHEME;
   } else if (!stateOverride) {
    state = NO_SCHEME;
    continue;
   } else
    return INVALID_SCHEME;
   break;
  case SCHEME:
   if (char && (ALPHANUMERIC.test(char) || char == '+' || char == '-' || char == '.')) {
    buffer += char.toLowerCase();
   } else if (char == ':') {
    if (stateOverride && (isSpecial(url) != has(specialSchemes, buffer) || buffer == 'file' && (includesCredentials(url) || url.port !== null) || url.scheme == 'file' && !url.host))
     return;
    url.scheme = buffer;
    if (stateOverride) {
     if (isSpecial(url) && specialSchemes[url.scheme] == url.port)
      url.port = null;
     return;
    }
    buffer = '';
    if (url.scheme == 'file') {
     state = FILE;
    } else if (isSpecial(url) && base && base.scheme == url.scheme) {
     state = SPECIAL_RELATIVE_OR_AUTHORITY;
    } else if (isSpecial(url)) {
     state = SPECIAL_AUTHORITY_SLASHES;
    } else if (codePoints[pointer + 1] == '/') {
     state = PATH_OR_AUTHORITY;
     pointer++;
    } else {
     url.cannotBeABaseURL = true;
     url.path.push('');
     state = CANNOT_BE_A_BASE_URL_PATH;
    }
   } else if (!stateOverride) {
    buffer = '';
    state = NO_SCHEME;
    pointer = 0;
    continue;
   } else
    return INVALID_SCHEME;
   break;
  case NO_SCHEME:
   if (!base || base.cannotBeABaseURL && char != '#')
    return INVALID_SCHEME;
   if (base.cannotBeABaseURL && char == '#') {
    url.scheme = base.scheme;
    url.path = base.path.slice();
    url.query = base.query;
    url.fragment = '';
    url.cannotBeABaseURL = true;
    state = FRAGMENT;
    break;
   }
   state = base.scheme == 'file' ? FILE : RELATIVE;
   continue;
  case SPECIAL_RELATIVE_OR_AUTHORITY:
   if (char == '/' && codePoints[pointer + 1] == '/') {
    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
    pointer++;
   } else {
    state = RELATIVE;
    continue;
   }
   break;
  case PATH_OR_AUTHORITY:
   if (char == '/') {
    state = AUTHORITY;
    break;
   } else {
    state = PATH;
    continue;
   }
  case RELATIVE:
   url.scheme = base.scheme;
   if (char == EOF) {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = base.query;
   } else if (char == '/' || char == '\\' && isSpecial(url)) {
    state = RELATIVE_SLASH;
   } else if (char == '?') {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = '';
    state = QUERY;
   } else if (char == '#') {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.query = base.query;
    url.fragment = '';
    state = FRAGMENT;
   } else {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    url.path = base.path.slice();
    url.path.pop();
    state = PATH;
    continue;
   }
   break;
  case RELATIVE_SLASH:
   if (isSpecial(url) && (char == '/' || char == '\\')) {
    state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
   } else if (char == '/') {
    state = AUTHORITY;
   } else {
    url.username = base.username;
    url.password = base.password;
    url.host = base.host;
    url.port = base.port;
    state = PATH;
    continue;
   }
   break;
  case SPECIAL_AUTHORITY_SLASHES:
   state = SPECIAL_AUTHORITY_IGNORE_SLASHES;
   if (char != '/' || buffer.charAt(pointer + 1) != '/')
    continue;
   pointer++;
   break;
  case SPECIAL_AUTHORITY_IGNORE_SLASHES:
   if (char != '/' && char != '\\') {
    state = AUTHORITY;
    continue;
   }
   break;
  case AUTHORITY:
   if (char == '@') {
    if (seenAt)
     buffer = '%40' + buffer;
    seenAt = true;
    bufferCodePoints = arrayFrom(buffer);
    for (var i = 0; i < bufferCodePoints.length; i++) {
     var codePoint = bufferCodePoints[i];
     if (codePoint == ':' && !seenPasswordToken) {
      seenPasswordToken = true;
      continue;
     }
     var encodedCodePoints = percentEncode(codePoint, userinfoPercentEncodeSet);
     if (seenPasswordToken)
      url.password += encodedCodePoints;
     else
      url.username += encodedCodePoints;
    }
    buffer = '';
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
    if (seenAt && buffer == '')
     return INVALID_AUTHORITY;
    pointer -= arrayFrom(buffer).length + 1;
    buffer = '';
    state = HOST;
   } else
    buffer += char;
   break;
  case HOST:
  case HOSTNAME:
   if (stateOverride && url.scheme == 'file') {
    state = FILE_HOST;
    continue;
   } else if (char == ':' && !seenBracket) {
    if (buffer == '')
     return INVALID_HOST;
    failure = parseHost(url, buffer);
    if (failure)
     return failure;
    buffer = '';
    state = PORT;
    if (stateOverride == HOSTNAME)
     return;
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url)) {
    if (isSpecial(url) && buffer == '')
     return INVALID_HOST;
    if (stateOverride && buffer == '' && (includesCredentials(url) || url.port !== null))
     return;
    failure = parseHost(url, buffer);
    if (failure)
     return failure;
    buffer = '';
    state = PATH_START;
    if (stateOverride)
     return;
    continue;
   } else {
    if (char == '[')
     seenBracket = true;
    else if (char == ']')
     seenBracket = false;
    buffer += char;
   }
   break;
  case PORT:
   if (DIGIT.test(char)) {
    buffer += char;
   } else if (char == EOF || char == '/' || char == '?' || char == '#' || char == '\\' && isSpecial(url) || stateOverride) {
    if (buffer != '') {
     var port = parseInt(buffer, 10);
     if (port > 0xFFFF)
      return INVALID_PORT;
     url.port = isSpecial(url) && port === specialSchemes[url.scheme] ? null : port;
     buffer = '';
    }
    if (stateOverride)
     return;
    state = PATH_START;
    continue;
   } else
    return INVALID_PORT;
   break;
  case FILE:
   url.scheme = 'file';
   if (char == '/' || char == '\\')
    state = FILE_SLASH;
   else if (base && base.scheme == 'file') {
    if (char == EOF) {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = base.query;
    } else if (char == '?') {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = '';
     state = QUERY;
    } else if (char == '#') {
     url.host = base.host;
     url.path = base.path.slice();
     url.query = base.query;
     url.fragment = '';
     state = FRAGMENT;
    } else {
     if (!startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
      url.host = base.host;
      url.path = base.path.slice();
      shortenURLsPath(url);
     }
     state = PATH;
     continue;
    }
   } else {
    state = PATH;
    continue;
   }
   break;
  case FILE_SLASH:
   if (char == '/' || char == '\\') {
    state = FILE_HOST;
    break;
   }
   if (base && base.scheme == 'file' && !startsWithWindowsDriveLetter(codePoints.slice(pointer).join(''))) {
    if (isWindowsDriveLetter(base.path[0], true))
     url.path.push(base.path[0]);
    else
     url.host = base.host;
   }
   state = PATH;
   continue;
  case FILE_HOST:
   if (char == EOF || char == '/' || char == '\\' || char == '?' || char == '#') {
    if (!stateOverride && isWindowsDriveLetter(buffer)) {
     state = PATH;
    } else if (buffer == '') {
     url.host = '';
     if (stateOverride)
      return;
     state = PATH_START;
    } else {
     failure = parseHost(url, buffer);
     if (failure)
      return failure;
     if (url.host == 'localhost')
      url.host = '';
     if (stateOverride)
      return;
     buffer = '';
     state = PATH_START;
    }
    continue;
   } else
    buffer += char;
   break;
  case PATH_START:
   if (isSpecial(url)) {
    state = PATH;
    if (char != '/' && char != '\\')
     continue;
   } else if (!stateOverride && char == '?') {
    url.query = '';
    state = QUERY;
   } else if (!stateOverride && char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    state = PATH;
    if (char != '/')
     continue;
   }
   break;
  case PATH:
   if (char == EOF || char == '/' || char == '\\' && isSpecial(url) || !stateOverride && (char == '?' || char == '#')) {
    if (isDoubleDot(buffer)) {
     shortenURLsPath(url);
     if (char != '/' && !(char == '\\' && isSpecial(url))) {
      url.path.push('');
     }
    } else if (isSingleDot(buffer)) {
     if (char != '/' && !(char == '\\' && isSpecial(url))) {
      url.path.push('');
     }
    } else {
     if (url.scheme == 'file' && !url.path.length && isWindowsDriveLetter(buffer)) {
      if (url.host)
       url.host = '';
      buffer = buffer.charAt(0) + ':';
     }
     url.path.push(buffer);
    }
    buffer = '';
    if (url.scheme == 'file' && (char == EOF || char == '?' || char == '#')) {
     while (url.path.length > 1 && url.path[0] === '') {
      url.path.shift();
     }
    }
    if (char == '?') {
     url.query = '';
     state = QUERY;
    } else if (char == '#') {
     url.fragment = '';
     state = FRAGMENT;
    }
   } else {
    buffer += percentEncode(char, pathPercentEncodeSet);
   }
   break;
  case CANNOT_BE_A_BASE_URL_PATH:
   if (char == '?') {
    url.query = '';
    state = QUERY;
   } else if (char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    url.path[0] += percentEncode(char, C0ControlPercentEncodeSet);
   }
   break;
  case QUERY:
   if (!stateOverride && char == '#') {
    url.fragment = '';
    state = FRAGMENT;
   } else if (char != EOF) {
    if (char == "'" && isSpecial(url))
     url.query += '%27';
    else if (char == '#')
     url.query += '%23';
    else
     url.query += percentEncode(char, C0ControlPercentEncodeSet);
   }
   break;
  case FRAGMENT:
   if (char != EOF)
    url.fragment += percentEncode(char, fragmentPercentEncodeSet);
   break;
  }
  pointer++;
 }
};
var URLConstructor = function URL(url) {
 var that = anInstance(this, URLConstructor, 'URL');
 var base = arguments.length > 1 ? arguments[1] : undefined;
 var urlString = String(url);
 var state = setInternalState(that, { type: 'URL' });
 var baseState, failure;
 if (base !== undefined) {
  if (base instanceof URLConstructor)
   baseState = getInternalURLState(base);
  else {
   failure = parseURL(baseState = {}, String(base));
   if (failure)
    throw TypeError(failure);
  }
 }
 failure = parseURL(state, urlString, null, baseState);
 if (failure)
  throw TypeError(failure);
 var searchParams = state.searchParams = new URLSearchParams();
 var searchParamsState = getInternalSearchParamsState(searchParams);
 searchParamsState.updateSearchParams(state.query);
 searchParamsState.updateURL = function () {
  state.query = String(searchParams) || null;
 };
 if (!DESCRIPTORS) {
  that.href = serializeURL.call(that);
  that.origin = getOrigin.call(that);
  that.protocol = getProtocol.call(that);
  that.username = getUsername.call(that);
  that.password = getPassword.call(that);
  that.host = getHost.call(that);
  that.hostname = getHostname.call(that);
  that.port = getPort.call(that);
  that.pathname = getPathname.call(that);
  that.search = getSearch.call(that);
  that.searchParams = getSearchParams.call(that);
  that.hash = getHash.call(that);
 }
};
var URLPrototype = URLConstructor.prototype;
var serializeURL = function () {
 var url = getInternalURLState(this);
 var scheme = url.scheme;
 var username = url.username;
 var password = url.password;
 var host = url.host;
 var port = url.port;
 var path = url.path;
 var query = url.query;
 var fragment = url.fragment;
 var output = scheme + ':';
 if (host !== null) {
  output += '//';
  if (includesCredentials(url)) {
   output += username + (password ? ':' + password : '') + '@';
  }
  output += serializeHost(host);
  if (port !== null)
   output += ':' + port;
 } else if (scheme == 'file')
  output += '//';
 output += url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
 if (query !== null)
  output += '?' + query;
 if (fragment !== null)
  output += '#' + fragment;
 return output;
};
var getOrigin = function () {
 var url = getInternalURLState(this);
 var scheme = url.scheme;
 var port = url.port;
 if (scheme == 'blob')
  try {
   return new URL(scheme.path[0]).origin;
  } catch (error) {
   return 'null';
  }
 if (scheme == 'file' || !isSpecial(url))
  return 'null';
 return scheme + '://' + serializeHost(url.host) + (port !== null ? ':' + port : '');
};
var getProtocol = function () {
 return getInternalURLState(this).scheme + ':';
};
var getUsername = function () {
 return getInternalURLState(this).username;
};
var getPassword = function () {
 return getInternalURLState(this).password;
};
var getHost = function () {
 var url = getInternalURLState(this);
 var host = url.host;
 var port = url.port;
 return host === null ? '' : port === null ? serializeHost(host) : serializeHost(host) + ':' + port;
};
var getHostname = function () {
 var host = getInternalURLState(this).host;
 return host === null ? '' : serializeHost(host);
};
var getPort = function () {
 var port = getInternalURLState(this).port;
 return port === null ? '' : String(port);
};
var getPathname = function () {
 var url = getInternalURLState(this);
 var path = url.path;
 return url.cannotBeABaseURL ? path[0] : path.length ? '/' + path.join('/') : '';
};
var getSearch = function () {
 var query = getInternalURLState(this).query;
 return query ? '?' + query : '';
};
var getSearchParams = function () {
 return getInternalURLState(this).searchParams;
};
var getHash = function () {
 var fragment = getInternalURLState(this).fragment;
 return fragment ? '#' + fragment : '';
};
var accessorDescriptor = function (getter, setter) {
 return {
  get: getter,
  set: setter,
  configurable: true,
  enumerable: true
 };
};
if (DESCRIPTORS) {
 defineProperties(URLPrototype, {
  href: accessorDescriptor(serializeURL, function (href) {
   var url = getInternalURLState(this);
   var urlString = String(href);
   var failure = parseURL(url, urlString);
   if (failure)
    throw TypeError(failure);
   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
  }),
  origin: accessorDescriptor(getOrigin),
  protocol: accessorDescriptor(getProtocol, function (protocol) {
   var url = getInternalURLState(this);
   parseURL(url, String(protocol) + ':', SCHEME_START);
  }),
  username: accessorDescriptor(getUsername, function (username) {
   var url = getInternalURLState(this);
   var codePoints = arrayFrom(String(username));
   if (cannotHaveUsernamePasswordPort(url))
    return;
   url.username = '';
   for (var i = 0; i < codePoints.length; i++) {
    url.username += percentEncode(codePoints[i], userinfoPercentEncodeSet);
   }
  }),
  password: accessorDescriptor(getPassword, function (password) {
   var url = getInternalURLState(this);
   var codePoints = arrayFrom(String(password));
   if (cannotHaveUsernamePasswordPort(url))
    return;
   url.password = '';
   for (var i = 0; i < codePoints.length; i++) {
    url.password += percentEncode(codePoints[i], userinfoPercentEncodeSet);
   }
  }),
  host: accessorDescriptor(getHost, function (host) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   parseURL(url, String(host), HOST);
  }),
  hostname: accessorDescriptor(getHostname, function (hostname) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   parseURL(url, String(hostname), HOSTNAME);
  }),
  port: accessorDescriptor(getPort, function (port) {
   var url = getInternalURLState(this);
   if (cannotHaveUsernamePasswordPort(url))
    return;
   port = String(port);
   if (port == '')
    url.port = null;
   else
    parseURL(url, port, PORT);
  }),
  pathname: accessorDescriptor(getPathname, function (pathname) {
   var url = getInternalURLState(this);
   if (url.cannotBeABaseURL)
    return;
   url.path = [];
   parseURL(url, pathname + '', PATH_START);
  }),
  search: accessorDescriptor(getSearch, function (search) {
   var url = getInternalURLState(this);
   search = String(search);
   if (search == '') {
    url.query = null;
   } else {
    if ('?' == search.charAt(0))
     search = search.slice(1);
    url.query = '';
    parseURL(url, search, QUERY);
   }
   getInternalSearchParamsState(url.searchParams).updateSearchParams(url.query);
  }),
  searchParams: accessorDescriptor(getSearchParams),
  hash: accessorDescriptor(getHash, function (hash) {
   var url = getInternalURLState(this);
   hash = String(hash);
   if (hash == '') {
    url.fragment = null;
    return;
   }
   if ('#' == hash.charAt(0))
    hash = hash.slice(1);
   url.fragment = '';
   parseURL(url, hash, FRAGMENT);
  })
 });
}
redefine(URLPrototype, 'toJSON', function toJSON() {
 return serializeURL.call(this);
}, { enumerable: true });
redefine(URLPrototype, 'toString', function toString() {
 return serializeURL.call(this);
}, { enumerable: true });
if (NativeURL) {
 var nativeCreateObjectURL = NativeURL.createObjectURL;
 var nativeRevokeObjectURL = NativeURL.revokeObjectURL;
 if (nativeCreateObjectURL)
  redefine(URLConstructor, 'createObjectURL', function createObjectURL(blob) {
   return nativeCreateObjectURL.apply(NativeURL, arguments);
  });
 if (nativeRevokeObjectURL)
  redefine(URLConstructor, 'revokeObjectURL', function revokeObjectURL(url) {
   return nativeRevokeObjectURL.apply(NativeURL, arguments);
  });
}
setToStringTag(URLConstructor, 'URL');
$({
 global: true,
 forced: !USE_NATIVE_URL,
 sham: !DESCRIPTORS
}, { URL: URLConstructor });

/***/ }),
/* 140 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
var wellKnownSymbol = __w_pdfjs_require__(57);
var IS_PURE = __w_pdfjs_require__(37);
var ITERATOR = wellKnownSymbol('iterator');
module.exports = !fails(function () {
 var url = new URL('b?a=1&b=2&c=3', 'http://a');
 var searchParams = url.searchParams;
 var result = '';
 url.pathname = 'c%20d';
 searchParams.forEach(function (value, key) {
  searchParams['delete']('b');
  result += key + value;
 });
 return IS_PURE && !url.toJSON || !searchParams.sort || url.href !== 'http://a/c%20d?a=1&c=3' || searchParams.get('c') !== '3' || String(new URLSearchParams('?a=1')) !== 'a=1' || !searchParams[ITERATOR] || new URL('https://a@b').username !== 'a' || new URLSearchParams(new URLSearchParams('a=b')).get('a') !== 'b' || new URL('http://тест').host !== 'xn--e1aybc' || new URL('http://a#б').hash !== '#%D0%B1' || result !== 'a1c3' || new URL('http://x', undefined).host !== 'x';
});

/***/ }),
/* 141 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var maxInt = 2147483647;
var base = 36;
var tMin = 1;
var tMax = 26;
var skew = 38;
var damp = 700;
var initialBias = 72;
var initialN = 128;
var delimiter = '-';
var regexNonASCII = /[^\0-\u007E]/;
var regexSeparators = /[.\u3002\uFF0E\uFF61]/g;
var OVERFLOW_ERROR = 'Overflow: input needs wider integers to process';
var baseMinusTMin = base - tMin;
var floor = Math.floor;
var stringFromCharCode = String.fromCharCode;
var ucs2decode = function (string) {
 var output = [];
 var counter = 0;
 var length = string.length;
 while (counter < length) {
  var value = string.charCodeAt(counter++);
  if (value >= 0xD800 && value <= 0xDBFF && counter < length) {
   var extra = string.charCodeAt(counter++);
   if ((extra & 0xFC00) == 0xDC00) {
    output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);
   } else {
    output.push(value);
    counter--;
   }
  } else {
   output.push(value);
  }
 }
 return output;
};
var digitToBasic = function (digit) {
 return digit + 22 + 75 * (digit < 26);
};
var adapt = function (delta, numPoints, firstTime) {
 var k = 0;
 delta = firstTime ? floor(delta / damp) : delta >> 1;
 delta += floor(delta / numPoints);
 for (; delta > baseMinusTMin * tMax >> 1; k += base) {
  delta = floor(delta / baseMinusTMin);
 }
 return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));
};
var encode = function (input) {
 var output = [];
 input = ucs2decode(input);
 var inputLength = input.length;
 var n = initialN;
 var delta = 0;
 var bias = initialBias;
 var i, currentValue;
 for (i = 0; i < input.length; i++) {
  currentValue = input[i];
  if (currentValue < 0x80) {
   output.push(stringFromCharCode(currentValue));
  }
 }
 var basicLength = output.length;
 var handledCPCount = basicLength;
 if (basicLength) {
  output.push(delimiter);
 }
 while (handledCPCount < inputLength) {
  var m = maxInt;
  for (i = 0; i < input.length; i++) {
   currentValue = input[i];
   if (currentValue >= n && currentValue < m) {
    m = currentValue;
   }
  }
  var handledCPCountPlusOne = handledCPCount + 1;
  if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {
   throw RangeError(OVERFLOW_ERROR);
  }
  delta += (m - n) * handledCPCountPlusOne;
  n = m;
  for (i = 0; i < input.length; i++) {
   currentValue = input[i];
   if (currentValue < n && ++delta > maxInt) {
    throw RangeError(OVERFLOW_ERROR);
   }
   if (currentValue == n) {
    var q = delta;
    for (var k = base;; k += base) {
     var t = k <= bias ? tMin : k >= bias + tMax ? tMax : k - bias;
     if (q < t)
      break;
     var qMinusT = q - t;
     var baseMinusT = base - t;
     output.push(stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT)));
     q = floor(qMinusT / baseMinusT);
    }
    output.push(stringFromCharCode(digitToBasic(q)));
    bias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);
    delta = 0;
    ++handledCPCount;
   }
  }
  ++delta;
  ++n;
 }
 return output.join('');
};
module.exports = function (input) {
 var encoded = [];
 var labels = input.toLowerCase().replace(regexSeparators, '\u002E').split('.');
 var i, label;
 for (i = 0; i < labels.length; i++) {
  label = labels[i];
  encoded.push(regexNonASCII.test(label) ? 'xn--' + encode(label) : label);
 }
 return encoded.join('.');
};

/***/ }),
/* 142 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

__w_pdfjs_require__(102);
var $ = __w_pdfjs_require__(10);
var getBuiltIn = __w_pdfjs_require__(42);
var USE_NATIVE_URL = __w_pdfjs_require__(140);
var redefine = __w_pdfjs_require__(29);
var redefineAll = __w_pdfjs_require__(124);
var setToStringTag = __w_pdfjs_require__(85);
var createIteratorConstructor = __w_pdfjs_require__(80);
var InternalStateModule = __w_pdfjs_require__(33);
var anInstance = __w_pdfjs_require__(126);
var hasOwn = __w_pdfjs_require__(23);
var bind = __w_pdfjs_require__(62);
var classof = __w_pdfjs_require__(95);
var anObject = __w_pdfjs_require__(28);
var isObject = __w_pdfjs_require__(22);
var create = __w_pdfjs_require__(71);
var createPropertyDescriptor = __w_pdfjs_require__(16);
var getIterator = __w_pdfjs_require__(143);
var getIteratorMethod = __w_pdfjs_require__(94);
var wellKnownSymbol = __w_pdfjs_require__(57);
var $fetch = getBuiltIn('fetch');
var Headers = getBuiltIn('Headers');
var ITERATOR = wellKnownSymbol('iterator');
var URL_SEARCH_PARAMS = 'URLSearchParams';
var URL_SEARCH_PARAMS_ITERATOR = URL_SEARCH_PARAMS + 'Iterator';
var setInternalState = InternalStateModule.set;
var getInternalParamsState = InternalStateModule.getterFor(URL_SEARCH_PARAMS);
var getInternalIteratorState = InternalStateModule.getterFor(URL_SEARCH_PARAMS_ITERATOR);
var plus = /\+/g;
var sequences = Array(4);
var percentSequence = function (bytes) {
 return sequences[bytes - 1] || (sequences[bytes - 1] = RegExp('((?:%[\\da-f]{2}){' + bytes + '})', 'gi'));
};
var percentDecode = function (sequence) {
 try {
  return decodeURIComponent(sequence);
 } catch (error) {
  return sequence;
 }
};
var deserialize = function (it) {
 var result = it.replace(plus, ' ');
 var bytes = 4;
 try {
  return decodeURIComponent(result);
 } catch (error) {
  while (bytes) {
   result = result.replace(percentSequence(bytes--), percentDecode);
  }
  return result;
 }
};
var find = /[!'()~]|%20/g;
var replace = {
 '!': '%21',
 "'": '%27',
 '(': '%28',
 ')': '%29',
 '~': '%7E',
 '%20': '+'
};
var replacer = function (match) {
 return replace[match];
};
var serialize = function (it) {
 return encodeURIComponent(it).replace(find, replacer);
};
var parseSearchParams = function (result, query) {
 if (query) {
  var attributes = query.split('&');
  var index = 0;
  var attribute, entry;
  while (index < attributes.length) {
   attribute = attributes[index++];
   if (attribute.length) {
    entry = attribute.split('=');
    result.push({
     key: deserialize(entry.shift()),
     value: deserialize(entry.join('='))
    });
   }
  }
 }
};
var updateSearchParams = function (query) {
 this.entries.length = 0;
 parseSearchParams(this.entries, query);
};
var validateArgumentsLength = function (passed, required) {
 if (passed < required)
  throw TypeError('Not enough arguments');
};
var URLSearchParamsIterator = createIteratorConstructor(function Iterator(params, kind) {
 setInternalState(this, {
  type: URL_SEARCH_PARAMS_ITERATOR,
  iterator: getIterator(getInternalParamsState(params).entries),
  kind: kind
 });
}, 'Iterator', function next() {
 var state = getInternalIteratorState(this);
 var kind = state.kind;
 var step = state.iterator.next();
 var entry = step.value;
 if (!step.done) {
  step.value = kind === 'keys' ? entry.key : kind === 'values' ? entry.value : [
   entry.key,
   entry.value
  ];
 }
 return step;
});
var URLSearchParamsConstructor = function URLSearchParams() {
 anInstance(this, URLSearchParamsConstructor, URL_SEARCH_PARAMS);
 var init = arguments.length > 0 ? arguments[0] : undefined;
 var that = this;
 var entries = [];
 var iteratorMethod, iterator, next, step, entryIterator, entryNext, first, second, key;
 setInternalState(that, {
  type: URL_SEARCH_PARAMS,
  entries: entries,
  updateURL: function () {
  },
  updateSearchParams: updateSearchParams
 });
 if (init !== undefined) {
  if (isObject(init)) {
   iteratorMethod = getIteratorMethod(init);
   if (typeof iteratorMethod === 'function') {
    iterator = iteratorMethod.call(init);
    next = iterator.next;
    while (!(step = next.call(iterator)).done) {
     entryIterator = getIterator(anObject(step.value));
     entryNext = entryIterator.next;
     if ((first = entryNext.call(entryIterator)).done || (second = entryNext.call(entryIterator)).done || !entryNext.call(entryIterator).done)
      throw TypeError('Expected sequence with length 2');
     entries.push({
      key: first.value + '',
      value: second.value + ''
     });
    }
   } else
    for (key in init)
     if (hasOwn(init, key))
      entries.push({
       key: key,
       value: init[key] + ''
      });
  } else {
   parseSearchParams(entries, typeof init === 'string' ? init.charAt(0) === '?' ? init.slice(1) : init : init + '');
  }
 }
};
var URLSearchParamsPrototype = URLSearchParamsConstructor.prototype;
redefineAll(URLSearchParamsPrototype, {
 append: function append(name, value) {
  validateArgumentsLength(arguments.length, 2);
  var state = getInternalParamsState(this);
  state.entries.push({
   key: name + '',
   value: value + ''
  });
  state.updateURL();
 },
 'delete': function (name) {
  validateArgumentsLength(arguments.length, 1);
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var key = name + '';
  var index = 0;
  while (index < entries.length) {
   if (entries[index].key === key)
    entries.splice(index, 1);
   else
    index++;
  }
  state.updateURL();
 },
 get: function get(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var index = 0;
  for (; index < entries.length; index++) {
   if (entries[index].key === key)
    return entries[index].value;
  }
  return null;
 },
 getAll: function getAll(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var result = [];
  var index = 0;
  for (; index < entries.length; index++) {
   if (entries[index].key === key)
    result.push(entries[index].value);
  }
  return result;
 },
 has: function has(name) {
  validateArgumentsLength(arguments.length, 1);
  var entries = getInternalParamsState(this).entries;
  var key = name + '';
  var index = 0;
  while (index < entries.length) {
   if (entries[index++].key === key)
    return true;
  }
  return false;
 },
 set: function set(name, value) {
  validateArgumentsLength(arguments.length, 1);
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var found = false;
  var key = name + '';
  var val = value + '';
  var index = 0;
  var entry;
  for (; index < entries.length; index++) {
   entry = entries[index];
   if (entry.key === key) {
    if (found)
     entries.splice(index--, 1);
    else {
     found = true;
     entry.value = val;
    }
   }
  }
  if (!found)
   entries.push({
    key: key,
    value: val
   });
  state.updateURL();
 },
 sort: function sort() {
  var state = getInternalParamsState(this);
  var entries = state.entries;
  var slice = entries.slice();
  var entry, entriesIndex, sliceIndex;
  entries.length = 0;
  for (sliceIndex = 0; sliceIndex < slice.length; sliceIndex++) {
   entry = slice[sliceIndex];
   for (entriesIndex = 0; entriesIndex < sliceIndex; entriesIndex++) {
    if (entries[entriesIndex].key > entry.key) {
     entries.splice(entriesIndex, 0, entry);
     break;
    }
   }
   if (entriesIndex === sliceIndex)
    entries.push(entry);
  }
  state.updateURL();
 },
 forEach: function forEach(callback) {
  var entries = getInternalParamsState(this).entries;
  var boundFunction = bind(callback, arguments.length > 1 ? arguments[1] : undefined, 3);
  var index = 0;
  var entry;
  while (index < entries.length) {
   entry = entries[index++];
   boundFunction(entry.value, entry.key, this);
  }
 },
 keys: function keys() {
  return new URLSearchParamsIterator(this, 'keys');
 },
 values: function values() {
  return new URLSearchParamsIterator(this, 'values');
 },
 entries: function entries() {
  return new URLSearchParamsIterator(this, 'entries');
 }
}, { enumerable: true });
redefine(URLSearchParamsPrototype, ITERATOR, URLSearchParamsPrototype.entries);
redefine(URLSearchParamsPrototype, 'toString', function toString() {
 var entries = getInternalParamsState(this).entries;
 var result = [];
 var index = 0;
 var entry;
 while (index < entries.length) {
  entry = entries[index++];
  result.push(serialize(entry.key) + '=' + serialize(entry.value));
 }
 return result.join('&');
}, { enumerable: true });
setToStringTag(URLSearchParamsConstructor, URL_SEARCH_PARAMS);
$({
 global: true,
 forced: !USE_NATIVE_URL
}, { URLSearchParams: URLSearchParamsConstructor });
if (!USE_NATIVE_URL && typeof $fetch == 'function' && typeof Headers == 'function') {
 $({
  global: true,
  enumerable: true,
  forced: true
 }, {
  fetch: function fetch(input) {
   var args = [input];
   var init, body, headers;
   if (arguments.length > 1) {
    init = arguments[1];
    if (isObject(init)) {
     body = init.body;
     if (classof(body) === URL_SEARCH_PARAMS) {
      headers = init.headers ? new Headers(init.headers) : new Headers();
      if (!headers.has('content-type')) {
       headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');
      }
      init = create(init, {
       body: createPropertyDescriptor(0, String(body)),
       headers: createPropertyDescriptor(0, headers)
      });
     }
    }
    args.push(init);
   }
   return $fetch.apply(this, args);
  }
 });
}
module.exports = {
 URLSearchParams: URLSearchParamsConstructor,
 getState: getInternalParamsState
};

/***/ }),
/* 143 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var anObject = __w_pdfjs_require__(28);
var getIteratorMethod = __w_pdfjs_require__(94);
module.exports = function (it) {
 var iteratorMethod = getIteratorMethod(it);
 if (typeof iteratorMethod != 'function') {
  throw TypeError(String(it) + ' is not iterable');
 }
 return anObject(iteratorMethod.call(it));
};

/***/ }),
/* 144 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
$({
 target: 'URL',
 proto: true,
 enumerable: true
}, {
 toJSON: function toJSON() {
  return URL.prototype.toString.call(this);
 }
});

/***/ }),
/* 145 */
/***/ (function(module, exports, __w_pdfjs_require__) {

(function (global, factory) {
  true ? factory(exports) : undefined;
}(this, function (exports) {
 'use strict';
 var SymbolPolyfill = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol : function (description) {
  return "Symbol(" + description + ")";
 };
 function noop() {
 }
 var NumberIsNaN = Number.isNaN || function (x) {
  return x !== x;
 };
 var rethrowAssertionErrorRejection = noop;
 function typeIsObject(x) {
  return typeof x === 'object' && x !== null || typeof x === 'function';
 }
 function createArrayFromList(elements) {
  return elements.slice();
 }
 function ArrayBufferCopy(dest, destOffset, src, srcOffset, n) {
  new Uint8Array(dest).set(new Uint8Array(src, srcOffset, n), destOffset);
 }
 function IsFiniteNonNegativeNumber(v) {
  if (IsNonNegativeNumber(v) === false) {
   return false;
  }
  if (v === Infinity) {
   return false;
  }
  return true;
 }
 function IsNonNegativeNumber(v) {
  if (typeof v !== 'number') {
   return false;
  }
  if (NumberIsNaN(v)) {
   return false;
  }
  if (v < 0) {
   return false;
  }
  return true;
 }
 function Call(F, V, args) {
  if (typeof F !== 'function') {
   throw new TypeError('Argument is not a function');
  }
  return Function.prototype.apply.call(F, V, args);
 }
 function CreateAlgorithmFromUnderlyingMethod(underlyingObject, methodName, algoArgCount, extraArgs) {
  var method = underlyingObject[methodName];
  if (method !== undefined) {
   if (typeof method !== 'function') {
    throw new TypeError(method + " is not a method");
   }
   switch (algoArgCount) {
   case 0: {
     return function () {
      return PromiseCall(method, underlyingObject, extraArgs);
     };
    }
   case 1: {
     return function (arg) {
      var fullArgs = [arg].concat(extraArgs);
      return PromiseCall(method, underlyingObject, fullArgs);
     };
    }
   }
  }
  return function () {
   return promiseResolvedWith(undefined);
  };
 }
 function InvokeOrNoop(O, P, args) {
  var method = O[P];
  if (method === undefined) {
   return undefined;
  }
  return Call(method, O, args);
 }
 function PromiseCall(F, V, args) {
  try {
   return promiseResolvedWith(Call(F, V, args));
  } catch (value) {
   return promiseRejectedWith(value);
  }
 }
 function TransferArrayBuffer(O) {
  return O;
 }
 function IsDetachedBuffer(O) {
  return false;
 }
 function ValidateAndNormalizeHighWaterMark(highWaterMark) {
  highWaterMark = Number(highWaterMark);
  if (NumberIsNaN(highWaterMark) || highWaterMark < 0) {
   throw new RangeError('highWaterMark property of a queuing strategy must be non-negative and non-NaN');
  }
  return highWaterMark;
 }
 function MakeSizeAlgorithmFromSizeFunction(size) {
  if (size === undefined) {
   return function () {
    return 1;
   };
  }
  if (typeof size !== 'function') {
   throw new TypeError('size property of a queuing strategy must be a function');
  }
  return function (chunk) {
   return size(chunk);
  };
 }
 var originalPromise = Promise;
 var originalPromiseThen = Promise.prototype.then;
 var originalPromiseResolve = Promise.resolve.bind(originalPromise);
 var originalPromiseReject = Promise.reject.bind(originalPromise);
 function newPromise(executor) {
  return new originalPromise(executor);
 }
 function promiseResolvedWith(value) {
  return originalPromiseResolve(value);
 }
 function promiseRejectedWith(reason) {
  return originalPromiseReject(reason);
 }
 function PerformPromiseThen(promise, onFulfilled, onRejected) {
  return originalPromiseThen.call(promise, onFulfilled, onRejected);
 }
 function uponPromise(promise, onFulfilled, onRejected) {
  PerformPromiseThen(PerformPromiseThen(promise, onFulfilled, onRejected), undefined, rethrowAssertionErrorRejection);
 }
 function uponFulfillment(promise, onFulfilled) {
  uponPromise(promise, onFulfilled);
 }
 function uponRejection(promise, onRejected) {
  uponPromise(promise, undefined, onRejected);
 }
 function transformPromiseWith(promise, fulfillmentHandler, rejectionHandler) {
  return PerformPromiseThen(promise, fulfillmentHandler, rejectionHandler);
 }
 function setPromiseIsHandledToTrue(promise) {
  PerformPromiseThen(promise, undefined, rethrowAssertionErrorRejection);
 }
 var QUEUE_MAX_ARRAY_SIZE = 16384;
 var SimpleQueue = function () {
  function SimpleQueue() {
   this._cursor = 0;
   this._size = 0;
   this._front = {
    _elements: [],
    _next: undefined
   };
   this._back = this._front;
   this._cursor = 0;
   this._size = 0;
  }
  Object.defineProperty(SimpleQueue.prototype, "length", {
   get: function () {
    return this._size;
   },
   enumerable: true,
   configurable: true
  });
  SimpleQueue.prototype.push = function (element) {
   var oldBack = this._back;
   var newBack = oldBack;
   if (oldBack._elements.length === QUEUE_MAX_ARRAY_SIZE - 1) {
    newBack = {
     _elements: [],
     _next: undefined
    };
   }
   oldBack._elements.push(element);
   if (newBack !== oldBack) {
    this._back = newBack;
    oldBack._next = newBack;
   }
   ++this._size;
  };
  SimpleQueue.prototype.shift = function () {
   var oldFront = this._front;
   var newFront = oldFront;
   var oldCursor = this._cursor;
   var newCursor = oldCursor + 1;
   var elements = oldFront._elements;
   var element = elements[oldCursor];
   if (newCursor === QUEUE_MAX_ARRAY_SIZE) {
    newFront = oldFront._next;
    newCursor = 0;
   }
   --this._size;
   this._cursor = newCursor;
   if (oldFront !== newFront) {
    this._front = newFront;
   }
   elements[oldCursor] = undefined;
   return element;
  };
  SimpleQueue.prototype.forEach = function (callback) {
   var i = this._cursor;
   var node = this._front;
   var elements = node._elements;
   while (i !== elements.length || node._next !== undefined) {
    if (i === elements.length) {
     node = node._next;
     elements = node._elements;
     i = 0;
     if (elements.length === 0) {
      break;
     }
    }
    callback(elements[i]);
    ++i;
   }
  };
  SimpleQueue.prototype.peek = function () {
   var front = this._front;
   var cursor = this._cursor;
   return front._elements[cursor];
  };
  return SimpleQueue;
 }();
 function ReadableStreamCreateReadResult(value, done, forAuthorCode) {
  var prototype = null;
  if (forAuthorCode === true) {
   prototype = Object.prototype;
  }
  var obj = Object.create(prototype);
  obj.value = value;
  obj.done = done;
  return obj;
 }
 function ReadableStreamReaderGenericInitialize(reader, stream) {
  reader._forAuthorCode = true;
  reader._ownerReadableStream = stream;
  stream._reader = reader;
  if (stream._state === 'readable') {
   defaultReaderClosedPromiseInitialize(reader);
  } else if (stream._state === 'closed') {
   defaultReaderClosedPromiseInitializeAsResolved(reader);
  } else {
   defaultReaderClosedPromiseInitializeAsRejected(reader, stream._storedError);
  }
 }
 function ReadableStreamReaderGenericCancel(reader, reason) {
  var stream = reader._ownerReadableStream;
  return ReadableStreamCancel(stream, reason);
 }
 function ReadableStreamReaderGenericRelease(reader) {
  if (reader._ownerReadableStream._state === 'readable') {
   defaultReaderClosedPromiseReject(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
  } else {
   defaultReaderClosedPromiseResetToRejected(reader, new TypeError('Reader was released and can no longer be used to monitor the stream\'s closedness'));
  }
  reader._ownerReadableStream._reader = undefined;
  reader._ownerReadableStream = undefined;
 }
 function readerLockException(name) {
  return new TypeError('Cannot ' + name + ' a stream using a released reader');
 }
 function defaultReaderClosedPromiseInitialize(reader) {
  reader._closedPromise = newPromise(function (resolve, reject) {
   reader._closedPromise_resolve = resolve;
   reader._closedPromise_reject = reject;
  });
 }
 function defaultReaderClosedPromiseInitializeAsRejected(reader, reason) {
  defaultReaderClosedPromiseInitialize(reader);
  defaultReaderClosedPromiseReject(reader, reason);
 }
 function defaultReaderClosedPromiseInitializeAsResolved(reader) {
  defaultReaderClosedPromiseInitialize(reader);
  defaultReaderClosedPromiseResolve(reader);
 }
 function defaultReaderClosedPromiseReject(reader, reason) {
  setPromiseIsHandledToTrue(reader._closedPromise);
  reader._closedPromise_reject(reason);
  reader._closedPromise_resolve = undefined;
  reader._closedPromise_reject = undefined;
 }
 function defaultReaderClosedPromiseResetToRejected(reader, reason) {
  defaultReaderClosedPromiseInitializeAsRejected(reader, reason);
 }
 function defaultReaderClosedPromiseResolve(reader) {
  reader._closedPromise_resolve(undefined);
  reader._closedPromise_resolve = undefined;
  reader._closedPromise_reject = undefined;
 }
 var CancelSteps = SymbolPolyfill('[[CancelSteps]]');
 var PullSteps = SymbolPolyfill('[[PullSteps]]');
 function AcquireReadableStreamDefaultReader(stream, forAuthorCode) {
  if (forAuthorCode === void 0) {
   forAuthorCode = false;
  }
  var reader = new ReadableStreamDefaultReader(stream);
  reader._forAuthorCode = forAuthorCode;
  return reader;
 }
 function ReadableStreamAddReadRequest(stream) {
  var promise = newPromise(function (resolve, reject) {
   var readRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._reader._readRequests.push(readRequest);
  });
  return promise;
 }
 function ReadableStreamFulfillReadRequest(stream, chunk, done) {
  var reader = stream._reader;
  var readRequest = reader._readRequests.shift();
  readRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
 }
 function ReadableStreamGetNumReadRequests(stream) {
  return stream._reader._readRequests.length;
 }
 function ReadableStreamHasDefaultReader(stream) {
  var reader = stream._reader;
  if (reader === undefined) {
   return false;
  }
  if (!IsReadableStreamDefaultReader(reader)) {
   return false;
  }
  return true;
 }
 var ReadableStreamDefaultReader = function () {
  function ReadableStreamDefaultReader(stream) {
   if (IsReadableStream(stream) === false) {
    throw new TypeError('ReadableStreamDefaultReader can only be constructed with a ReadableStream instance');
   }
   if (IsReadableStreamLocked(stream) === true) {
    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
   }
   ReadableStreamReaderGenericInitialize(this, stream);
   this._readRequests = new SimpleQueue();
  }
  Object.defineProperty(ReadableStreamDefaultReader.prototype, "closed", {
   get: function () {
    if (!IsReadableStreamDefaultReader(this)) {
     return promiseRejectedWith(defaultReaderBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: true,
   configurable: true
  });
  ReadableStreamDefaultReader.prototype.cancel = function (reason) {
   if (!IsReadableStreamDefaultReader(this)) {
    return promiseRejectedWith(defaultReaderBrandCheckException('cancel'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('cancel'));
   }
   return ReadableStreamReaderGenericCancel(this, reason);
  };
  ReadableStreamDefaultReader.prototype.read = function () {
   if (!IsReadableStreamDefaultReader(this)) {
    return promiseRejectedWith(defaultReaderBrandCheckException('read'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('read from'));
   }
   return ReadableStreamDefaultReaderRead(this);
  };
  ReadableStreamDefaultReader.prototype.releaseLock = function () {
   if (!IsReadableStreamDefaultReader(this)) {
    throw defaultReaderBrandCheckException('releaseLock');
   }
   if (this._ownerReadableStream === undefined) {
    return;
   }
   if (this._readRequests.length > 0) {
    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
   }
   ReadableStreamReaderGenericRelease(this);
  };
  return ReadableStreamDefaultReader;
 }();
 function IsReadableStreamDefaultReader(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readRequests')) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultReaderRead(reader) {
  var stream = reader._ownerReadableStream;
  stream._disturbed = true;
  if (stream._state === 'closed') {
   return promiseResolvedWith(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
  }
  if (stream._state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  return stream._readableStreamController[PullSteps]();
 }
 function defaultReaderBrandCheckException(name) {
  return new TypeError("ReadableStreamDefaultReader.prototype." + name + " can only be used on a ReadableStreamDefaultReader");
 }
 var _a;
 var AsyncIteratorPrototype;
 if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  AsyncIteratorPrototype = (_a = {}, _a[SymbolPolyfill.asyncIterator] = function () {
   return this;
  }, _a);
  Object.defineProperty(AsyncIteratorPrototype, SymbolPolyfill.asyncIterator, { enumerable: false });
 }
 var ReadableStreamAsyncIteratorPrototype = {
  next: function () {
   if (IsReadableStreamAsyncIterator(this) === false) {
    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
   }
   var reader = this._asyncIteratorReader;
   if (reader._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('iterate'));
   }
   return transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
    var done = result.done;
    if (done) {
     ReadableStreamReaderGenericRelease(reader);
    }
    var value = result.value;
    return ReadableStreamCreateReadResult(value, done, true);
   });
  },
  return: function (value) {
   if (IsReadableStreamAsyncIterator(this) === false) {
    return promiseRejectedWith(streamAsyncIteratorBrandCheckException('next'));
   }
   var reader = this._asyncIteratorReader;
   if (reader._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('finish iterating'));
   }
   if (reader._readRequests.length > 0) {
    return promiseRejectedWith(new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled'));
   }
   if (this._preventCancel === false) {
    var result = ReadableStreamReaderGenericCancel(reader, value);
    ReadableStreamReaderGenericRelease(reader);
    return transformPromiseWith(result, function () {
     return ReadableStreamCreateReadResult(value, true, true);
    });
   }
   ReadableStreamReaderGenericRelease(reader);
   return promiseResolvedWith(ReadableStreamCreateReadResult(value, true, true));
  }
 };
 if (AsyncIteratorPrototype !== undefined) {
  Object.setPrototypeOf(ReadableStreamAsyncIteratorPrototype, AsyncIteratorPrototype);
 }
 Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'next', { enumerable: false });
 Object.defineProperty(ReadableStreamAsyncIteratorPrototype, 'return', { enumerable: false });
 function AcquireReadableStreamAsyncIterator(stream, preventCancel) {
  if (preventCancel === void 0) {
   preventCancel = false;
  }
  var reader = AcquireReadableStreamDefaultReader(stream);
  var iterator = Object.create(ReadableStreamAsyncIteratorPrototype);
  iterator._asyncIteratorReader = reader;
  iterator._preventCancel = Boolean(preventCancel);
  return iterator;
 }
 function IsReadableStreamAsyncIterator(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_asyncIteratorReader')) {
   return false;
  }
  return true;
 }
 function streamAsyncIteratorBrandCheckException(name) {
  return new TypeError("ReadableStreamAsyncIterator." + name + " can only be used on a ReadableSteamAsyncIterator");
 }
 function DequeueValue(container) {
  var pair = container._queue.shift();
  container._queueTotalSize -= pair.size;
  if (container._queueTotalSize < 0) {
   container._queueTotalSize = 0;
  }
  return pair.value;
 }
 function EnqueueValueWithSize(container, value, size) {
  size = Number(size);
  if (!IsFiniteNonNegativeNumber(size)) {
   throw new RangeError('Size must be a finite, non-NaN, non-negative number.');
  }
  container._queue.push({
   value: value,
   size: size
  });
  container._queueTotalSize += size;
 }
 function PeekQueueValue(container) {
  var pair = container._queue.peek();
  return pair.value;
 }
 function ResetQueue(container) {
  container._queue = new SimpleQueue();
  container._queueTotalSize = 0;
 }
 var AbortSteps = SymbolPolyfill('[[AbortSteps]]');
 var ErrorSteps = SymbolPolyfill('[[ErrorSteps]]');
 var WritableStream = function () {
  function WritableStream(underlyingSink, strategy) {
   if (underlyingSink === void 0) {
    underlyingSink = {};
   }
   if (strategy === void 0) {
    strategy = {};
   }
   InitializeWritableStream(this);
   var size = strategy.size;
   var highWaterMark = strategy.highWaterMark;
   var type = underlyingSink.type;
   if (type !== undefined) {
    throw new RangeError('Invalid type is specified');
   }
   var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
   if (highWaterMark === undefined) {
    highWaterMark = 1;
   }
   highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
   SetUpWritableStreamDefaultControllerFromUnderlyingSink(this, underlyingSink, highWaterMark, sizeAlgorithm);
  }
  Object.defineProperty(WritableStream.prototype, "locked", {
   get: function () {
    if (IsWritableStream(this) === false) {
     throw streamBrandCheckException('locked');
    }
    return IsWritableStreamLocked(this);
   },
   enumerable: true,
   configurable: true
  });
  WritableStream.prototype.abort = function (reason) {
   if (IsWritableStream(this) === false) {
    return promiseRejectedWith(streamBrandCheckException('abort'));
   }
   if (IsWritableStreamLocked(this) === true) {
    return promiseRejectedWith(new TypeError('Cannot abort a stream that already has a writer'));
   }
   return WritableStreamAbort(this, reason);
  };
  WritableStream.prototype.close = function () {
   if (IsWritableStream(this) === false) {
    return promiseRejectedWith(streamBrandCheckException('close'));
   }
   if (IsWritableStreamLocked(this) === true) {
    return promiseRejectedWith(new TypeError('Cannot close a stream that already has a writer'));
   }
   if (WritableStreamCloseQueuedOrInFlight(this) === true) {
    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
   }
   return WritableStreamClose(this);
  };
  WritableStream.prototype.getWriter = function () {
   if (IsWritableStream(this) === false) {
    throw streamBrandCheckException('getWriter');
   }
   return AcquireWritableStreamDefaultWriter(this);
  };
  return WritableStream;
 }();
 function AcquireWritableStreamDefaultWriter(stream) {
  return new WritableStreamDefaultWriter(stream);
 }
 function CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  if (highWaterMark === void 0) {
   highWaterMark = 1;
  }
  if (sizeAlgorithm === void 0) {
   sizeAlgorithm = function () {
    return 1;
   };
  }
  var stream = Object.create(WritableStream.prototype);
  InitializeWritableStream(stream);
  var controller = Object.create(WritableStreamDefaultController.prototype);
  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
  return stream;
 }
 function InitializeWritableStream(stream) {
  stream._state = 'writable';
  stream._storedError = undefined;
  stream._writer = undefined;
  stream._writableStreamController = undefined;
  stream._writeRequests = new SimpleQueue();
  stream._inFlightWriteRequest = undefined;
  stream._closeRequest = undefined;
  stream._inFlightCloseRequest = undefined;
  stream._pendingAbortRequest = undefined;
  stream._backpressure = false;
 }
 function IsWritableStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_writableStreamController')) {
   return false;
  }
  return true;
 }
 function IsWritableStreamLocked(stream) {
  if (stream._writer === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamAbort(stream, reason) {
  var state = stream._state;
  if (state === 'closed' || state === 'errored') {
   return promiseResolvedWith(undefined);
  }
  if (stream._pendingAbortRequest !== undefined) {
   return stream._pendingAbortRequest._promise;
  }
  var wasAlreadyErroring = false;
  if (state === 'erroring') {
   wasAlreadyErroring = true;
   reason = undefined;
  }
  var promise = newPromise(function (resolve, reject) {
   stream._pendingAbortRequest = {
    _promise: undefined,
    _resolve: resolve,
    _reject: reject,
    _reason: reason,
    _wasAlreadyErroring: wasAlreadyErroring
   };
  });
  stream._pendingAbortRequest._promise = promise;
  if (wasAlreadyErroring === false) {
   WritableStreamStartErroring(stream, reason);
  }
  return promise;
 }
 function WritableStreamClose(stream) {
  var state = stream._state;
  if (state === 'closed' || state === 'errored') {
   return promiseRejectedWith(new TypeError("The stream (in " + state + " state) is not in the writable state and cannot be closed"));
  }
  var promise = newPromise(function (resolve, reject) {
   var closeRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._closeRequest = closeRequest;
  });
  var writer = stream._writer;
  if (writer !== undefined && stream._backpressure === true && state === 'writable') {
   defaultWriterReadyPromiseResolve(writer);
  }
  WritableStreamDefaultControllerClose(stream._writableStreamController);
  return promise;
 }
 function WritableStreamAddWriteRequest(stream) {
  var promise = newPromise(function (resolve, reject) {
   var writeRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._writeRequests.push(writeRequest);
  });
  return promise;
 }
 function WritableStreamDealWithRejection(stream, error) {
  var state = stream._state;
  if (state === 'writable') {
   WritableStreamStartErroring(stream, error);
   return;
  }
  WritableStreamFinishErroring(stream);
 }
 function WritableStreamStartErroring(stream, reason) {
  var controller = stream._writableStreamController;
  stream._state = 'erroring';
  stream._storedError = reason;
  var writer = stream._writer;
  if (writer !== undefined) {
   WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, reason);
  }
  if (WritableStreamHasOperationMarkedInFlight(stream) === false && controller._started === true) {
   WritableStreamFinishErroring(stream);
  }
 }
 function WritableStreamFinishErroring(stream) {
  stream._state = 'errored';
  stream._writableStreamController[ErrorSteps]();
  var storedError = stream._storedError;
  stream._writeRequests.forEach(function (writeRequest) {
   writeRequest._reject(storedError);
  });
  stream._writeRequests = new SimpleQueue();
  if (stream._pendingAbortRequest === undefined) {
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
   return;
  }
  var abortRequest = stream._pendingAbortRequest;
  stream._pendingAbortRequest = undefined;
  if (abortRequest._wasAlreadyErroring === true) {
   abortRequest._reject(storedError);
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
   return;
  }
  var promise = stream._writableStreamController[AbortSteps](abortRequest._reason);
  uponPromise(promise, function () {
   abortRequest._resolve();
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  }, function (reason) {
   abortRequest._reject(reason);
   WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream);
  });
 }
 function WritableStreamFinishInFlightWrite(stream) {
  stream._inFlightWriteRequest._resolve(undefined);
  stream._inFlightWriteRequest = undefined;
 }
 function WritableStreamFinishInFlightWriteWithError(stream, error) {
  stream._inFlightWriteRequest._reject(error);
  stream._inFlightWriteRequest = undefined;
  WritableStreamDealWithRejection(stream, error);
 }
 function WritableStreamFinishInFlightClose(stream) {
  stream._inFlightCloseRequest._resolve(undefined);
  stream._inFlightCloseRequest = undefined;
  var state = stream._state;
  if (state === 'erroring') {
   stream._storedError = undefined;
   if (stream._pendingAbortRequest !== undefined) {
    stream._pendingAbortRequest._resolve();
    stream._pendingAbortRequest = undefined;
   }
  }
  stream._state = 'closed';
  var writer = stream._writer;
  if (writer !== undefined) {
   defaultWriterClosedPromiseResolve(writer);
  }
 }
 function WritableStreamFinishInFlightCloseWithError(stream, error) {
  stream._inFlightCloseRequest._reject(error);
  stream._inFlightCloseRequest = undefined;
  if (stream._pendingAbortRequest !== undefined) {
   stream._pendingAbortRequest._reject(error);
   stream._pendingAbortRequest = undefined;
  }
  WritableStreamDealWithRejection(stream, error);
 }
 function WritableStreamCloseQueuedOrInFlight(stream) {
  if (stream._closeRequest === undefined && stream._inFlightCloseRequest === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamHasOperationMarkedInFlight(stream) {
  if (stream._inFlightWriteRequest === undefined && stream._inFlightCloseRequest === undefined) {
   return false;
  }
  return true;
 }
 function WritableStreamMarkCloseRequestInFlight(stream) {
  stream._inFlightCloseRequest = stream._closeRequest;
  stream._closeRequest = undefined;
 }
 function WritableStreamMarkFirstWriteRequestInFlight(stream) {
  stream._inFlightWriteRequest = stream._writeRequests.shift();
 }
 function WritableStreamRejectCloseAndClosedPromiseIfNeeded(stream) {
  if (stream._closeRequest !== undefined) {
   stream._closeRequest._reject(stream._storedError);
   stream._closeRequest = undefined;
  }
  var writer = stream._writer;
  if (writer !== undefined) {
   defaultWriterClosedPromiseReject(writer, stream._storedError);
  }
 }
 function WritableStreamUpdateBackpressure(stream, backpressure) {
  var writer = stream._writer;
  if (writer !== undefined && backpressure !== stream._backpressure) {
   if (backpressure === true) {
    defaultWriterReadyPromiseReset(writer);
   } else {
    defaultWriterReadyPromiseResolve(writer);
   }
  }
  stream._backpressure = backpressure;
 }
 var WritableStreamDefaultWriter = function () {
  function WritableStreamDefaultWriter(stream) {
   if (IsWritableStream(stream) === false) {
    throw new TypeError('WritableStreamDefaultWriter can only be constructed with a WritableStream instance');
   }
   if (IsWritableStreamLocked(stream) === true) {
    throw new TypeError('This stream has already been locked for exclusive writing by another writer');
   }
   this._ownerWritableStream = stream;
   stream._writer = this;
   var state = stream._state;
   if (state === 'writable') {
    if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._backpressure === true) {
     defaultWriterReadyPromiseInitialize(this);
    } else {
     defaultWriterReadyPromiseInitializeAsResolved(this);
    }
    defaultWriterClosedPromiseInitialize(this);
   } else if (state === 'erroring') {
    defaultWriterReadyPromiseInitializeAsRejected(this, stream._storedError);
    defaultWriterClosedPromiseInitialize(this);
   } else if (state === 'closed') {
    defaultWriterReadyPromiseInitializeAsResolved(this);
    defaultWriterClosedPromiseInitializeAsResolved(this);
   } else {
    var storedError = stream._storedError;
    defaultWriterReadyPromiseInitializeAsRejected(this, storedError);
    defaultWriterClosedPromiseInitializeAsRejected(this, storedError);
   }
  }
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "closed", {
   get: function () {
    if (IsWritableStreamDefaultWriter(this) === false) {
     return promiseRejectedWith(defaultWriterBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: true,
   configurable: true
  });
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "desiredSize", {
   get: function () {
    if (IsWritableStreamDefaultWriter(this) === false) {
     throw defaultWriterBrandCheckException('desiredSize');
    }
    if (this._ownerWritableStream === undefined) {
     throw defaultWriterLockException('desiredSize');
    }
    return WritableStreamDefaultWriterGetDesiredSize(this);
   },
   enumerable: true,
   configurable: true
  });
  Object.defineProperty(WritableStreamDefaultWriter.prototype, "ready", {
   get: function () {
    if (IsWritableStreamDefaultWriter(this) === false) {
     return promiseRejectedWith(defaultWriterBrandCheckException('ready'));
    }
    return this._readyPromise;
   },
   enumerable: true,
   configurable: true
  });
  WritableStreamDefaultWriter.prototype.abort = function (reason) {
   if (IsWritableStreamDefaultWriter(this) === false) {
    return promiseRejectedWith(defaultWriterBrandCheckException('abort'));
   }
   if (this._ownerWritableStream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('abort'));
   }
   return WritableStreamDefaultWriterAbort(this, reason);
  };
  WritableStreamDefaultWriter.prototype.close = function () {
   if (IsWritableStreamDefaultWriter(this) === false) {
    return promiseRejectedWith(defaultWriterBrandCheckException('close'));
   }
   var stream = this._ownerWritableStream;
   if (stream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('close'));
   }
   if (WritableStreamCloseQueuedOrInFlight(stream) === true) {
    return promiseRejectedWith(new TypeError('Cannot close an already-closing stream'));
   }
   return WritableStreamDefaultWriterClose(this);
  };
  WritableStreamDefaultWriter.prototype.releaseLock = function () {
   if (IsWritableStreamDefaultWriter(this) === false) {
    throw defaultWriterBrandCheckException('releaseLock');
   }
   var stream = this._ownerWritableStream;
   if (stream === undefined) {
    return;
   }
   WritableStreamDefaultWriterRelease(this);
  };
  WritableStreamDefaultWriter.prototype.write = function (chunk) {
   if (IsWritableStreamDefaultWriter(this) === false) {
    return promiseRejectedWith(defaultWriterBrandCheckException('write'));
   }
   if (this._ownerWritableStream === undefined) {
    return promiseRejectedWith(defaultWriterLockException('write to'));
   }
   return WritableStreamDefaultWriterWrite(this, chunk);
  };
  return WritableStreamDefaultWriter;
 }();
 function IsWritableStreamDefaultWriter(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_ownerWritableStream')) {
   return false;
  }
  return true;
 }
 function WritableStreamDefaultWriterAbort(writer, reason) {
  var stream = writer._ownerWritableStream;
  return WritableStreamAbort(stream, reason);
 }
 function WritableStreamDefaultWriterClose(writer) {
  var stream = writer._ownerWritableStream;
  return WritableStreamClose(stream);
 }
 function WritableStreamDefaultWriterCloseWithErrorPropagation(writer) {
  var stream = writer._ownerWritableStream;
  var state = stream._state;
  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
   return promiseResolvedWith(undefined);
  }
  if (state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  return WritableStreamDefaultWriterClose(writer);
 }
 function WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, error) {
  if (writer._closedPromiseState === 'pending') {
   defaultWriterClosedPromiseReject(writer, error);
  } else {
   defaultWriterClosedPromiseResetToRejected(writer, error);
  }
 }
 function WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, error) {
  if (writer._readyPromiseState === 'pending') {
   defaultWriterReadyPromiseReject(writer, error);
  } else {
   defaultWriterReadyPromiseResetToRejected(writer, error);
  }
 }
 function WritableStreamDefaultWriterGetDesiredSize(writer) {
  var stream = writer._ownerWritableStream;
  var state = stream._state;
  if (state === 'errored' || state === 'erroring') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return WritableStreamDefaultControllerGetDesiredSize(stream._writableStreamController);
 }
 function WritableStreamDefaultWriterRelease(writer) {
  var stream = writer._ownerWritableStream;
  var releasedError = new TypeError('Writer was released and can no longer be used to monitor the stream\'s closedness');
  WritableStreamDefaultWriterEnsureReadyPromiseRejected(writer, releasedError);
  WritableStreamDefaultWriterEnsureClosedPromiseRejected(writer, releasedError);
  stream._writer = undefined;
  writer._ownerWritableStream = undefined;
 }
 function WritableStreamDefaultWriterWrite(writer, chunk) {
  var stream = writer._ownerWritableStream;
  var controller = stream._writableStreamController;
  var chunkSize = WritableStreamDefaultControllerGetChunkSize(controller, chunk);
  if (stream !== writer._ownerWritableStream) {
   return promiseRejectedWith(defaultWriterLockException('write to'));
  }
  var state = stream._state;
  if (state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  if (WritableStreamCloseQueuedOrInFlight(stream) === true || state === 'closed') {
   return promiseRejectedWith(new TypeError('The stream is closing or closed and cannot be written to'));
  }
  if (state === 'erroring') {
   return promiseRejectedWith(stream._storedError);
  }
  var promise = WritableStreamAddWriteRequest(stream);
  WritableStreamDefaultControllerWrite(controller, chunk, chunkSize);
  return promise;
 }
 var WritableStreamDefaultController = function () {
  function WritableStreamDefaultController() {
   throw new TypeError('WritableStreamDefaultController cannot be constructed explicitly');
  }
  WritableStreamDefaultController.prototype.error = function (e) {
   if (IsWritableStreamDefaultController(this) === false) {
    throw new TypeError('WritableStreamDefaultController.prototype.error can only be used on a WritableStreamDefaultController');
   }
   var state = this._controlledWritableStream._state;
   if (state !== 'writable') {
    return;
   }
   WritableStreamDefaultControllerError(this, e);
  };
  WritableStreamDefaultController.prototype[AbortSteps] = function (reason) {
   var result = this._abortAlgorithm(reason);
   WritableStreamDefaultControllerClearAlgorithms(this);
   return result;
  };
  WritableStreamDefaultController.prototype[ErrorSteps] = function () {
   ResetQueue(this);
  };
  return WritableStreamDefaultController;
 }();
 function IsWritableStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledWritableStream')) {
   return false;
  }
  return true;
 }
 function SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm) {
  controller._controlledWritableStream = stream;
  stream._writableStreamController = controller;
  controller._queue = undefined;
  controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._started = false;
  controller._strategySizeAlgorithm = sizeAlgorithm;
  controller._strategyHWM = highWaterMark;
  controller._writeAlgorithm = writeAlgorithm;
  controller._closeAlgorithm = closeAlgorithm;
  controller._abortAlgorithm = abortAlgorithm;
  var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
  WritableStreamUpdateBackpressure(stream, backpressure);
  var startResult = startAlgorithm();
  var startPromise = promiseResolvedWith(startResult);
  uponPromise(startPromise, function () {
   controller._started = true;
   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  }, function (r) {
   controller._started = true;
   WritableStreamDealWithRejection(stream, r);
  });
 }
 function SetUpWritableStreamDefaultControllerFromUnderlyingSink(stream, underlyingSink, highWaterMark, sizeAlgorithm) {
  var controller = Object.create(WritableStreamDefaultController.prototype);
  function startAlgorithm() {
   return InvokeOrNoop(underlyingSink, 'start', [controller]);
  }
  var writeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'write', 1, [controller]);
  var closeAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'close', 0, []);
  var abortAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSink, 'abort', 1, []);
  SetUpWritableStreamDefaultController(stream, controller, startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, highWaterMark, sizeAlgorithm);
 }
 function WritableStreamDefaultControllerClearAlgorithms(controller) {
  controller._writeAlgorithm = undefined;
  controller._closeAlgorithm = undefined;
  controller._abortAlgorithm = undefined;
  controller._strategySizeAlgorithm = undefined;
 }
 function WritableStreamDefaultControllerClose(controller) {
  EnqueueValueWithSize(controller, 'close', 0);
  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
 }
 function WritableStreamDefaultControllerGetChunkSize(controller, chunk) {
  try {
   return controller._strategySizeAlgorithm(chunk);
  } catch (chunkSizeE) {
   WritableStreamDefaultControllerErrorIfNeeded(controller, chunkSizeE);
   return 1;
  }
 }
 function WritableStreamDefaultControllerGetDesiredSize(controller) {
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function WritableStreamDefaultControllerWrite(controller, chunk, chunkSize) {
  var writeRecord = { chunk: chunk };
  try {
   EnqueueValueWithSize(controller, writeRecord, chunkSize);
  } catch (enqueueE) {
   WritableStreamDefaultControllerErrorIfNeeded(controller, enqueueE);
   return;
  }
  var stream = controller._controlledWritableStream;
  if (WritableStreamCloseQueuedOrInFlight(stream) === false && stream._state === 'writable') {
   var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
   WritableStreamUpdateBackpressure(stream, backpressure);
  }
  WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
 }
 function WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller) {
  var stream = controller._controlledWritableStream;
  if (controller._started === false) {
   return;
  }
  if (stream._inFlightWriteRequest !== undefined) {
   return;
  }
  var state = stream._state;
  if (state === 'erroring') {
   WritableStreamFinishErroring(stream);
   return;
  }
  if (controller._queue.length === 0) {
   return;
  }
  var writeRecord = PeekQueueValue(controller);
  if (writeRecord === 'close') {
   WritableStreamDefaultControllerProcessClose(controller);
  } else {
   WritableStreamDefaultControllerProcessWrite(controller, writeRecord.chunk);
  }
 }
 function WritableStreamDefaultControllerErrorIfNeeded(controller, error) {
  if (controller._controlledWritableStream._state === 'writable') {
   WritableStreamDefaultControllerError(controller, error);
  }
 }
 function WritableStreamDefaultControllerProcessClose(controller) {
  var stream = controller._controlledWritableStream;
  WritableStreamMarkCloseRequestInFlight(stream);
  DequeueValue(controller);
  var sinkClosePromise = controller._closeAlgorithm();
  WritableStreamDefaultControllerClearAlgorithms(controller);
  uponPromise(sinkClosePromise, function () {
   WritableStreamFinishInFlightClose(stream);
  }, function (reason) {
   WritableStreamFinishInFlightCloseWithError(stream, reason);
  });
 }
 function WritableStreamDefaultControllerProcessWrite(controller, chunk) {
  var stream = controller._controlledWritableStream;
  WritableStreamMarkFirstWriteRequestInFlight(stream);
  var sinkWritePromise = controller._writeAlgorithm(chunk);
  uponPromise(sinkWritePromise, function () {
   WritableStreamFinishInFlightWrite(stream);
   var state = stream._state;
   DequeueValue(controller);
   if (WritableStreamCloseQueuedOrInFlight(stream) === false && state === 'writable') {
    var backpressure = WritableStreamDefaultControllerGetBackpressure(controller);
    WritableStreamUpdateBackpressure(stream, backpressure);
   }
   WritableStreamDefaultControllerAdvanceQueueIfNeeded(controller);
  }, function (reason) {
   if (stream._state === 'writable') {
    WritableStreamDefaultControllerClearAlgorithms(controller);
   }
   WritableStreamFinishInFlightWriteWithError(stream, reason);
  });
 }
 function WritableStreamDefaultControllerGetBackpressure(controller) {
  var desiredSize = WritableStreamDefaultControllerGetDesiredSize(controller);
  return desiredSize <= 0;
 }
 function WritableStreamDefaultControllerError(controller, error) {
  var stream = controller._controlledWritableStream;
  WritableStreamDefaultControllerClearAlgorithms(controller);
  WritableStreamStartErroring(stream, error);
 }
 function streamBrandCheckException(name) {
  return new TypeError("WritableStream.prototype." + name + " can only be used on a WritableStream");
 }
 function defaultWriterBrandCheckException(name) {
  return new TypeError("WritableStreamDefaultWriter.prototype." + name + " can only be used on a WritableStreamDefaultWriter");
 }
 function defaultWriterLockException(name) {
  return new TypeError('Cannot ' + name + ' a stream using a released writer');
 }
 function defaultWriterClosedPromiseInitialize(writer) {
  writer._closedPromise = newPromise(function (resolve, reject) {
   writer._closedPromise_resolve = resolve;
   writer._closedPromise_reject = reject;
   writer._closedPromiseState = 'pending';
  });
 }
 function defaultWriterClosedPromiseInitializeAsRejected(writer, reason) {
  defaultWriterClosedPromiseInitialize(writer);
  defaultWriterClosedPromiseReject(writer, reason);
 }
 function defaultWriterClosedPromiseInitializeAsResolved(writer) {
  defaultWriterClosedPromiseInitialize(writer);
  defaultWriterClosedPromiseResolve(writer);
 }
 function defaultWriterClosedPromiseReject(writer, reason) {
  setPromiseIsHandledToTrue(writer._closedPromise);
  writer._closedPromise_reject(reason);
  writer._closedPromise_resolve = undefined;
  writer._closedPromise_reject = undefined;
  writer._closedPromiseState = 'rejected';
 }
 function defaultWriterClosedPromiseResetToRejected(writer, reason) {
  defaultWriterClosedPromiseInitializeAsRejected(writer, reason);
 }
 function defaultWriterClosedPromiseResolve(writer) {
  writer._closedPromise_resolve(undefined);
  writer._closedPromise_resolve = undefined;
  writer._closedPromise_reject = undefined;
  writer._closedPromiseState = 'resolved';
 }
 function defaultWriterReadyPromiseInitialize(writer) {
  writer._readyPromise = newPromise(function (resolve, reject) {
   writer._readyPromise_resolve = resolve;
   writer._readyPromise_reject = reject;
  });
  writer._readyPromiseState = 'pending';
 }
 function defaultWriterReadyPromiseInitializeAsRejected(writer, reason) {
  defaultWriterReadyPromiseInitialize(writer);
  defaultWriterReadyPromiseReject(writer, reason);
 }
 function defaultWriterReadyPromiseInitializeAsResolved(writer) {
  defaultWriterReadyPromiseInitialize(writer);
  defaultWriterReadyPromiseResolve(writer);
 }
 function defaultWriterReadyPromiseReject(writer, reason) {
  setPromiseIsHandledToTrue(writer._readyPromise);
  writer._readyPromise_reject(reason);
  writer._readyPromise_resolve = undefined;
  writer._readyPromise_reject = undefined;
  writer._readyPromiseState = 'rejected';
 }
 function defaultWriterReadyPromiseReset(writer) {
  defaultWriterReadyPromiseInitialize(writer);
 }
 function defaultWriterReadyPromiseResetToRejected(writer, reason) {
  defaultWriterReadyPromiseInitializeAsRejected(writer, reason);
 }
 function defaultWriterReadyPromiseResolve(writer) {
  writer._readyPromise_resolve(undefined);
  writer._readyPromise_resolve = undefined;
  writer._readyPromise_reject = undefined;
  writer._readyPromiseState = 'fulfilled';
 }
 function isAbortSignal(value) {
  if (typeof value !== 'object' || value === null) {
   return false;
  }
  try {
   return typeof value.aborted === 'boolean';
  } catch (_a) {
   return false;
  }
 }
 var NativeDOMException = typeof DOMException !== 'undefined' ? DOMException : undefined;
 function isDOMExceptionConstructor(ctor) {
  if (!(typeof ctor === 'function' || typeof ctor === 'object')) {
   return false;
  }
  try {
   new ctor();
   return true;
  } catch (_a) {
   return false;
  }
 }
 function createDOMExceptionPolyfill() {
  var ctor = function DOMException(message, name) {
   this.message = message || '';
   this.name = name || 'Error';
   if (Error.captureStackTrace) {
    Error.captureStackTrace(this, this.constructor);
   }
  };
  ctor.prototype = Object.create(Error.prototype);
  Object.defineProperty(ctor.prototype, 'constructor', {
   value: ctor,
   writable: true,
   configurable: true
  });
  return ctor;
 }
 var DOMException$1 = isDOMExceptionConstructor(NativeDOMException) ? NativeDOMException : createDOMExceptionPolyfill();
 function ReadableStreamPipeTo(source, dest, preventClose, preventAbort, preventCancel, signal) {
  var reader = AcquireReadableStreamDefaultReader(source);
  var writer = AcquireWritableStreamDefaultWriter(dest);
  source._disturbed = true;
  var shuttingDown = false;
  var currentWrite = promiseResolvedWith(undefined);
  return newPromise(function (resolve, reject) {
   var abortAlgorithm;
   if (signal !== undefined) {
    abortAlgorithm = function () {
     var error = new DOMException$1('Aborted', 'AbortError');
     var actions = [];
     if (preventAbort === false) {
      actions.push(function () {
       if (dest._state === 'writable') {
        return WritableStreamAbort(dest, error);
       }
       return promiseResolvedWith(undefined);
      });
     }
     if (preventCancel === false) {
      actions.push(function () {
       if (source._state === 'readable') {
        return ReadableStreamCancel(source, error);
       }
       return promiseResolvedWith(undefined);
      });
     }
     shutdownWithAction(function () {
      return Promise.all(actions.map(function (action) {
       return action();
      }));
     }, true, error);
    };
    if (signal.aborted === true) {
     abortAlgorithm();
     return;
    }
    signal.addEventListener('abort', abortAlgorithm);
   }
   function pipeLoop() {
    return newPromise(function (resolveLoop, rejectLoop) {
     function next(done) {
      if (done) {
       resolveLoop();
      } else {
       PerformPromiseThen(pipeStep(), next, rejectLoop);
      }
     }
     next(false);
    });
   }
   function pipeStep() {
    if (shuttingDown === true) {
     return promiseResolvedWith(true);
    }
    return PerformPromiseThen(writer._readyPromise, function () {
     return PerformPromiseThen(ReadableStreamDefaultReaderRead(reader), function (result) {
      if (result.done === true) {
       return true;
      }
      currentWrite = PerformPromiseThen(WritableStreamDefaultWriterWrite(writer, result.value), undefined, noop);
      return false;
     });
    });
   }
   isOrBecomesErrored(source, reader._closedPromise, function (storedError) {
    if (preventAbort === false) {
     shutdownWithAction(function () {
      return WritableStreamAbort(dest, storedError);
     }, true, storedError);
    } else {
     shutdown(true, storedError);
    }
   });
   isOrBecomesErrored(dest, writer._closedPromise, function (storedError) {
    if (preventCancel === false) {
     shutdownWithAction(function () {
      return ReadableStreamCancel(source, storedError);
     }, true, storedError);
    } else {
     shutdown(true, storedError);
    }
   });
   isOrBecomesClosed(source, reader._closedPromise, function () {
    if (preventClose === false) {
     shutdownWithAction(function () {
      return WritableStreamDefaultWriterCloseWithErrorPropagation(writer);
     });
    } else {
     shutdown();
    }
   });
   if (WritableStreamCloseQueuedOrInFlight(dest) === true || dest._state === 'closed') {
    var destClosed_1 = new TypeError('the destination writable stream closed before all data could be piped to it');
    if (preventCancel === false) {
     shutdownWithAction(function () {
      return ReadableStreamCancel(source, destClosed_1);
     }, true, destClosed_1);
    } else {
     shutdown(true, destClosed_1);
    }
   }
   setPromiseIsHandledToTrue(pipeLoop());
   function waitForWritesToFinish() {
    var oldCurrentWrite = currentWrite;
    return PerformPromiseThen(currentWrite, function () {
     return oldCurrentWrite !== currentWrite ? waitForWritesToFinish() : undefined;
    });
   }
   function isOrBecomesErrored(stream, promise, action) {
    if (stream._state === 'errored') {
     action(stream._storedError);
    } else {
     uponRejection(promise, action);
    }
   }
   function isOrBecomesClosed(stream, promise, action) {
    if (stream._state === 'closed') {
     action();
    } else {
     uponFulfillment(promise, action);
    }
   }
   function shutdownWithAction(action, originalIsError, originalError) {
    if (shuttingDown === true) {
     return;
    }
    shuttingDown = true;
    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
     uponFulfillment(waitForWritesToFinish(), doTheRest);
    } else {
     doTheRest();
    }
    function doTheRest() {
     uponPromise(action(), function () {
      return finalize(originalIsError, originalError);
     }, function (newError) {
      return finalize(true, newError);
     });
    }
   }
   function shutdown(isError, error) {
    if (shuttingDown === true) {
     return;
    }
    shuttingDown = true;
    if (dest._state === 'writable' && WritableStreamCloseQueuedOrInFlight(dest) === false) {
     uponFulfillment(waitForWritesToFinish(), function () {
      return finalize(isError, error);
     });
    } else {
     finalize(isError, error);
    }
   }
   function finalize(isError, error) {
    WritableStreamDefaultWriterRelease(writer);
    ReadableStreamReaderGenericRelease(reader);
    if (signal !== undefined) {
     signal.removeEventListener('abort', abortAlgorithm);
    }
    if (isError) {
     reject(error);
    } else {
     resolve(undefined);
    }
   }
  });
 }
 var ReadableStreamDefaultController = function () {
  function ReadableStreamDefaultController() {
   throw new TypeError();
  }
  Object.defineProperty(ReadableStreamDefaultController.prototype, "desiredSize", {
   get: function () {
    if (IsReadableStreamDefaultController(this) === false) {
     throw defaultControllerBrandCheckException('desiredSize');
    }
    return ReadableStreamDefaultControllerGetDesiredSize(this);
   },
   enumerable: true,
   configurable: true
  });
  ReadableStreamDefaultController.prototype.close = function () {
   if (IsReadableStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException('close');
   }
   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
    throw new TypeError('The stream is not in a state that permits close');
   }
   ReadableStreamDefaultControllerClose(this);
  };
  ReadableStreamDefaultController.prototype.enqueue = function (chunk) {
   if (IsReadableStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException('enqueue');
   }
   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(this) === false) {
    throw new TypeError('The stream is not in a state that permits enqueue');
   }
   return ReadableStreamDefaultControllerEnqueue(this, chunk);
  };
  ReadableStreamDefaultController.prototype.error = function (e) {
   if (IsReadableStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException('error');
   }
   ReadableStreamDefaultControllerError(this, e);
  };
  ReadableStreamDefaultController.prototype[CancelSteps] = function (reason) {
   ResetQueue(this);
   var result = this._cancelAlgorithm(reason);
   ReadableStreamDefaultControllerClearAlgorithms(this);
   return result;
  };
  ReadableStreamDefaultController.prototype[PullSteps] = function () {
   var stream = this._controlledReadableStream;
   if (this._queue.length > 0) {
    var chunk = DequeueValue(this);
    if (this._closeRequested === true && this._queue.length === 0) {
     ReadableStreamDefaultControllerClearAlgorithms(this);
     ReadableStreamClose(stream);
    } else {
     ReadableStreamDefaultControllerCallPullIfNeeded(this);
    }
    return promiseResolvedWith(ReadableStreamCreateReadResult(chunk, false, stream._reader._forAuthorCode));
   }
   var pendingPromise = ReadableStreamAddReadRequest(stream);
   ReadableStreamDefaultControllerCallPullIfNeeded(this);
   return pendingPromise;
  };
  return ReadableStreamDefaultController;
 }();
 function IsReadableStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableStream')) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultControllerCallPullIfNeeded(controller) {
  var shouldPull = ReadableStreamDefaultControllerShouldCallPull(controller);
  if (shouldPull === false) {
   return;
  }
  if (controller._pulling === true) {
   controller._pullAgain = true;
   return;
  }
  controller._pulling = true;
  var pullPromise = controller._pullAlgorithm();
  uponPromise(pullPromise, function () {
   controller._pulling = false;
   if (controller._pullAgain === true) {
    controller._pullAgain = false;
    ReadableStreamDefaultControllerCallPullIfNeeded(controller);
   }
  }, function (e) {
   ReadableStreamDefaultControllerError(controller, e);
  });
 }
 function ReadableStreamDefaultControllerShouldCallPull(controller) {
  var stream = controller._controlledReadableStream;
  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) === false) {
   return false;
  }
  if (controller._started === false) {
   return false;
  }
  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
   return true;
  }
  var desiredSize = ReadableStreamDefaultControllerGetDesiredSize(controller);
  if (desiredSize > 0) {
   return true;
  }
  return false;
 }
 function ReadableStreamDefaultControllerClearAlgorithms(controller) {
  controller._pullAlgorithm = undefined;
  controller._cancelAlgorithm = undefined;
  controller._strategySizeAlgorithm = undefined;
 }
 function ReadableStreamDefaultControllerClose(controller) {
  var stream = controller._controlledReadableStream;
  controller._closeRequested = true;
  if (controller._queue.length === 0) {
   ReadableStreamDefaultControllerClearAlgorithms(controller);
   ReadableStreamClose(stream);
  }
 }
 function ReadableStreamDefaultControllerEnqueue(controller, chunk) {
  var stream = controller._controlledReadableStream;
  if (IsReadableStreamLocked(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
   ReadableStreamFulfillReadRequest(stream, chunk, false);
  } else {
   var chunkSize = void 0;
   try {
    chunkSize = controller._strategySizeAlgorithm(chunk);
   } catch (chunkSizeE) {
    ReadableStreamDefaultControllerError(controller, chunkSizeE);
    throw chunkSizeE;
   }
   try {
    EnqueueValueWithSize(controller, chunk, chunkSize);
   } catch (enqueueE) {
    ReadableStreamDefaultControllerError(controller, enqueueE);
    throw enqueueE;
   }
  }
  ReadableStreamDefaultControllerCallPullIfNeeded(controller);
 }
 function ReadableStreamDefaultControllerError(controller, e) {
  var stream = controller._controlledReadableStream;
  if (stream._state !== 'readable') {
   return;
  }
  ResetQueue(controller);
  ReadableStreamDefaultControllerClearAlgorithms(controller);
  ReadableStreamError(stream, e);
 }
 function ReadableStreamDefaultControllerGetDesiredSize(controller) {
  var stream = controller._controlledReadableStream;
  var state = stream._state;
  if (state === 'errored') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function ReadableStreamDefaultControllerHasBackpressure(controller) {
  if (ReadableStreamDefaultControllerShouldCallPull(controller) === true) {
   return false;
  }
  return true;
 }
 function ReadableStreamDefaultControllerCanCloseOrEnqueue(controller) {
  var state = controller._controlledReadableStream._state;
  if (controller._closeRequested === false && state === 'readable') {
   return true;
  }
  return false;
 }
 function SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  controller._controlledReadableStream = stream;
  controller._queue = undefined;
  controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._started = false;
  controller._closeRequested = false;
  controller._pullAgain = false;
  controller._pulling = false;
  controller._strategySizeAlgorithm = sizeAlgorithm;
  controller._strategyHWM = highWaterMark;
  controller._pullAlgorithm = pullAlgorithm;
  controller._cancelAlgorithm = cancelAlgorithm;
  stream._readableStreamController = controller;
  var startResult = startAlgorithm();
  uponPromise(promiseResolvedWith(startResult), function () {
   controller._started = true;
   ReadableStreamDefaultControllerCallPullIfNeeded(controller);
  }, function (r) {
   ReadableStreamDefaultControllerError(controller, r);
  });
 }
 function SetUpReadableStreamDefaultControllerFromUnderlyingSource(stream, underlyingSource, highWaterMark, sizeAlgorithm) {
  var controller = Object.create(ReadableStreamDefaultController.prototype);
  function startAlgorithm() {
   return InvokeOrNoop(underlyingSource, 'start', [controller]);
  }
  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'pull', 0, [controller]);
  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingSource, 'cancel', 1, []);
  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
 }
 function defaultControllerBrandCheckException(name) {
  return new TypeError("ReadableStreamDefaultController.prototype." + name + " can only be used on a ReadableStreamDefaultController");
 }
 function ReadableStreamTee(stream, cloneForBranch2) {
  var reader = AcquireReadableStreamDefaultReader(stream);
  var reading = false;
  var canceled1 = false;
  var canceled2 = false;
  var reason1;
  var reason2;
  var branch1;
  var branch2;
  var resolveCancelPromise;
  var cancelPromise = newPromise(function (resolve) {
   resolveCancelPromise = resolve;
  });
  function pullAlgorithm() {
   if (reading === true) {
    return promiseResolvedWith(undefined);
   }
   reading = true;
   var readPromise = transformPromiseWith(ReadableStreamDefaultReaderRead(reader), function (result) {
    reading = false;
    var done = result.done;
    if (done === true) {
     if (canceled1 === false) {
      ReadableStreamDefaultControllerClose(branch1._readableStreamController);
     }
     if (canceled2 === false) {
      ReadableStreamDefaultControllerClose(branch2._readableStreamController);
     }
     return;
    }
    var value = result.value;
    var value1 = value;
    var value2 = value;
    if (canceled1 === false) {
     ReadableStreamDefaultControllerEnqueue(branch1._readableStreamController, value1);
    }
    if (canceled2 === false) {
     ReadableStreamDefaultControllerEnqueue(branch2._readableStreamController, value2);
    }
   });
   setPromiseIsHandledToTrue(readPromise);
   return promiseResolvedWith(undefined);
  }
  function cancel1Algorithm(reason) {
   canceled1 = true;
   reason1 = reason;
   if (canceled2 === true) {
    var compositeReason = createArrayFromList([
     reason1,
     reason2
    ]);
    var cancelResult = ReadableStreamCancel(stream, compositeReason);
    resolveCancelPromise(cancelResult);
   }
   return cancelPromise;
  }
  function cancel2Algorithm(reason) {
   canceled2 = true;
   reason2 = reason;
   if (canceled1 === true) {
    var compositeReason = createArrayFromList([
     reason1,
     reason2
    ]);
    var cancelResult = ReadableStreamCancel(stream, compositeReason);
    resolveCancelPromise(cancelResult);
   }
   return cancelPromise;
  }
  function startAlgorithm() {
  }
  branch1 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel1Algorithm);
  branch2 = CreateReadableStream(startAlgorithm, pullAlgorithm, cancel2Algorithm);
  uponRejection(reader._closedPromise, function (r) {
   ReadableStreamDefaultControllerError(branch1._readableStreamController, r);
   ReadableStreamDefaultControllerError(branch2._readableStreamController, r);
  });
  return [
   branch1,
   branch2
  ];
 }
 var NumberIsInteger = Number.isInteger || function (value) {
  return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;
 };
 var ReadableStreamBYOBRequest = function () {
  function ReadableStreamBYOBRequest() {
   throw new TypeError('ReadableStreamBYOBRequest cannot be used directly');
  }
  Object.defineProperty(ReadableStreamBYOBRequest.prototype, "view", {
   get: function () {
    if (IsReadableStreamBYOBRequest(this) === false) {
     throw byobRequestBrandCheckException('view');
    }
    return this._view;
   },
   enumerable: true,
   configurable: true
  });
  ReadableStreamBYOBRequest.prototype.respond = function (bytesWritten) {
   if (IsReadableStreamBYOBRequest(this) === false) {
    throw byobRequestBrandCheckException('respond');
   }
   if (this._associatedReadableByteStreamController === undefined) {
    throw new TypeError('This BYOB request has been invalidated');
   }
   if (IsDetachedBuffer(this._view.buffer) === true);
   ReadableByteStreamControllerRespond(this._associatedReadableByteStreamController, bytesWritten);
  };
  ReadableStreamBYOBRequest.prototype.respondWithNewView = function (view) {
   if (IsReadableStreamBYOBRequest(this) === false) {
    throw byobRequestBrandCheckException('respond');
   }
   if (this._associatedReadableByteStreamController === undefined) {
    throw new TypeError('This BYOB request has been invalidated');
   }
   if (!ArrayBuffer.isView(view)) {
    throw new TypeError('You can only respond with array buffer views');
   }
   if (IsDetachedBuffer(view.buffer) === true);
   ReadableByteStreamControllerRespondWithNewView(this._associatedReadableByteStreamController, view);
  };
  return ReadableStreamBYOBRequest;
 }();
 var ReadableByteStreamController = function () {
  function ReadableByteStreamController() {
   throw new TypeError('ReadableByteStreamController constructor cannot be used directly');
  }
  Object.defineProperty(ReadableByteStreamController.prototype, "byobRequest", {
   get: function () {
    if (IsReadableByteStreamController(this) === false) {
     throw byteStreamControllerBrandCheckException('byobRequest');
    }
    if (this._byobRequest === undefined && this._pendingPullIntos.length > 0) {
     var firstDescriptor = this._pendingPullIntos.peek();
     var view = new Uint8Array(firstDescriptor.buffer, firstDescriptor.byteOffset + firstDescriptor.bytesFilled, firstDescriptor.byteLength - firstDescriptor.bytesFilled);
     var byobRequest = Object.create(ReadableStreamBYOBRequest.prototype);
     SetUpReadableStreamBYOBRequest(byobRequest, this, view);
     this._byobRequest = byobRequest;
    }
    return this._byobRequest;
   },
   enumerable: true,
   configurable: true
  });
  Object.defineProperty(ReadableByteStreamController.prototype, "desiredSize", {
   get: function () {
    if (IsReadableByteStreamController(this) === false) {
     throw byteStreamControllerBrandCheckException('desiredSize');
    }
    return ReadableByteStreamControllerGetDesiredSize(this);
   },
   enumerable: true,
   configurable: true
  });
  ReadableByteStreamController.prototype.close = function () {
   if (IsReadableByteStreamController(this) === false) {
    throw byteStreamControllerBrandCheckException('close');
   }
   if (this._closeRequested === true) {
    throw new TypeError('The stream has already been closed; do not close it again!');
   }
   var state = this._controlledReadableByteStream._state;
   if (state !== 'readable') {
    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be closed");
   }
   ReadableByteStreamControllerClose(this);
  };
  ReadableByteStreamController.prototype.enqueue = function (chunk) {
   if (IsReadableByteStreamController(this) === false) {
    throw byteStreamControllerBrandCheckException('enqueue');
   }
   if (this._closeRequested === true) {
    throw new TypeError('stream is closed or draining');
   }
   var state = this._controlledReadableByteStream._state;
   if (state !== 'readable') {
    throw new TypeError("The stream (in " + state + " state) is not in the readable state and cannot be enqueued to");
   }
   if (!ArrayBuffer.isView(chunk)) {
    throw new TypeError('You can only enqueue array buffer views when using a ReadableByteStreamController');
   }
   if (IsDetachedBuffer(chunk.buffer) === true);
   ReadableByteStreamControllerEnqueue(this, chunk);
  };
  ReadableByteStreamController.prototype.error = function (e) {
   if (IsReadableByteStreamController(this) === false) {
    throw byteStreamControllerBrandCheckException('error');
   }
   ReadableByteStreamControllerError(this, e);
  };
  ReadableByteStreamController.prototype[CancelSteps] = function (reason) {
   if (this._pendingPullIntos.length > 0) {
    var firstDescriptor = this._pendingPullIntos.peek();
    firstDescriptor.bytesFilled = 0;
   }
   ResetQueue(this);
   var result = this._cancelAlgorithm(reason);
   ReadableByteStreamControllerClearAlgorithms(this);
   return result;
  };
  ReadableByteStreamController.prototype[PullSteps] = function () {
   var stream = this._controlledReadableByteStream;
   if (this._queueTotalSize > 0) {
    var entry = this._queue.shift();
    this._queueTotalSize -= entry.byteLength;
    ReadableByteStreamControllerHandleQueueDrain(this);
    var view = void 0;
    try {
     view = new Uint8Array(entry.buffer, entry.byteOffset, entry.byteLength);
    } catch (viewE) {
     return promiseRejectedWith(viewE);
    }
    return promiseResolvedWith(ReadableStreamCreateReadResult(view, false, stream._reader._forAuthorCode));
   }
   var autoAllocateChunkSize = this._autoAllocateChunkSize;
   if (autoAllocateChunkSize !== undefined) {
    var buffer = void 0;
    try {
     buffer = new ArrayBuffer(autoAllocateChunkSize);
    } catch (bufferE) {
     return promiseRejectedWith(bufferE);
    }
    var pullIntoDescriptor = {
     buffer: buffer,
     byteOffset: 0,
     byteLength: autoAllocateChunkSize,
     bytesFilled: 0,
     elementSize: 1,
     ctor: Uint8Array,
     readerType: 'default'
    };
    this._pendingPullIntos.push(pullIntoDescriptor);
   }
   var promise = ReadableStreamAddReadRequest(stream);
   ReadableByteStreamControllerCallPullIfNeeded(this);
   return promise;
  };
  return ReadableByteStreamController;
 }();
 function IsReadableByteStreamController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledReadableByteStream')) {
   return false;
  }
  return true;
 }
 function IsReadableStreamBYOBRequest(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_associatedReadableByteStreamController')) {
   return false;
  }
  return true;
 }
 function ReadableByteStreamControllerCallPullIfNeeded(controller) {
  var shouldPull = ReadableByteStreamControllerShouldCallPull(controller);
  if (shouldPull === false) {
   return;
  }
  if (controller._pulling === true) {
   controller._pullAgain = true;
   return;
  }
  controller._pulling = true;
  var pullPromise = controller._pullAlgorithm();
  uponPromise(pullPromise, function () {
   controller._pulling = false;
   if (controller._pullAgain === true) {
    controller._pullAgain = false;
    ReadableByteStreamControllerCallPullIfNeeded(controller);
   }
  }, function (e) {
   ReadableByteStreamControllerError(controller, e);
  });
 }
 function ReadableByteStreamControllerClearPendingPullIntos(controller) {
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  controller._pendingPullIntos = new SimpleQueue();
 }
 function ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor) {
  var done = false;
  if (stream._state === 'closed') {
   done = true;
  }
  var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
  if (pullIntoDescriptor.readerType === 'default') {
   ReadableStreamFulfillReadRequest(stream, filledView, done);
  } else {
   ReadableStreamFulfillReadIntoRequest(stream, filledView, done);
  }
 }
 function ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor) {
  var bytesFilled = pullIntoDescriptor.bytesFilled;
  var elementSize = pullIntoDescriptor.elementSize;
  return new pullIntoDescriptor.ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, bytesFilled / elementSize);
 }
 function ReadableByteStreamControllerEnqueueChunkToQueue(controller, buffer, byteOffset, byteLength) {
  controller._queue.push({
   buffer: buffer,
   byteOffset: byteOffset,
   byteLength: byteLength
  });
  controller._queueTotalSize += byteLength;
 }
 function ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) {
  var elementSize = pullIntoDescriptor.elementSize;
  var currentAlignedBytes = pullIntoDescriptor.bytesFilled - pullIntoDescriptor.bytesFilled % elementSize;
  var maxBytesToCopy = Math.min(controller._queueTotalSize, pullIntoDescriptor.byteLength - pullIntoDescriptor.bytesFilled);
  var maxBytesFilled = pullIntoDescriptor.bytesFilled + maxBytesToCopy;
  var maxAlignedBytes = maxBytesFilled - maxBytesFilled % elementSize;
  var totalBytesToCopyRemaining = maxBytesToCopy;
  var ready = false;
  if (maxAlignedBytes > currentAlignedBytes) {
   totalBytesToCopyRemaining = maxAlignedBytes - pullIntoDescriptor.bytesFilled;
   ready = true;
  }
  var queue = controller._queue;
  while (totalBytesToCopyRemaining > 0) {
   var headOfQueue = queue.peek();
   var bytesToCopy = Math.min(totalBytesToCopyRemaining, headOfQueue.byteLength);
   var destStart = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
   ArrayBufferCopy(pullIntoDescriptor.buffer, destStart, headOfQueue.buffer, headOfQueue.byteOffset, bytesToCopy);
   if (headOfQueue.byteLength === bytesToCopy) {
    queue.shift();
   } else {
    headOfQueue.byteOffset += bytesToCopy;
    headOfQueue.byteLength -= bytesToCopy;
   }
   controller._queueTotalSize -= bytesToCopy;
   ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesToCopy, pullIntoDescriptor);
   totalBytesToCopyRemaining -= bytesToCopy;
  }
  return ready;
 }
 function ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, size, pullIntoDescriptor) {
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  pullIntoDescriptor.bytesFilled += size;
 }
 function ReadableByteStreamControllerHandleQueueDrain(controller) {
  if (controller._queueTotalSize === 0 && controller._closeRequested === true) {
   ReadableByteStreamControllerClearAlgorithms(controller);
   ReadableStreamClose(controller._controlledReadableByteStream);
  } else {
   ReadableByteStreamControllerCallPullIfNeeded(controller);
  }
 }
 function ReadableByteStreamControllerInvalidateBYOBRequest(controller) {
  if (controller._byobRequest === undefined) {
   return;
  }
  controller._byobRequest._associatedReadableByteStreamController = undefined;
  controller._byobRequest._view = undefined;
  controller._byobRequest = undefined;
 }
 function ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller) {
  while (controller._pendingPullIntos.length > 0) {
   if (controller._queueTotalSize === 0) {
    return;
   }
   var pullIntoDescriptor = controller._pendingPullIntos.peek();
   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
    ReadableByteStreamControllerShiftPendingPullInto(controller);
    ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
   }
  }
 }
 function ReadableByteStreamControllerPullInto(controller, view) {
  var stream = controller._controlledReadableByteStream;
  var elementSize = 1;
  if (view.constructor !== DataView) {
   elementSize = view.constructor.BYTES_PER_ELEMENT;
  }
  var ctor = view.constructor;
  var buffer = TransferArrayBuffer(view.buffer);
  var pullIntoDescriptor = {
   buffer: buffer,
   byteOffset: view.byteOffset,
   byteLength: view.byteLength,
   bytesFilled: 0,
   elementSize: elementSize,
   ctor: ctor,
   readerType: 'byob'
  };
  if (controller._pendingPullIntos.length > 0) {
   controller._pendingPullIntos.push(pullIntoDescriptor);
   return ReadableStreamAddReadIntoRequest(stream);
  }
  if (stream._state === 'closed') {
   var emptyView = new ctor(pullIntoDescriptor.buffer, pullIntoDescriptor.byteOffset, 0);
   return promiseResolvedWith(ReadableStreamCreateReadResult(emptyView, true, stream._reader._forAuthorCode));
  }
  if (controller._queueTotalSize > 0) {
   if (ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, pullIntoDescriptor) === true) {
    var filledView = ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor);
    ReadableByteStreamControllerHandleQueueDrain(controller);
    return promiseResolvedWith(ReadableStreamCreateReadResult(filledView, false, stream._reader._forAuthorCode));
   }
   if (controller._closeRequested === true) {
    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
    ReadableByteStreamControllerError(controller, e);
    return promiseRejectedWith(e);
   }
  }
  controller._pendingPullIntos.push(pullIntoDescriptor);
  var promise = ReadableStreamAddReadIntoRequest(stream);
  ReadableByteStreamControllerCallPullIfNeeded(controller);
  return promise;
 }
 function ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor) {
  firstDescriptor.buffer = TransferArrayBuffer(firstDescriptor.buffer);
  var stream = controller._controlledReadableByteStream;
  if (ReadableStreamHasBYOBReader(stream) === true) {
   while (ReadableStreamGetNumReadIntoRequests(stream) > 0) {
    var pullIntoDescriptor = ReadableByteStreamControllerShiftPendingPullInto(controller);
    ReadableByteStreamControllerCommitPullIntoDescriptor(stream, pullIntoDescriptor);
   }
  }
 }
 function ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, pullIntoDescriptor) {
  if (pullIntoDescriptor.bytesFilled + bytesWritten > pullIntoDescriptor.byteLength) {
   throw new RangeError('bytesWritten out of range');
  }
  ReadableByteStreamControllerFillHeadPullIntoDescriptor(controller, bytesWritten, pullIntoDescriptor);
  if (pullIntoDescriptor.bytesFilled < pullIntoDescriptor.elementSize) {
   return;
  }
  ReadableByteStreamControllerShiftPendingPullInto(controller);
  var remainderSize = pullIntoDescriptor.bytesFilled % pullIntoDescriptor.elementSize;
  if (remainderSize > 0) {
   var end = pullIntoDescriptor.byteOffset + pullIntoDescriptor.bytesFilled;
   var remainder = pullIntoDescriptor.buffer.slice(end - remainderSize, end);
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, remainder, 0, remainder.byteLength);
  }
  pullIntoDescriptor.buffer = TransferArrayBuffer(pullIntoDescriptor.buffer);
  pullIntoDescriptor.bytesFilled -= remainderSize;
  ReadableByteStreamControllerCommitPullIntoDescriptor(controller._controlledReadableByteStream, pullIntoDescriptor);
  ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
 }
 function ReadableByteStreamControllerRespondInternal(controller, bytesWritten) {
  var firstDescriptor = controller._pendingPullIntos.peek();
  var stream = controller._controlledReadableByteStream;
  if (stream._state === 'closed') {
   if (bytesWritten !== 0) {
    throw new TypeError('bytesWritten must be 0 when calling respond() on a closed stream');
   }
   ReadableByteStreamControllerRespondInClosedState(controller, firstDescriptor);
  } else {
   ReadableByteStreamControllerRespondInReadableState(controller, bytesWritten, firstDescriptor);
  }
  ReadableByteStreamControllerCallPullIfNeeded(controller);
 }
 function ReadableByteStreamControllerShiftPendingPullInto(controller) {
  var descriptor = controller._pendingPullIntos.shift();
  ReadableByteStreamControllerInvalidateBYOBRequest(controller);
  return descriptor;
 }
 function ReadableByteStreamControllerShouldCallPull(controller) {
  var stream = controller._controlledReadableByteStream;
  if (stream._state !== 'readable') {
   return false;
  }
  if (controller._closeRequested === true) {
   return false;
  }
  if (controller._started === false) {
   return false;
  }
  if (ReadableStreamHasDefaultReader(stream) === true && ReadableStreamGetNumReadRequests(stream) > 0) {
   return true;
  }
  if (ReadableStreamHasBYOBReader(stream) === true && ReadableStreamGetNumReadIntoRequests(stream) > 0) {
   return true;
  }
  var desiredSize = ReadableByteStreamControllerGetDesiredSize(controller);
  if (desiredSize > 0) {
   return true;
  }
  return false;
 }
 function ReadableByteStreamControllerClearAlgorithms(controller) {
  controller._pullAlgorithm = undefined;
  controller._cancelAlgorithm = undefined;
 }
 function ReadableByteStreamControllerClose(controller) {
  var stream = controller._controlledReadableByteStream;
  if (controller._queueTotalSize > 0) {
   controller._closeRequested = true;
   return;
  }
  if (controller._pendingPullIntos.length > 0) {
   var firstPendingPullInto = controller._pendingPullIntos.peek();
   if (firstPendingPullInto.bytesFilled > 0) {
    var e = new TypeError('Insufficient bytes to fill elements in the given buffer');
    ReadableByteStreamControllerError(controller, e);
    throw e;
   }
  }
  ReadableByteStreamControllerClearAlgorithms(controller);
  ReadableStreamClose(stream);
 }
 function ReadableByteStreamControllerEnqueue(controller, chunk) {
  var stream = controller._controlledReadableByteStream;
  var buffer = chunk.buffer;
  var byteOffset = chunk.byteOffset;
  var byteLength = chunk.byteLength;
  var transferredBuffer = TransferArrayBuffer(buffer);
  if (ReadableStreamHasDefaultReader(stream) === true) {
   if (ReadableStreamGetNumReadRequests(stream) === 0) {
    ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
   } else {
    var transferredView = new Uint8Array(transferredBuffer, byteOffset, byteLength);
    ReadableStreamFulfillReadRequest(stream, transferredView, false);
   }
  } else if (ReadableStreamHasBYOBReader(stream) === true) {
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
   ReadableByteStreamControllerProcessPullIntoDescriptorsUsingQueue(controller);
  } else {
   ReadableByteStreamControllerEnqueueChunkToQueue(controller, transferredBuffer, byteOffset, byteLength);
  }
  ReadableByteStreamControllerCallPullIfNeeded(controller);
 }
 function ReadableByteStreamControllerError(controller, e) {
  var stream = controller._controlledReadableByteStream;
  if (stream._state !== 'readable') {
   return;
  }
  ReadableByteStreamControllerClearPendingPullIntos(controller);
  ResetQueue(controller);
  ReadableByteStreamControllerClearAlgorithms(controller);
  ReadableStreamError(stream, e);
 }
 function ReadableByteStreamControllerGetDesiredSize(controller) {
  var stream = controller._controlledReadableByteStream;
  var state = stream._state;
  if (state === 'errored') {
   return null;
  }
  if (state === 'closed') {
   return 0;
  }
  return controller._strategyHWM - controller._queueTotalSize;
 }
 function ReadableByteStreamControllerRespond(controller, bytesWritten) {
  bytesWritten = Number(bytesWritten);
  if (IsFiniteNonNegativeNumber(bytesWritten) === false) {
   throw new RangeError('bytesWritten must be a finite');
  }
  ReadableByteStreamControllerRespondInternal(controller, bytesWritten);
 }
 function ReadableByteStreamControllerRespondWithNewView(controller, view) {
  var firstDescriptor = controller._pendingPullIntos.peek();
  if (firstDescriptor.byteOffset + firstDescriptor.bytesFilled !== view.byteOffset) {
   throw new RangeError('The region specified by view does not match byobRequest');
  }
  if (firstDescriptor.byteLength !== view.byteLength) {
   throw new RangeError('The buffer of view has different capacity than byobRequest');
  }
  firstDescriptor.buffer = view.buffer;
  ReadableByteStreamControllerRespondInternal(controller, view.byteLength);
 }
 function SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize) {
  controller._controlledReadableByteStream = stream;
  controller._pullAgain = false;
  controller._pulling = false;
  controller._byobRequest = undefined;
  controller._queue = controller._queueTotalSize = undefined;
  ResetQueue(controller);
  controller._closeRequested = false;
  controller._started = false;
  controller._strategyHWM = ValidateAndNormalizeHighWaterMark(highWaterMark);
  controller._pullAlgorithm = pullAlgorithm;
  controller._cancelAlgorithm = cancelAlgorithm;
  controller._autoAllocateChunkSize = autoAllocateChunkSize;
  controller._pendingPullIntos = new SimpleQueue();
  stream._readableStreamController = controller;
  var startResult = startAlgorithm();
  uponPromise(promiseResolvedWith(startResult), function () {
   controller._started = true;
   ReadableByteStreamControllerCallPullIfNeeded(controller);
  }, function (r) {
   ReadableByteStreamControllerError(controller, r);
  });
 }
 function SetUpReadableByteStreamControllerFromUnderlyingSource(stream, underlyingByteSource, highWaterMark) {
  var controller = Object.create(ReadableByteStreamController.prototype);
  function startAlgorithm() {
   return InvokeOrNoop(underlyingByteSource, 'start', [controller]);
  }
  var pullAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'pull', 0, [controller]);
  var cancelAlgorithm = CreateAlgorithmFromUnderlyingMethod(underlyingByteSource, 'cancel', 1, []);
  var autoAllocateChunkSize = underlyingByteSource.autoAllocateChunkSize;
  if (autoAllocateChunkSize !== undefined) {
   autoAllocateChunkSize = Number(autoAllocateChunkSize);
   if (NumberIsInteger(autoAllocateChunkSize) === false || autoAllocateChunkSize <= 0) {
    throw new RangeError('autoAllocateChunkSize must be a positive integer');
   }
  }
  SetUpReadableByteStreamController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, autoAllocateChunkSize);
 }
 function SetUpReadableStreamBYOBRequest(request, controller, view) {
  request._associatedReadableByteStreamController = controller;
  request._view = view;
 }
 function byobRequestBrandCheckException(name) {
  return new TypeError("ReadableStreamBYOBRequest.prototype." + name + " can only be used on a ReadableStreamBYOBRequest");
 }
 function byteStreamControllerBrandCheckException(name) {
  return new TypeError("ReadableByteStreamController.prototype." + name + " can only be used on a ReadableByteStreamController");
 }
 function AcquireReadableStreamBYOBReader(stream, forAuthorCode) {
  if (forAuthorCode === void 0) {
   forAuthorCode = false;
  }
  var reader = new ReadableStreamBYOBReader(stream);
  reader._forAuthorCode = forAuthorCode;
  return reader;
 }
 function ReadableStreamAddReadIntoRequest(stream) {
  var promise = newPromise(function (resolve, reject) {
   var readIntoRequest = {
    _resolve: resolve,
    _reject: reject
   };
   stream._reader._readIntoRequests.push(readIntoRequest);
  });
  return promise;
 }
 function ReadableStreamFulfillReadIntoRequest(stream, chunk, done) {
  var reader = stream._reader;
  var readIntoRequest = reader._readIntoRequests.shift();
  readIntoRequest._resolve(ReadableStreamCreateReadResult(chunk, done, reader._forAuthorCode));
 }
 function ReadableStreamGetNumReadIntoRequests(stream) {
  return stream._reader._readIntoRequests.length;
 }
 function ReadableStreamHasBYOBReader(stream) {
  var reader = stream._reader;
  if (reader === undefined) {
   return false;
  }
  if (!IsReadableStreamBYOBReader(reader)) {
   return false;
  }
  return true;
 }
 var ReadableStreamBYOBReader = function () {
  function ReadableStreamBYOBReader(stream) {
   if (!IsReadableStream(stream)) {
    throw new TypeError('ReadableStreamBYOBReader can only be constructed with a ReadableStream instance given a ' + 'byte source');
   }
   if (IsReadableByteStreamController(stream._readableStreamController) === false) {
    throw new TypeError('Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte ' + 'source');
   }
   if (IsReadableStreamLocked(stream)) {
    throw new TypeError('This stream has already been locked for exclusive reading by another reader');
   }
   ReadableStreamReaderGenericInitialize(this, stream);
   this._readIntoRequests = new SimpleQueue();
  }
  Object.defineProperty(ReadableStreamBYOBReader.prototype, "closed", {
   get: function () {
    if (!IsReadableStreamBYOBReader(this)) {
     return promiseRejectedWith(byobReaderBrandCheckException('closed'));
    }
    return this._closedPromise;
   },
   enumerable: true,
   configurable: true
  });
  ReadableStreamBYOBReader.prototype.cancel = function (reason) {
   if (!IsReadableStreamBYOBReader(this)) {
    return promiseRejectedWith(byobReaderBrandCheckException('cancel'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('cancel'));
   }
   return ReadableStreamReaderGenericCancel(this, reason);
  };
  ReadableStreamBYOBReader.prototype.read = function (view) {
   if (!IsReadableStreamBYOBReader(this)) {
    return promiseRejectedWith(byobReaderBrandCheckException('read'));
   }
   if (this._ownerReadableStream === undefined) {
    return promiseRejectedWith(readerLockException('read from'));
   }
   if (!ArrayBuffer.isView(view)) {
    return promiseRejectedWith(new TypeError('view must be an array buffer view'));
   }
   if (IsDetachedBuffer(view.buffer) === true);
   if (view.byteLength === 0) {
    return promiseRejectedWith(new TypeError('view must have non-zero byteLength'));
   }
   return ReadableStreamBYOBReaderRead(this, view);
  };
  ReadableStreamBYOBReader.prototype.releaseLock = function () {
   if (!IsReadableStreamBYOBReader(this)) {
    throw byobReaderBrandCheckException('releaseLock');
   }
   if (this._ownerReadableStream === undefined) {
    return;
   }
   if (this._readIntoRequests.length > 0) {
    throw new TypeError('Tried to release a reader lock when that reader has pending read() calls un-settled');
   }
   ReadableStreamReaderGenericRelease(this);
  };
  return ReadableStreamBYOBReader;
 }();
 function IsReadableStreamBYOBReader(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readIntoRequests')) {
   return false;
  }
  return true;
 }
 function ReadableStreamBYOBReaderRead(reader, view) {
  var stream = reader._ownerReadableStream;
  stream._disturbed = true;
  if (stream._state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  return ReadableByteStreamControllerPullInto(stream._readableStreamController, view);
 }
 function byobReaderBrandCheckException(name) {
  return new TypeError("ReadableStreamBYOBReader.prototype." + name + " can only be used on a ReadableStreamBYOBReader");
 }
 var ReadableStream = function () {
  function ReadableStream(underlyingSource, strategy) {
   if (underlyingSource === void 0) {
    underlyingSource = {};
   }
   if (strategy === void 0) {
    strategy = {};
   }
   InitializeReadableStream(this);
   var size = strategy.size;
   var highWaterMark = strategy.highWaterMark;
   var type = underlyingSource.type;
   var typeString = String(type);
   if (typeString === 'bytes') {
    if (size !== undefined) {
     throw new RangeError('The strategy for a byte stream cannot have a size function');
    }
    if (highWaterMark === undefined) {
     highWaterMark = 0;
    }
    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
    SetUpReadableByteStreamControllerFromUnderlyingSource(this, underlyingSource, highWaterMark);
   } else if (type === undefined) {
    var sizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(size);
    if (highWaterMark === undefined) {
     highWaterMark = 1;
    }
    highWaterMark = ValidateAndNormalizeHighWaterMark(highWaterMark);
    SetUpReadableStreamDefaultControllerFromUnderlyingSource(this, underlyingSource, highWaterMark, sizeAlgorithm);
   } else {
    throw new RangeError('Invalid type is specified');
   }
  }
  Object.defineProperty(ReadableStream.prototype, "locked", {
   get: function () {
    if (IsReadableStream(this) === false) {
     throw streamBrandCheckException$1('locked');
    }
    return IsReadableStreamLocked(this);
   },
   enumerable: true,
   configurable: true
  });
  ReadableStream.prototype.cancel = function (reason) {
   if (IsReadableStream(this) === false) {
    return promiseRejectedWith(streamBrandCheckException$1('cancel'));
   }
   if (IsReadableStreamLocked(this) === true) {
    return promiseRejectedWith(new TypeError('Cannot cancel a stream that already has a reader'));
   }
   return ReadableStreamCancel(this, reason);
  };
  ReadableStream.prototype.getReader = function (_a) {
   var mode = (_a === void 0 ? {} : _a).mode;
   if (IsReadableStream(this) === false) {
    throw streamBrandCheckException$1('getReader');
   }
   if (mode === undefined) {
    return AcquireReadableStreamDefaultReader(this, true);
   }
   mode = String(mode);
   if (mode === 'byob') {
    return AcquireReadableStreamBYOBReader(this, true);
   }
   throw new RangeError('Invalid mode is specified');
  };
  ReadableStream.prototype.pipeThrough = function (_a, _b) {
   var writable = _a.writable, readable = _a.readable;
   var _c = _b === void 0 ? {} : _b, preventClose = _c.preventClose, preventAbort = _c.preventAbort, preventCancel = _c.preventCancel, signal = _c.signal;
   if (IsReadableStream(this) === false) {
    throw streamBrandCheckException$1('pipeThrough');
   }
   if (IsWritableStream(writable) === false) {
    throw new TypeError('writable argument to pipeThrough must be a WritableStream');
   }
   if (IsReadableStream(readable) === false) {
    throw new TypeError('readable argument to pipeThrough must be a ReadableStream');
   }
   preventClose = Boolean(preventClose);
   preventAbort = Boolean(preventAbort);
   preventCancel = Boolean(preventCancel);
   if (signal !== undefined && !isAbortSignal(signal)) {
    throw new TypeError('ReadableStream.prototype.pipeThrough\'s signal option must be an AbortSignal');
   }
   if (IsReadableStreamLocked(this) === true) {
    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream');
   }
   if (IsWritableStreamLocked(writable) === true) {
    throw new TypeError('ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream');
   }
   var promise = ReadableStreamPipeTo(this, writable, preventClose, preventAbort, preventCancel, signal);
   setPromiseIsHandledToTrue(promise);
   return readable;
  };
  ReadableStream.prototype.pipeTo = function (dest, _a) {
   var _b = _a === void 0 ? {} : _a, preventClose = _b.preventClose, preventAbort = _b.preventAbort, preventCancel = _b.preventCancel, signal = _b.signal;
   if (IsReadableStream(this) === false) {
    return promiseRejectedWith(streamBrandCheckException$1('pipeTo'));
   }
   if (IsWritableStream(dest) === false) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s first argument must be a WritableStream'));
   }
   preventClose = Boolean(preventClose);
   preventAbort = Boolean(preventAbort);
   preventCancel = Boolean(preventCancel);
   if (signal !== undefined && !isAbortSignal(signal)) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo\'s signal option must be an AbortSignal'));
   }
   if (IsReadableStreamLocked(this) === true) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream'));
   }
   if (IsWritableStreamLocked(dest) === true) {
    return promiseRejectedWith(new TypeError('ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream'));
   }
   return ReadableStreamPipeTo(this, dest, preventClose, preventAbort, preventCancel, signal);
  };
  ReadableStream.prototype.tee = function () {
   if (IsReadableStream(this) === false) {
    throw streamBrandCheckException$1('tee');
   }
   var branches = ReadableStreamTee(this);
   return createArrayFromList(branches);
  };
  ReadableStream.prototype.getIterator = function (_a) {
   var _b = (_a === void 0 ? {} : _a).preventCancel, preventCancel = _b === void 0 ? false : _b;
   if (IsReadableStream(this) === false) {
    throw streamBrandCheckException$1('getIterator');
   }
   return AcquireReadableStreamAsyncIterator(this, preventCancel);
  };
  return ReadableStream;
 }();
 if (typeof SymbolPolyfill.asyncIterator === 'symbol') {
  Object.defineProperty(ReadableStream.prototype, SymbolPolyfill.asyncIterator, {
   value: ReadableStream.prototype.getIterator,
   enumerable: false,
   writable: true,
   configurable: true
  });
 }
 function CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm) {
  if (highWaterMark === void 0) {
   highWaterMark = 1;
  }
  if (sizeAlgorithm === void 0) {
   sizeAlgorithm = function () {
    return 1;
   };
  }
  var stream = Object.create(ReadableStream.prototype);
  InitializeReadableStream(stream);
  var controller = Object.create(ReadableStreamDefaultController.prototype);
  SetUpReadableStreamDefaultController(stream, controller, startAlgorithm, pullAlgorithm, cancelAlgorithm, highWaterMark, sizeAlgorithm);
  return stream;
 }
 function InitializeReadableStream(stream) {
  stream._state = 'readable';
  stream._reader = undefined;
  stream._storedError = undefined;
  stream._disturbed = false;
 }
 function IsReadableStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_readableStreamController')) {
   return false;
  }
  return true;
 }
 function IsReadableStreamLocked(stream) {
  if (stream._reader === undefined) {
   return false;
  }
  return true;
 }
 function ReadableStreamCancel(stream, reason) {
  stream._disturbed = true;
  if (stream._state === 'closed') {
   return promiseResolvedWith(undefined);
  }
  if (stream._state === 'errored') {
   return promiseRejectedWith(stream._storedError);
  }
  ReadableStreamClose(stream);
  var sourceCancelPromise = stream._readableStreamController[CancelSteps](reason);
  return transformPromiseWith(sourceCancelPromise, noop);
 }
 function ReadableStreamClose(stream) {
  stream._state = 'closed';
  var reader = stream._reader;
  if (reader === undefined) {
   return;
  }
  if (IsReadableStreamDefaultReader(reader)) {
   reader._readRequests.forEach(function (readRequest) {
    readRequest._resolve(ReadableStreamCreateReadResult(undefined, true, reader._forAuthorCode));
   });
   reader._readRequests = new SimpleQueue();
  }
  defaultReaderClosedPromiseResolve(reader);
 }
 function ReadableStreamError(stream, e) {
  stream._state = 'errored';
  stream._storedError = e;
  var reader = stream._reader;
  if (reader === undefined) {
   return;
  }
  if (IsReadableStreamDefaultReader(reader)) {
   reader._readRequests.forEach(function (readRequest) {
    readRequest._reject(e);
   });
   reader._readRequests = new SimpleQueue();
  } else {
   reader._readIntoRequests.forEach(function (readIntoRequest) {
    readIntoRequest._reject(e);
   });
   reader._readIntoRequests = new SimpleQueue();
  }
  defaultReaderClosedPromiseReject(reader, e);
 }
 function streamBrandCheckException$1(name) {
  return new TypeError("ReadableStream.prototype." + name + " can only be used on a ReadableStream");
 }
 var ByteLengthQueuingStrategy = function () {
  function ByteLengthQueuingStrategy(_a) {
   var highWaterMark = _a.highWaterMark;
   this.highWaterMark = highWaterMark;
  }
  ByteLengthQueuingStrategy.prototype.size = function (chunk) {
   return chunk.byteLength;
  };
  return ByteLengthQueuingStrategy;
 }();
 var CountQueuingStrategy = function () {
  function CountQueuingStrategy(_a) {
   var highWaterMark = _a.highWaterMark;
   this.highWaterMark = highWaterMark;
  }
  CountQueuingStrategy.prototype.size = function () {
   return 1;
  };
  return CountQueuingStrategy;
 }();
 var TransformStream = function () {
  function TransformStream(transformer, writableStrategy, readableStrategy) {
   if (transformer === void 0) {
    transformer = {};
   }
   if (writableStrategy === void 0) {
    writableStrategy = {};
   }
   if (readableStrategy === void 0) {
    readableStrategy = {};
   }
   var writableSizeFunction = writableStrategy.size;
   var writableHighWaterMark = writableStrategy.highWaterMark;
   var readableSizeFunction = readableStrategy.size;
   var readableHighWaterMark = readableStrategy.highWaterMark;
   var writableType = transformer.writableType;
   if (writableType !== undefined) {
    throw new RangeError('Invalid writable type specified');
   }
   var writableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(writableSizeFunction);
   if (writableHighWaterMark === undefined) {
    writableHighWaterMark = 1;
   }
   writableHighWaterMark = ValidateAndNormalizeHighWaterMark(writableHighWaterMark);
   var readableType = transformer.readableType;
   if (readableType !== undefined) {
    throw new RangeError('Invalid readable type specified');
   }
   var readableSizeAlgorithm = MakeSizeAlgorithmFromSizeFunction(readableSizeFunction);
   if (readableHighWaterMark === undefined) {
    readableHighWaterMark = 0;
   }
   readableHighWaterMark = ValidateAndNormalizeHighWaterMark(readableHighWaterMark);
   var startPromise_resolve;
   var startPromise = newPromise(function (resolve) {
    startPromise_resolve = resolve;
   });
   InitializeTransformStream(this, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
   SetUpTransformStreamDefaultControllerFromTransformer(this, transformer);
   var startResult = InvokeOrNoop(transformer, 'start', [this._transformStreamController]);
   startPromise_resolve(startResult);
  }
  Object.defineProperty(TransformStream.prototype, "readable", {
   get: function () {
    if (IsTransformStream(this) === false) {
     throw streamBrandCheckException$2('readable');
    }
    return this._readable;
   },
   enumerable: true,
   configurable: true
  });
  Object.defineProperty(TransformStream.prototype, "writable", {
   get: function () {
    if (IsTransformStream(this) === false) {
     throw streamBrandCheckException$2('writable');
    }
    return this._writable;
   },
   enumerable: true,
   configurable: true
  });
  return TransformStream;
 }();
 function InitializeTransformStream(stream, startPromise, writableHighWaterMark, writableSizeAlgorithm, readableHighWaterMark, readableSizeAlgorithm) {
  function startAlgorithm() {
   return startPromise;
  }
  function writeAlgorithm(chunk) {
   return TransformStreamDefaultSinkWriteAlgorithm(stream, chunk);
  }
  function abortAlgorithm(reason) {
   return TransformStreamDefaultSinkAbortAlgorithm(stream, reason);
  }
  function closeAlgorithm() {
   return TransformStreamDefaultSinkCloseAlgorithm(stream);
  }
  stream._writable = CreateWritableStream(startAlgorithm, writeAlgorithm, closeAlgorithm, abortAlgorithm, writableHighWaterMark, writableSizeAlgorithm);
  function pullAlgorithm() {
   return TransformStreamDefaultSourcePullAlgorithm(stream);
  }
  function cancelAlgorithm(reason) {
   TransformStreamErrorWritableAndUnblockWrite(stream, reason);
   return promiseResolvedWith(undefined);
  }
  stream._readable = CreateReadableStream(startAlgorithm, pullAlgorithm, cancelAlgorithm, readableHighWaterMark, readableSizeAlgorithm);
  stream._backpressure = undefined;
  stream._backpressureChangePromise = undefined;
  stream._backpressureChangePromise_resolve = undefined;
  TransformStreamSetBackpressure(stream, true);
  stream._transformStreamController = undefined;
 }
 function IsTransformStream(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_transformStreamController')) {
   return false;
  }
  return true;
 }
 function TransformStreamError(stream, e) {
  ReadableStreamDefaultControllerError(stream._readable._readableStreamController, e);
  TransformStreamErrorWritableAndUnblockWrite(stream, e);
 }
 function TransformStreamErrorWritableAndUnblockWrite(stream, e) {
  TransformStreamDefaultControllerClearAlgorithms(stream._transformStreamController);
  WritableStreamDefaultControllerErrorIfNeeded(stream._writable._writableStreamController, e);
  if (stream._backpressure === true) {
   TransformStreamSetBackpressure(stream, false);
  }
 }
 function TransformStreamSetBackpressure(stream, backpressure) {
  if (stream._backpressureChangePromise !== undefined) {
   stream._backpressureChangePromise_resolve();
  }
  stream._backpressureChangePromise = newPromise(function (resolve) {
   stream._backpressureChangePromise_resolve = resolve;
  });
  stream._backpressure = backpressure;
 }
 var TransformStreamDefaultController = function () {
  function TransformStreamDefaultController() {
   throw new TypeError('TransformStreamDefaultController instances cannot be created directly');
  }
  Object.defineProperty(TransformStreamDefaultController.prototype, "desiredSize", {
   get: function () {
    if (IsTransformStreamDefaultController(this) === false) {
     throw defaultControllerBrandCheckException$1('desiredSize');
    }
    var readableController = this._controlledTransformStream._readable._readableStreamController;
    return ReadableStreamDefaultControllerGetDesiredSize(readableController);
   },
   enumerable: true,
   configurable: true
  });
  TransformStreamDefaultController.prototype.enqueue = function (chunk) {
   if (IsTransformStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException$1('enqueue');
   }
   TransformStreamDefaultControllerEnqueue(this, chunk);
  };
  TransformStreamDefaultController.prototype.error = function (reason) {
   if (IsTransformStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException$1('error');
   }
   TransformStreamDefaultControllerError(this, reason);
  };
  TransformStreamDefaultController.prototype.terminate = function () {
   if (IsTransformStreamDefaultController(this) === false) {
    throw defaultControllerBrandCheckException$1('terminate');
   }
   TransformStreamDefaultControllerTerminate(this);
  };
  return TransformStreamDefaultController;
 }();
 function IsTransformStreamDefaultController(x) {
  if (!typeIsObject(x)) {
   return false;
  }
  if (!Object.prototype.hasOwnProperty.call(x, '_controlledTransformStream')) {
   return false;
  }
  return true;
 }
 function SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm) {
  controller._controlledTransformStream = stream;
  stream._transformStreamController = controller;
  controller._transformAlgorithm = transformAlgorithm;
  controller._flushAlgorithm = flushAlgorithm;
 }
 function SetUpTransformStreamDefaultControllerFromTransformer(stream, transformer) {
  var controller = Object.create(TransformStreamDefaultController.prototype);
  var transformAlgorithm = function (chunk) {
   try {
    TransformStreamDefaultControllerEnqueue(controller, chunk);
    return promiseResolvedWith(undefined);
   } catch (transformResultE) {
    return promiseRejectedWith(transformResultE);
   }
  };
  var transformMethod = transformer.transform;
  if (transformMethod !== undefined) {
   if (typeof transformMethod !== 'function') {
    throw new TypeError('transform is not a method');
   }
   transformAlgorithm = function (chunk) {
    return PromiseCall(transformMethod, transformer, [
     chunk,
     controller
    ]);
   };
  }
  var flushAlgorithm = CreateAlgorithmFromUnderlyingMethod(transformer, 'flush', 0, [controller]);
  SetUpTransformStreamDefaultController(stream, controller, transformAlgorithm, flushAlgorithm);
 }
 function TransformStreamDefaultControllerClearAlgorithms(controller) {
  controller._transformAlgorithm = undefined;
  controller._flushAlgorithm = undefined;
 }
 function TransformStreamDefaultControllerEnqueue(controller, chunk) {
  var stream = controller._controlledTransformStream;
  var readableController = stream._readable._readableStreamController;
  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === false) {
   throw new TypeError('Readable side is not in a state that permits enqueue');
  }
  try {
   ReadableStreamDefaultControllerEnqueue(readableController, chunk);
  } catch (e) {
   TransformStreamErrorWritableAndUnblockWrite(stream, e);
   throw stream._readable._storedError;
  }
  var backpressure = ReadableStreamDefaultControllerHasBackpressure(readableController);
  if (backpressure !== stream._backpressure) {
   TransformStreamSetBackpressure(stream, true);
  }
 }
 function TransformStreamDefaultControllerError(controller, e) {
  TransformStreamError(controller._controlledTransformStream, e);
 }
 function TransformStreamDefaultControllerPerformTransform(controller, chunk) {
  var transformPromise = controller._transformAlgorithm(chunk);
  return transformPromiseWith(transformPromise, undefined, function (r) {
   TransformStreamError(controller._controlledTransformStream, r);
   throw r;
  });
 }
 function TransformStreamDefaultControllerTerminate(controller) {
  var stream = controller._controlledTransformStream;
  var readableController = stream._readable._readableStreamController;
  if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
   ReadableStreamDefaultControllerClose(readableController);
  }
  var error = new TypeError('TransformStream terminated');
  TransformStreamErrorWritableAndUnblockWrite(stream, error);
 }
 function TransformStreamDefaultSinkWriteAlgorithm(stream, chunk) {
  var controller = stream._transformStreamController;
  if (stream._backpressure === true) {
   var backpressureChangePromise = stream._backpressureChangePromise;
   return transformPromiseWith(backpressureChangePromise, function () {
    var writable = stream._writable;
    var state = writable._state;
    if (state === 'erroring') {
     throw writable._storedError;
    }
    return TransformStreamDefaultControllerPerformTransform(controller, chunk);
   });
  }
  return TransformStreamDefaultControllerPerformTransform(controller, chunk);
 }
 function TransformStreamDefaultSinkAbortAlgorithm(stream, reason) {
  TransformStreamError(stream, reason);
  return promiseResolvedWith(undefined);
 }
 function TransformStreamDefaultSinkCloseAlgorithm(stream) {
  var readable = stream._readable;
  var controller = stream._transformStreamController;
  var flushPromise = controller._flushAlgorithm();
  TransformStreamDefaultControllerClearAlgorithms(controller);
  return transformPromiseWith(flushPromise, function () {
   if (readable._state === 'errored') {
    throw readable._storedError;
   }
   var readableController = readable._readableStreamController;
   if (ReadableStreamDefaultControllerCanCloseOrEnqueue(readableController) === true) {
    ReadableStreamDefaultControllerClose(readableController);
   }
  }, function (r) {
   TransformStreamError(stream, r);
   throw readable._storedError;
  });
 }
 function TransformStreamDefaultSourcePullAlgorithm(stream) {
  TransformStreamSetBackpressure(stream, false);
  return stream._backpressureChangePromise;
 }
 function defaultControllerBrandCheckException$1(name) {
  return new TypeError("TransformStreamDefaultController.prototype." + name + " can only be used on a TransformStreamDefaultController");
 }
 function streamBrandCheckException$2(name) {
  return new TypeError("TransformStream.prototype." + name + " can only be used on a TransformStream");
 }
 exports.ByteLengthQueuingStrategy = ByteLengthQueuingStrategy;
 exports.CountQueuingStrategy = CountQueuingStrategy;
 exports.ReadableStream = ReadableStream;
 exports.TransformStream = TransformStream;
 exports.WritableStream = WritableStream;
 Object.defineProperty(exports, '__esModule', { value: true });
}));

/***/ }),
/* 146 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(147);
__w_pdfjs_require__(118);
__w_pdfjs_require__(77);
__w_pdfjs_require__(120);
var path = __w_pdfjs_require__(43);
module.exports = path.Map;

/***/ }),
/* 147 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var collection = __w_pdfjs_require__(148);
var collectionStrong = __w_pdfjs_require__(152);
module.exports = collection('Map', function (init) {
 return function Map() {
  return init(this, arguments.length ? arguments[0] : undefined);
 };
}, collectionStrong);

/***/ }),
/* 148 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var global = __w_pdfjs_require__(11);
var isForced = __w_pdfjs_require__(52);
var redefine = __w_pdfjs_require__(29);
var InternalMetadataModule = __w_pdfjs_require__(149);
var iterate = __w_pdfjs_require__(104);
var anInstance = __w_pdfjs_require__(126);
var isObject = __w_pdfjs_require__(22);
var fails = __w_pdfjs_require__(14);
var checkCorrectnessOfIteration = __w_pdfjs_require__(97);
var setToStringTag = __w_pdfjs_require__(85);
var inheritIfRequired = __w_pdfjs_require__(151);
module.exports = function (CONSTRUCTOR_NAME, wrapper, common) {
 var IS_MAP = CONSTRUCTOR_NAME.indexOf('Map') !== -1;
 var IS_WEAK = CONSTRUCTOR_NAME.indexOf('Weak') !== -1;
 var ADDER = IS_MAP ? 'set' : 'add';
 var NativeConstructor = global[CONSTRUCTOR_NAME];
 var NativePrototype = NativeConstructor && NativeConstructor.prototype;
 var Constructor = NativeConstructor;
 var exported = {};
 var fixMethod = function (KEY) {
  var nativeMethod = NativePrototype[KEY];
  redefine(NativePrototype, KEY, KEY == 'add' ? function add(value) {
   nativeMethod.call(this, value === 0 ? 0 : value);
   return this;
  } : KEY == 'delete' ? function (key) {
   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
  } : KEY == 'get' ? function get(key) {
   return IS_WEAK && !isObject(key) ? undefined : nativeMethod.call(this, key === 0 ? 0 : key);
  } : KEY == 'has' ? function has(key) {
   return IS_WEAK && !isObject(key) ? false : nativeMethod.call(this, key === 0 ? 0 : key);
  } : function set(key, value) {
   nativeMethod.call(this, key === 0 ? 0 : key, value);
   return this;
  });
 };
 if (isForced(CONSTRUCTOR_NAME, typeof NativeConstructor != 'function' || !(IS_WEAK || NativePrototype.forEach && !fails(function () {
   new NativeConstructor().entries().next();
  })))) {
  Constructor = common.getConstructor(wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER);
  InternalMetadataModule.REQUIRED = true;
 } else if (isForced(CONSTRUCTOR_NAME, true)) {
  var instance = new Constructor();
  var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;
  var THROWS_ON_PRIMITIVES = fails(function () {
   instance.has(1);
  });
  var ACCEPT_ITERABLES = checkCorrectnessOfIteration(function (iterable) {
   new NativeConstructor(iterable);
  });
  var BUGGY_ZERO = !IS_WEAK && fails(function () {
   var $instance = new NativeConstructor();
   var index = 5;
   while (index--)
    $instance[ADDER](index, index);
   return !$instance.has(-0);
  });
  if (!ACCEPT_ITERABLES) {
   Constructor = wrapper(function (dummy, iterable) {
    anInstance(dummy, Constructor, CONSTRUCTOR_NAME);
    var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
    if (iterable != undefined)
     iterate(iterable, that[ADDER], that, IS_MAP);
    return that;
   });
   Constructor.prototype = NativePrototype;
   NativePrototype.constructor = Constructor;
  }
  if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
   fixMethod('delete');
   fixMethod('has');
   IS_MAP && fixMethod('get');
  }
  if (BUGGY_ZERO || HASNT_CHAINING)
   fixMethod(ADDER);
  if (IS_WEAK && NativePrototype.clear)
   delete NativePrototype.clear;
 }
 exported[CONSTRUCTOR_NAME] = Constructor;
 $({
  global: true,
  forced: Constructor != NativeConstructor
 }, exported);
 setToStringTag(Constructor, CONSTRUCTOR_NAME);
 if (!IS_WEAK)
  common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
 return Constructor;
};

/***/ }),
/* 149 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var hiddenKeys = __w_pdfjs_require__(39);
var isObject = __w_pdfjs_require__(22);
var has = __w_pdfjs_require__(23);
var defineProperty = __w_pdfjs_require__(27).f;
var uid = __w_pdfjs_require__(38);
var FREEZING = __w_pdfjs_require__(150);
var METADATA = uid('meta');
var id = 0;
var isExtensible = Object.isExtensible || function () {
 return true;
};
var setMetadata = function (it) {
 defineProperty(it, METADATA, {
  value: {
   objectID: 'O' + ++id,
   weakData: {}
  }
 });
};
var fastKey = function (it, create) {
 if (!isObject(it))
  return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;
 if (!has(it, METADATA)) {
  if (!isExtensible(it))
   return 'F';
  if (!create)
   return 'E';
  setMetadata(it);
 }
 return it[METADATA].objectID;
};
var getWeakData = function (it, create) {
 if (!has(it, METADATA)) {
  if (!isExtensible(it))
   return true;
  if (!create)
   return false;
  setMetadata(it);
 }
 return it[METADATA].weakData;
};
var onFreeze = function (it) {
 if (FREEZING && meta.REQUIRED && isExtensible(it) && !has(it, METADATA))
  setMetadata(it);
 return it;
};
var meta = module.exports = {
 REQUIRED: false,
 fastKey: fastKey,
 getWeakData: getWeakData,
 onFreeze: onFreeze
};
hiddenKeys[METADATA] = true;

/***/ }),
/* 150 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
module.exports = !fails(function () {
 return Object.isExtensible(Object.preventExtensions({}));
});

/***/ }),
/* 151 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
var setPrototypeOf = __w_pdfjs_require__(87);
module.exports = function ($this, dummy, Wrapper) {
 var NewTarget, NewTargetPrototype;
 if (setPrototypeOf && typeof (NewTarget = dummy.constructor) == 'function' && NewTarget !== Wrapper && isObject(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype)
  setPrototypeOf($this, NewTargetPrototype);
 return $this;
};

/***/ }),
/* 152 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var defineProperty = __w_pdfjs_require__(27).f;
var create = __w_pdfjs_require__(71);
var redefineAll = __w_pdfjs_require__(124);
var bind = __w_pdfjs_require__(62);
var anInstance = __w_pdfjs_require__(126);
var iterate = __w_pdfjs_require__(104);
var defineIterator = __w_pdfjs_require__(79);
var setSpecies = __w_pdfjs_require__(125);
var DESCRIPTORS = __w_pdfjs_require__(13);
var fastKey = __w_pdfjs_require__(149).fastKey;
var InternalStateModule = __w_pdfjs_require__(33);
var setInternalState = InternalStateModule.set;
var internalStateGetterFor = InternalStateModule.getterFor;
module.exports = {
 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
  var C = wrapper(function (that, iterable) {
   anInstance(that, C, CONSTRUCTOR_NAME);
   setInternalState(that, {
    type: CONSTRUCTOR_NAME,
    index: create(null),
    first: undefined,
    last: undefined,
    size: 0
   });
   if (!DESCRIPTORS)
    that.size = 0;
   if (iterable != undefined)
    iterate(iterable, that[ADDER], that, IS_MAP);
  });
  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
  var define = function (that, key, value) {
   var state = getInternalState(that);
   var entry = getEntry(that, key);
   var previous, index;
   if (entry) {
    entry.value = value;
   } else {
    state.last = entry = {
     index: index = fastKey(key, true),
     key: key,
     value: value,
     previous: previous = state.last,
     next: undefined,
     removed: false
    };
    if (!state.first)
     state.first = entry;
    if (previous)
     previous.next = entry;
    if (DESCRIPTORS)
     state.size++;
    else
     that.size++;
    if (index !== 'F')
     state.index[index] = entry;
   }
   return that;
  };
  var getEntry = function (that, key) {
   var state = getInternalState(that);
   var index = fastKey(key);
   var entry;
   if (index !== 'F')
    return state.index[index];
   for (entry = state.first; entry; entry = entry.next) {
    if (entry.key == key)
     return entry;
   }
  };
  redefineAll(C.prototype, {
   clear: function clear() {
    var that = this;
    var state = getInternalState(that);
    var data = state.index;
    var entry = state.first;
    while (entry) {
     entry.removed = true;
     if (entry.previous)
      entry.previous = entry.previous.next = undefined;
     delete data[entry.index];
     entry = entry.next;
    }
    state.first = state.last = undefined;
    if (DESCRIPTORS)
     state.size = 0;
    else
     that.size = 0;
   },
   'delete': function (key) {
    var that = this;
    var state = getInternalState(that);
    var entry = getEntry(that, key);
    if (entry) {
     var next = entry.next;
     var prev = entry.previous;
     delete state.index[entry.index];
     entry.removed = true;
     if (prev)
      prev.next = next;
     if (next)
      next.previous = prev;
     if (state.first == entry)
      state.first = next;
     if (state.last == entry)
      state.last = prev;
     if (DESCRIPTORS)
      state.size--;
     else
      that.size--;
    }
    return !!entry;
   },
   forEach: function forEach(callbackfn) {
    var state = getInternalState(this);
    var boundFunction = bind(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);
    var entry;
    while (entry = entry ? entry.next : state.first) {
     boundFunction(entry.value, entry.key, this);
     while (entry && entry.removed)
      entry = entry.previous;
    }
   },
   has: function has(key) {
    return !!getEntry(this, key);
   }
  });
  redefineAll(C.prototype, IS_MAP ? {
   get: function get(key) {
    var entry = getEntry(this, key);
    return entry && entry.value;
   },
   set: function set(key, value) {
    return define(this, key === 0 ? 0 : key, value);
   }
  } : {
   add: function add(value) {
    return define(this, value = value === 0 ? 0 : value, value);
   }
  });
  if (DESCRIPTORS)
   defineProperty(C.prototype, 'size', {
    get: function () {
     return getInternalState(this).size;
    }
   });
  return C;
 },
 setStrong: function (C, CONSTRUCTOR_NAME, IS_MAP) {
  var ITERATOR_NAME = CONSTRUCTOR_NAME + ' Iterator';
  var getInternalCollectionState = internalStateGetterFor(CONSTRUCTOR_NAME);
  var getInternalIteratorState = internalStateGetterFor(ITERATOR_NAME);
  defineIterator(C, CONSTRUCTOR_NAME, function (iterated, kind) {
   setInternalState(this, {
    type: ITERATOR_NAME,
    target: iterated,
    state: getInternalCollectionState(iterated),
    kind: kind,
    last: undefined
   });
  }, function () {
   var state = getInternalIteratorState(this);
   var kind = state.kind;
   var entry = state.last;
   while (entry && entry.removed)
    entry = entry.previous;
   if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
    state.target = undefined;
    return {
     value: undefined,
     done: true
    };
   }
   if (kind == 'keys')
    return {
     value: entry.key,
     done: false
    };
   if (kind == 'values')
    return {
     value: entry.value,
     done: false
    };
   return {
    value: [
     entry.key,
     entry.value
    ],
    done: false
   };
  }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);
  setSpecies(CONSTRUCTOR_NAME);
 }
};

/***/ }),
/* 153 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(154);
__w_pdfjs_require__(118);
__w_pdfjs_require__(77);
__w_pdfjs_require__(120);
var path = __w_pdfjs_require__(43);
module.exports = path.Set;

/***/ }),
/* 154 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var collection = __w_pdfjs_require__(148);
var collectionStrong = __w_pdfjs_require__(152);
module.exports = collection('Set', function (init) {
 return function Set() {
  return init(this, arguments.length ? arguments[0] : undefined);
 };
}, collectionStrong);

/***/ }),
/* 155 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(118);
__w_pdfjs_require__(156);
__w_pdfjs_require__(120);
var path = __w_pdfjs_require__(43);
module.exports = path.WeakMap;

/***/ }),
/* 156 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var global = __w_pdfjs_require__(11);
var redefineAll = __w_pdfjs_require__(124);
var InternalMetadataModule = __w_pdfjs_require__(149);
var collection = __w_pdfjs_require__(148);
var collectionWeak = __w_pdfjs_require__(157);
var isObject = __w_pdfjs_require__(22);
var enforceIternalState = __w_pdfjs_require__(33).enforce;
var NATIVE_WEAK_MAP = __w_pdfjs_require__(34);
var IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;
var isExtensible = Object.isExtensible;
var InternalWeakMap;
var wrapper = function (init) {
 return function WeakMap() {
  return init(this, arguments.length ? arguments[0] : undefined);
 };
};
var $WeakMap = module.exports = collection('WeakMap', wrapper, collectionWeak);
if (NATIVE_WEAK_MAP && IS_IE11) {
 InternalWeakMap = collectionWeak.getConstructor(wrapper, 'WeakMap', true);
 InternalMetadataModule.REQUIRED = true;
 var WeakMapPrototype = $WeakMap.prototype;
 var nativeDelete = WeakMapPrototype['delete'];
 var nativeHas = WeakMapPrototype.has;
 var nativeGet = WeakMapPrototype.get;
 var nativeSet = WeakMapPrototype.set;
 redefineAll(WeakMapPrototype, {
  'delete': function (key) {
   if (isObject(key) && !isExtensible(key)) {
    var state = enforceIternalState(this);
    if (!state.frozen)
     state.frozen = new InternalWeakMap();
    return nativeDelete.call(this, key) || state.frozen['delete'](key);
   }
   return nativeDelete.call(this, key);
  },
  has: function has(key) {
   if (isObject(key) && !isExtensible(key)) {
    var state = enforceIternalState(this);
    if (!state.frozen)
     state.frozen = new InternalWeakMap();
    return nativeHas.call(this, key) || state.frozen.has(key);
   }
   return nativeHas.call(this, key);
  },
  get: function get(key) {
   if (isObject(key) && !isExtensible(key)) {
    var state = enforceIternalState(this);
    if (!state.frozen)
     state.frozen = new InternalWeakMap();
    return nativeHas.call(this, key) ? nativeGet.call(this, key) : state.frozen.get(key);
   }
   return nativeGet.call(this, key);
  },
  set: function set(key, value) {
   if (isObject(key) && !isExtensible(key)) {
    var state = enforceIternalState(this);
    if (!state.frozen)
     state.frozen = new InternalWeakMap();
    nativeHas.call(this, key) ? nativeSet.call(this, key, value) : state.frozen.set(key, value);
   } else
    nativeSet.call(this, key, value);
   return this;
  }
 });
}

/***/ }),
/* 157 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var redefineAll = __w_pdfjs_require__(124);
var getWeakData = __w_pdfjs_require__(149).getWeakData;
var anObject = __w_pdfjs_require__(28);
var isObject = __w_pdfjs_require__(22);
var anInstance = __w_pdfjs_require__(126);
var iterate = __w_pdfjs_require__(104);
var ArrayIterationModule = __w_pdfjs_require__(158);
var $has = __w_pdfjs_require__(23);
var InternalStateModule = __w_pdfjs_require__(33);
var setInternalState = InternalStateModule.set;
var internalStateGetterFor = InternalStateModule.getterFor;
var find = ArrayIterationModule.find;
var findIndex = ArrayIterationModule.findIndex;
var id = 0;
var uncaughtFrozenStore = function (store) {
 return store.frozen || (store.frozen = new UncaughtFrozenStore());
};
var UncaughtFrozenStore = function () {
 this.entries = [];
};
var findUncaughtFrozen = function (store, key) {
 return find(store.entries, function (it) {
  return it[0] === key;
 });
};
UncaughtFrozenStore.prototype = {
 get: function (key) {
  var entry = findUncaughtFrozen(this, key);
  if (entry)
   return entry[1];
 },
 has: function (key) {
  return !!findUncaughtFrozen(this, key);
 },
 set: function (key, value) {
  var entry = findUncaughtFrozen(this, key);
  if (entry)
   entry[1] = value;
  else
   this.entries.push([
    key,
    value
   ]);
 },
 'delete': function (key) {
  var index = findIndex(this.entries, function (it) {
   return it[0] === key;
  });
  if (~index)
   this.entries.splice(index, 1);
  return !!~index;
 }
};
module.exports = {
 getConstructor: function (wrapper, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
  var C = wrapper(function (that, iterable) {
   anInstance(that, C, CONSTRUCTOR_NAME);
   setInternalState(that, {
    type: CONSTRUCTOR_NAME,
    id: id++,
    frozen: undefined
   });
   if (iterable != undefined)
    iterate(iterable, that[ADDER], that, IS_MAP);
  });
  var getInternalState = internalStateGetterFor(CONSTRUCTOR_NAME);
  var define = function (that, key, value) {
   var state = getInternalState(that);
   var data = getWeakData(anObject(key), true);
   if (data === true)
    uncaughtFrozenStore(state).set(key, value);
   else
    data[state.id] = value;
   return that;
  };
  redefineAll(C.prototype, {
   'delete': function (key) {
    var state = getInternalState(this);
    if (!isObject(key))
     return false;
    var data = getWeakData(key);
    if (data === true)
     return uncaughtFrozenStore(state)['delete'](key);
    return data && $has(data, state.id) && delete data[state.id];
   },
   has: function has(key) {
    var state = getInternalState(this);
    if (!isObject(key))
     return false;
    var data = getWeakData(key);
    if (data === true)
     return uncaughtFrozenStore(state).has(key);
    return data && $has(data, state.id);
   }
  });
  redefineAll(C.prototype, IS_MAP ? {
   get: function get(key) {
    var state = getInternalState(this);
    if (isObject(key)) {
     var data = getWeakData(key);
     if (data === true)
      return uncaughtFrozenStore(state).get(key);
     return data ? data[state.id] : undefined;
    }
   },
   set: function set(key, value) {
    return define(this, key, value);
   }
  } : {
   add: function add(value) {
    return define(this, value, true);
   }
  });
  return C;
 }
};

/***/ }),
/* 158 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var bind = __w_pdfjs_require__(62);
var IndexedObject = __w_pdfjs_require__(18);
var toObject = __w_pdfjs_require__(83);
var toLength = __w_pdfjs_require__(47);
var arraySpeciesCreate = __w_pdfjs_require__(159);
var push = [].push;
var createMethod = function (TYPE) {
 var IS_MAP = TYPE == 1;
 var IS_FILTER = TYPE == 2;
 var IS_SOME = TYPE == 3;
 var IS_EVERY = TYPE == 4;
 var IS_FIND_INDEX = TYPE == 6;
 var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;
 return function ($this, callbackfn, that, specificCreate) {
  var O = toObject($this);
  var self = IndexedObject(O);
  var boundFunction = bind(callbackfn, that, 3);
  var length = toLength(self.length);
  var index = 0;
  var create = specificCreate || arraySpeciesCreate;
  var target = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;
  var value, result;
  for (; length > index; index++)
   if (NO_HOLES || index in self) {
    value = self[index];
    result = boundFunction(value, index, O);
    if (TYPE) {
     if (IS_MAP)
      target[index] = result;
     else if (result)
      switch (TYPE) {
      case 3:
       return true;
      case 5:
       return value;
      case 6:
       return index;
      case 2:
       push.call(target, value);
      }
     else if (IS_EVERY)
      return false;
    }
   }
  return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
 };
};
module.exports = {
 forEach: createMethod(0),
 map: createMethod(1),
 filter: createMethod(2),
 some: createMethod(3),
 every: createMethod(4),
 find: createMethod(5),
 findIndex: createMethod(6)
};

/***/ }),
/* 159 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var isObject = __w_pdfjs_require__(22);
var isArray = __w_pdfjs_require__(160);
var wellKnownSymbol = __w_pdfjs_require__(57);
var SPECIES = wellKnownSymbol('species');
module.exports = function (originalArray, length) {
 var C;
 if (isArray(originalArray)) {
  C = originalArray.constructor;
  if (typeof C == 'function' && (C === Array || isArray(C.prototype)))
   C = undefined;
  else if (isObject(C)) {
   C = C[SPECIES];
   if (C === null)
    C = undefined;
  }
 }
 return new (C === undefined ? Array : C)(length === 0 ? 0 : length);
};

/***/ }),
/* 160 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var classof = __w_pdfjs_require__(19);
module.exports = Array.isArray || function isArray(arg) {
 return classof(arg) == 'Array';
};

/***/ }),
/* 161 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(118);
__w_pdfjs_require__(162);
__w_pdfjs_require__(120);
var path = __w_pdfjs_require__(43);
module.exports = path.WeakSet;

/***/ }),
/* 162 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var collection = __w_pdfjs_require__(148);
var collectionWeak = __w_pdfjs_require__(157);
collection('WeakSet', function (init) {
 return function WeakSet() {
  return init(this, arguments.length ? arguments[0] : undefined);
 };
}, collectionWeak);

/***/ }),
/* 163 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(164);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'codePointAt');

/***/ }),
/* 164 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var codeAt = __w_pdfjs_require__(78).codeAt;
$({
 target: 'String',
 proto: true
}, {
 codePointAt: function codePointAt(pos) {
  return codeAt(this, pos);
 }
});

/***/ }),
/* 165 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(166);
var path = __w_pdfjs_require__(43);
module.exports = path.String.fromCodePoint;

/***/ }),
/* 166 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var toAbsoluteIndex = __w_pdfjs_require__(49);
var fromCharCode = String.fromCharCode;
var nativeFromCodePoint = String.fromCodePoint;
var INCORRECT_LENGTH = !!nativeFromCodePoint && nativeFromCodePoint.length != 1;
$({
 target: 'String',
 stat: true,
 forced: INCORRECT_LENGTH
}, {
 fromCodePoint: function fromCodePoint(x) {
  var elements = [];
  var length = arguments.length;
  var i = 0;
  var code;
  while (length > i) {
   code = +arguments[i++];
   if (toAbsoluteIndex(code, 0x10FFFF) !== code)
    throw RangeError(code + ' is not a valid code point');
   elements.push(code < 0x10000 ? fromCharCode(code) : fromCharCode(((code -= 0x10000) >> 10) + 0xD800, code % 0x400 + 0xDC00));
  }
  return elements.join('');
 }
});

/***/ }),
/* 167 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(168);
__w_pdfjs_require__(118);
__w_pdfjs_require__(170);
__w_pdfjs_require__(174);
__w_pdfjs_require__(175);
__w_pdfjs_require__(176);
__w_pdfjs_require__(177);
__w_pdfjs_require__(178);
__w_pdfjs_require__(179);
__w_pdfjs_require__(180);
__w_pdfjs_require__(181);
__w_pdfjs_require__(182);
__w_pdfjs_require__(183);
__w_pdfjs_require__(184);
__w_pdfjs_require__(185);
__w_pdfjs_require__(186);
__w_pdfjs_require__(187);
__w_pdfjs_require__(188);
__w_pdfjs_require__(189);
var path = __w_pdfjs_require__(43);
module.exports = path.Symbol;

/***/ }),
/* 168 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var fails = __w_pdfjs_require__(14);
var isArray = __w_pdfjs_require__(160);
var isObject = __w_pdfjs_require__(22);
var toObject = __w_pdfjs_require__(83);
var toLength = __w_pdfjs_require__(47);
var createProperty = __w_pdfjs_require__(93);
var arraySpeciesCreate = __w_pdfjs_require__(159);
var arrayMethodHasSpeciesSupport = __w_pdfjs_require__(169);
var wellKnownSymbol = __w_pdfjs_require__(57);
var V8_VERSION = __w_pdfjs_require__(135);
var IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');
var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;
var MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';
var IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {
 var array = [];
 array[IS_CONCAT_SPREADABLE] = false;
 return array.concat()[0] !== array;
});
var SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');
var isConcatSpreadable = function (O) {
 if (!isObject(O))
  return false;
 var spreadable = O[IS_CONCAT_SPREADABLE];
 return spreadable !== undefined ? !!spreadable : isArray(O);
};
var FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;
$({
 target: 'Array',
 proto: true,
 forced: FORCED
}, {
 concat: function concat(arg) {
  var O = toObject(this);
  var A = arraySpeciesCreate(O, 0);
  var n = 0;
  var i, k, length, len, E;
  for (i = -1, length = arguments.length; i < length; i++) {
   E = i === -1 ? O : arguments[i];
   if (isConcatSpreadable(E)) {
    len = toLength(E.length);
    if (n + len > MAX_SAFE_INTEGER)
     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
    for (k = 0; k < len; k++, n++)
     if (k in E)
      createProperty(A, n, E[k]);
   } else {
    if (n >= MAX_SAFE_INTEGER)
     throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);
    createProperty(A, n++, E);
   }
  }
  A.length = n;
  return A;
 }
});

/***/ }),
/* 169 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var fails = __w_pdfjs_require__(14);
var wellKnownSymbol = __w_pdfjs_require__(57);
var V8_VERSION = __w_pdfjs_require__(135);
var SPECIES = wellKnownSymbol('species');
module.exports = function (METHOD_NAME) {
 return V8_VERSION >= 51 || !fails(function () {
  var array = [];
  var constructor = array.constructor = {};
  constructor[SPECIES] = function () {
   return { foo: 1 };
  };
  return array[METHOD_NAME](Boolean).foo !== 1;
 });
};

/***/ }),
/* 170 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var global = __w_pdfjs_require__(11);
var getBuiltIn = __w_pdfjs_require__(42);
var IS_PURE = __w_pdfjs_require__(37);
var DESCRIPTORS = __w_pdfjs_require__(13);
var NATIVE_SYMBOL = __w_pdfjs_require__(58);
var USE_SYMBOL_AS_UID = __w_pdfjs_require__(59);
var fails = __w_pdfjs_require__(14);
var has = __w_pdfjs_require__(23);
var isArray = __w_pdfjs_require__(160);
var isObject = __w_pdfjs_require__(22);
var anObject = __w_pdfjs_require__(28);
var toObject = __w_pdfjs_require__(83);
var toIndexedObject = __w_pdfjs_require__(17);
var toPrimitive = __w_pdfjs_require__(21);
var createPropertyDescriptor = __w_pdfjs_require__(16);
var nativeObjectCreate = __w_pdfjs_require__(71);
var objectKeys = __w_pdfjs_require__(73);
var getOwnPropertyNamesModule = __w_pdfjs_require__(44);
var getOwnPropertyNamesExternal = __w_pdfjs_require__(171);
var getOwnPropertySymbolsModule = __w_pdfjs_require__(51);
var getOwnPropertyDescriptorModule = __w_pdfjs_require__(12);
var definePropertyModule = __w_pdfjs_require__(27);
var propertyIsEnumerableModule = __w_pdfjs_require__(15);
var createNonEnumerableProperty = __w_pdfjs_require__(26);
var redefine = __w_pdfjs_require__(29);
var shared = __w_pdfjs_require__(36);
var sharedKey = __w_pdfjs_require__(35);
var hiddenKeys = __w_pdfjs_require__(39);
var uid = __w_pdfjs_require__(38);
var wellKnownSymbol = __w_pdfjs_require__(57);
var wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);
var defineWellKnownSymbol = __w_pdfjs_require__(173);
var setToStringTag = __w_pdfjs_require__(85);
var InternalStateModule = __w_pdfjs_require__(33);
var $forEach = __w_pdfjs_require__(158).forEach;
var HIDDEN = sharedKey('hidden');
var SYMBOL = 'Symbol';
var PROTOTYPE = 'prototype';
var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');
var setInternalState = InternalStateModule.set;
var getInternalState = InternalStateModule.getterFor(SYMBOL);
var ObjectPrototype = Object[PROTOTYPE];
var $Symbol = global.Symbol;
var $stringify = getBuiltIn('JSON', 'stringify');
var nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
var nativeDefineProperty = definePropertyModule.f;
var nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;
var nativePropertyIsEnumerable = propertyIsEnumerableModule.f;
var AllSymbols = shared('symbols');
var ObjectPrototypeSymbols = shared('op-symbols');
var StringToSymbolRegistry = shared('string-to-symbol-registry');
var SymbolToStringRegistry = shared('symbol-to-string-registry');
var WellKnownSymbolsStore = shared('wks');
var QObject = global.QObject;
var USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;
var setSymbolDescriptor = DESCRIPTORS && fails(function () {
 return nativeObjectCreate(nativeDefineProperty({}, 'a', {
  get: function () {
   return nativeDefineProperty(this, 'a', { value: 7 }).a;
  }
 })).a != 7;
}) ? function (O, P, Attributes) {
 var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);
 if (ObjectPrototypeDescriptor)
  delete ObjectPrototype[P];
 nativeDefineProperty(O, P, Attributes);
 if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {
  nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);
 }
} : nativeDefineProperty;
var wrap = function (tag, description) {
 var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);
 setInternalState(symbol, {
  type: SYMBOL,
  tag: tag,
  description: description
 });
 if (!DESCRIPTORS)
  symbol.description = description;
 return symbol;
};
var isSymbol = USE_SYMBOL_AS_UID ? function (it) {
 return typeof it == 'symbol';
} : function (it) {
 return Object(it) instanceof $Symbol;
};
var $defineProperty = function defineProperty(O, P, Attributes) {
 if (O === ObjectPrototype)
  $defineProperty(ObjectPrototypeSymbols, P, Attributes);
 anObject(O);
 var key = toPrimitive(P, true);
 anObject(Attributes);
 if (has(AllSymbols, key)) {
  if (!Attributes.enumerable) {
   if (!has(O, HIDDEN))
    nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));
   O[HIDDEN][key] = true;
  } else {
   if (has(O, HIDDEN) && O[HIDDEN][key])
    O[HIDDEN][key] = false;
   Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });
  }
  return setSymbolDescriptor(O, key, Attributes);
 }
 return nativeDefineProperty(O, key, Attributes);
};
var $defineProperties = function defineProperties(O, Properties) {
 anObject(O);
 var properties = toIndexedObject(Properties);
 var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));
 $forEach(keys, function (key) {
  if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key))
   $defineProperty(O, key, properties[key]);
 });
 return O;
};
var $create = function create(O, Properties) {
 return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);
};
var $propertyIsEnumerable = function propertyIsEnumerable(V) {
 var P = toPrimitive(V, true);
 var enumerable = nativePropertyIsEnumerable.call(this, P);
 if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P))
  return false;
 return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;
};
var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {
 var it = toIndexedObject(O);
 var key = toPrimitive(P, true);
 if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key))
  return;
 var descriptor = nativeGetOwnPropertyDescriptor(it, key);
 if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {
  descriptor.enumerable = true;
 }
 return descriptor;
};
var $getOwnPropertyNames = function getOwnPropertyNames(O) {
 var names = nativeGetOwnPropertyNames(toIndexedObject(O));
 var result = [];
 $forEach(names, function (key) {
  if (!has(AllSymbols, key) && !has(hiddenKeys, key))
   result.push(key);
 });
 return result;
};
var $getOwnPropertySymbols = function getOwnPropertySymbols(O) {
 var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;
 var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));
 var result = [];
 $forEach(names, function (key) {
  if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {
   result.push(AllSymbols[key]);
  }
 });
 return result;
};
if (!NATIVE_SYMBOL) {
 $Symbol = function Symbol() {
  if (this instanceof $Symbol)
   throw TypeError('Symbol is not a constructor');
  var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);
  var tag = uid(description);
  var setter = function (value) {
   if (this === ObjectPrototype)
    setter.call(ObjectPrototypeSymbols, value);
   if (has(this, HIDDEN) && has(this[HIDDEN], tag))
    this[HIDDEN][tag] = false;
   setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));
  };
  if (DESCRIPTORS && USE_SETTER)
   setSymbolDescriptor(ObjectPrototype, tag, {
    configurable: true,
    set: setter
   });
  return wrap(tag, description);
 };
 redefine($Symbol[PROTOTYPE], 'toString', function toString() {
  return getInternalState(this).tag;
 });
 redefine($Symbol, 'withoutSetter', function (description) {
  return wrap(uid(description), description);
 });
 propertyIsEnumerableModule.f = $propertyIsEnumerable;
 definePropertyModule.f = $defineProperty;
 getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;
 getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;
 getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;
 wrappedWellKnownSymbolModule.f = function (name) {
  return wrap(wellKnownSymbol(name), name);
 };
 if (DESCRIPTORS) {
  nativeDefineProperty($Symbol[PROTOTYPE], 'description', {
   configurable: true,
   get: function description() {
    return getInternalState(this).description;
   }
  });
  if (!IS_PURE) {
   redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });
  }
 }
}
$({
 global: true,
 wrap: true,
 forced: !NATIVE_SYMBOL,
 sham: !NATIVE_SYMBOL
}, { Symbol: $Symbol });
$forEach(objectKeys(WellKnownSymbolsStore), function (name) {
 defineWellKnownSymbol(name);
});
$({
 target: SYMBOL,
 stat: true,
 forced: !NATIVE_SYMBOL
}, {
 'for': function (key) {
  var string = String(key);
  if (has(StringToSymbolRegistry, string))
   return StringToSymbolRegistry[string];
  var symbol = $Symbol(string);
  StringToSymbolRegistry[string] = symbol;
  SymbolToStringRegistry[symbol] = string;
  return symbol;
 },
 keyFor: function keyFor(sym) {
  if (!isSymbol(sym))
   throw TypeError(sym + ' is not a symbol');
  if (has(SymbolToStringRegistry, sym))
   return SymbolToStringRegistry[sym];
 },
 useSetter: function () {
  USE_SETTER = true;
 },
 useSimple: function () {
  USE_SETTER = false;
 }
});
$({
 target: 'Object',
 stat: true,
 forced: !NATIVE_SYMBOL,
 sham: !DESCRIPTORS
}, {
 create: $create,
 defineProperty: $defineProperty,
 defineProperties: $defineProperties,
 getOwnPropertyDescriptor: $getOwnPropertyDescriptor
});
$({
 target: 'Object',
 stat: true,
 forced: !NATIVE_SYMBOL
}, {
 getOwnPropertyNames: $getOwnPropertyNames,
 getOwnPropertySymbols: $getOwnPropertySymbols
});
$({
 target: 'Object',
 stat: true,
 forced: fails(function () {
  getOwnPropertySymbolsModule.f(1);
 })
}, {
 getOwnPropertySymbols: function getOwnPropertySymbols(it) {
  return getOwnPropertySymbolsModule.f(toObject(it));
 }
});
if ($stringify) {
 var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {
  var symbol = $Symbol();
  return $stringify([symbol]) != '[null]' || $stringify({ a: symbol }) != '{}' || $stringify(Object(symbol)) != '{}';
 });
 $({
  target: 'JSON',
  stat: true,
  forced: FORCED_JSON_STRINGIFY
 }, {
  stringify: function stringify(it, replacer, space) {
   var args = [it];
   var index = 1;
   var $replacer;
   while (arguments.length > index)
    args.push(arguments[index++]);
   $replacer = replacer;
   if (!isObject(replacer) && it === undefined || isSymbol(it))
    return;
   if (!isArray(replacer))
    replacer = function (key, value) {
     if (typeof $replacer == 'function')
      value = $replacer.call(this, key, value);
     if (!isSymbol(value))
      return value;
    };
   args[1] = replacer;
   return $stringify.apply(null, args);
  }
 });
}
if (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {
 createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);
}
setToStringTag($Symbol, SYMBOL);
hiddenKeys[HIDDEN] = true;

/***/ }),
/* 171 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var toIndexedObject = __w_pdfjs_require__(17);
var nativeGetOwnPropertyNames = __w_pdfjs_require__(44).f;
var toString = {}.toString;
var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
var getWindowNames = function (it) {
 try {
  return nativeGetOwnPropertyNames(it);
 } catch (error) {
  return windowNames.slice();
 }
};
module.exports.f = function getOwnPropertyNames(it) {
 return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : nativeGetOwnPropertyNames(toIndexedObject(it));
};

/***/ }),
/* 172 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var wellKnownSymbol = __w_pdfjs_require__(57);
exports.f = wellKnownSymbol;

/***/ }),
/* 173 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var path = __w_pdfjs_require__(43);
var has = __w_pdfjs_require__(23);
var wrappedWellKnownSymbolModule = __w_pdfjs_require__(172);
var defineProperty = __w_pdfjs_require__(27).f;
module.exports = function (NAME) {
 var Symbol = path.Symbol || (path.Symbol = {});
 if (!has(Symbol, NAME))
  defineProperty(Symbol, NAME, { value: wrappedWellKnownSymbolModule.f(NAME) });
};

/***/ }),
/* 174 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('asyncIterator');

/***/ }),
/* 175 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var DESCRIPTORS = __w_pdfjs_require__(13);
var global = __w_pdfjs_require__(11);
var has = __w_pdfjs_require__(23);
var isObject = __w_pdfjs_require__(22);
var defineProperty = __w_pdfjs_require__(27).f;
var copyConstructorProperties = __w_pdfjs_require__(40);
var NativeSymbol = global.Symbol;
if (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) || NativeSymbol().description !== undefined)) {
 var EmptyStringDescriptionStore = {};
 var SymbolWrapper = function Symbol() {
  var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);
  var result = this instanceof SymbolWrapper ? new NativeSymbol(description) : description === undefined ? NativeSymbol() : NativeSymbol(description);
  if (description === '')
   EmptyStringDescriptionStore[result] = true;
  return result;
 };
 copyConstructorProperties(SymbolWrapper, NativeSymbol);
 var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;
 symbolPrototype.constructor = SymbolWrapper;
 var symbolToString = symbolPrototype.toString;
 var native = String(NativeSymbol('test')) == 'Symbol(test)';
 var regexp = /^Symbol\((.*)\)[^)]+$/;
 defineProperty(symbolPrototype, 'description', {
  configurable: true,
  get: function description() {
   var symbol = isObject(this) ? this.valueOf() : this;
   var string = symbolToString.call(symbol);
   if (has(EmptyStringDescriptionStore, symbol))
    return '';
   var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');
   return desc === '' ? undefined : desc;
  }
 });
 $({
  global: true,
  forced: true
 }, { Symbol: SymbolWrapper });
}

/***/ }),
/* 176 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('hasInstance');

/***/ }),
/* 177 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('isConcatSpreadable');

/***/ }),
/* 178 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('iterator');

/***/ }),
/* 179 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('match');

/***/ }),
/* 180 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('matchAll');

/***/ }),
/* 181 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('replace');

/***/ }),
/* 182 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('search');

/***/ }),
/* 183 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('species');

/***/ }),
/* 184 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('split');

/***/ }),
/* 185 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('toPrimitive');

/***/ }),
/* 186 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('toStringTag');

/***/ }),
/* 187 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var defineWellKnownSymbol = __w_pdfjs_require__(173);
defineWellKnownSymbol('unscopables');

/***/ }),
/* 188 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var setToStringTag = __w_pdfjs_require__(85);
setToStringTag(Math, 'Math', true);

/***/ }),
/* 189 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var global = __w_pdfjs_require__(11);
var setToStringTag = __w_pdfjs_require__(85);
setToStringTag(global.JSON, 'JSON', true);

/***/ }),
/* 190 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(191);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'padStart');

/***/ }),
/* 191 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var $padStart = __w_pdfjs_require__(192).start;
var WEBKIT_BUG = __w_pdfjs_require__(194);
$({
 target: 'String',
 proto: true,
 forced: WEBKIT_BUG
}, {
 padStart: function padStart(maxLength) {
  return $padStart(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
 }
});

/***/ }),
/* 192 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var toLength = __w_pdfjs_require__(47);
var repeat = __w_pdfjs_require__(193);
var requireObjectCoercible = __w_pdfjs_require__(20);
var ceil = Math.ceil;
var createMethod = function (IS_END) {
 return function ($this, maxLength, fillString) {
  var S = String(requireObjectCoercible($this));
  var stringLength = S.length;
  var fillStr = fillString === undefined ? ' ' : String(fillString);
  var intMaxLength = toLength(maxLength);
  var fillLen, stringFiller;
  if (intMaxLength <= stringLength || fillStr == '')
   return S;
  fillLen = intMaxLength - stringLength;
  stringFiller = repeat.call(fillStr, ceil(fillLen / fillStr.length));
  if (stringFiller.length > fillLen)
   stringFiller = stringFiller.slice(0, fillLen);
  return IS_END ? S + stringFiller : stringFiller + S;
 };
};
module.exports = {
 start: createMethod(false),
 end: createMethod(true)
};

/***/ }),
/* 193 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var toInteger = __w_pdfjs_require__(48);
var requireObjectCoercible = __w_pdfjs_require__(20);
module.exports = ''.repeat || function repeat(count) {
 var str = String(requireObjectCoercible(this));
 var result = '';
 var n = toInteger(count);
 if (n < 0 || n == Infinity)
  throw RangeError('Wrong number of repetitions');
 for (; n > 0; (n >>>= 1) && (str += str))
  if (n & 1)
   result += str;
 return result;
};

/***/ }),
/* 194 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var userAgent = __w_pdfjs_require__(129);
module.exports = /Version\/10\.\d+(\.\d+)?( Mobile\/\w+)? Safari\//.test(userAgent);

/***/ }),
/* 195 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(196);
var entryUnbind = __w_pdfjs_require__(61);
module.exports = entryUnbind('String', 'padEnd');

/***/ }),
/* 196 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";

var $ = __w_pdfjs_require__(10);
var $padEnd = __w_pdfjs_require__(192).end;
var WEBKIT_BUG = __w_pdfjs_require__(194);
$({
 target: 'String',
 proto: true,
 forced: WEBKIT_BUG
}, {
 padEnd: function padEnd(maxLength) {
  return $padEnd(this, maxLength, arguments.length > 1 ? arguments[1] : undefined);
 }
});

/***/ }),
/* 197 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(198);
var path = __w_pdfjs_require__(43);
module.exports = path.Object.values;

/***/ }),
/* 198 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var $values = __w_pdfjs_require__(199).values;
$({
 target: 'Object',
 stat: true
}, {
 values: function values(O) {
  return $values(O);
 }
});

/***/ }),
/* 199 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var DESCRIPTORS = __w_pdfjs_require__(13);
var objectKeys = __w_pdfjs_require__(73);
var toIndexedObject = __w_pdfjs_require__(17);
var propertyIsEnumerable = __w_pdfjs_require__(15).f;
var createMethod = function (TO_ENTRIES) {
 return function (it) {
  var O = toIndexedObject(it);
  var keys = objectKeys(O);
  var length = keys.length;
  var i = 0;
  var result = [];
  var key;
  while (length > i) {
   key = keys[i++];
   if (!DESCRIPTORS || propertyIsEnumerable.call(O, key)) {
    result.push(TO_ENTRIES ? [
     key,
     O[key]
    ] : O[key]);
   }
  }
  return result;
 };
};
module.exports = {
 entries: createMethod(true),
 values: createMethod(false)
};

/***/ }),
/* 200 */
/***/ (function(module, exports, __w_pdfjs_require__) {

__w_pdfjs_require__(201);
var path = __w_pdfjs_require__(43);
module.exports = path.Object.entries;

/***/ }),
/* 201 */
/***/ (function(module, exports, __w_pdfjs_require__) {

var $ = __w_pdfjs_require__(10);
var $entries = __w_pdfjs_require__(199).entries;
$({
 target: 'Object',
 stat: true
}, {
 entries: function entries(O) {
  return $entries(O);
 }
});

/***/ }),
/* 202 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.getDocument = getDocument;
exports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;
exports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

var _display_utils = __w_pdfjs_require__(1);

var _font_loader = __w_pdfjs_require__(203);

var _node_utils = __w_pdfjs_require__(204);

var _annotation_storage = __w_pdfjs_require__(205);

var _api_compatibility = __w_pdfjs_require__(206);

var _canvas = __w_pdfjs_require__(207);

var _worker_options = __w_pdfjs_require__(209);

var _is_node = __w_pdfjs_require__(7);

var _message_handler = __w_pdfjs_require__(210);

var _metadata = __w_pdfjs_require__(211);

var _optional_content_config = __w_pdfjs_require__(213);

var _transport_stream = __w_pdfjs_require__(214);

var _webgl = __w_pdfjs_require__(215);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var DEFAULT_RANGE_CHUNK_SIZE = 65536;
var RENDERING_CANCELLED_TIMEOUT = 100;
var DefaultCanvasFactory = _is_node.isNodeJS ? _node_utils.NodeCanvasFactory : _display_utils.DOMCanvasFactory;
var DefaultCMapReaderFactory = _is_node.isNodeJS ? _node_utils.NodeCMapReaderFactory : _display_utils.DOMCMapReaderFactory;
var createPDFNetworkStream;

function setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {
  createPDFNetworkStream = pdfNetworkStreamFactory;
}

function getDocument(src) {
  var task = new PDFDocumentLoadingTask();
  var source;

  if (typeof src === "string") {
    source = {
      url: src
    };
  } else if ((0, _util.isArrayBuffer)(src)) {
    source = {
      data: src
    };
  } else if (src instanceof PDFDataRangeTransport) {
    source = {
      range: src
    };
  } else {
    if (_typeof(src) !== "object") {
      throw new Error("Invalid parameter in getDocument, " + "need either Uint8Array, string or a parameter object");
    }

    if (!src.url && !src.data && !src.range) {
      throw new Error("Invalid parameter object: need either .data, .range or .url");
    }

    source = src;
  }

  var params = Object.create(null);
  var rangeTransport = null,
      worker = null;

  for (var key in source) {
    if (key === "url" && typeof window !== "undefined") {
      params[key] = new URL(source[key], window.location).href;
      continue;
    } else if (key === "range") {
      rangeTransport = source[key];
      continue;
    } else if (key === "worker") {
      worker = source[key];
      continue;
    } else if (key === "data" && !(source[key] instanceof Uint8Array)) {
      var pdfBytes = source[key];

      if (typeof pdfBytes === "string") {
        params[key] = (0, _util.stringToBytes)(pdfBytes);
      } else if (_typeof(pdfBytes) === "object" && pdfBytes !== null && !isNaN(pdfBytes.length)) {
        params[key] = new Uint8Array(pdfBytes);
      } else if ((0, _util.isArrayBuffer)(pdfBytes)) {
        params[key] = new Uint8Array(pdfBytes);
      } else {
        throw new Error("Invalid PDF binary data: either typed array, " + "string or array-like object is expected in the " + "data property.");
      }

      continue;
    }

    params[key] = source[key];
  }

  params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;
  params.CMapReaderFactory = params.CMapReaderFactory || DefaultCMapReaderFactory;
  params.ignoreErrors = params.stopAtErrors !== true;
  params.fontExtraProperties = params.fontExtraProperties === true;
  params.pdfBug = params.pdfBug === true;

  if (!Number.isInteger(params.maxImageSize)) {
    params.maxImageSize = -1;
  }

  if (typeof params.isEvalSupported !== "boolean") {
    params.isEvalSupported = true;
  }

  if (typeof params.disableFontFace !== "boolean") {
    params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;
  }

  if (typeof params.ownerDocument === "undefined") {
    params.ownerDocument = globalThis.document;
  }

  if (typeof params.disableRange !== "boolean") {
    params.disableRange = false;
  }

  if (typeof params.disableStream !== "boolean") {
    params.disableStream = false;
  }

  if (typeof params.disableAutoFetch !== "boolean") {
    params.disableAutoFetch = false;
  }

  (0, _util.setVerbosityLevel)(params.verbosity);

  if (!worker) {
    var workerParams = {
      verbosity: params.verbosity,
      port: _worker_options.GlobalWorkerOptions.workerPort
    };
    worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);
    task._worker = worker;
  }

  var docId = task.docId;
  worker.promise.then(function () {
    if (task.destroyed) {
      throw new Error("Loading aborted");
    }

    var workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);

    var networkStreamPromise = new Promise(function (resolve) {
      var networkStream;

      if (rangeTransport) {
        networkStream = new _transport_stream.PDFDataTransportStream({
          length: params.length,
          initialData: params.initialData,
          progressiveDone: params.progressiveDone,
          disableRange: params.disableRange,
          disableStream: params.disableStream
        }, rangeTransport);
      } else if (!params.data) {
        networkStream = createPDFNetworkStream({
          url: params.url,
          length: params.length,
          httpHeaders: params.httpHeaders,
          withCredentials: params.withCredentials,
          rangeChunkSize: params.rangeChunkSize,
          disableRange: params.disableRange,
          disableStream: params.disableStream
        });
      }

      resolve(networkStream);
    });
    return Promise.all([workerIdPromise, networkStreamPromise]).then(function (_ref) {
      var _ref2 = _slicedToArray(_ref, 2),
          workerId = _ref2[0],
          networkStream = _ref2[1];

      if (task.destroyed) {
        throw new Error("Loading aborted");
      }

      var messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);
      messageHandler.postMessageTransfers = worker.postMessageTransfers;
      var transport = new WorkerTransport(messageHandler, task, networkStream, params);
      task._transport = transport;
      messageHandler.send("Ready", null);
    });
  })["catch"](task._capability.reject);
  return task;
}

function _fetchDocument(worker, source, pdfDataRangeTransport, docId) {
  if (worker.destroyed) {
    return Promise.reject(new Error("Worker was destroyed"));
  }

  if (pdfDataRangeTransport) {
    source.length = pdfDataRangeTransport.length;
    source.initialData = pdfDataRangeTransport.initialData;
    source.progressiveDone = pdfDataRangeTransport.progressiveDone;
  }

  return worker.messageHandler.sendWithPromise("GetDocRequest", {
    docId: docId,
    apiVersion: '2.6.347',
    source: {
      data: source.data,
      url: source.url,
      password: source.password,
      disableAutoFetch: source.disableAutoFetch,
      rangeChunkSize: source.rangeChunkSize,
      length: source.length
    },
    maxImageSize: source.maxImageSize,
    disableFontFace: source.disableFontFace,
    postMessageTransfers: worker.postMessageTransfers,
    docBaseUrl: source.docBaseUrl,
    ignoreErrors: source.ignoreErrors,
    isEvalSupported: source.isEvalSupported,
    fontExtraProperties: source.fontExtraProperties
  }).then(function (workerId) {
    if (worker.destroyed) {
      throw new Error("Worker was destroyed");
    }

    return workerId;
  });
}

var PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {
  var nextDocumentId = 0;

  var PDFDocumentLoadingTask = /*#__PURE__*/function () {
    function PDFDocumentLoadingTask() {
      _classCallCheck(this, PDFDocumentLoadingTask);

      this._capability = (0, _util.createPromiseCapability)();
      this._transport = null;
      this._worker = null;
      this.docId = "d" + nextDocumentId++;
      this.destroyed = false;
      this.onPassword = null;
      this.onProgress = null;
      this.onUnsupportedFeature = null;
    }

    _createClass(PDFDocumentLoadingTask, [{
      key: "destroy",
      value: function destroy() {
        var _this = this;

        this.destroyed = true;
        var transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();
        return transportDestroyed.then(function () {
          _this._transport = null;

          if (_this._worker) {
            _this._worker.destroy();

            _this._worker = null;
          }
        });
      }
    }, {
      key: "promise",
      get: function get() {
        return this._capability.promise;
      }
    }]);

    return PDFDocumentLoadingTask;
  }();

  return PDFDocumentLoadingTask;
}();

var PDFDataRangeTransport = /*#__PURE__*/function () {
  function PDFDataRangeTransport(length, initialData) {
    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _classCallCheck(this, PDFDataRangeTransport);

    this.length = length;
    this.initialData = initialData;
    this.progressiveDone = progressiveDone;
    this._rangeListeners = [];
    this._progressListeners = [];
    this._progressiveReadListeners = [];
    this._progressiveDoneListeners = [];
    this._readyCapability = (0, _util.createPromiseCapability)();
  }

  _createClass(PDFDataRangeTransport, [{
    key: "addRangeListener",
    value: function addRangeListener(listener) {
      this._rangeListeners.push(listener);
    }
  }, {
    key: "addProgressListener",
    value: function addProgressListener(listener) {
      this._progressListeners.push(listener);
    }
  }, {
    key: "addProgressiveReadListener",
    value: function addProgressiveReadListener(listener) {
      this._progressiveReadListeners.push(listener);
    }
  }, {
    key: "addProgressiveDoneListener",
    value: function addProgressiveDoneListener(listener) {
      this._progressiveDoneListeners.push(listener);
    }
  }, {
    key: "onDataRange",
    value: function onDataRange(begin, chunk) {
      var _iterator = _createForOfIteratorHelper(this._rangeListeners),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var listener = _step.value;
          listener(begin, chunk);
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }
    }
  }, {
    key: "onDataProgress",
    value: function onDataProgress(loaded, total) {
      var _this2 = this;

      this._readyCapability.promise.then(function () {
        var _iterator2 = _createForOfIteratorHelper(_this2._progressListeners),
            _step2;

        try {
          for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
            var listener = _step2.value;
            listener(loaded, total);
          }
        } catch (err) {
          _iterator2.e(err);
        } finally {
          _iterator2.f();
        }
      });
    }
  }, {
    key: "onDataProgressiveRead",
    value: function onDataProgressiveRead(chunk) {
      var _this3 = this;

      this._readyCapability.promise.then(function () {
        var _iterator3 = _createForOfIteratorHelper(_this3._progressiveReadListeners),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var listener = _step3.value;
            listener(chunk);
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      });
    }
  }, {
    key: "onDataProgressiveDone",
    value: function onDataProgressiveDone() {
      var _this4 = this;

      this._readyCapability.promise.then(function () {
        var _iterator4 = _createForOfIteratorHelper(_this4._progressiveDoneListeners),
            _step4;

        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var listener = _step4.value;
            listener();
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }
      });
    }
  }, {
    key: "transportReady",
    value: function transportReady() {
      this._readyCapability.resolve();
    }
  }, {
    key: "requestDataRange",
    value: function requestDataRange(begin, end) {
      (0, _util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange");
    }
  }, {
    key: "abort",
    value: function abort() {}
  }]);

  return PDFDataRangeTransport;
}();

exports.PDFDataRangeTransport = PDFDataRangeTransport;

var PDFDocumentProxy = /*#__PURE__*/function () {
  function PDFDocumentProxy(pdfInfo, transport) {
    _classCallCheck(this, PDFDocumentProxy);

    this._pdfInfo = pdfInfo;
    this._transport = transport;
  }

  _createClass(PDFDocumentProxy, [{
    key: "getPage",
    value: function getPage(pageNumber) {
      return this._transport.getPage(pageNumber);
    }
  }, {
    key: "getPageIndex",
    value: function getPageIndex(ref) {
      return this._transport.getPageIndex(ref);
    }
  }, {
    key: "getDestinations",
    value: function getDestinations() {
      return this._transport.getDestinations();
    }
  }, {
    key: "getDestination",
    value: function getDestination(id) {
      return this._transport.getDestination(id);
    }
  }, {
    key: "getPageLabels",
    value: function getPageLabels() {
      return this._transport.getPageLabels();
    }
  }, {
    key: "getPageLayout",
    value: function getPageLayout() {
      return this._transport.getPageLayout();
    }
  }, {
    key: "getPageMode",
    value: function getPageMode() {
      return this._transport.getPageMode();
    }
  }, {
    key: "getViewerPreferences",
    value: function getViewerPreferences() {
      return this._transport.getViewerPreferences();
    }
  }, {
    key: "getOpenAction",
    value: function getOpenAction() {
      return this._transport.getOpenAction();
    }
  }, {
    key: "getAttachments",
    value: function getAttachments() {
      return this._transport.getAttachments();
    }
  }, {
    key: "getJavaScript",
    value: function getJavaScript() {
      return this._transport.getJavaScript();
    }
  }, {
    key: "getOutline",
    value: function getOutline() {
      return this._transport.getOutline();
    }
  }, {
    key: "getOptionalContentConfig",
    value: function getOptionalContentConfig() {
      return this._transport.getOptionalContentConfig();
    }
  }, {
    key: "getPermissions",
    value: function getPermissions() {
      return this._transport.getPermissions();
    }
  }, {
    key: "getMetadata",
    value: function getMetadata() {
      return this._transport.getMetadata();
    }
  }, {
    key: "getData",
    value: function getData() {
      return this._transport.getData();
    }
  }, {
    key: "getDownloadInfo",
    value: function getDownloadInfo() {
      return this._transport.downloadInfoCapability.promise;
    }
  }, {
    key: "getStats",
    value: function getStats() {
      return this._transport.getStats();
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      return this._transport.startCleanup();
    }
  }, {
    key: "destroy",
    value: function destroy() {
      return this.loadingTask.destroy();
    }
  }, {
    key: "saveDocument",
    value: function saveDocument(annotationStorage) {
      return this._transport.saveDocument(annotationStorage);
    }
  }, {
    key: "annotationStorage",
    get: function get() {
      return (0, _util.shadow)(this, "annotationStorage", new _annotation_storage.AnnotationStorage());
    }
  }, {
    key: "numPages",
    get: function get() {
      return this._pdfInfo.numPages;
    }
  }, {
    key: "fingerprint",
    get: function get() {
      return this._pdfInfo.fingerprint;
    }
  }, {
    key: "loadingParams",
    get: function get() {
      return this._transport.loadingParams;
    }
  }, {
    key: "loadingTask",
    get: function get() {
      return this._transport.loadingTask;
    }
  }]);

  return PDFDocumentProxy;
}();

exports.PDFDocumentProxy = PDFDocumentProxy;

var PDFPageProxy = /*#__PURE__*/function () {
  function PDFPageProxy(pageIndex, pageInfo, transport, ownerDocument) {
    var pdfBug = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;

    _classCallCheck(this, PDFPageProxy);

    this._pageIndex = pageIndex;
    this._pageInfo = pageInfo;
    this._ownerDocument = ownerDocument;
    this._transport = transport;
    this._stats = pdfBug ? new _display_utils.StatTimer() : null;
    this._pdfBug = pdfBug;
    this.commonObjs = transport.commonObjs;
    this.objs = new PDFObjects();
    this.cleanupAfterRender = false;
    this.pendingCleanup = false;
    this._intentStates = new Map();
    this.destroyed = false;
  }

  _createClass(PDFPageProxy, [{
    key: "getViewport",
    value: function getViewport() {
      var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          scale = _ref3.scale,
          _ref3$rotation = _ref3.rotation,
          rotation = _ref3$rotation === void 0 ? this.rotate : _ref3$rotation,
          _ref3$offsetX = _ref3.offsetX,
          offsetX = _ref3$offsetX === void 0 ? 0 : _ref3$offsetX,
          _ref3$offsetY = _ref3.offsetY,
          offsetY = _ref3$offsetY === void 0 ? 0 : _ref3$offsetY,
          _ref3$dontFlip = _ref3.dontFlip,
          dontFlip = _ref3$dontFlip === void 0 ? false : _ref3$dontFlip;

      return new _display_utils.PageViewport({
        viewBox: this.view,
        scale: scale,
        rotation: rotation,
        offsetX: offsetX,
        offsetY: offsetY,
        dontFlip: dontFlip
      });
    }
  }, {
    key: "getAnnotations",
    value: function getAnnotations() {
      var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref4$intent = _ref4.intent,
          intent = _ref4$intent === void 0 ? null : _ref4$intent;

      if (!this.annotationsPromise || this.annotationsIntent !== intent) {
        this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);
        this.annotationsIntent = intent;
      }

      return this.annotationsPromise;
    }
  }, {
    key: "render",
    value: function render(_ref5) {
      var _this5 = this;

      var canvasContext = _ref5.canvasContext,
          viewport = _ref5.viewport,
          _ref5$intent = _ref5.intent,
          intent = _ref5$intent === void 0 ? "display" : _ref5$intent,
          _ref5$enableWebGL = _ref5.enableWebGL,
          enableWebGL = _ref5$enableWebGL === void 0 ? false : _ref5$enableWebGL,
          _ref5$renderInteracti = _ref5.renderInteractiveForms,
          renderInteractiveForms = _ref5$renderInteracti === void 0 ? false : _ref5$renderInteracti,
          _ref5$transform = _ref5.transform,
          transform = _ref5$transform === void 0 ? null : _ref5$transform,
          _ref5$imageLayer = _ref5.imageLayer,
          imageLayer = _ref5$imageLayer === void 0 ? null : _ref5$imageLayer,
          _ref5$canvasFactory = _ref5.canvasFactory,
          canvasFactory = _ref5$canvasFactory === void 0 ? null : _ref5$canvasFactory,
          _ref5$background = _ref5.background,
          background = _ref5$background === void 0 ? null : _ref5$background,
          _ref5$annotationStora = _ref5.annotationStorage,
          annotationStorage = _ref5$annotationStora === void 0 ? null : _ref5$annotationStora,
          _ref5$optionalContent = _ref5.optionalContentConfigPromise,
          optionalContentConfigPromise = _ref5$optionalContent === void 0 ? null : _ref5$optionalContent;

      if (this._stats) {
        this._stats.time("Overall");
      }

      var renderingIntent = intent === "print" ? "print" : "display";
      this.pendingCleanup = false;

      if (!optionalContentConfigPromise) {
        optionalContentConfigPromise = this._transport.getOptionalContentConfig();
      }

      var intentState = this._intentStates.get(renderingIntent);

      if (!intentState) {
        intentState = Object.create(null);

        this._intentStates.set(renderingIntent, intentState);
      }

      if (intentState.streamReaderCancelTimeout) {
        clearTimeout(intentState.streamReaderCancelTimeout);
        intentState.streamReaderCancelTimeout = null;
      }

      var canvasFactoryInstance = canvasFactory || new DefaultCanvasFactory({
        ownerDocument: this._ownerDocument
      });
      var webGLContext = new _webgl.WebGLContext({
        enable: enableWebGL
      });

      if (!intentState.displayReadyCapability) {
        intentState.displayReadyCapability = (0, _util.createPromiseCapability)();
        intentState.operatorList = {
          fnArray: [],
          argsArray: [],
          lastChunk: false
        };

        if (this._stats) {
          this._stats.time("Page Request");
        }

        this._pumpOperatorList({
          pageIndex: this._pageIndex,
          intent: renderingIntent,
          renderInteractiveForms: renderInteractiveForms === true,
          annotationStorage: annotationStorage && annotationStorage.getAll() || null
        });
      }

      var complete = function complete(error) {
        var i = intentState.renderTasks.indexOf(internalRenderTask);

        if (i >= 0) {
          intentState.renderTasks.splice(i, 1);
        }

        if (_this5.cleanupAfterRender || renderingIntent === "print") {
          _this5.pendingCleanup = true;
        }

        _this5._tryCleanup();

        if (error) {
          internalRenderTask.capability.reject(error);

          _this5._abortOperatorList({
            intentState: intentState,
            reason: error
          });
        } else {
          internalRenderTask.capability.resolve();
        }

        if (_this5._stats) {
          _this5._stats.timeEnd("Rendering");

          _this5._stats.timeEnd("Overall");
        }
      };

      var internalRenderTask = new InternalRenderTask({
        callback: complete,
        params: {
          canvasContext: canvasContext,
          viewport: viewport,
          transform: transform,
          imageLayer: imageLayer,
          background: background
        },
        objs: this.objs,
        commonObjs: this.commonObjs,
        operatorList: intentState.operatorList,
        pageIndex: this._pageIndex,
        canvasFactory: canvasFactoryInstance,
        webGLContext: webGLContext,
        useRequestAnimationFrame: renderingIntent !== "print",
        pdfBug: this._pdfBug
      });

      if (!intentState.renderTasks) {
        intentState.renderTasks = [];
      }

      intentState.renderTasks.push(internalRenderTask);
      var renderTask = internalRenderTask.task;
      Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(function (_ref6) {
        var _ref7 = _slicedToArray(_ref6, 2),
            transparency = _ref7[0],
            optionalContentConfig = _ref7[1];

        if (_this5.pendingCleanup) {
          complete();
          return;
        }

        if (_this5._stats) {
          _this5._stats.time("Rendering");
        }

        internalRenderTask.initializeGraphics({
          transparency: transparency,
          optionalContentConfig: optionalContentConfig
        });
        internalRenderTask.operatorListChanged();
      })["catch"](complete);
      return renderTask;
    }
  }, {
    key: "getOperatorList",
    value: function getOperatorList() {
      function operatorListChanged() {
        if (intentState.operatorList.lastChunk) {
          intentState.opListReadCapability.resolve(intentState.operatorList);
          var i = intentState.renderTasks.indexOf(opListTask);

          if (i >= 0) {
            intentState.renderTasks.splice(i, 1);
          }
        }
      }

      var renderingIntent = "oplist";

      var intentState = this._intentStates.get(renderingIntent);

      if (!intentState) {
        intentState = Object.create(null);

        this._intentStates.set(renderingIntent, intentState);
      }

      var opListTask;

      if (!intentState.opListReadCapability) {
        opListTask = Object.create(null);
        opListTask.operatorListChanged = operatorListChanged;
        intentState.opListReadCapability = (0, _util.createPromiseCapability)();
        intentState.renderTasks = [];
        intentState.renderTasks.push(opListTask);
        intentState.operatorList = {
          fnArray: [],
          argsArray: [],
          lastChunk: false
        };

        if (this._stats) {
          this._stats.time("Page Request");
        }

        this._pumpOperatorList({
          pageIndex: this._pageIndex,
          intent: renderingIntent
        });
      }

      return intentState.opListReadCapability.promise;
    }
  }, {
    key: "streamTextContent",
    value: function streamTextContent() {
      var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref8$normalizeWhites = _ref8.normalizeWhitespace,
          normalizeWhitespace = _ref8$normalizeWhites === void 0 ? false : _ref8$normalizeWhites,
          _ref8$disableCombineT = _ref8.disableCombineTextItems,
          disableCombineTextItems = _ref8$disableCombineT === void 0 ? false : _ref8$disableCombineT;

      var TEXT_CONTENT_CHUNK_SIZE = 100;
      return this._transport.messageHandler.sendWithStream("GetTextContent", {
        pageIndex: this._pageIndex,
        normalizeWhitespace: normalizeWhitespace === true,
        combineTextItems: disableCombineTextItems !== true
      }, {
        highWaterMark: TEXT_CONTENT_CHUNK_SIZE,
        size: function size(textContent) {
          return textContent.items.length;
        }
      });
    }
  }, {
    key: "getTextContent",
    value: function getTextContent() {
      var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      var readableStream = this.streamTextContent(params);
      return new Promise(function (resolve, reject) {
        function pump() {
          reader.read().then(function (_ref9) {
            var _textContent$items;

            var value = _ref9.value,
                done = _ref9.done;

            if (done) {
              resolve(textContent);
              return;
            }

            Object.assign(textContent.styles, value.styles);

            (_textContent$items = textContent.items).push.apply(_textContent$items, _toConsumableArray(value.items));

            pump();
          }, reject);
        }

        var reader = readableStream.getReader();
        var textContent = {
          items: [],
          styles: Object.create(null)
        };
        pump();
      });
    }
  }, {
    key: "_destroy",
    value: function _destroy() {
      this.destroyed = true;
      this._transport.pageCache[this._pageIndex] = null;
      var waitOn = [];

      var _iterator5 = _createForOfIteratorHelper(this._intentStates),
          _step5;

      try {
        for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
          var _step5$value = _slicedToArray(_step5.value, 2),
              intent = _step5$value[0],
              intentState = _step5$value[1];

          this._abortOperatorList({
            intentState: intentState,
            reason: new Error("Page was destroyed."),
            force: true
          });

          if (intent === "oplist") {
            continue;
          }

          var _iterator6 = _createForOfIteratorHelper(intentState.renderTasks),
              _step6;

          try {
            for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
              var internalRenderTask = _step6.value;
              waitOn.push(internalRenderTask.completed);
              internalRenderTask.cancel();
            }
          } catch (err) {
            _iterator6.e(err);
          } finally {
            _iterator6.f();
          }
        }
      } catch (err) {
        _iterator5.e(err);
      } finally {
        _iterator5.f();
      }

      this.objs.clear();
      this.annotationsPromise = null;
      this.pendingCleanup = false;
      return Promise.all(waitOn);
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      this.pendingCleanup = true;
      return this._tryCleanup(resetStats);
    }
  }, {
    key: "_tryCleanup",
    value: function _tryCleanup() {
      var resetStats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this.pendingCleanup) {
        return false;
      }

      var _iterator7 = _createForOfIteratorHelper(this._intentStates.values()),
          _step7;

      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var _step7$value = _step7.value,
              renderTasks = _step7$value.renderTasks,
              operatorList = _step7$value.operatorList;

          if (renderTasks.length !== 0 || !operatorList.lastChunk) {
            return false;
          }
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }

      this._intentStates.clear();

      this.objs.clear();
      this.annotationsPromise = null;

      if (resetStats && this._stats) {
        this._stats = new _display_utils.StatTimer();
      }

      this.pendingCleanup = false;
      return true;
    }
  }, {
    key: "_startRenderPage",
    value: function _startRenderPage(transparency, intent) {
      var intentState = this._intentStates.get(intent);

      if (!intentState) {
        return;
      }

      if (this._stats) {
        this._stats.timeEnd("Page Request");
      }

      if (intentState.displayReadyCapability) {
        intentState.displayReadyCapability.resolve(transparency);
      }
    }
  }, {
    key: "_renderPageChunk",
    value: function _renderPageChunk(operatorListChunk, intentState) {
      for (var i = 0, ii = operatorListChunk.length; i < ii; i++) {
        intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);
        intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);
      }

      intentState.operatorList.lastChunk = operatorListChunk.lastChunk;

      for (var _i2 = 0; _i2 < intentState.renderTasks.length; _i2++) {
        intentState.renderTasks[_i2].operatorListChanged();
      }

      if (operatorListChunk.lastChunk) {
        this._tryCleanup();
      }
    }
  }, {
    key: "_pumpOperatorList",
    value: function _pumpOperatorList(args) {
      var _this6 = this;

      (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected "intent" argument.');

      var readableStream = this._transport.messageHandler.sendWithStream("GetOperatorList", args);

      var reader = readableStream.getReader();

      var intentState = this._intentStates.get(args.intent);

      intentState.streamReader = reader;

      var pump = function pump() {
        reader.read().then(function (_ref10) {
          var value = _ref10.value,
              done = _ref10.done;

          if (done) {
            intentState.streamReader = null;
            return;
          }

          if (_this6._transport.destroyed) {
            return;
          }

          _this6._renderPageChunk(value, intentState);

          pump();
        }, function (reason) {
          intentState.streamReader = null;

          if (_this6._transport.destroyed) {
            return;
          }

          if (intentState.operatorList) {
            intentState.operatorList.lastChunk = true;

            for (var i = 0; i < intentState.renderTasks.length; i++) {
              intentState.renderTasks[i].operatorListChanged();
            }

            _this6._tryCleanup();
          }

          if (intentState.displayReadyCapability) {
            intentState.displayReadyCapability.reject(reason);
          } else if (intentState.opListReadCapability) {
            intentState.opListReadCapability.reject(reason);
          } else {
            throw reason;
          }
        });
      };

      pump();
    }
  }, {
    key: "_abortOperatorList",
    value: function _abortOperatorList(_ref11) {
      var _this7 = this;

      var intentState = _ref11.intentState,
          reason = _ref11.reason,
          _ref11$force = _ref11.force,
          force = _ref11$force === void 0 ? false : _ref11$force;
      (0, _util.assert)(reason instanceof Error || _typeof(reason) === "object" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected "reason" argument.');

      if (!intentState.streamReader) {
        return;
      }

      if (!force) {
        if (intentState.renderTasks.length !== 0) {
          return;
        }

        if (reason instanceof _display_utils.RenderingCancelledException) {
          intentState.streamReaderCancelTimeout = setTimeout(function () {
            _this7._abortOperatorList({
              intentState: intentState,
              reason: reason,
              force: true
            });

            intentState.streamReaderCancelTimeout = null;
          }, RENDERING_CANCELLED_TIMEOUT);
          return;
        }
      }

      intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));
      intentState.streamReader = null;

      if (this._transport.destroyed) {
        return;
      }

      var _iterator8 = _createForOfIteratorHelper(this._intentStates),
          _step8;

      try {
        for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
          var _step8$value = _slicedToArray(_step8.value, 2),
              intent = _step8$value[0],
              curIntentState = _step8$value[1];

          if (curIntentState === intentState) {
            this._intentStates["delete"](intent);

            break;
          }
        }
      } catch (err) {
        _iterator8.e(err);
      } finally {
        _iterator8.f();
      }

      this.cleanup();
    }
  }, {
    key: "pageNumber",
    get: function get() {
      return this._pageIndex + 1;
    }
  }, {
    key: "rotate",
    get: function get() {
      return this._pageInfo.rotate;
    }
  }, {
    key: "ref",
    get: function get() {
      return this._pageInfo.ref;
    }
  }, {
    key: "userUnit",
    get: function get() {
      return this._pageInfo.userUnit;
    }
  }, {
    key: "view",
    get: function get() {
      return this._pageInfo.view;
    }
  }, {
    key: "stats",
    get: function get() {
      return this._stats;
    }
  }]);

  return PDFPageProxy;
}();

exports.PDFPageProxy = PDFPageProxy;

var LoopbackPort = /*#__PURE__*/function () {
  function LoopbackPort() {
    var defer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

    _classCallCheck(this, LoopbackPort);

    this._listeners = [];
    this._defer = defer;
    this._deferred = Promise.resolve(undefined);
  }

  _createClass(LoopbackPort, [{
    key: "postMessage",
    value: function postMessage(obj, transfers) {
      var _this8 = this;

      function cloneValue(value) {
        if (_typeof(value) !== "object" || value === null) {
          return value;
        }

        if (cloned.has(value)) {
          return cloned.get(value);
        }

        var buffer, result;

        if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {
          var transferable = transfers && transfers.includes(buffer);

          if (transferable) {
            result = new value.constructor(buffer, value.byteOffset, value.byteLength);
          } else {
            result = new value.constructor(value);
          }

          cloned.set(value, result);
          return result;
        }

        result = Array.isArray(value) ? [] : {};
        cloned.set(value, result);

        for (var i in value) {
          var desc = void 0,
              p = value;

          while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {
            p = Object.getPrototypeOf(p);
          }

          if (typeof desc.value === "undefined") {
            continue;
          }

          if (typeof desc.value === "function") {
            if (value.hasOwnProperty && value.hasOwnProperty(i)) {
              throw new Error("LoopbackPort.postMessage - cannot clone: ".concat(value[i]));
            }

            continue;
          }

          result[i] = cloneValue(desc.value);
        }

        return result;
      }

      if (!this._defer) {
        this._listeners.forEach(function (listener) {
          listener.call(_this8, {
            data: obj
          });
        });

        return;
      }

      var cloned = new WeakMap();
      var e = {
        data: cloneValue(obj)
      };

      this._deferred.then(function () {
        _this8._listeners.forEach(function (listener) {
          listener.call(_this8, e);
        });
      });
    }
  }, {
    key: "addEventListener",
    value: function addEventListener(name, listener) {
      this._listeners.push(listener);
    }
  }, {
    key: "removeEventListener",
    value: function removeEventListener(name, listener) {
      var i = this._listeners.indexOf(listener);

      this._listeners.splice(i, 1);
    }
  }, {
    key: "terminate",
    value: function terminate() {
      this._listeners.length = 0;
    }
  }]);

  return LoopbackPort;
}();

exports.LoopbackPort = LoopbackPort;

var PDFWorker = function PDFWorkerClosure() {
  var pdfWorkerPorts = new WeakMap();
  var isWorkerDisabled = false;
  var fallbackWorkerSrc;
  var nextFakeWorkerId = 0;
  var fakeWorkerCapability;

  if (_is_node.isNodeJS && "function" === "function") {
    isWorkerDisabled = true;
    fallbackWorkerSrc = "./pdf.worker.js";
  } else if ((typeof document === "undefined" ? "undefined" : _typeof(document)) === "object" && "currentScript" in document) {
    var pdfjsFilePath = document.currentScript && document.currentScript.src;

    if (pdfjsFilePath) {
      fallbackWorkerSrc = pdfjsFilePath.replace(/(\.(?:min\.)?js)(\?.*)?$/i, ".worker$1$2");
    }
  }

  function _getWorkerSrc() {
    if (_worker_options.GlobalWorkerOptions.workerSrc) {
      return _worker_options.GlobalWorkerOptions.workerSrc;
    }

    if (typeof fallbackWorkerSrc !== "undefined") {
      if (!_is_node.isNodeJS) {
        (0, _display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.');
      }

      return fallbackWorkerSrc;
    }

    throw new Error('No "GlobalWorkerOptions.workerSrc" specified.');
  }

  function getMainThreadWorkerMessageHandler() {
    var mainWorkerMessageHandler;

    try {
      mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;
    } catch (ex) {}

    return mainWorkerMessageHandler || null;
  }

  function setupFakeWorkerGlobal() {
    if (fakeWorkerCapability) {
      return fakeWorkerCapability.promise;
    }

    fakeWorkerCapability = (0, _util.createPromiseCapability)();

    var loader = /*#__PURE__*/function () {
      var _ref12 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var mainWorkerMessageHandler, worker;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();

                if (!mainWorkerMessageHandler) {
                  _context.next = 3;
                  break;
                }

                return _context.abrupt("return", mainWorkerMessageHandler);

              case 3:
                if (!(_is_node.isNodeJS && "function" === "function")) {
                  _context.next = 6;
                  break;
                }

                worker = eval("require")(_getWorkerSrc());
                return _context.abrupt("return", worker.WorkerMessageHandler);

              case 6:
                _context.next = 8;
                return (0, _display_utils.loadScript)(_getWorkerSrc());

              case 8:
                return _context.abrupt("return", window.pdfjsWorker.WorkerMessageHandler);

              case 9:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }));

      return function loader() {
        return _ref12.apply(this, arguments);
      };
    }();

    loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);
    return fakeWorkerCapability.promise;
  }

  function createCDNWrapper(url) {
    var wrapper = "importScripts('" + url + "');";
    return URL.createObjectURL(new Blob([wrapper]));
  }

  var PDFWorker = /*#__PURE__*/function () {
    function PDFWorker() {
      var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
          _ref13$name = _ref13.name,
          name = _ref13$name === void 0 ? null : _ref13$name,
          _ref13$port = _ref13.port,
          port = _ref13$port === void 0 ? null : _ref13$port,
          _ref13$verbosity = _ref13.verbosity,
          verbosity = _ref13$verbosity === void 0 ? (0, _util.getVerbosityLevel)() : _ref13$verbosity;

      _classCallCheck(this, PDFWorker);

      if (port && pdfWorkerPorts.has(port)) {
        throw new Error("Cannot use more than one PDFWorker per port");
      }

      this.name = name;
      this.destroyed = false;
      this.postMessageTransfers = true;
      this.verbosity = verbosity;
      this._readyCapability = (0, _util.createPromiseCapability)();
      this._port = null;
      this._webWorker = null;
      this._messageHandler = null;

      if (port) {
        pdfWorkerPorts.set(port, this);

        this._initializeFromPort(port);

        return;
      }

      this._initialize();
    }

    _createClass(PDFWorker, [{
      key: "_initializeFromPort",
      value: function _initializeFromPort(port) {
        this._port = port;
        this._messageHandler = new _message_handler.MessageHandler("main", "worker", port);

        this._messageHandler.on("ready", function () {});

        this._readyCapability.resolve();
      }
    }, {
      key: "_initialize",
      value: function _initialize() {
        var _this9 = this;

        if (typeof Worker !== "undefined" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {
          var workerSrc = _getWorkerSrc();

          try {
            if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {
              workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);
            }

            var worker = new Worker(workerSrc);
            var messageHandler = new _message_handler.MessageHandler("main", "worker", worker);

            var terminateEarly = function terminateEarly() {
              worker.removeEventListener("error", onWorkerError);
              messageHandler.destroy();
              worker.terminate();

              if (_this9.destroyed) {
                _this9._readyCapability.reject(new Error("Worker was destroyed"));
              } else {
                _this9._setupFakeWorker();
              }
            };

            var onWorkerError = function onWorkerError() {
              if (!_this9._webWorker) {
                terminateEarly();
              }
            };

            worker.addEventListener("error", onWorkerError);
            messageHandler.on("test", function (data) {
              worker.removeEventListener("error", onWorkerError);

              if (_this9.destroyed) {
                terminateEarly();
                return;
              }

              if (data) {
                _this9._messageHandler = messageHandler;
                _this9._port = worker;
                _this9._webWorker = worker;

                if (!data.supportTransfers) {
                  _this9.postMessageTransfers = false;
                }

                _this9._readyCapability.resolve();

                messageHandler.send("configure", {
                  verbosity: _this9.verbosity
                });
              } else {
                _this9._setupFakeWorker();

                messageHandler.destroy();
                worker.terminate();
              }
            });
            messageHandler.on("ready", function (data) {
              worker.removeEventListener("error", onWorkerError);

              if (_this9.destroyed) {
                terminateEarly();
                return;
              }

              try {
                sendTest();
              } catch (e) {
                _this9._setupFakeWorker();
              }
            });

            var sendTest = function sendTest() {
              var testObj = new Uint8Array([_this9.postMessageTransfers ? 255 : 0]);

              try {
                messageHandler.send("test", testObj, [testObj.buffer]);
              } catch (ex) {
                (0, _util.warn)("Cannot use postMessage transfers.");
                testObj[0] = 0;
                messageHandler.send("test", testObj);
              }
            };

            sendTest();
            return;
          } catch (e) {
            (0, _util.info)("The worker has been disabled.");
          }
        }

        this._setupFakeWorker();
      }
    }, {
      key: "_setupFakeWorker",
      value: function _setupFakeWorker() {
        var _this10 = this;

        if (!isWorkerDisabled) {
          (0, _util.warn)("Setting up fake worker.");
          isWorkerDisabled = true;
        }

        setupFakeWorkerGlobal().then(function (WorkerMessageHandler) {
          if (_this10.destroyed) {
            _this10._readyCapability.reject(new Error("Worker was destroyed"));

            return;
          }

          var port = new LoopbackPort();
          _this10._port = port;
          var id = "fake" + nextFakeWorkerId++;
          var workerHandler = new _message_handler.MessageHandler(id + "_worker", id, port);
          WorkerMessageHandler.setup(workerHandler, port);
          var messageHandler = new _message_handler.MessageHandler(id, id + "_worker", port);
          _this10._messageHandler = messageHandler;

          _this10._readyCapability.resolve();

          messageHandler.send("configure", {
            verbosity: _this10.verbosity
          });
        })["catch"](function (reason) {
          _this10._readyCapability.reject(new Error("Setting up fake worker failed: \"".concat(reason.message, "\".")));
        });
      }
    }, {
      key: "destroy",
      value: function destroy() {
        this.destroyed = true;

        if (this._webWorker) {
          this._webWorker.terminate();

          this._webWorker = null;
        }

        pdfWorkerPorts["delete"](this._port);
        this._port = null;

        if (this._messageHandler) {
          this._messageHandler.destroy();

          this._messageHandler = null;
        }
      }
    }, {
      key: "promise",
      get: function get() {
        return this._readyCapability.promise;
      }
    }, {
      key: "port",
      get: function get() {
        return this._port;
      }
    }, {
      key: "messageHandler",
      get: function get() {
        return this._messageHandler;
      }
    }], [{
      key: "fromPort",
      value: function fromPort(params) {
        if (!params || !params.port) {
          throw new Error("PDFWorker.fromPort - invalid method signature.");
        }

        if (pdfWorkerPorts.has(params.port)) {
          return pdfWorkerPorts.get(params.port);
        }

        return new PDFWorker(params);
      }
    }, {
      key: "getWorkerSrc",
      value: function getWorkerSrc() {
        return _getWorkerSrc();
      }
    }]);

    return PDFWorker;
  }();

  return PDFWorker;
}();

exports.PDFWorker = PDFWorker;

var WorkerTransport = /*#__PURE__*/function () {
  function WorkerTransport(messageHandler, loadingTask, networkStream, params) {
    _classCallCheck(this, WorkerTransport);

    this.messageHandler = messageHandler;
    this.loadingTask = loadingTask;
    this.commonObjs = new PDFObjects();
    this.fontLoader = new _font_loader.FontLoader({
      docId: loadingTask.docId,
      onUnsupportedFeature: this._onUnsupportedFeature.bind(this),
      ownerDocument: params.ownerDocument
    });
    this._params = params;
    this.CMapReaderFactory = new params.CMapReaderFactory({
      baseUrl: params.cMapUrl,
      isCompressed: params.cMapPacked
    });
    this.destroyed = false;
    this.destroyCapability = null;
    this._passwordCapability = null;
    this._networkStream = networkStream;
    this._fullReader = null;
    this._lastProgress = null;
    this.pageCache = [];
    this.pagePromises = [];
    this.downloadInfoCapability = (0, _util.createPromiseCapability)();
    this.setupMessageHandler();
  }

  _createClass(WorkerTransport, [{
    key: "destroy",
    value: function destroy() {
      var _this11 = this;

      if (this.destroyCapability) {
        return this.destroyCapability.promise;
      }

      this.destroyed = true;
      this.destroyCapability = (0, _util.createPromiseCapability)();

      if (this._passwordCapability) {
        this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));
      }

      var waitOn = [];
      this.pageCache.forEach(function (page) {
        if (page) {
          waitOn.push(page._destroy());
        }
      });
      this.pageCache.length = 0;
      this.pagePromises.length = 0;
      var terminated = this.messageHandler.sendWithPromise("Terminate", null);
      waitOn.push(terminated);
      Promise.all(waitOn).then(function () {
        _this11.fontLoader.clear();

        if (_this11._networkStream) {
          _this11._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated."));
        }

        if (_this11.messageHandler) {
          _this11.messageHandler.destroy();

          _this11.messageHandler = null;
        }

        _this11.destroyCapability.resolve();
      }, this.destroyCapability.reject);
      return this.destroyCapability.promise;
    }
  }, {
    key: "setupMessageHandler",
    value: function setupMessageHandler() {
      var _this12 = this;

      var messageHandler = this.messageHandler,
          loadingTask = this.loadingTask;
      messageHandler.on("GetReader", function (data, sink) {
        (0, _util.assert)(_this12._networkStream, "GetReader - no `IPDFStream` instance available.");
        _this12._fullReader = _this12._networkStream.getFullReader();

        _this12._fullReader.onProgress = function (evt) {
          _this12._lastProgress = {
            loaded: evt.loaded,
            total: evt.total
          };
        };

        sink.onPull = function () {
          _this12._fullReader.read().then(function (_ref14) {
            var value = _ref14.value,
                done = _ref14.done;

            if (done) {
              sink.close();
              return;
            }

            (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetReader - expected an ArrayBuffer.");
            sink.enqueue(new Uint8Array(value), 1, [value]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };

        sink.onCancel = function (reason) {
          _this12._fullReader.cancel(reason);

          sink.ready["catch"](function (readyReason) {
            if (_this12.destroyed) {
              return;
            }

            throw readyReason;
          });
        };
      });
      messageHandler.on("ReaderHeadersReady", function (data) {
        var headersCapability = (0, _util.createPromiseCapability)();
        var fullReader = _this12._fullReader;
        fullReader.headersReady.then(function () {
          if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {
            if (_this12._lastProgress && loadingTask.onProgress) {
              loadingTask.onProgress(_this12._lastProgress);
            }

            fullReader.onProgress = function (evt) {
              if (loadingTask.onProgress) {
                loadingTask.onProgress({
                  loaded: evt.loaded,
                  total: evt.total
                });
              }
            };
          }

          headersCapability.resolve({
            isStreamingSupported: fullReader.isStreamingSupported,
            isRangeSupported: fullReader.isRangeSupported,
            contentLength: fullReader.contentLength
          });
        }, headersCapability.reject);
        return headersCapability.promise;
      });
      messageHandler.on("GetRangeReader", function (data, sink) {
        (0, _util.assert)(_this12._networkStream, "GetRangeReader - no `IPDFStream` instance available.");

        var rangeReader = _this12._networkStream.getRangeReader(data.begin, data.end);

        if (!rangeReader) {
          sink.close();
          return;
        }

        sink.onPull = function () {
          rangeReader.read().then(function (_ref15) {
            var value = _ref15.value,
                done = _ref15.done;

            if (done) {
              sink.close();
              return;
            }

            (0, _util.assert)((0, _util.isArrayBuffer)(value), "GetRangeReader - expected an ArrayBuffer.");
            sink.enqueue(new Uint8Array(value), 1, [value]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };

        sink.onCancel = function (reason) {
          rangeReader.cancel(reason);
          sink.ready["catch"](function (readyReason) {
            if (_this12.destroyed) {
              return;
            }

            throw readyReason;
          });
        };
      });
      messageHandler.on("GetDoc", function (_ref16) {
        var pdfInfo = _ref16.pdfInfo;
        _this12._numPages = pdfInfo.numPages;

        loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, _this12));
      });
      messageHandler.on("DocException", function (ex) {
        var reason;

        switch (ex.name) {
          case "PasswordException":
            reason = new _util.PasswordException(ex.message, ex.code);
            break;

          case "InvalidPDFException":
            reason = new _util.InvalidPDFException(ex.message);
            break;

          case "MissingPDFException":
            reason = new _util.MissingPDFException(ex.message);
            break;

          case "UnexpectedResponseException":
            reason = new _util.UnexpectedResponseException(ex.message, ex.status);
            break;

          case "UnknownErrorException":
            reason = new _util.UnknownErrorException(ex.message, ex.details);
            break;
        }

        if (!(reason instanceof Error)) {
          var msg = "DocException - expected a valid Error.";
          (0, _util.warn)(msg);
        }

        loadingTask._capability.reject(reason);
      });
      messageHandler.on("PasswordRequest", function (exception) {
        _this12._passwordCapability = (0, _util.createPromiseCapability)();

        if (loadingTask.onPassword) {
          var updatePassword = function updatePassword(password) {
            _this12._passwordCapability.resolve({
              password: password
            });
          };

          try {
            loadingTask.onPassword(updatePassword, exception.code);
          } catch (ex) {
            _this12._passwordCapability.reject(ex);
          }
        } else {
          _this12._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));
        }

        return _this12._passwordCapability.promise;
      });
      messageHandler.on("DataLoaded", function (data) {
        if (loadingTask.onProgress) {
          loadingTask.onProgress({
            loaded: data.length,
            total: data.length
          });
        }

        _this12.downloadInfoCapability.resolve(data);
      });
      messageHandler.on("StartRenderPage", function (data) {
        if (_this12.destroyed) {
          return;
        }

        var page = _this12.pageCache[data.pageIndex];

        page._startRenderPage(data.transparency, data.intent);
      });
      messageHandler.on("commonobj", function (data) {
        if (_this12.destroyed) {
          return;
        }

        var _data = _slicedToArray(data, 3),
            id = _data[0],
            type = _data[1],
            exportedData = _data[2];

        if (_this12.commonObjs.has(id)) {
          return;
        }

        switch (type) {
          case "Font":
            var params = _this12._params;

            if ("error" in exportedData) {
              var exportedError = exportedData.error;
              (0, _util.warn)("Error during font loading: ".concat(exportedError));

              _this12.commonObjs.resolve(id, exportedError);

              break;
            }

            var fontRegistry = null;

            if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {
              fontRegistry = {
                registerFont: function registerFont(font, url) {
                  globalThis.FontInspector.fontAdded(font, url);
                }
              };
            }

            var font = new _font_loader.FontFaceObject(exportedData, {
              isEvalSupported: params.isEvalSupported,
              disableFontFace: params.disableFontFace,
              ignoreErrors: params.ignoreErrors,
              onUnsupportedFeature: _this12._onUnsupportedFeature.bind(_this12),
              fontRegistry: fontRegistry
            });

            _this12.fontLoader.bind(font)["catch"](function (reason) {
              return messageHandler.sendWithPromise("FontFallback", {
                id: id
              });
            })["finally"](function () {
              if (!params.fontExtraProperties && font.data) {
                font.data = null;
              }

              _this12.commonObjs.resolve(id, font);
            });

            break;

          case "FontPath":
          case "Image":
            _this12.commonObjs.resolve(id, exportedData);

            break;

          default:
            throw new Error("Got unknown common object type ".concat(type));
        }
      });
      messageHandler.on("obj", function (data) {
        if (_this12.destroyed) {
          return undefined;
        }

        var _data2 = _slicedToArray(data, 4),
            id = _data2[0],
            pageIndex = _data2[1],
            type = _data2[2],
            imageData = _data2[3];

        var pageProxy = _this12.pageCache[pageIndex];

        if (pageProxy.objs.has(id)) {
          return undefined;
        }

        switch (type) {
          case "Image":
            pageProxy.objs.resolve(id, imageData);
            var MAX_IMAGE_SIZE_TO_STORE = 8000000;

            if (imageData && "data" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {
              pageProxy.cleanupAfterRender = true;
            }

            break;

          default:
            throw new Error("Got unknown object type ".concat(type));
        }

        return undefined;
      });
      messageHandler.on("DocProgress", function (data) {
        if (_this12.destroyed) {
          return;
        }

        if (loadingTask.onProgress) {
          loadingTask.onProgress({
            loaded: data.loaded,
            total: data.total
          });
        }
      });
      messageHandler.on("UnsupportedFeature", this._onUnsupportedFeature.bind(this));
      messageHandler.on("FetchBuiltInCMap", function (data, sink) {
        if (_this12.destroyed) {
          sink.error(new Error("Worker was destroyed"));
          return;
        }

        var fetched = false;

        sink.onPull = function () {
          if (fetched) {
            sink.close();
            return;
          }

          fetched = true;

          _this12.CMapReaderFactory.fetch(data).then(function (builtInCMap) {
            sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);
          })["catch"](function (reason) {
            sink.error(reason);
          });
        };
      });
    }
  }, {
    key: "_onUnsupportedFeature",
    value: function _onUnsupportedFeature(_ref17) {
      var featureId = _ref17.featureId;

      if (this.destroyed) {
        return;
      }

      if (this.loadingTask.onUnsupportedFeature) {
        this.loadingTask.onUnsupportedFeature(featureId);
      }
    }
  }, {
    key: "getData",
    value: function getData() {
      return this.messageHandler.sendWithPromise("GetData", null);
    }
  }, {
    key: "getPage",
    value: function getPage(pageNumber) {
      var _this13 = this;

      if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {
        return Promise.reject(new Error("Invalid page request"));
      }

      var pageIndex = pageNumber - 1;

      if (pageIndex in this.pagePromises) {
        return this.pagePromises[pageIndex];
      }

      var promise = this.messageHandler.sendWithPromise("GetPage", {
        pageIndex: pageIndex
      }).then(function (pageInfo) {
        if (_this13.destroyed) {
          throw new Error("Transport destroyed");
        }

        var page = new PDFPageProxy(pageIndex, pageInfo, _this13, _this13._params.ownerDocument, _this13._params.pdfBug);
        _this13.pageCache[pageIndex] = page;
        return page;
      });
      this.pagePromises[pageIndex] = promise;
      return promise;
    }
  }, {
    key: "getPageIndex",
    value: function getPageIndex(ref) {
      return this.messageHandler.sendWithPromise("GetPageIndex", {
        ref: ref
      })["catch"](function (reason) {
        return Promise.reject(new Error(reason));
      });
    }
  }, {
    key: "getAnnotations",
    value: function getAnnotations(pageIndex, intent) {
      return this.messageHandler.sendWithPromise("GetAnnotations", {
        pageIndex: pageIndex,
        intent: intent
      });
    }
  }, {
    key: "saveDocument",
    value: function saveDocument(annotationStorage) {
      return this.messageHandler.sendWithPromise("SaveDocument", {
        numPages: this._numPages,
        annotationStorage: annotationStorage && annotationStorage.getAll() || null,
        filename: this._fullReader ? this._fullReader.filename : null
      })["finally"](function () {
        if (annotationStorage) {
          annotationStorage.resetModified();
        }
      });
    }
  }, {
    key: "getDestinations",
    value: function getDestinations() {
      return this.messageHandler.sendWithPromise("GetDestinations", null);
    }
  }, {
    key: "getDestination",
    value: function getDestination(id) {
      if (typeof id !== "string") {
        return Promise.reject(new Error("Invalid destination request."));
      }

      return this.messageHandler.sendWithPromise("GetDestination", {
        id: id
      });
    }
  }, {
    key: "getPageLabels",
    value: function getPageLabels() {
      return this.messageHandler.sendWithPromise("GetPageLabels", null);
    }
  }, {
    key: "getPageLayout",
    value: function getPageLayout() {
      return this.messageHandler.sendWithPromise("GetPageLayout", null);
    }
  }, {
    key: "getPageMode",
    value: function getPageMode() {
      return this.messageHandler.sendWithPromise("GetPageMode", null);
    }
  }, {
    key: "getViewerPreferences",
    value: function getViewerPreferences() {
      return this.messageHandler.sendWithPromise("GetViewerPreferences", null);
    }
  }, {
    key: "getOpenAction",
    value: function getOpenAction() {
      return this.messageHandler.sendWithPromise("GetOpenAction", null);
    }
  }, {
    key: "getAttachments",
    value: function getAttachments() {
      return this.messageHandler.sendWithPromise("GetAttachments", null);
    }
  }, {
    key: "getJavaScript",
    value: function getJavaScript() {
      return this.messageHandler.sendWithPromise("GetJavaScript", null);
    }
  }, {
    key: "getOutline",
    value: function getOutline() {
      return this.messageHandler.sendWithPromise("GetOutline", null);
    }
  }, {
    key: "getOptionalContentConfig",
    value: function getOptionalContentConfig() {
      return this.messageHandler.sendWithPromise("GetOptionalContentConfig", null).then(function (results) {
        return new _optional_content_config.OptionalContentConfig(results);
      });
    }
  }, {
    key: "getPermissions",
    value: function getPermissions() {
      return this.messageHandler.sendWithPromise("GetPermissions", null);
    }
  }, {
    key: "getMetadata",
    value: function getMetadata() {
      var _this14 = this;

      return this.messageHandler.sendWithPromise("GetMetadata", null).then(function (results) {
        return {
          info: results[0],
          metadata: results[1] ? new _metadata.Metadata(results[1]) : null,
          contentDispositionFilename: _this14._fullReader ? _this14._fullReader.filename : null
        };
      });
    }
  }, {
    key: "getStats",
    value: function getStats() {
      return this.messageHandler.sendWithPromise("GetStats", null);
    }
  }, {
    key: "startCleanup",
    value: function startCleanup() {
      var _this15 = this;

      return this.messageHandler.sendWithPromise("Cleanup", null).then(function () {
        for (var i = 0, ii = _this15.pageCache.length; i < ii; i++) {
          var page = _this15.pageCache[i];

          if (page) {
            var cleanupSuccessful = page.cleanup();

            if (!cleanupSuccessful) {
              throw new Error("startCleanup: Page ".concat(i + 1, " is currently rendering."));
            }
          }
        }

        _this15.commonObjs.clear();

        _this15.fontLoader.clear();
      });
    }
  }, {
    key: "loadingParams",
    get: function get() {
      var params = this._params;
      return (0, _util.shadow)(this, "loadingParams", {
        disableAutoFetch: params.disableAutoFetch,
        disableFontFace: params.disableFontFace
      });
    }
  }]);

  return WorkerTransport;
}();

var PDFObjects = /*#__PURE__*/function () {
  function PDFObjects() {
    _classCallCheck(this, PDFObjects);

    this._objs = Object.create(null);
  }

  _createClass(PDFObjects, [{
    key: "_ensureObj",
    value: function _ensureObj(objId) {
      if (this._objs[objId]) {
        return this._objs[objId];
      }

      return this._objs[objId] = {
        capability: (0, _util.createPromiseCapability)(),
        data: null,
        resolved: false
      };
    }
  }, {
    key: "get",
    value: function get(objId) {
      var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

      if (callback) {
        this._ensureObj(objId).capability.promise.then(callback);

        return null;
      }

      var obj = this._objs[objId];

      if (!obj || !obj.resolved) {
        throw new Error("Requesting object that isn't resolved yet ".concat(objId, "."));
      }

      return obj.data;
    }
  }, {
    key: "has",
    value: function has(objId) {
      var obj = this._objs[objId];
      return obj ? obj.resolved : false;
    }
  }, {
    key: "resolve",
    value: function resolve(objId, data) {
      var obj = this._ensureObj(objId);

      obj.resolved = true;
      obj.data = data;
      obj.capability.resolve(data);
    }
  }, {
    key: "clear",
    value: function clear() {
      this._objs = Object.create(null);
    }
  }]);

  return PDFObjects;
}();

var RenderTask = /*#__PURE__*/function () {
  function RenderTask(internalRenderTask) {
    _classCallCheck(this, RenderTask);

    this._internalRenderTask = internalRenderTask;
    this.onContinue = null;
  }

  _createClass(RenderTask, [{
    key: "cancel",
    value: function cancel() {
      this._internalRenderTask.cancel();
    }
  }, {
    key: "promise",
    get: function get() {
      return this._internalRenderTask.capability.promise;
    }
  }]);

  return RenderTask;
}();

var InternalRenderTask = function InternalRenderTaskClosure() {
  var canvasInRendering = new WeakSet();

  var InternalRenderTask = /*#__PURE__*/function () {
    function InternalRenderTask(_ref18) {
      var callback = _ref18.callback,
          params = _ref18.params,
          objs = _ref18.objs,
          commonObjs = _ref18.commonObjs,
          operatorList = _ref18.operatorList,
          pageIndex = _ref18.pageIndex,
          canvasFactory = _ref18.canvasFactory,
          webGLContext = _ref18.webGLContext,
          _ref18$useRequestAnim = _ref18.useRequestAnimationFrame,
          useRequestAnimationFrame = _ref18$useRequestAnim === void 0 ? false : _ref18$useRequestAnim,
          _ref18$pdfBug = _ref18.pdfBug,
          pdfBug = _ref18$pdfBug === void 0 ? false : _ref18$pdfBug;

      _classCallCheck(this, InternalRenderTask);

      this.callback = callback;
      this.params = params;
      this.objs = objs;
      this.commonObjs = commonObjs;
      this.operatorListIdx = null;
      this.operatorList = operatorList;
      this._pageIndex = pageIndex;
      this.canvasFactory = canvasFactory;
      this.webGLContext = webGLContext;
      this._pdfBug = pdfBug;
      this.running = false;
      this.graphicsReadyCallback = null;
      this.graphicsReady = false;
      this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== "undefined";
      this.cancelled = false;
      this.capability = (0, _util.createPromiseCapability)();
      this.task = new RenderTask(this);
      this._continueBound = this._continue.bind(this);
      this._scheduleNextBound = this._scheduleNext.bind(this);
      this._nextBound = this._next.bind(this);
      this._canvas = params.canvasContext.canvas;
    }

    _createClass(InternalRenderTask, [{
      key: "initializeGraphics",
      value: function initializeGraphics(_ref19) {
        var _ref19$transparency = _ref19.transparency,
            transparency = _ref19$transparency === void 0 ? false : _ref19$transparency,
            optionalContentConfig = _ref19.optionalContentConfig;

        if (this.cancelled) {
          return;
        }

        if (this._canvas) {
          if (canvasInRendering.has(this._canvas)) {
            throw new Error("Cannot use the same canvas during multiple render() operations. " + "Use different canvas or ensure previous operations were " + "cancelled or completed.");
          }

          canvasInRendering.add(this._canvas);
        }

        if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {
          this.stepper = globalThis.StepperManager.create(this._pageIndex);
          this.stepper.init(this.operatorList);
          this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();
        }

        var _this$params = this.params,
            canvasContext = _this$params.canvasContext,
            viewport = _this$params.viewport,
            transform = _this$params.transform,
            imageLayer = _this$params.imageLayer,
            background = _this$params.background;
        this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer, optionalContentConfig);
        this.gfx.beginDrawing({
          transform: transform,
          viewport: viewport,
          transparency: transparency,
          background: background
        });
        this.operatorListIdx = 0;
        this.graphicsReady = true;

        if (this.graphicsReadyCallback) {
          this.graphicsReadyCallback();
        }
      }
    }, {
      key: "cancel",
      value: function cancel() {
        var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
        this.running = false;
        this.cancelled = true;

        if (this.gfx) {
          this.gfx.endDrawing();
        }

        if (this._canvas) {
          canvasInRendering["delete"](this._canvas);
        }

        this.callback(error || new _display_utils.RenderingCancelledException("Rendering cancelled, page ".concat(this._pageIndex + 1), "canvas"));
      }
    }, {
      key: "operatorListChanged",
      value: function operatorListChanged() {
        if (!this.graphicsReady) {
          if (!this.graphicsReadyCallback) {
            this.graphicsReadyCallback = this._continueBound;
          }

          return;
        }

        if (this.stepper) {
          this.stepper.updateOperatorList(this.operatorList);
        }

        if (this.running) {
          return;
        }

        this._continue();
      }
    }, {
      key: "_continue",
      value: function _continue() {
        this.running = true;

        if (this.cancelled) {
          return;
        }

        if (this.task.onContinue) {
          this.task.onContinue(this._scheduleNextBound);
        } else {
          this._scheduleNext();
        }
      }
    }, {
      key: "_scheduleNext",
      value: function _scheduleNext() {
        var _this16 = this;

        if (this._useRequestAnimationFrame) {
          window.requestAnimationFrame(function () {
            _this16._nextBound()["catch"](_this16.cancel.bind(_this16));
          });
        } else {
          Promise.resolve().then(this._nextBound)["catch"](this.cancel.bind(this));
        }
      }
    }, {
      key: "_next",
      value: function () {
        var _next2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
          return _regenerator["default"].wrap(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  if (!this.cancelled) {
                    _context2.next = 2;
                    break;
                  }

                  return _context2.abrupt("return");

                case 2:
                  this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);

                  if (this.operatorListIdx === this.operatorList.argsArray.length) {
                    this.running = false;

                    if (this.operatorList.lastChunk) {
                      this.gfx.endDrawing();

                      if (this._canvas) {
                        canvasInRendering["delete"](this._canvas);
                      }

                      this.callback();
                    }
                  }

                case 4:
                case "end":
                  return _context2.stop();
              }
            }
          }, _callee2, this);
        }));

        function _next() {
          return _next2.apply(this, arguments);
        }

        return _next;
      }()
    }, {
      key: "completed",
      get: function get() {
        return this.capability.promise["catch"](function () {});
      }
    }]);

    return InternalRenderTask;
  }();

  return InternalRenderTask;
}();

var version = '2.6.347';
exports.version = version;
var build = '3be9c65f';
exports.build = build;

/***/ }),
/* 203 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.FontLoader = exports.FontFaceObject = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var BaseFontLoader = /*#__PURE__*/function () {
  function BaseFontLoader(_ref) {
    var docId = _ref.docId,
        onUnsupportedFeature = _ref.onUnsupportedFeature,
        _ref$ownerDocument = _ref.ownerDocument,
        ownerDocument = _ref$ownerDocument === void 0 ? globalThis.document : _ref$ownerDocument;

    _classCallCheck(this, BaseFontLoader);

    if (this.constructor === BaseFontLoader) {
      (0, _util.unreachable)("Cannot initialize BaseFontLoader.");
    }

    this.docId = docId;
    this._onUnsupportedFeature = onUnsupportedFeature;
    this._document = ownerDocument;
    this.nativeFontFaces = [];
    this.styleElement = null;
  }

  _createClass(BaseFontLoader, [{
    key: "addNativeFontFace",
    value: function addNativeFontFace(nativeFontFace) {
      this.nativeFontFaces.push(nativeFontFace);

      this._document.fonts.add(nativeFontFace);
    }
  }, {
    key: "insertRule",
    value: function insertRule(rule) {
      var styleElement = this.styleElement;

      if (!styleElement) {
        styleElement = this.styleElement = this._document.createElement("style");
        styleElement.id = "PDFJS_FONT_STYLE_TAG_".concat(this.docId);

        this._document.documentElement.getElementsByTagName("head")[0].appendChild(styleElement);
      }

      var styleSheet = styleElement.sheet;
      styleSheet.insertRule(rule, styleSheet.cssRules.length);
    }
  }, {
    key: "clear",
    value: function clear() {
      var _this = this;

      this.nativeFontFaces.forEach(function (nativeFontFace) {
        _this._document.fonts["delete"](nativeFontFace);
      });
      this.nativeFontFaces.length = 0;

      if (this.styleElement) {
        this.styleElement.remove();
        this.styleElement = null;
      }
    }
  }, {
    key: "bind",
    value: function () {
      var _bind = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(font) {
        var _this2 = this;

        var nativeFontFace, rule;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(font.attached || font.missingFile)) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return");

              case 2:
                font.attached = true;

                if (!this.isFontLoadingAPISupported) {
                  _context.next = 19;
                  break;
                }

                nativeFontFace = font.createNativeFontFace();

                if (!nativeFontFace) {
                  _context.next = 18;
                  break;
                }

                this.addNativeFontFace(nativeFontFace);
                _context.prev = 7;
                _context.next = 10;
                return nativeFontFace.loaded;

              case 10:
                _context.next = 18;
                break;

              case 12:
                _context.prev = 12;
                _context.t0 = _context["catch"](7);

                this._onUnsupportedFeature({
                  featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative
                });

                (0, _util.warn)("Failed to load font '".concat(nativeFontFace.family, "': '").concat(_context.t0, "'."));
                font.disableFontFace = true;
                throw _context.t0;

              case 18:
                return _context.abrupt("return");

              case 19:
                rule = font.createFontFaceRule();

                if (!rule) {
                  _context.next = 26;
                  break;
                }

                this.insertRule(rule);

                if (!this.isSyncFontLoadingSupported) {
                  _context.next = 24;
                  break;
                }

                return _context.abrupt("return");

              case 24:
                _context.next = 26;
                return new Promise(function (resolve) {
                  var request = _this2._queueLoadingCallback(resolve);

                  _this2._prepareFontLoadEvent([rule], [font], request);
                });

              case 26:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[7, 12]]);
      }));

      function bind(_x) {
        return _bind.apply(this, arguments);
      }

      return bind;
    }()
  }, {
    key: "_queueLoadingCallback",
    value: function _queueLoadingCallback(callback) {
      (0, _util.unreachable)("Abstract method `_queueLoadingCallback`.");
    }
  }, {
    key: "_prepareFontLoadEvent",
    value: function _prepareFontLoadEvent(rules, fontsToLoad, request) {
      (0, _util.unreachable)("Abstract method `_prepareFontLoadEvent`.");
    }
  }, {
    key: "isFontLoadingAPISupported",
    get: function get() {
      var supported = typeof this._document !== "undefined" && !!this._document.fonts;
      return (0, _util.shadow)(this, "isFontLoadingAPISupported", supported);
    }
  }, {
    key: "isSyncFontLoadingSupported",
    get: function get() {
      (0, _util.unreachable)("Abstract method `isSyncFontLoadingSupported`.");
    }
  }, {
    key: "_loadTestFont",
    get: function get() {
      (0, _util.unreachable)("Abstract method `_loadTestFont`.");
    }
  }]);

  return BaseFontLoader;
}();

var FontLoader;
exports.FontLoader = FontLoader;
{
  exports.FontLoader = FontLoader = /*#__PURE__*/function (_BaseFontLoader) {
    _inherits(GenericFontLoader, _BaseFontLoader);

    var _super = _createSuper(GenericFontLoader);

    function GenericFontLoader(params) {
      var _this3;

      _classCallCheck(this, GenericFontLoader);

      _this3 = _super.call(this, params);
      _this3.loadingContext = {
        requests: [],
        nextRequestId: 0
      };
      _this3.loadTestFontId = 0;
      return _this3;
    }

    _createClass(GenericFontLoader, [{
      key: "_queueLoadingCallback",
      value: function _queueLoadingCallback(callback) {
        function completeRequest() {
          (0, _util.assert)(!request.done, "completeRequest() cannot be called twice.");
          request.done = true;

          while (context.requests.length > 0 && context.requests[0].done) {
            var otherRequest = context.requests.shift();
            setTimeout(otherRequest.callback, 0);
          }
        }

        var context = this.loadingContext;
        var request = {
          id: "pdfjs-font-loading-".concat(context.nextRequestId++),
          done: false,
          complete: completeRequest,
          callback: callback
        };
        context.requests.push(request);
        return request;
      }
    }, {
      key: "_prepareFontLoadEvent",
      value: function _prepareFontLoadEvent(rules, fonts, request) {
        var _this4 = this;

        function int32(data, offset) {
          return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;
        }

        function spliceString(s, offset, remove, insert) {
          var chunk1 = s.substring(0, offset);
          var chunk2 = s.substring(offset + remove);
          return chunk1 + insert + chunk2;
        }

        var i, ii;

        var canvas = this._document.createElement("canvas");

        canvas.width = 1;
        canvas.height = 1;
        var ctx = canvas.getContext("2d");
        var called = 0;

        function isFontReady(name, callback) {
          called++;

          if (called > 30) {
            (0, _util.warn)("Load test font never loaded.");
            callback();
            return;
          }

          ctx.font = "30px " + name;
          ctx.fillText(".", 0, 20);
          var imageData = ctx.getImageData(0, 0, 1, 1);

          if (imageData.data[3] > 0) {
            callback();
            return;
          }

          setTimeout(isFontReady.bind(null, name, callback));
        }

        var loadTestFontId = "lt".concat(Date.now()).concat(this.loadTestFontId++);
        var data = this._loadTestFont;
        var COMMENT_OFFSET = 976;
        data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);
        var CFF_CHECKSUM_OFFSET = 16;
        var XXXX_VALUE = 0x58585858;
        var checksum = int32(data, CFF_CHECKSUM_OFFSET);

        for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {
          checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;
        }

        if (i < loadTestFontId.length) {
          checksum = checksum - XXXX_VALUE + int32(loadTestFontId + "XXX", i) | 0;
        }

        data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));
        var url = "url(data:font/opentype;base64,".concat(btoa(data), ");");
        var rule = "@font-face {font-family:\"".concat(loadTestFontId, "\";src:").concat(url, "}");
        this.insertRule(rule);
        var names = [];

        for (i = 0, ii = fonts.length; i < ii; i++) {
          names.push(fonts[i].loadedName);
        }

        names.push(loadTestFontId);

        var div = this._document.createElement("div");

        div.style.visibility = "hidden";
        div.style.width = div.style.height = "10px";
        div.style.position = "absolute";
        div.style.top = div.style.left = "0px";

        for (i = 0, ii = names.length; i < ii; ++i) {
          var span = this._document.createElement("span");

          span.textContent = "Hi";
          span.style.fontFamily = names[i];
          div.appendChild(span);
        }

        this._document.body.appendChild(div);

        isFontReady(loadTestFontId, function () {
          _this4._document.body.removeChild(div);

          request.complete();
        });
      }
    }, {
      key: "isSyncFontLoadingSupported",
      get: function get() {
        var supported = false;

        if (typeof navigator === "undefined") {
          supported = true;
        } else {
          var m = /Mozilla\/5.0.*?rv:(\d+).*? Gecko/.exec(navigator.userAgent);

          if (m && m[1] >= 14) {
            supported = true;
          }
        }

        return (0, _util.shadow)(this, "isSyncFontLoadingSupported", supported);
      }
    }, {
      key: "_loadTestFont",
      get: function get() {
        var getLoadTestFont = function getLoadTestFont() {
          return atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA" + "FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA" + "ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA" + "AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1" + "AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD" + "6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM" + "AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D" + "IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA" + "AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA" + "AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB" + "AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY" + "AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA" + "AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA" + "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA" + "AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC" + "AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3" + "Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj" + "FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");
        };

        return (0, _util.shadow)(this, "_loadTestFont", getLoadTestFont());
      }
    }]);

    return GenericFontLoader;
  }(BaseFontLoader);
}

var FontFaceObject = /*#__PURE__*/function () {
  function FontFaceObject(translatedData, _ref2) {
    var _ref2$isEvalSupported = _ref2.isEvalSupported,
        isEvalSupported = _ref2$isEvalSupported === void 0 ? true : _ref2$isEvalSupported,
        _ref2$disableFontFace = _ref2.disableFontFace,
        disableFontFace = _ref2$disableFontFace === void 0 ? false : _ref2$disableFontFace,
        _ref2$ignoreErrors = _ref2.ignoreErrors,
        ignoreErrors = _ref2$ignoreErrors === void 0 ? false : _ref2$ignoreErrors,
        _ref2$onUnsupportedFe = _ref2.onUnsupportedFeature,
        onUnsupportedFeature = _ref2$onUnsupportedFe === void 0 ? null : _ref2$onUnsupportedFe,
        _ref2$fontRegistry = _ref2.fontRegistry,
        fontRegistry = _ref2$fontRegistry === void 0 ? null : _ref2$fontRegistry;

    _classCallCheck(this, FontFaceObject);

    this.compiledGlyphs = Object.create(null);

    for (var i in translatedData) {
      this[i] = translatedData[i];
    }

    this.isEvalSupported = isEvalSupported !== false;
    this.disableFontFace = disableFontFace === true;
    this.ignoreErrors = ignoreErrors === true;
    this._onUnsupportedFeature = onUnsupportedFeature;
    this.fontRegistry = fontRegistry;
  }

  _createClass(FontFaceObject, [{
    key: "createNativeFontFace",
    value: function createNativeFontFace() {
      if (!this.data || this.disableFontFace) {
        return null;
      }

      var nativeFontFace = new FontFace(this.loadedName, this.data, {});

      if (this.fontRegistry) {
        this.fontRegistry.registerFont(this);
      }

      return nativeFontFace;
    }
  }, {
    key: "createFontFaceRule",
    value: function createFontFaceRule() {
      if (!this.data || this.disableFontFace) {
        return null;
      }

      var data = (0, _util.bytesToString)(new Uint8Array(this.data));
      var url = "url(data:".concat(this.mimetype, ";base64,").concat(btoa(data), ");");
      var rule = "@font-face {font-family:\"".concat(this.loadedName, "\";src:").concat(url, "}");

      if (this.fontRegistry) {
        this.fontRegistry.registerFont(this, url);
      }

      return rule;
    }
  }, {
    key: "getPathGenerator",
    value: function getPathGenerator(objs, character) {
      if (this.compiledGlyphs[character] !== undefined) {
        return this.compiledGlyphs[character];
      }

      var cmds, current;

      try {
        cmds = objs.get(this.loadedName + "_path_" + character);
      } catch (ex) {
        if (!this.ignoreErrors) {
          throw ex;
        }

        if (this._onUnsupportedFeature) {
          this._onUnsupportedFeature({
            featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath
          });
        }

        (0, _util.warn)("getPathGenerator - ignoring character: \"".concat(ex, "\"."));
        return this.compiledGlyphs[character] = function (c, size) {};
      }

      if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {
        var args,
            js = "";

        for (var i = 0, ii = cmds.length; i < ii; i++) {
          current = cmds[i];

          if (current.args !== undefined) {
            args = current.args.join(",");
          } else {
            args = "";
          }

          js += "c." + current.cmd + "(" + args + ");\n";
        }

        return this.compiledGlyphs[character] = new Function("c", "size", js);
      }

      return this.compiledGlyphs[character] = function (c, size) {
        for (var _i = 0, _ii = cmds.length; _i < _ii; _i++) {
          current = cmds[_i];

          if (current.cmd === "scale") {
            current.args = [size, -size];
          }

          c[current.cmd].apply(c, current.args);
        }
      };
    }
  }]);

  return FontFaceObject;
}();

exports.FontFaceObject = FontFaceObject;

/***/ }),
/* 204 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.NodeCMapReaderFactory = exports.NodeCanvasFactory = void 0;

var _display_utils = __w_pdfjs_require__(1);

var _is_node = __w_pdfjs_require__(7);

var _util = __w_pdfjs_require__(5);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var NodeCanvasFactory = function NodeCanvasFactory() {
  _classCallCheck(this, NodeCanvasFactory);

  (0, _util.unreachable)("Not implemented: NodeCanvasFactory");
};

exports.NodeCanvasFactory = NodeCanvasFactory;

var NodeCMapReaderFactory = function NodeCMapReaderFactory() {
  _classCallCheck(this, NodeCMapReaderFactory);

  (0, _util.unreachable)("Not implemented: NodeCMapReaderFactory");
};

exports.NodeCMapReaderFactory = NodeCMapReaderFactory;

if (_is_node.isNodeJS) {
  exports.NodeCanvasFactory = NodeCanvasFactory = /*#__PURE__*/function (_BaseCanvasFactory) {
    _inherits(NodeCanvasFactory, _BaseCanvasFactory);

    var _super = _createSuper(NodeCanvasFactory);

    function NodeCanvasFactory() {
      _classCallCheck(this, NodeCanvasFactory);

      return _super.apply(this, arguments);
    }

    _createClass(NodeCanvasFactory, [{
      key: "create",
      value: function create(width, height) {
        if (width <= 0 || height <= 0) {
          throw new Error("Invalid canvas size");
        }

        var Canvas = __webpack_require__(7);

        var canvas = Canvas.createCanvas(width, height);
        return {
          canvas: canvas,
          context: canvas.getContext("2d")
        };
      }
    }]);

    return NodeCanvasFactory;
  }(_display_utils.BaseCanvasFactory);

  exports.NodeCMapReaderFactory = NodeCMapReaderFactory = /*#__PURE__*/function (_BaseCMapReaderFactor) {
    _inherits(NodeCMapReaderFactory, _BaseCMapReaderFactor);

    var _super2 = _createSuper(NodeCMapReaderFactory);

    function NodeCMapReaderFactory() {
      _classCallCheck(this, NodeCMapReaderFactory);

      return _super2.apply(this, arguments);
    }

    _createClass(NodeCMapReaderFactory, [{
      key: "_fetchData",
      value: function _fetchData(url, compressionType) {
        return new Promise(function (resolve, reject) {
          var fs = __webpack_require__(1);

          fs.readFile(url, function (error, data) {
            if (error || !data) {
              reject(new Error(error));
              return;
            }

            resolve({
              cMapData: new Uint8Array(data),
              compressionType: compressionType
            });
          });
        });
      }
    }]);

    return NodeCMapReaderFactory;
  }(_display_utils.BaseCMapReaderFactory);
}

/***/ }),
/* 205 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AnnotationStorage = void 0;

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationStorage = /*#__PURE__*/function () {
  function AnnotationStorage() {
    _classCallCheck(this, AnnotationStorage);

    this._storage = new Map();
    this._modified = false;
    this.onSetModified = null;
    this.onResetModified = null;
  }

  _createClass(AnnotationStorage, [{
    key: "getOrCreateValue",
    value: function getOrCreateValue(key, defaultValue) {
      if (this._storage.has(key)) {
        return this._storage.get(key);
      }

      this._storage.set(key, defaultValue);

      return defaultValue;
    }
  }, {
    key: "setValue",
    value: function setValue(key, value) {
      if (this._storage.get(key) !== value) {
        this._setModified();
      }

      this._storage.set(key, value);
    }
  }, {
    key: "getAll",
    value: function getAll() {
      if (this._storage.size === 0) {
        return null;
      }

      return Object.fromEntries(this._storage);
    }
  }, {
    key: "_setModified",
    value: function _setModified() {
      if (!this._modified) {
        this._modified = true;

        if (typeof this.onSetModified === "function") {
          this.onSetModified();
        }
      }
    }
  }, {
    key: "resetModified",
    value: function resetModified() {
      if (this._modified) {
        this._modified = false;

        if (typeof this.onResetModified === "function") {
          this.onResetModified();
        }
      }
    }
  }, {
    key: "size",
    get: function get() {
      return this._storage.size;
    }
  }]);

  return AnnotationStorage;
}();

exports.AnnotationStorage = AnnotationStorage;

/***/ }),
/* 206 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.apiCompatibilityParams = void 0;

var _is_node = __w_pdfjs_require__(7);

var compatibilityParams = Object.create(null);
{
  (function checkFontFace() {
    if (_is_node.isNodeJS) {
      compatibilityParams.disableFontFace = true;
    }
  })();
}
var apiCompatibilityParams = Object.freeze(compatibilityParams);
exports.apiCompatibilityParams = apiCompatibilityParams;

/***/ }),
/* 207 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.CanvasGraphics = void 0;

var _util = __w_pdfjs_require__(5);

var _pattern_helper = __w_pdfjs_require__(208);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

var MIN_FONT_SIZE = 16;
var MAX_FONT_SIZE = 100;
var MAX_GROUP_SIZE = 4096;
var MIN_WIDTH_FACTOR = 0.65;
var COMPILE_TYPE3_GLYPHS = true;
var MAX_SIZE_TO_COMPILE = 1000;
var FULL_CHUNK_HEIGHT = 16;

function addContextCurrentTransform(ctx) {
  if (!ctx.mozCurrentTransform) {
    ctx._originalSave = ctx.save;
    ctx._originalRestore = ctx.restore;
    ctx._originalRotate = ctx.rotate;
    ctx._originalScale = ctx.scale;
    ctx._originalTranslate = ctx.translate;
    ctx._originalTransform = ctx.transform;
    ctx._originalSetTransform = ctx.setTransform;
    ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];
    ctx._transformStack = [];
    Object.defineProperty(ctx, "mozCurrentTransform", {
      get: function getCurrentTransform() {
        return this._transformMatrix;
      }
    });
    Object.defineProperty(ctx, "mozCurrentTransformInverse", {
      get: function getCurrentTransformInverse() {
        var m = this._transformMatrix;
        var a = m[0],
            b = m[1],
            c = m[2],
            d = m[3],
            e = m[4],
            f = m[5];
        var ad_bc = a * d - b * c;
        var bc_ad = b * c - a * d;
        return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];
      }
    });

    ctx.save = function ctxSave() {
      var old = this._transformMatrix;

      this._transformStack.push(old);

      this._transformMatrix = old.slice(0, 6);

      this._originalSave();
    };

    ctx.restore = function ctxRestore() {
      var prev = this._transformStack.pop();

      if (prev) {
        this._transformMatrix = prev;

        this._originalRestore();
      }
    };

    ctx.translate = function ctxTranslate(x, y) {
      var m = this._transformMatrix;
      m[4] = m[0] * x + m[2] * y + m[4];
      m[5] = m[1] * x + m[3] * y + m[5];

      this._originalTranslate(x, y);
    };

    ctx.scale = function ctxScale(x, y) {
      var m = this._transformMatrix;
      m[0] = m[0] * x;
      m[1] = m[1] * x;
      m[2] = m[2] * y;
      m[3] = m[3] * y;

      this._originalScale(x, y);
    };

    ctx.transform = function ctxTransform(a, b, c, d, e, f) {
      var m = this._transformMatrix;
      this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];

      ctx._originalTransform(a, b, c, d, e, f);
    };

    ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {
      this._transformMatrix = [a, b, c, d, e, f];

      ctx._originalSetTransform(a, b, c, d, e, f);
    };

    ctx.rotate = function ctxRotate(angle) {
      var cosValue = Math.cos(angle);
      var sinValue = Math.sin(angle);
      var m = this._transformMatrix;
      this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];

      this._originalRotate(angle);
    };
  }
}

var CachedCanvases = function CachedCanvasesClosure() {
  function CachedCanvases(canvasFactory) {
    this.canvasFactory = canvasFactory;
    this.cache = Object.create(null);
  }

  CachedCanvases.prototype = {
    getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {
      var canvasEntry;

      if (this.cache[id] !== undefined) {
        canvasEntry = this.cache[id];
        this.canvasFactory.reset(canvasEntry, width, height);
        canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);
      } else {
        canvasEntry = this.canvasFactory.create(width, height);
        this.cache[id] = canvasEntry;
      }

      if (trackTransform) {
        addContextCurrentTransform(canvasEntry.context);
      }

      return canvasEntry;
    },
    clear: function clear() {
      for (var id in this.cache) {
        var canvasEntry = this.cache[id];
        this.canvasFactory.destroy(canvasEntry);
        delete this.cache[id];
      }
    }
  };
  return CachedCanvases;
}();

function compileType3Glyph(imgData) {
  var POINT_TO_PROCESS_LIMIT = 1000;
  var width = imgData.width,
      height = imgData.height;
  var i,
      j,
      j0,
      width1 = width + 1;
  var points = new Uint8Array(width1 * (height + 1));
  var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);
  var lineSize = width + 7 & ~7,
      data0 = imgData.data;
  var data = new Uint8Array(lineSize * height),
      pos = 0,
      ii;

  for (i = 0, ii = data0.length; i < ii; i++) {
    var mask = 128,
        elem = data0[i];

    while (mask > 0) {
      data[pos++] = elem & mask ? 0 : 255;
      mask >>= 1;
    }
  }

  var count = 0;
  pos = 0;

  if (data[pos] !== 0) {
    points[0] = 1;
    ++count;
  }

  for (j = 1; j < width; j++) {
    if (data[pos] !== data[pos + 1]) {
      points[j] = data[pos] ? 2 : 1;
      ++count;
    }

    pos++;
  }

  if (data[pos] !== 0) {
    points[j] = 2;
    ++count;
  }

  for (i = 1; i < height; i++) {
    pos = i * lineSize;
    j0 = i * width1;

    if (data[pos - lineSize] !== data[pos]) {
      points[j0] = data[pos] ? 1 : 8;
      ++count;
    }

    var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);

    for (j = 1; j < width; j++) {
      sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);

      if (POINT_TYPES[sum]) {
        points[j0 + j] = POINT_TYPES[sum];
        ++count;
      }

      pos++;
    }

    if (data[pos - lineSize] !== data[pos]) {
      points[j0 + j] = data[pos] ? 2 : 4;
      ++count;
    }

    if (count > POINT_TO_PROCESS_LIMIT) {
      return null;
    }
  }

  pos = lineSize * (height - 1);
  j0 = i * width1;

  if (data[pos] !== 0) {
    points[j0] = 8;
    ++count;
  }

  for (j = 1; j < width; j++) {
    if (data[pos] !== data[pos + 1]) {
      points[j0 + j] = data[pos] ? 4 : 8;
      ++count;
    }

    pos++;
  }

  if (data[pos] !== 0) {
    points[j0 + j] = 4;
    ++count;
  }

  if (count > POINT_TO_PROCESS_LIMIT) {
    return null;
  }

  var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);
  var outlines = [];

  for (i = 0; count && i <= height; i++) {
    var p = i * width1;
    var end = p + width;

    while (p < end && !points[p]) {
      p++;
    }

    if (p === end) {
      continue;
    }

    var coords = [p % width1, i];
    var type = points[p],
        p0 = p,
        pp;

    do {
      var step = steps[type];

      do {
        p += step;
      } while (!points[p]);

      pp = points[p];

      if (pp !== 5 && pp !== 10) {
        type = pp;
        points[p] = 0;
      } else {
        type = pp & 0x33 * type >> 4;
        points[p] &= type >> 2 | type << 2;
      }

      coords.push(p % width1);
      coords.push(p / width1 | 0);

      if (!points[p]) {
        --count;
      }
    } while (p0 !== p);

    outlines.push(coords);
    --i;
  }

  var drawOutline = function drawOutline(c) {
    c.save();
    c.scale(1 / width, -1 / height);
    c.translate(0, -height);
    c.beginPath();

    for (var k = 0, kk = outlines.length; k < kk; k++) {
      var o = outlines[k];
      c.moveTo(o[0], o[1]);

      for (var l = 2, ll = o.length; l < ll; l += 2) {
        c.lineTo(o[l], o[l + 1]);
      }
    }

    c.fill();
    c.beginPath();
    c.restore();
  };

  return drawOutline;
}

var CanvasExtraState = function CanvasExtraStateClosure() {
  function CanvasExtraState() {
    this.alphaIsShape = false;
    this.fontSize = 0;
    this.fontSizeScale = 1;
    this.textMatrix = _util.IDENTITY_MATRIX;
    this.textMatrixScale = 1;
    this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
    this.leading = 0;
    this.x = 0;
    this.y = 0;
    this.lineX = 0;
    this.lineY = 0;
    this.charSpacing = 0;
    this.wordSpacing = 0;
    this.textHScale = 1;
    this.textRenderingMode = _util.TextRenderingMode.FILL;
    this.textRise = 0;
    this.fillColor = "#000000";
    this.strokeColor = "#000000";
    this.patternFill = false;
    this.fillAlpha = 1;
    this.strokeAlpha = 1;
    this.lineWidth = 1;
    this.activeSMask = null;
    this.resumeSMaskCtx = null;
    this.transferMaps = null;
  }

  CanvasExtraState.prototype = {
    clone: function CanvasExtraState_clone() {
      return Object.create(this);
    },
    setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {
      this.x = x;
      this.y = y;
    }
  };
  return CanvasExtraState;
}();

var CanvasGraphics = function CanvasGraphicsClosure() {
  var EXECUTION_TIME = 15;
  var EXECUTION_STEPS = 10;

  function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer, optionalContentConfig) {
    this.ctx = canvasCtx;
    this.current = new CanvasExtraState();
    this.stateStack = [];
    this.pendingClip = null;
    this.pendingEOFill = false;
    this.res = null;
    this.xobjs = null;
    this.commonObjs = commonObjs;
    this.objs = objs;
    this.canvasFactory = canvasFactory;
    this.webGLContext = webGLContext;
    this.imageLayer = imageLayer;
    this.groupStack = [];
    this.processingType3 = null;
    this.baseTransform = null;
    this.baseTransformStack = [];
    this.groupLevel = 0;
    this.smaskStack = [];
    this.smaskCounter = 0;
    this.tempSMask = null;
    this.contentVisible = true;
    this.markedContentStack = [];
    this.optionalContentConfig = optionalContentConfig;
    this.cachedCanvases = new CachedCanvases(this.canvasFactory);

    if (canvasCtx) {
      addContextCurrentTransform(canvasCtx);
    }

    this._cachedGetSinglePixelWidth = null;
  }

  function putBinaryImageData(ctx, imgData) {
    var transferMaps = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

    if (typeof ImageData !== "undefined" && imgData instanceof ImageData) {
      ctx.putImageData(imgData, 0, 0);
      return;
    }

    var height = imgData.height,
        width = imgData.width;
    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
    var srcPos = 0,
        destPos;
    var src = imgData.data;
    var dest = chunkImgData.data;
    var i, j, thisChunkHeight, elemsInThisChunk;
    var transferMapRed, transferMapGreen, transferMapBlue, transferMapGray;

    if (transferMaps) {
      switch (transferMaps.length) {
        case 1:
          transferMapRed = transferMaps[0];
          transferMapGreen = transferMaps[0];
          transferMapBlue = transferMaps[0];
          transferMapGray = transferMaps[0];
          break;

        case 4:
          transferMapRed = transferMaps[0];
          transferMapGreen = transferMaps[1];
          transferMapBlue = transferMaps[2];
          transferMapGray = transferMaps[3];
          break;
      }
    }

    if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {
      var srcLength = src.byteLength;
      var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);
      var dest32DataLength = dest32.length;
      var fullSrcDiff = width + 7 >> 3;
      var white = 0xffffffff;
      var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;

      if (transferMapGray) {
        if (transferMapGray[0] === 0xff && transferMapGray[0xff] === 0) {
          var _ref = [black, white];
          white = _ref[0];
          black = _ref[1];
        }
      }

      for (i = 0; i < totalChunks; i++) {
        thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
        destPos = 0;

        for (j = 0; j < thisChunkHeight; j++) {
          var srcDiff = srcLength - srcPos;
          var k = 0;
          var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;
          var kEndUnrolled = kEnd & ~7;
          var mask = 0;
          var srcByte = 0;

          for (; k < kEndUnrolled; k += 8) {
            srcByte = src[srcPos++];
            dest32[destPos++] = srcByte & 128 ? white : black;
            dest32[destPos++] = srcByte & 64 ? white : black;
            dest32[destPos++] = srcByte & 32 ? white : black;
            dest32[destPos++] = srcByte & 16 ? white : black;
            dest32[destPos++] = srcByte & 8 ? white : black;
            dest32[destPos++] = srcByte & 4 ? white : black;
            dest32[destPos++] = srcByte & 2 ? white : black;
            dest32[destPos++] = srcByte & 1 ? white : black;
          }

          for (; k < kEnd; k++) {
            if (mask === 0) {
              srcByte = src[srcPos++];
              mask = 128;
            }

            dest32[destPos++] = srcByte & mask ? white : black;
            mask >>= 1;
          }
        }

        while (destPos < dest32DataLength) {
          dest32[destPos++] = 0;
        }

        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
      }
    } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {
      var hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);
      j = 0;
      elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;

      for (i = 0; i < fullChunks; i++) {
        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));
        srcPos += elemsInThisChunk;

        if (hasTransferMaps) {
          for (var _k = 0; _k < elemsInThisChunk; _k += 4) {
            if (transferMapRed) {
              dest[_k + 0] = transferMapRed[dest[_k + 0]];
            }

            if (transferMapGreen) {
              dest[_k + 1] = transferMapGreen[dest[_k + 1]];
            }

            if (transferMapBlue) {
              dest[_k + 2] = transferMapBlue[dest[_k + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, j);
        j += FULL_CHUNK_HEIGHT;
      }

      if (i < totalChunks) {
        elemsInThisChunk = width * partialChunkHeight * 4;
        dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));

        if (hasTransferMaps) {
          for (var _k2 = 0; _k2 < elemsInThisChunk; _k2 += 4) {
            if (transferMapRed) {
              dest[_k2 + 0] = transferMapRed[dest[_k2 + 0]];
            }

            if (transferMapGreen) {
              dest[_k2 + 1] = transferMapGreen[dest[_k2 + 1]];
            }

            if (transferMapBlue) {
              dest[_k2 + 2] = transferMapBlue[dest[_k2 + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, j);
      }
    } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {
      var _hasTransferMaps = !!(transferMapRed || transferMapGreen || transferMapBlue);

      thisChunkHeight = FULL_CHUNK_HEIGHT;
      elemsInThisChunk = width * thisChunkHeight;

      for (i = 0; i < totalChunks; i++) {
        if (i >= fullChunks) {
          thisChunkHeight = partialChunkHeight;
          elemsInThisChunk = width * thisChunkHeight;
        }

        destPos = 0;

        for (j = elemsInThisChunk; j--;) {
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = src[srcPos++];
          dest[destPos++] = 255;
        }

        if (_hasTransferMaps) {
          for (var _k3 = 0; _k3 < destPos; _k3 += 4) {
            if (transferMapRed) {
              dest[_k3 + 0] = transferMapRed[dest[_k3 + 0]];
            }

            if (transferMapGreen) {
              dest[_k3 + 1] = transferMapGreen[dest[_k3 + 1]];
            }

            if (transferMapBlue) {
              dest[_k3 + 2] = transferMapBlue[dest[_k3 + 2]];
            }
          }
        }

        ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
      }
    } else {
      throw new Error("bad image kind: ".concat(imgData.kind));
    }
  }

  function putBinaryImageMask(ctx, imgData) {
    var height = imgData.height,
        width = imgData.width;
    var partialChunkHeight = height % FULL_CHUNK_HEIGHT;
    var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;
    var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;
    var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);
    var srcPos = 0;
    var src = imgData.data;
    var dest = chunkImgData.data;

    for (var i = 0; i < totalChunks; i++) {
      var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;
      var destPos = 3;

      for (var j = 0; j < thisChunkHeight; j++) {
        var mask = 0;

        for (var k = 0; k < width; k++) {
          if (!mask) {
            var elem = src[srcPos++];
            mask = 128;
          }

          dest[destPos] = elem & mask ? 0 : 255;
          destPos += 4;
          mask >>= 1;
        }
      }

      ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);
    }
  }

  function copyCtxState(sourceCtx, destCtx) {
    var properties = ["strokeStyle", "fillStyle", "fillRule", "globalAlpha", "lineWidth", "lineCap", "lineJoin", "miterLimit", "globalCompositeOperation", "font"];

    for (var i = 0, ii = properties.length; i < ii; i++) {
      var property = properties[i];

      if (sourceCtx[property] !== undefined) {
        destCtx[property] = sourceCtx[property];
      }
    }

    if (sourceCtx.setLineDash !== undefined) {
      destCtx.setLineDash(sourceCtx.getLineDash());
      destCtx.lineDashOffset = sourceCtx.lineDashOffset;
    }
  }

  function resetCtxToDefault(ctx) {
    ctx.strokeStyle = "#000000";
    ctx.fillStyle = "#000000";
    ctx.fillRule = "nonzero";
    ctx.globalAlpha = 1;
    ctx.lineWidth = 1;
    ctx.lineCap = "butt";
    ctx.lineJoin = "miter";
    ctx.miterLimit = 10;
    ctx.globalCompositeOperation = "source-over";
    ctx.font = "10px sans-serif";

    if (ctx.setLineDash !== undefined) {
      ctx.setLineDash([]);
      ctx.lineDashOffset = 0;
    }
  }

  function composeSMaskBackdrop(bytes, r0, g0, b0) {
    var length = bytes.length;

    for (var i = 3; i < length; i += 4) {
      var alpha = bytes[i];

      if (alpha === 0) {
        bytes[i - 3] = r0;
        bytes[i - 2] = g0;
        bytes[i - 1] = b0;
      } else if (alpha < 255) {
        var alpha_ = 255 - alpha;
        bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;
        bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;
        bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;
      }
    }
  }

  function composeSMaskAlpha(maskData, layerData, transferMap) {
    var length = maskData.length;
    var scale = 1 / 255;

    for (var i = 3; i < length; i += 4) {
      var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];
      layerData[i] = layerData[i] * alpha * scale | 0;
    }
  }

  function composeSMaskLuminosity(maskData, layerData, transferMap) {
    var length = maskData.length;

    for (var i = 3; i < length; i += 4) {
      var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;
      layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;
    }
  }

  function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {
    var hasBackdrop = !!backdrop;
    var r0 = hasBackdrop ? backdrop[0] : 0;
    var g0 = hasBackdrop ? backdrop[1] : 0;
    var b0 = hasBackdrop ? backdrop[2] : 0;
    var composeFn;

    if (subtype === "Luminosity") {
      composeFn = composeSMaskLuminosity;
    } else {
      composeFn = composeSMaskAlpha;
    }

    var PIXELS_TO_PROCESS = 1048576;
    var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));

    for (var row = 0; row < height; row += chunkSize) {
      var chunkHeight = Math.min(chunkSize, height - row);
      var maskData = maskCtx.getImageData(0, row, width, chunkHeight);
      var layerData = layerCtx.getImageData(0, row, width, chunkHeight);

      if (hasBackdrop) {
        composeSMaskBackdrop(maskData.data, r0, g0, b0);
      }

      composeFn(maskData.data, layerData.data, transferMap);
      maskCtx.putImageData(layerData, 0, row);
    }
  }

  function composeSMask(ctx, smask, layerCtx, webGLContext) {
    var mask = smask.canvas;
    var maskCtx = smask.context;
    ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);
    var backdrop = smask.backdrop || null;

    if (!smask.transferMap && webGLContext.isEnabled) {
      var composed = webGLContext.composeSMask({
        layer: layerCtx.canvas,
        mask: mask,
        properties: {
          subtype: smask.subtype,
          backdrop: backdrop
        }
      });
      ctx.setTransform(1, 0, 0, 1, 0, 0);
      ctx.drawImage(composed, smask.offsetX, smask.offsetY);
      return;
    }

    genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);
    ctx.drawImage(mask, 0, 0);
  }

  var LINE_CAP_STYLES = ["butt", "round", "square"];
  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];
  var NORMAL_CLIP = {};
  var EO_CLIP = {};
  CanvasGraphics.prototype = {
    beginDrawing: function beginDrawing(_ref2) {
      var transform = _ref2.transform,
          viewport = _ref2.viewport,
          _ref2$transparency = _ref2.transparency,
          transparency = _ref2$transparency === void 0 ? false : _ref2$transparency,
          _ref2$background = _ref2.background,
          background = _ref2$background === void 0 ? null : _ref2$background;
      var width = this.ctx.canvas.width;
      var height = this.ctx.canvas.height;
      this.ctx.save();
      this.ctx.fillStyle = background || "rgb(255, 255, 255)";
      this.ctx.fillRect(0, 0, width, height);
      this.ctx.restore();

      if (transparency) {
        var transparentCanvas = this.cachedCanvases.getCanvas("transparent", width, height, true);
        this.compositeCtx = this.ctx;
        this.transparentCanvas = transparentCanvas.canvas;
        this.ctx = transparentCanvas.context;
        this.ctx.save();
        this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);
      }

      this.ctx.save();
      resetCtxToDefault(this.ctx);

      if (transform) {
        this.ctx.transform.apply(this.ctx, transform);
      }

      this.ctx.transform.apply(this.ctx, viewport.transform);
      this.baseTransform = this.ctx.mozCurrentTransform.slice();

      if (this.imageLayer) {
        this.imageLayer.beginLayout();
      }
    },
    executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {
      var argsArray = operatorList.argsArray;
      var fnArray = operatorList.fnArray;
      var i = executionStartIdx || 0;
      var argsArrayLen = argsArray.length;

      if (argsArrayLen === i) {
        return i;
      }

      var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === "function";
      var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;
      var steps = 0;
      var commonObjs = this.commonObjs;
      var objs = this.objs;
      var fnId;

      while (true) {
        if (stepper !== undefined && i === stepper.nextBreakPoint) {
          stepper.breakIt(i, continueCallback);
          return i;
        }

        fnId = fnArray[i];

        if (fnId !== _util.OPS.dependency) {
          this[fnId].apply(this, argsArray[i]);
        } else {
          var _iterator = _createForOfIteratorHelper(argsArray[i]),
              _step;

          try {
            for (_iterator.s(); !(_step = _iterator.n()).done;) {
              var depObjId = _step.value;
              var objsPool = depObjId.startsWith("g_") ? commonObjs : objs;

              if (!objsPool.has(depObjId)) {
                objsPool.get(depObjId, continueCallback);
                return i;
              }
            }
          } catch (err) {
            _iterator.e(err);
          } finally {
            _iterator.f();
          }
        }

        i++;

        if (i === argsArrayLen) {
          return i;
        }

        if (chunkOperations && ++steps > EXECUTION_STEPS) {
          if (Date.now() > endTime) {
            continueCallback();
            return i;
          }

          steps = 0;
        }
      }
    },
    endDrawing: function CanvasGraphics_endDrawing() {
      if (this.current.activeSMask !== null) {
        this.endSMaskGroup();
      }

      this.ctx.restore();

      if (this.transparentCanvas) {
        this.ctx = this.compositeCtx;
        this.ctx.save();
        this.ctx.setTransform(1, 0, 0, 1, 0, 0);
        this.ctx.drawImage(this.transparentCanvas, 0, 0);
        this.ctx.restore();
        this.transparentCanvas = null;
      }

      this.cachedCanvases.clear();
      this.webGLContext.clear();

      if (this.imageLayer) {
        this.imageLayer.endLayout();
      }
    },
    setLineWidth: function CanvasGraphics_setLineWidth(width) {
      this.current.lineWidth = width;
      this.ctx.lineWidth = width;
    },
    setLineCap: function CanvasGraphics_setLineCap(style) {
      this.ctx.lineCap = LINE_CAP_STYLES[style];
    },
    setLineJoin: function CanvasGraphics_setLineJoin(style) {
      this.ctx.lineJoin = LINE_JOIN_STYLES[style];
    },
    setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {
      this.ctx.miterLimit = limit;
    },
    setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {
      var ctx = this.ctx;

      if (ctx.setLineDash !== undefined) {
        ctx.setLineDash(dashArray);
        ctx.lineDashOffset = dashPhase;
      }
    },
    setRenderingIntent: function setRenderingIntent(intent) {},
    setFlatness: function setFlatness(flatness) {},
    setGState: function CanvasGraphics_setGState(states) {
      for (var i = 0, ii = states.length; i < ii; i++) {
        var state = states[i];
        var key = state[0];
        var value = state[1];

        switch (key) {
          case "LW":
            this.setLineWidth(value);
            break;

          case "LC":
            this.setLineCap(value);
            break;

          case "LJ":
            this.setLineJoin(value);
            break;

          case "ML":
            this.setMiterLimit(value);
            break;

          case "D":
            this.setDash(value[0], value[1]);
            break;

          case "RI":
            this.setRenderingIntent(value);
            break;

          case "FL":
            this.setFlatness(value);
            break;

          case "Font":
            this.setFont(value[0], value[1]);
            break;

          case "CA":
            this.current.strokeAlpha = state[1];
            break;

          case "ca":
            this.current.fillAlpha = state[1];
            this.ctx.globalAlpha = state[1];
            break;

          case "BM":
            this.ctx.globalCompositeOperation = value;
            break;

          case "SMask":
            if (this.current.activeSMask) {
              if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {
                this.suspendSMaskGroup();
              } else {
                this.endSMaskGroup();
              }
            }

            this.current.activeSMask = value ? this.tempSMask : null;

            if (this.current.activeSMask) {
              this.beginSMaskGroup();
            }

            this.tempSMask = null;
            break;

          case "TR":
            this.current.transferMaps = value;
        }
      }
    },
    beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {
      var activeSMask = this.current.activeSMask;
      var drawnWidth = activeSMask.canvas.width;
      var drawnHeight = activeSMask.canvas.height;
      var cacheId = "smaskGroupAt" + this.groupLevel;
      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
      var currentCtx = this.ctx;
      var currentTransform = currentCtx.mozCurrentTransform;
      this.ctx.save();
      var groupCtx = scratchCanvas.context;
      groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);
      groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);
      groupCtx.transform.apply(groupCtx, currentTransform);
      activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;
      copyCtxState(currentCtx, groupCtx);
      this.ctx = groupCtx;
      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
      this.groupStack.push(currentCtx);
      this.groupLevel++;
    },
    suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {
      var groupCtx = this.ctx;
      this.groupLevel--;
      this.ctx = this.groupStack.pop();
      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
      this.ctx.restore();
      this.ctx.save();
      copyCtxState(groupCtx, this.ctx);
      this.current.resumeSMaskCtx = groupCtx;

      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);

      this.ctx.transform.apply(this.ctx, deltaTransform);
      groupCtx.save();
      groupCtx.setTransform(1, 0, 0, 1, 0, 0);
      groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);
      groupCtx.restore();
    },
    resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {
      var groupCtx = this.current.resumeSMaskCtx;
      var currentCtx = this.ctx;
      this.ctx = groupCtx;
      this.groupStack.push(currentCtx);
      this.groupLevel++;
    },
    endSMaskGroup: function CanvasGraphics_endSMaskGroup() {
      var groupCtx = this.ctx;
      this.groupLevel--;
      this.ctx = this.groupStack.pop();
      composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);
      this.ctx.restore();
      copyCtxState(groupCtx, this.ctx);

      var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);

      this.ctx.transform.apply(this.ctx, deltaTransform);
    },
    save: function CanvasGraphics_save() {
      this.ctx.save();
      var old = this.current;
      this.stateStack.push(old);
      this.current = old.clone();
      this.current.resumeSMaskCtx = null;
    },
    restore: function CanvasGraphics_restore() {
      if (this.current.resumeSMaskCtx) {
        this.resumeSMaskGroup();
      }

      if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {
        this.endSMaskGroup();
      }

      if (this.stateStack.length !== 0) {
        this.current = this.stateStack.pop();
        this.ctx.restore();
        this.pendingClip = null;
        this._cachedGetSinglePixelWidth = null;
      }
    },
    transform: function CanvasGraphics_transform(a, b, c, d, e, f) {
      this.ctx.transform(a, b, c, d, e, f);
      this._cachedGetSinglePixelWidth = null;
    },
    constructPath: function CanvasGraphics_constructPath(ops, args) {
      var ctx = this.ctx;
      var current = this.current;
      var x = current.x,
          y = current.y;

      for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {
        switch (ops[i] | 0) {
          case _util.OPS.rectangle:
            x = args[j++];
            y = args[j++];
            var width = args[j++];
            var height = args[j++];

            if (width === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {
              width = this.getSinglePixelWidth();
            }

            if (height === 0 && ctx.lineWidth < this.getSinglePixelWidth()) {
              height = this.getSinglePixelWidth();
            }

            var xw = x + width;
            var yh = y + height;
            ctx.moveTo(x, y);
            ctx.lineTo(xw, y);
            ctx.lineTo(xw, yh);
            ctx.lineTo(x, yh);
            ctx.lineTo(x, y);
            ctx.closePath();
            break;

          case _util.OPS.moveTo:
            x = args[j++];
            y = args[j++];
            ctx.moveTo(x, y);
            break;

          case _util.OPS.lineTo:
            x = args[j++];
            y = args[j++];
            ctx.lineTo(x, y);
            break;

          case _util.OPS.curveTo:
            x = args[j + 4];
            y = args[j + 5];
            ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);
            j += 6;
            break;

          case _util.OPS.curveTo2:
            ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);
            x = args[j + 2];
            y = args[j + 3];
            j += 4;
            break;

          case _util.OPS.curveTo3:
            x = args[j + 2];
            y = args[j + 3];
            ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);
            j += 4;
            break;

          case _util.OPS.closePath:
            ctx.closePath();
            break;
        }
      }

      current.setCurrentPoint(x, y);
    },
    closePath: function CanvasGraphics_closePath() {
      this.ctx.closePath();
    },
    stroke: function CanvasGraphics_stroke(consumePath) {
      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
      var ctx = this.ctx;
      var strokeColor = this.current.strokeColor;
      ctx.globalAlpha = this.current.strokeAlpha;

      if (this.contentVisible) {
        if (strokeColor && strokeColor.hasOwnProperty("type") && strokeColor.type === "Pattern") {
          ctx.save();
          var transform = ctx.mozCurrentTransform;

          var scale = _util.Util.singularValueDecompose2dScale(transform)[0];

          ctx.strokeStyle = strokeColor.getPattern(ctx, this);
          ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);
          ctx.stroke();
          ctx.restore();
        } else {
          ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);
          ctx.stroke();
        }
      }

      if (consumePath) {
        this.consumePath();
      }

      ctx.globalAlpha = this.current.fillAlpha;
    },
    closeStroke: function CanvasGraphics_closeStroke() {
      this.closePath();
      this.stroke();
    },
    fill: function CanvasGraphics_fill(consumePath) {
      consumePath = typeof consumePath !== "undefined" ? consumePath : true;
      var ctx = this.ctx;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var needRestore = false;

      if (isPatternFill) {
        ctx.save();

        if (this.baseTransform) {
          ctx.setTransform.apply(ctx, this.baseTransform);
        }

        ctx.fillStyle = fillColor.getPattern(ctx, this);
        needRestore = true;
      }

      if (this.contentVisible) {
        if (this.pendingEOFill) {
          ctx.fill("evenodd");
          this.pendingEOFill = false;
        } else {
          ctx.fill();
        }
      }

      if (needRestore) {
        ctx.restore();
      }

      if (consumePath) {
        this.consumePath();
      }
    },
    eoFill: function CanvasGraphics_eoFill() {
      this.pendingEOFill = true;
      this.fill();
    },
    fillStroke: function CanvasGraphics_fillStroke() {
      this.fill(false);
      this.stroke(false);
      this.consumePath();
    },
    eoFillStroke: function CanvasGraphics_eoFillStroke() {
      this.pendingEOFill = true;
      this.fillStroke();
    },
    closeFillStroke: function CanvasGraphics_closeFillStroke() {
      this.closePath();
      this.fillStroke();
    },
    closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {
      this.pendingEOFill = true;
      this.closePath();
      this.fillStroke();
    },
    endPath: function CanvasGraphics_endPath() {
      this.consumePath();
    },
    clip: function CanvasGraphics_clip() {
      this.pendingClip = NORMAL_CLIP;
    },
    eoClip: function CanvasGraphics_eoClip() {
      this.pendingClip = EO_CLIP;
    },
    beginText: function CanvasGraphics_beginText() {
      this.current.textMatrix = _util.IDENTITY_MATRIX;
      this.current.textMatrixScale = 1;
      this.current.x = this.current.lineX = 0;
      this.current.y = this.current.lineY = 0;
    },
    endText: function CanvasGraphics_endText() {
      var paths = this.pendingTextPaths;
      var ctx = this.ctx;

      if (paths === undefined) {
        ctx.beginPath();
        return;
      }

      ctx.save();
      ctx.beginPath();

      for (var i = 0; i < paths.length; i++) {
        var path = paths[i];
        ctx.setTransform.apply(ctx, path.transform);
        ctx.translate(path.x, path.y);
        path.addToPath(ctx, path.fontSize);
      }

      ctx.restore();
      ctx.clip();
      ctx.beginPath();
      delete this.pendingTextPaths;
    },
    setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {
      this.current.charSpacing = spacing;
    },
    setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {
      this.current.wordSpacing = spacing;
    },
    setHScale: function CanvasGraphics_setHScale(scale) {
      this.current.textHScale = scale / 100;
    },
    setLeading: function CanvasGraphics_setLeading(leading) {
      this.current.leading = -leading;
    },
    setFont: function CanvasGraphics_setFont(fontRefName, size) {
      var fontObj = this.commonObjs.get(fontRefName);
      var current = this.current;

      if (!fontObj) {
        throw new Error("Can't find font for ".concat(fontRefName));
      }

      current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;

      if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {
        (0, _util.warn)("Invalid font matrix for font " + fontRefName);
      }

      if (size < 0) {
        size = -size;
        current.fontDirection = -1;
      } else {
        current.fontDirection = 1;
      }

      this.current.font = fontObj;
      this.current.fontSize = size;

      if (fontObj.isType3Font) {
        return;
      }

      var name = fontObj.loadedName || "sans-serif";
      var bold = "normal";

      if (fontObj.black) {
        bold = "900";
      } else if (fontObj.bold) {
        bold = "bold";
      }

      var italic = fontObj.italic ? "italic" : "normal";
      var typeface = "\"".concat(name, "\", ").concat(fontObj.fallbackName);
      var browserFontSize = size;

      if (size < MIN_FONT_SIZE) {
        browserFontSize = MIN_FONT_SIZE;
      } else if (size > MAX_FONT_SIZE) {
        browserFontSize = MAX_FONT_SIZE;
      }

      this.current.fontSizeScale = size / browserFontSize;
      this.ctx.font = "".concat(italic, " ").concat(bold, " ").concat(browserFontSize, "px ").concat(typeface);
    },
    setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {
      this.current.textRenderingMode = mode;
    },
    setTextRise: function CanvasGraphics_setTextRise(rise) {
      this.current.textRise = rise;
    },
    moveText: function CanvasGraphics_moveText(x, y) {
      this.current.x = this.current.lineX += x;
      this.current.y = this.current.lineY += y;
    },
    setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {
      this.setLeading(-y);
      this.moveText(x, y);
    },
    setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {
      this.current.textMatrix = [a, b, c, d, e, f];
      this.current.textMatrixScale = Math.sqrt(a * a + b * b);
      this.current.x = this.current.lineX = 0;
      this.current.y = this.current.lineY = 0;
    },
    nextLine: function CanvasGraphics_nextLine() {
      this.moveText(0, this.current.leading);
    },
    paintChar: function paintChar(character, x, y, patternTransform) {
      var ctx = this.ctx;
      var current = this.current;
      var font = current.font;
      var textRenderingMode = current.textRenderingMode;
      var fontSize = current.fontSize / current.fontSizeScale;
      var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;
      var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);
      var patternFill = current.patternFill && !font.missingFile;
      var addToPath;

      if (font.disableFontFace || isAddToPathSet || patternFill) {
        addToPath = font.getPathGenerator(this.commonObjs, character);
      }

      if (font.disableFontFace || patternFill) {
        ctx.save();
        ctx.translate(x, y);
        ctx.beginPath();
        addToPath(ctx, fontSize);

        if (patternTransform) {
          ctx.setTransform.apply(ctx, patternTransform);
        }

        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.fill();
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.stroke();
        }

        ctx.restore();
      } else {
        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.fillText(character, x, y);
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          ctx.strokeText(character, x, y);
        }
      }

      if (isAddToPathSet) {
        var paths = this.pendingTextPaths || (this.pendingTextPaths = []);
        paths.push({
          transform: ctx.mozCurrentTransform,
          x: x,
          y: y,
          fontSize: fontSize,
          addToPath: addToPath
        });
      }
    },

    get isFontSubpixelAAEnabled() {
      var _this$cachedCanvases$ = this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled", 10, 10),
          ctx = _this$cachedCanvases$.context;

      ctx.scale(1.5, 1);
      ctx.fillText("I", 0, 10);
      var data = ctx.getImageData(0, 0, 10, 10).data;
      var enabled = false;

      for (var i = 3; i < data.length; i += 4) {
        if (data[i] > 0 && data[i] < 255) {
          enabled = true;
          break;
        }
      }

      return (0, _util.shadow)(this, "isFontSubpixelAAEnabled", enabled);
    },

    showText: function CanvasGraphics_showText(glyphs) {
      var current = this.current;
      var font = current.font;

      if (font.isType3Font) {
        return this.showType3Text(glyphs);
      }

      var fontSize = current.fontSize;

      if (fontSize === 0) {
        return undefined;
      }

      var ctx = this.ctx;
      var fontSizeScale = current.fontSizeScale;
      var charSpacing = current.charSpacing;
      var wordSpacing = current.wordSpacing;
      var fontDirection = current.fontDirection;
      var textHScale = current.textHScale * fontDirection;
      var glyphsLength = glyphs.length;
      var vertical = font.vertical;
      var spacingDir = vertical ? 1 : -1;
      var defaultVMetrics = font.defaultVMetrics;
      var widthAdvanceScale = fontSize * current.fontMatrix[0];
      var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;
      ctx.save();
      var patternTransform;

      if (current.patternFill) {
        ctx.save();
        var pattern = current.fillColor.getPattern(ctx, this);
        patternTransform = ctx.mozCurrentTransform;
        ctx.restore();
        ctx.fillStyle = pattern;
      }

      ctx.transform.apply(ctx, current.textMatrix);
      ctx.translate(current.x, current.y + current.textRise);

      if (fontDirection > 0) {
        ctx.scale(textHScale, -1);
      } else {
        ctx.scale(textHScale, 1);
      }

      var lineWidth = current.lineWidth;
      var scale = current.textMatrixScale;

      if (scale === 0 || lineWidth === 0) {
        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          this._cachedGetSinglePixelWidth = null;
          lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;
        }
      } else {
        lineWidth /= scale;
      }

      if (fontSizeScale !== 1.0) {
        ctx.scale(fontSizeScale, fontSizeScale);
        lineWidth /= fontSizeScale;
      }

      ctx.lineWidth = lineWidth;
      var x = 0,
          i;

      for (i = 0; i < glyphsLength; ++i) {
        var glyph = glyphs[i];

        if ((0, _util.isNum)(glyph)) {
          x += spacingDir * glyph * fontSize / 1000;
          continue;
        }

        var restoreNeeded = false;
        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
        var character = glyph.fontChar;
        var accent = glyph.accent;
        var scaledX, scaledY, scaledAccentX, scaledAccentY;
        var width = glyph.width;

        if (vertical) {
          var vmetric, vx, vy;
          vmetric = glyph.vmetric || defaultVMetrics;
          vx = glyph.vmetric ? vmetric[1] : width * 0.5;
          vx = -vx * widthAdvanceScale;
          vy = vmetric[2] * widthAdvanceScale;
          width = vmetric ? -vmetric[0] : width;
          scaledX = vx / fontSizeScale;
          scaledY = (x + vy) / fontSizeScale;
        } else {
          scaledX = x / fontSizeScale;
          scaledY = 0;
        }

        if (font.remeasure && width > 0) {
          var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;

          if (width < measuredWidth && this.isFontSubpixelAAEnabled) {
            var characterScaleX = width / measuredWidth;
            restoreNeeded = true;
            ctx.save();
            ctx.scale(characterScaleX, 1);
            scaledX /= characterScaleX;
          } else if (width !== measuredWidth) {
            scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;
          }
        }

        if (this.contentVisible && (glyph.isInFont || font.missingFile)) {
          if (simpleFillText && !accent) {
            ctx.fillText(character, scaledX, scaledY);
          } else {
            this.paintChar(character, scaledX, scaledY, patternTransform);

            if (accent) {
              scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;
              scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;
              this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);
            }
          }
        }

        var charWidth;

        if (vertical) {
          charWidth = width * widthAdvanceScale - spacing * fontDirection;
        } else {
          charWidth = width * widthAdvanceScale + spacing * fontDirection;
        }

        x += charWidth;

        if (restoreNeeded) {
          ctx.restore();
        }
      }

      if (vertical) {
        current.y -= x;
      } else {
        current.x += x * textHScale;
      }

      ctx.restore();
    },
    showType3Text: function CanvasGraphics_showType3Text(glyphs) {
      var ctx = this.ctx;
      var current = this.current;
      var font = current.font;
      var fontSize = current.fontSize;
      var fontDirection = current.fontDirection;
      var spacingDir = font.vertical ? 1 : -1;
      var charSpacing = current.charSpacing;
      var wordSpacing = current.wordSpacing;
      var textHScale = current.textHScale * fontDirection;
      var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;
      var glyphsLength = glyphs.length;
      var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;
      var i, glyph, width, spacingLength;

      if (isTextInvisible || fontSize === 0) {
        return;
      }

      this._cachedGetSinglePixelWidth = null;
      ctx.save();
      ctx.transform.apply(ctx, current.textMatrix);
      ctx.translate(current.x, current.y);
      ctx.scale(textHScale, fontDirection);

      for (i = 0; i < glyphsLength; ++i) {
        glyph = glyphs[i];

        if ((0, _util.isNum)(glyph)) {
          spacingLength = spacingDir * glyph * fontSize / 1000;
          this.ctx.translate(spacingLength, 0);
          current.x += spacingLength * textHScale;
          continue;
        }

        var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
        var operatorList = font.charProcOperatorList[glyph.operatorListId];

        if (!operatorList) {
          (0, _util.warn)("Type3 character \"".concat(glyph.operatorListId, "\" is not available."));
          continue;
        }

        if (this.contentVisible) {
          this.processingType3 = glyph;
          this.save();
          ctx.scale(fontSize, fontSize);
          ctx.transform.apply(ctx, fontMatrix);
          this.executeOperatorList(operatorList);
          this.restore();
        }

        var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);

        width = transformed[0] * fontSize + spacing;
        ctx.translate(width, 0);
        current.x += width * textHScale;
      }

      ctx.restore();
      this.processingType3 = null;
    },
    setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},
    setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {
      this.ctx.rect(llx, lly, urx - llx, ury - lly);
      this.clip();
      this.endPath();
    },
    getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {
      var _this = this;

      var pattern;

      if (IR[0] === "TilingPattern") {
        var color = IR[1];
        var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();
        var canvasGraphicsFactory = {
          createCanvasGraphics: function createCanvasGraphics(ctx) {
            return new CanvasGraphics(ctx, _this.commonObjs, _this.objs, _this.canvasFactory, _this.webGLContext);
          }
        };
        pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);
      } else {
        pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);
      }

      return pattern;
    },
    setStrokeColorN: function CanvasGraphics_setStrokeColorN() {
      this.current.strokeColor = this.getColorN_Pattern(arguments);
    },
    setFillColorN: function CanvasGraphics_setFillColorN() {
      this.current.fillColor = this.getColorN_Pattern(arguments);
      this.current.patternFill = true;
    },
    setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
      var color = _util.Util.makeCssRgb(r, g, b);

      this.ctx.strokeStyle = color;
      this.current.strokeColor = color;
    },
    setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
      var color = _util.Util.makeCssRgb(r, g, b);

      this.ctx.fillStyle = color;
      this.current.fillColor = color;
      this.current.patternFill = false;
    },
    shadingFill: function CanvasGraphics_shadingFill(patternIR) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      this.save();
      var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);
      ctx.fillStyle = pattern.getPattern(ctx, this, true);
      var inv = ctx.mozCurrentTransformInverse;

      if (inv) {
        var canvas = ctx.canvas;
        var width = canvas.width;
        var height = canvas.height;

        var bl = _util.Util.applyTransform([0, 0], inv);

        var br = _util.Util.applyTransform([0, height], inv);

        var ul = _util.Util.applyTransform([width, 0], inv);

        var ur = _util.Util.applyTransform([width, height], inv);

        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
        this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
      } else {
        this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
      }

      this.restore();
    },
    beginInlineImage: function CanvasGraphics_beginInlineImage() {
      (0, _util.unreachable)("Should not call beginInlineImage");
    },
    beginImageData: function CanvasGraphics_beginImageData() {
      (0, _util.unreachable)("Should not call beginImageData");
    },
    paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {
      if (!this.contentVisible) {
        return;
      }

      this.save();
      this.baseTransformStack.push(this.baseTransform);

      if (Array.isArray(matrix) && matrix.length === 6) {
        this.transform.apply(this, matrix);
      }

      this.baseTransform = this.ctx.mozCurrentTransform;

      if (bbox) {
        var width = bbox[2] - bbox[0];
        var height = bbox[3] - bbox[1];
        this.ctx.rect(bbox[0], bbox[1], width, height);
        this.clip();
        this.endPath();
      }
    },
    paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {
      if (!this.contentVisible) {
        return;
      }

      this.restore();
      this.baseTransform = this.baseTransformStack.pop();
    },
    beginGroup: function CanvasGraphics_beginGroup(group) {
      if (!this.contentVisible) {
        return;
      }

      this.save();
      var currentCtx = this.ctx;

      if (!group.isolated) {
        (0, _util.info)("TODO: Support non-isolated groups.");
      }

      if (group.knockout) {
        (0, _util.warn)("Knockout groups not supported.");
      }

      var currentTransform = currentCtx.mozCurrentTransform;

      if (group.matrix) {
        currentCtx.transform.apply(currentCtx, group.matrix);
      }

      if (!group.bbox) {
        throw new Error("Bounding box is required.");
      }

      var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);

      var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];
      bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];
      var offsetX = Math.floor(bounds[0]);
      var offsetY = Math.floor(bounds[1]);
      var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);
      var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);
      var scaleX = 1,
          scaleY = 1;

      if (drawnWidth > MAX_GROUP_SIZE) {
        scaleX = drawnWidth / MAX_GROUP_SIZE;
        drawnWidth = MAX_GROUP_SIZE;
      }

      if (drawnHeight > MAX_GROUP_SIZE) {
        scaleY = drawnHeight / MAX_GROUP_SIZE;
        drawnHeight = MAX_GROUP_SIZE;
      }

      var cacheId = "groupAt" + this.groupLevel;

      if (group.smask) {
        cacheId += "_smask_" + this.smaskCounter++ % 2;
      }

      var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);
      var groupCtx = scratchCanvas.context;
      groupCtx.scale(1 / scaleX, 1 / scaleY);
      groupCtx.translate(-offsetX, -offsetY);
      groupCtx.transform.apply(groupCtx, currentTransform);

      if (group.smask) {
        this.smaskStack.push({
          canvas: scratchCanvas.canvas,
          context: groupCtx,
          offsetX: offsetX,
          offsetY: offsetY,
          scaleX: scaleX,
          scaleY: scaleY,
          subtype: group.smask.subtype,
          backdrop: group.smask.backdrop,
          transferMap: group.smask.transferMap || null,
          startTransformInverse: null
        });
      } else {
        currentCtx.setTransform(1, 0, 0, 1, 0, 0);
        currentCtx.translate(offsetX, offsetY);
        currentCtx.scale(scaleX, scaleY);
      }

      copyCtxState(currentCtx, groupCtx);
      this.ctx = groupCtx;
      this.setGState([["BM", "source-over"], ["ca", 1], ["CA", 1]]);
      this.groupStack.push(currentCtx);
      this.groupLevel++;
      this.current.activeSMask = null;
    },
    endGroup: function CanvasGraphics_endGroup(group) {
      if (!this.contentVisible) {
        return;
      }

      this.groupLevel--;
      var groupCtx = this.ctx;
      this.ctx = this.groupStack.pop();

      if (this.ctx.imageSmoothingEnabled !== undefined) {
        this.ctx.imageSmoothingEnabled = false;
      } else {
        this.ctx.mozImageSmoothingEnabled = false;
      }

      if (group.smask) {
        this.tempSMask = this.smaskStack.pop();
      } else {
        this.ctx.drawImage(groupCtx.canvas, 0, 0);
      }

      this.restore();
    },
    beginAnnotations: function CanvasGraphics_beginAnnotations() {
      this.save();

      if (this.baseTransform) {
        this.ctx.setTransform.apply(this.ctx, this.baseTransform);
      }
    },
    endAnnotations: function CanvasGraphics_endAnnotations() {
      this.restore();
    },
    beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {
      this.save();
      resetCtxToDefault(this.ctx);
      this.current = new CanvasExtraState();

      if (Array.isArray(rect) && rect.length === 4) {
        var width = rect[2] - rect[0];
        var height = rect[3] - rect[1];
        this.ctx.rect(rect[0], rect[1], width, height);
        this.clip();
        this.endPath();
      }

      this.transform.apply(this, transform);
      this.transform.apply(this, matrix);
    },
    endAnnotation: function CanvasGraphics_endAnnotation() {
      this.restore();
    },
    paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var width = img.width,
          height = img.height;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var glyph = this.processingType3;

      if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {
        if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {
          glyph.compiled = compileType3Glyph({
            data: img.data,
            width: width,
            height: height
          });
        } else {
          glyph.compiled = null;
        }
      }

      if (glyph && glyph.compiled) {
        glyph.compiled(ctx);
        return;
      }

      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
      var maskCtx = maskCanvas.context;
      maskCtx.save();
      putBinaryImageMask(maskCtx, img);
      maskCtx.globalCompositeOperation = "source-in";
      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
      maskCtx.fillRect(0, 0, width, height);
      maskCtx.restore();
      this.paintInlineImageXObject(maskCanvas.canvas);
    },
    paintImageMaskXObjectRepeat: function paintImageMaskXObjectRepeat(imgData, scaleX) {
      var skewX = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
      var skewY = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
      var scaleY = arguments.length > 4 ? arguments[4] : undefined;
      var positions = arguments.length > 5 ? arguments[5] : undefined;

      if (!this.contentVisible) {
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;
      var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
      var maskCtx = maskCanvas.context;
      maskCtx.save();
      putBinaryImageMask(maskCtx, imgData);
      maskCtx.globalCompositeOperation = "source-in";
      maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
      maskCtx.fillRect(0, 0, width, height);
      maskCtx.restore();
      var ctx = this.ctx;

      for (var i = 0, ii = positions.length; i < ii; i += 2) {
        ctx.save();
        ctx.transform(scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]);
        ctx.scale(1, -1);
        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
        ctx.restore();
      }
    },
    paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var fillColor = this.current.fillColor;
      var isPatternFill = this.current.patternFill;

      for (var i = 0, ii = images.length; i < ii; i++) {
        var image = images[i];
        var width = image.width,
            height = image.height;
        var maskCanvas = this.cachedCanvases.getCanvas("maskCanvas", width, height);
        var maskCtx = maskCanvas.context;
        maskCtx.save();
        putBinaryImageMask(maskCtx, image);
        maskCtx.globalCompositeOperation = "source-in";
        maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;
        maskCtx.fillRect(0, 0, width, height);
        maskCtx.restore();
        ctx.save();
        ctx.transform.apply(ctx, image.transform);
        ctx.scale(1, -1);
        ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);
        ctx.restore();
      }
    },
    paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {
      if (!this.contentVisible) {
        return;
      }

      var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

      if (!imgData) {
        (0, _util.warn)("Dependent image isn't ready yet");
        return;
      }

      this.paintInlineImageXObject(imgData);
    },
    paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {
      if (!this.contentVisible) {
        return;
      }

      var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

      if (!imgData) {
        (0, _util.warn)("Dependent image isn't ready yet");
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var map = [];

      for (var i = 0, ii = positions.length; i < ii; i += 2) {
        map.push({
          transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],
          x: 0,
          y: 0,
          w: width,
          h: height
        });
      }

      this.paintInlineImageXObjectGroup(imgData, map);
    },
    paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {
      if (!this.contentVisible) {
        return;
      }

      var width = imgData.width;
      var height = imgData.height;
      var ctx = this.ctx;
      this.save();
      ctx.scale(1 / width, -1 / height);
      var currentTransform = ctx.mozCurrentTransformInverse;
      var a = currentTransform[0],
          b = currentTransform[1];
      var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);
      var c = currentTransform[2],
          d = currentTransform[3];
      var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);
      var imgToPaint, tmpCanvas;

      if (typeof HTMLElement === "function" && imgData instanceof HTMLElement || !imgData.data) {
        imgToPaint = imgData;
      } else {
        tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", width, height);
        var tmpCtx = tmpCanvas.context;
        putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);
        imgToPaint = tmpCanvas.canvas;
      }

      var paintWidth = width,
          paintHeight = height;
      var tmpCanvasId = "prescale1";

      while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {
        var newWidth = paintWidth,
            newHeight = paintHeight;

        if (widthScale > 2 && paintWidth > 1) {
          newWidth = Math.ceil(paintWidth / 2);
          widthScale /= paintWidth / newWidth;
        }

        if (heightScale > 2 && paintHeight > 1) {
          newHeight = Math.ceil(paintHeight / 2);
          heightScale /= paintHeight / newHeight;
        }

        tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);
        tmpCtx = tmpCanvas.context;
        tmpCtx.clearRect(0, 0, newWidth, newHeight);
        tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);
        imgToPaint = tmpCanvas.canvas;
        paintWidth = newWidth;
        paintHeight = newHeight;
        tmpCanvasId = tmpCanvasId === "prescale1" ? "prescale2" : "prescale1";
      }

      ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);

      if (this.imageLayer) {
        var position = this.getCanvasPosition(0, -height);
        this.imageLayer.appendImage({
          imgData: imgData,
          left: position[0],
          top: position[1],
          width: width / currentTransform[0],
          height: height / currentTransform[3]
        });
      }

      this.restore();
    },
    paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {
      if (!this.contentVisible) {
        return;
      }

      var ctx = this.ctx;
      var w = imgData.width;
      var h = imgData.height;
      var tmpCanvas = this.cachedCanvases.getCanvas("inlineImage", w, h);
      var tmpCtx = tmpCanvas.context;
      putBinaryImageData(tmpCtx, imgData, this.current.transferMaps);

      for (var i = 0, ii = map.length; i < ii; i++) {
        var entry = map[i];
        ctx.save();
        ctx.transform.apply(ctx, entry.transform);
        ctx.scale(1, -1);
        ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);

        if (this.imageLayer) {
          var position = this.getCanvasPosition(entry.x, entry.y);
          this.imageLayer.appendImage({
            imgData: imgData,
            left: position[0],
            top: position[1],
            width: w,
            height: h
          });
        }

        ctx.restore();
      }
    },
    paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {
      if (!this.contentVisible) {
        return;
      }

      this.ctx.fillRect(0, 0, 1, 1);
    },
    markPoint: function CanvasGraphics_markPoint(tag) {},
    markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},
    beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {
      this.markedContentStack.push({
        visible: true
      });
    },
    beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {
      if (tag === "OC") {
        this.markedContentStack.push({
          visible: this.optionalContentConfig.isVisible(properties)
        });
      } else {
        this.markedContentStack.push({
          visible: true
        });
      }

      this.contentVisible = this.isContentVisible();
    },
    endMarkedContent: function CanvasGraphics_endMarkedContent() {
      this.markedContentStack.pop();
      this.contentVisible = this.isContentVisible();
    },
    beginCompat: function CanvasGraphics_beginCompat() {},
    endCompat: function CanvasGraphics_endCompat() {},
    consumePath: function CanvasGraphics_consumePath() {
      var ctx = this.ctx;

      if (this.pendingClip) {
        if (this.pendingClip === EO_CLIP) {
          ctx.clip("evenodd");
        } else {
          ctx.clip();
        }

        this.pendingClip = null;
      }

      ctx.beginPath();
    },
    getSinglePixelWidth: function getSinglePixelWidth(scale) {
      if (this._cachedGetSinglePixelWidth === null) {
        var inverse = this.ctx.mozCurrentTransformInverse;
        this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));
      }

      return this._cachedGetSinglePixelWidth;
    },
    getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {
      var transform = this.ctx.mozCurrentTransform;
      return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];
    },
    isContentVisible: function CanvasGraphics_isContentVisible() {
      for (var i = this.markedContentStack.length - 1; i >= 0; i--) {
        if (!this.markedContentStack[i].visible) {
          return false;
        }
      }

      return true;
    }
  };

  for (var op in _util.OPS) {
    CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];
  }

  return CanvasGraphics;
}();

exports.CanvasGraphics = CanvasGraphics;

/***/ }),
/* 208 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.getShadingPatternFromIR = getShadingPatternFromIR;
exports.TilingPattern = void 0;

var _util = __w_pdfjs_require__(5);

var ShadingIRs = {};

function applyBoundingBox(ctx, bbox) {
  if (!bbox || typeof Path2D === "undefined") {
    return;
  }

  var width = bbox[2] - bbox[0];
  var height = bbox[3] - bbox[1];
  var region = new Path2D();
  region.rect(bbox[0], bbox[1], width, height);
  ctx.clip(region);
}

ShadingIRs.RadialAxial = {
  fromIR: function RadialAxial_fromIR(raw) {
    var type = raw[1];
    var bbox = raw[2];
    var colorStops = raw[3];
    var p0 = raw[4];
    var p1 = raw[5];
    var r0 = raw[6];
    var r1 = raw[7];
    return {
      type: "Pattern",
      getPattern: function RadialAxial_getPattern(ctx) {
        applyBoundingBox(ctx, bbox);
        var grad;

        if (type === "axial") {
          grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);
        } else if (type === "radial") {
          grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);
        }

        for (var i = 0, ii = colorStops.length; i < ii; ++i) {
          var c = colorStops[i];
          grad.addColorStop(c[0], c[1]);
        }

        return grad;
      }
    };
  }
};

var createMeshCanvas = function createMeshCanvasClosure() {
  function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {
    var coords = context.coords,
        colors = context.colors;
    var bytes = data.data,
        rowSize = data.width * 4;
    var tmp;

    if (coords[p1 + 1] > coords[p2 + 1]) {
      tmp = p1;
      p1 = p2;
      p2 = tmp;
      tmp = c1;
      c1 = c2;
      c2 = tmp;
    }

    if (coords[p2 + 1] > coords[p3 + 1]) {
      tmp = p2;
      p2 = p3;
      p3 = tmp;
      tmp = c2;
      c2 = c3;
      c3 = tmp;
    }

    if (coords[p1 + 1] > coords[p2 + 1]) {
      tmp = p1;
      p1 = p2;
      p2 = tmp;
      tmp = c1;
      c1 = c2;
      c2 = tmp;
    }

    var x1 = (coords[p1] + context.offsetX) * context.scaleX;
    var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;
    var x2 = (coords[p2] + context.offsetX) * context.scaleX;
    var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;
    var x3 = (coords[p3] + context.offsetX) * context.scaleX;
    var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;

    if (y1 >= y3) {
      return;
    }

    var c1r = colors[c1],
        c1g = colors[c1 + 1],
        c1b = colors[c1 + 2];
    var c2r = colors[c2],
        c2g = colors[c2 + 1],
        c2b = colors[c2 + 2];
    var c3r = colors[c3],
        c3g = colors[c3 + 1],
        c3b = colors[c3 + 2];
    var minY = Math.round(y1),
        maxY = Math.round(y3);
    var xa, car, cag, cab;
    var xb, cbr, cbg, cbb;

    for (var y = minY; y <= maxY; y++) {
      if (y < y2) {
        var _k = void 0;

        if (y < y1) {
          _k = 0;
        } else if (y1 === y2) {
          _k = 1;
        } else {
          _k = (y1 - y) / (y1 - y2);
        }

        xa = x1 - (x1 - x2) * _k;
        car = c1r - (c1r - c2r) * _k;
        cag = c1g - (c1g - c2g) * _k;
        cab = c1b - (c1b - c2b) * _k;
      } else {
        var _k2 = void 0;

        if (y > y3) {
          _k2 = 1;
        } else if (y2 === y3) {
          _k2 = 0;
        } else {
          _k2 = (y2 - y) / (y2 - y3);
        }

        xa = x2 - (x2 - x3) * _k2;
        car = c2r - (c2r - c3r) * _k2;
        cag = c2g - (c2g - c3g) * _k2;
        cab = c2b - (c2b - c3b) * _k2;
      }

      var k = void 0;

      if (y < y1) {
        k = 0;
      } else if (y > y3) {
        k = 1;
      } else {
        k = (y1 - y) / (y1 - y3);
      }

      xb = x1 - (x1 - x3) * k;
      cbr = c1r - (c1r - c3r) * k;
      cbg = c1g - (c1g - c3g) * k;
      cbb = c1b - (c1b - c3b) * k;
      var x1_ = Math.round(Math.min(xa, xb));
      var x2_ = Math.round(Math.max(xa, xb));
      var j = rowSize * y + x1_ * 4;

      for (var x = x1_; x <= x2_; x++) {
        k = (xa - x) / (xa - xb);

        if (k < 0) {
          k = 0;
        } else if (k > 1) {
          k = 1;
        }

        bytes[j++] = car - (car - cbr) * k | 0;
        bytes[j++] = cag - (cag - cbg) * k | 0;
        bytes[j++] = cab - (cab - cbb) * k | 0;
        bytes[j++] = 255;
      }
    }
  }

  function drawFigure(data, figure, context) {
    var ps = figure.coords;
    var cs = figure.colors;
    var i, ii;

    switch (figure.type) {
      case "lattice":
        var verticesPerRow = figure.verticesPerRow;
        var rows = Math.floor(ps.length / verticesPerRow) - 1;
        var cols = verticesPerRow - 1;

        for (i = 0; i < rows; i++) {
          var q = i * verticesPerRow;

          for (var j = 0; j < cols; j++, q++) {
            drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);
            drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);
          }
        }

        break;

      case "triangles":
        for (i = 0, ii = ps.length; i < ii; i += 3) {
          drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);
        }

        break;

      default:
        throw new Error("illegal figure");
    }
  }

  function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {
    var EXPECTED_SCALE = 1.1;
    var MAX_PATTERN_SIZE = 3000;
    var BORDER_SIZE = 2;
    var offsetX = Math.floor(bounds[0]);
    var offsetY = Math.floor(bounds[1]);
    var boundsWidth = Math.ceil(bounds[2]) - offsetX;
    var boundsHeight = Math.ceil(bounds[3]) - offsetY;
    var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
    var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);
    var scaleX = boundsWidth / width;
    var scaleY = boundsHeight / height;
    var context = {
      coords: coords,
      colors: colors,
      offsetX: -offsetX,
      offsetY: -offsetY,
      scaleX: 1 / scaleX,
      scaleY: 1 / scaleY
    };
    var paddedWidth = width + BORDER_SIZE * 2;
    var paddedHeight = height + BORDER_SIZE * 2;
    var canvas, tmpCanvas, i, ii;

    if (webGLContext.isEnabled) {
      canvas = webGLContext.drawFigures({
        width: width,
        height: height,
        backgroundColor: backgroundColor,
        figures: figures,
        context: context
      });
      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
      tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);
      canvas = tmpCanvas.canvas;
    } else {
      tmpCanvas = cachedCanvases.getCanvas("mesh", paddedWidth, paddedHeight, false);
      var tmpCtx = tmpCanvas.context;
      var data = tmpCtx.createImageData(width, height);

      if (backgroundColor) {
        var bytes = data.data;

        for (i = 0, ii = bytes.length; i < ii; i += 4) {
          bytes[i] = backgroundColor[0];
          bytes[i + 1] = backgroundColor[1];
          bytes[i + 2] = backgroundColor[2];
          bytes[i + 3] = 255;
        }
      }

      for (i = 0; i < figures.length; i++) {
        drawFigure(data, figures[i], context);
      }

      tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);
      canvas = tmpCanvas.canvas;
    }

    return {
      canvas: canvas,
      offsetX: offsetX - BORDER_SIZE * scaleX,
      offsetY: offsetY - BORDER_SIZE * scaleY,
      scaleX: scaleX,
      scaleY: scaleY
    };
  }

  return createMeshCanvas;
}();

ShadingIRs.Mesh = {
  fromIR: function Mesh_fromIR(raw) {
    var coords = raw[2];
    var colors = raw[3];
    var figures = raw[4];
    var bounds = raw[5];
    var matrix = raw[6];
    var bbox = raw[7];
    var background = raw[8];
    return {
      type: "Pattern",
      getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {
        applyBoundingBox(ctx, bbox);
        var scale;

        if (shadingFill) {
          scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);
        } else {
          scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);

          if (matrix) {
            var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);

            scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];
          }
        }

        var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);

        if (!shadingFill) {
          ctx.setTransform.apply(ctx, owner.baseTransform);

          if (matrix) {
            ctx.transform.apply(ctx, matrix);
          }
        }

        ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);
        ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);
        return ctx.createPattern(temporaryPatternCanvas.canvas, "no-repeat");
      }
    };
  }
};
ShadingIRs.Dummy = {
  fromIR: function Dummy_fromIR() {
    return {
      type: "Pattern",
      getPattern: function Dummy_fromIR_getPattern() {
        return "hotpink";
      }
    };
  }
};

function getShadingPatternFromIR(raw) {
  var shadingIR = ShadingIRs[raw[0]];

  if (!shadingIR) {
    throw new Error("Unknown IR type: ".concat(raw[0]));
  }

  return shadingIR.fromIR(raw);
}

var TilingPattern = function TilingPatternClosure() {
  var PaintType = {
    COLORED: 1,
    UNCOLORED: 2
  };
  var MAX_PATTERN_SIZE = 3000;

  function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {
    this.operatorList = IR[2];
    this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];
    this.bbox = IR[4];
    this.xstep = IR[5];
    this.ystep = IR[6];
    this.paintType = IR[7];
    this.tilingType = IR[8];
    this.color = color;
    this.canvasGraphicsFactory = canvasGraphicsFactory;
    this.baseTransform = baseTransform;
    this.type = "Pattern";
    this.ctx = ctx;
  }

  TilingPattern.prototype = {
    createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {
      var operatorList = this.operatorList;
      var bbox = this.bbox;
      var xstep = this.xstep;
      var ystep = this.ystep;
      var paintType = this.paintType;
      var tilingType = this.tilingType;
      var color = this.color;
      var canvasGraphicsFactory = this.canvasGraphicsFactory;
      (0, _util.info)("TilingType: " + tilingType);
      var x0 = bbox[0],
          y0 = bbox[1],
          x1 = bbox[2],
          y1 = bbox[3];

      var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);

      var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);

      var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];
      var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);
      var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);
      var tmpCanvas = owner.cachedCanvases.getCanvas("pattern", dimx.size, dimy.size, true);
      var tmpCtx = tmpCanvas.context;
      var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);
      graphics.groupLevel = owner.groupLevel;
      this.setFillAndStrokeStyleToContext(graphics, paintType, color);
      graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);
      graphics.transform(1, 0, 0, 1, -x0, -y0);
      this.clipBbox(graphics, bbox, x0, y0, x1, y1);
      graphics.executeOperatorList(operatorList);
      this.ctx.transform(1, 0, 0, 1, x0, y0);
      this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);
      return tmpCanvas.canvas;
    },
    getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {
      step = Math.abs(step);
      var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);
      var size = Math.ceil(step * scale);

      if (size >= maxSize) {
        size = maxSize;
      } else {
        scale = size / step;
      }

      return {
        scale: scale,
        size: size
      };
    },
    clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {
      if (Array.isArray(bbox) && bbox.length === 4) {
        var bboxWidth = x1 - x0;
        var bboxHeight = y1 - y0;
        graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);
        graphics.clip();
        graphics.endPath();
      }
    },
    setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {
      var context = graphics.ctx,
          current = graphics.current;

      switch (paintType) {
        case PaintType.COLORED:
          var ctx = this.ctx;
          context.fillStyle = ctx.fillStyle;
          context.strokeStyle = ctx.strokeStyle;
          current.fillColor = ctx.fillStyle;
          current.strokeColor = ctx.strokeStyle;
          break;

        case PaintType.UNCOLORED:
          var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);

          context.fillStyle = cssColor;
          context.strokeStyle = cssColor;
          current.fillColor = cssColor;
          current.strokeColor = cssColor;
          break;

        default:
          throw new _util.FormatError("Unsupported paint type: ".concat(paintType));
      }
    },
    getPattern: function TilingPattern_getPattern(ctx, owner) {
      ctx = this.ctx;
      ctx.setTransform.apply(ctx, this.baseTransform);
      ctx.transform.apply(ctx, this.matrix);
      var temporaryPatternCanvas = this.createPatternCanvas(owner);
      return ctx.createPattern(temporaryPatternCanvas, "repeat");
    }
  };
  return TilingPattern;
}();

exports.TilingPattern = TilingPattern;

/***/ }),
/* 209 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.GlobalWorkerOptions = void 0;
var GlobalWorkerOptions = Object.create(null);
exports.GlobalWorkerOptions = GlobalWorkerOptions;
GlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;
GlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? "" : GlobalWorkerOptions.workerSrc;

/***/ }),
/* 210 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.MessageHandler = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

var CallbackKind = {
  UNKNOWN: 0,
  DATA: 1,
  ERROR: 2
};
var StreamKind = {
  UNKNOWN: 0,
  CANCEL: 1,
  CANCEL_COMPLETE: 2,
  CLOSE: 3,
  ENQUEUE: 4,
  ERROR: 5,
  PULL: 6,
  PULL_COMPLETE: 7,
  START_COMPLETE: 8
};

function wrapReason(reason) {
  if (_typeof(reason) !== "object" || reason === null) {
    return reason;
  }

  switch (reason.name) {
    case "AbortException":
      return new _util.AbortException(reason.message);

    case "MissingPDFException":
      return new _util.MissingPDFException(reason.message);

    case "UnexpectedResponseException":
      return new _util.UnexpectedResponseException(reason.message, reason.status);

    case "UnknownErrorException":
      return new _util.UnknownErrorException(reason.message, reason.details);

    default:
      return new _util.UnknownErrorException(reason.message, reason.toString());
  }
}

var MessageHandler = /*#__PURE__*/function () {
  function MessageHandler(sourceName, targetName, comObj) {
    var _this = this;

    _classCallCheck(this, MessageHandler);

    this.sourceName = sourceName;
    this.targetName = targetName;
    this.comObj = comObj;
    this.callbackId = 1;
    this.streamId = 1;
    this.postMessageTransfers = true;
    this.streamSinks = Object.create(null);
    this.streamControllers = Object.create(null);
    this.callbackCapabilities = Object.create(null);
    this.actionHandler = Object.create(null);

    this._onComObjOnMessage = function (event) {
      var data = event.data;

      if (data.targetName !== _this.sourceName) {
        return;
      }

      if (data.stream) {
        _this._processStreamMessage(data);

        return;
      }

      if (data.callback) {
        var callbackId = data.callbackId;
        var capability = _this.callbackCapabilities[callbackId];

        if (!capability) {
          throw new Error("Cannot resolve callback ".concat(callbackId));
        }

        delete _this.callbackCapabilities[callbackId];

        if (data.callback === CallbackKind.DATA) {
          capability.resolve(data.data);
        } else if (data.callback === CallbackKind.ERROR) {
          capability.reject(wrapReason(data.reason));
        } else {
          throw new Error("Unexpected callback case");
        }

        return;
      }

      var action = _this.actionHandler[data.action];

      if (!action) {
        throw new Error("Unknown action from worker: ".concat(data.action));
      }

      if (data.callbackId) {
        var cbSourceName = _this.sourceName;
        var cbTargetName = data.sourceName;
        new Promise(function (resolve) {
          resolve(action(data.data));
        }).then(function (result) {
          comObj.postMessage({
            sourceName: cbSourceName,
            targetName: cbTargetName,
            callback: CallbackKind.DATA,
            callbackId: data.callbackId,
            data: result
          });
        }, function (reason) {
          comObj.postMessage({
            sourceName: cbSourceName,
            targetName: cbTargetName,
            callback: CallbackKind.ERROR,
            callbackId: data.callbackId,
            reason: wrapReason(reason)
          });
        });
        return;
      }

      if (data.streamId) {
        _this._createStreamSink(data);

        return;
      }

      action(data.data);
    };

    comObj.addEventListener("message", this._onComObjOnMessage);
  }

  _createClass(MessageHandler, [{
    key: "on",
    value: function on(actionName, handler) {
      var ah = this.actionHandler;

      if (ah[actionName]) {
        throw new Error("There is already an actionName called \"".concat(actionName, "\""));
      }

      ah[actionName] = handler;
    }
  }, {
    key: "send",
    value: function send(actionName, data, transfers) {
      this._postMessage({
        sourceName: this.sourceName,
        targetName: this.targetName,
        action: actionName,
        data: data
      }, transfers);
    }
  }, {
    key: "sendWithPromise",
    value: function sendWithPromise(actionName, data, transfers) {
      var callbackId = this.callbackId++;
      var capability = (0, _util.createPromiseCapability)();
      this.callbackCapabilities[callbackId] = capability;

      try {
        this._postMessage({
          sourceName: this.sourceName,
          targetName: this.targetName,
          action: actionName,
          callbackId: callbackId,
          data: data
        }, transfers);
      } catch (ex) {
        capability.reject(ex);
      }

      return capability.promise;
    }
  }, {
    key: "sendWithStream",
    value: function sendWithStream(actionName, data, queueingStrategy, transfers) {
      var _this2 = this;

      var streamId = this.streamId++;
      var sourceName = this.sourceName;
      var targetName = this.targetName;
      var comObj = this.comObj;
      return new ReadableStream({
        start: function start(controller) {
          var startCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId] = {
            controller: controller,
            startCall: startCapability,
            pullCall: null,
            cancelCall: null,
            isClosed: false
          };

          _this2._postMessage({
            sourceName: sourceName,
            targetName: targetName,
            action: actionName,
            streamId: streamId,
            data: data,
            desiredSize: controller.desiredSize
          }, transfers);

          return startCapability.promise;
        },
        pull: function pull(controller) {
          var pullCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId].pullCall = pullCapability;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.PULL,
            streamId: streamId,
            desiredSize: controller.desiredSize
          });
          return pullCapability.promise;
        },
        cancel: function cancel(reason) {
          (0, _util.assert)(reason instanceof Error, "cancel must have a valid reason");
          var cancelCapability = (0, _util.createPromiseCapability)();
          _this2.streamControllers[streamId].cancelCall = cancelCapability;
          _this2.streamControllers[streamId].isClosed = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.CANCEL,
            streamId: streamId,
            reason: wrapReason(reason)
          });
          return cancelCapability.promise;
        }
      }, queueingStrategy);
    }
  }, {
    key: "_createStreamSink",
    value: function _createStreamSink(data) {
      var self = this;
      var action = this.actionHandler[data.action];
      var streamId = data.streamId;
      var sourceName = this.sourceName;
      var targetName = data.sourceName;
      var comObj = this.comObj;
      var streamSink = {
        enqueue: function enqueue(chunk) {
          var size = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
          var transfers = arguments.length > 2 ? arguments[2] : undefined;

          if (this.isCancelled) {
            return;
          }

          var lastDesiredSize = this.desiredSize;
          this.desiredSize -= size;

          if (lastDesiredSize > 0 && this.desiredSize <= 0) {
            this.sinkCapability = (0, _util.createPromiseCapability)();
            this.ready = this.sinkCapability.promise;
          }

          self._postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.ENQUEUE,
            streamId: streamId,
            chunk: chunk
          }, transfers);
        },
        close: function close() {
          if (this.isCancelled) {
            return;
          }

          this.isCancelled = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.CLOSE,
            streamId: streamId
          });
          delete self.streamSinks[streamId];
        },
        error: function error(reason) {
          (0, _util.assert)(reason instanceof Error, "error must have a valid reason");

          if (this.isCancelled) {
            return;
          }

          this.isCancelled = true;
          comObj.postMessage({
            sourceName: sourceName,
            targetName: targetName,
            stream: StreamKind.ERROR,
            streamId: streamId,
            reason: wrapReason(reason)
          });
        },
        sinkCapability: (0, _util.createPromiseCapability)(),
        onPull: null,
        onCancel: null,
        isCancelled: false,
        desiredSize: data.desiredSize,
        ready: null
      };
      streamSink.sinkCapability.resolve();
      streamSink.ready = streamSink.sinkCapability.promise;
      this.streamSinks[streamId] = streamSink;
      new Promise(function (resolve) {
        resolve(action(data.data, streamSink));
      }).then(function () {
        comObj.postMessage({
          sourceName: sourceName,
          targetName: targetName,
          stream: StreamKind.START_COMPLETE,
          streamId: streamId,
          success: true
        });
      }, function (reason) {
        comObj.postMessage({
          sourceName: sourceName,
          targetName: targetName,
          stream: StreamKind.START_COMPLETE,
          streamId: streamId,
          reason: wrapReason(reason)
        });
      });
    }
  }, {
    key: "_processStreamMessage",
    value: function _processStreamMessage(data) {
      var streamId = data.streamId;
      var sourceName = this.sourceName;
      var targetName = data.sourceName;
      var comObj = this.comObj;

      switch (data.stream) {
        case StreamKind.START_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].startCall.resolve();
          } else {
            this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));
          }

          break;

        case StreamKind.PULL_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].pullCall.resolve();
          } else {
            this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));
          }

          break;

        case StreamKind.PULL:
          if (!this.streamSinks[streamId]) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              success: true
            });
            break;
          }

          if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {
            this.streamSinks[streamId].sinkCapability.resolve();
          }

          this.streamSinks[streamId].desiredSize = data.desiredSize;
          var onPull = this.streamSinks[data.streamId].onPull;
          new Promise(function (resolve) {
            resolve(onPull && onPull());
          }).then(function () {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              success: true
            });
          }, function (reason) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.PULL_COMPLETE,
              streamId: streamId,
              reason: wrapReason(reason)
            });
          });
          break;

        case StreamKind.ENQUEUE:
          (0, _util.assert)(this.streamControllers[streamId], "enqueue should have stream controller");

          if (this.streamControllers[streamId].isClosed) {
            break;
          }

          this.streamControllers[streamId].controller.enqueue(data.chunk);
          break;

        case StreamKind.CLOSE:
          (0, _util.assert)(this.streamControllers[streamId], "close should have stream controller");

          if (this.streamControllers[streamId].isClosed) {
            break;
          }

          this.streamControllers[streamId].isClosed = true;
          this.streamControllers[streamId].controller.close();

          this._deleteStreamController(streamId);

          break;

        case StreamKind.ERROR:
          (0, _util.assert)(this.streamControllers[streamId], "error should have stream controller");
          this.streamControllers[streamId].controller.error(wrapReason(data.reason));

          this._deleteStreamController(streamId);

          break;

        case StreamKind.CANCEL_COMPLETE:
          if (data.success) {
            this.streamControllers[streamId].cancelCall.resolve();
          } else {
            this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));
          }

          this._deleteStreamController(streamId);

          break;

        case StreamKind.CANCEL:
          if (!this.streamSinks[streamId]) {
            break;
          }

          var onCancel = this.streamSinks[data.streamId].onCancel;
          new Promise(function (resolve) {
            resolve(onCancel && onCancel(wrapReason(data.reason)));
          }).then(function () {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.CANCEL_COMPLETE,
              streamId: streamId,
              success: true
            });
          }, function (reason) {
            comObj.postMessage({
              sourceName: sourceName,
              targetName: targetName,
              stream: StreamKind.CANCEL_COMPLETE,
              streamId: streamId,
              reason: wrapReason(reason)
            });
          });
          this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));
          this.streamSinks[streamId].isCancelled = true;
          delete this.streamSinks[streamId];
          break;

        default:
          throw new Error("Unexpected stream case");
      }
    }
  }, {
    key: "_deleteStreamController",
    value: function () {
      var _deleteStreamController2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(streamId) {
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {
                  return capability && capability.promise;
                }));

              case 2:
                delete this.streamControllers[streamId];

              case 3:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function _deleteStreamController(_x) {
        return _deleteStreamController2.apply(this, arguments);
      }

      return _deleteStreamController;
    }()
  }, {
    key: "_postMessage",
    value: function _postMessage(message, transfers) {
      if (transfers && this.postMessageTransfers) {
        this.comObj.postMessage(message, transfers);
      } else {
        this.comObj.postMessage(message);
      }
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.comObj.removeEventListener("message", this._onComObjOnMessage);
    }
  }]);

  return MessageHandler;
}();

exports.MessageHandler = MessageHandler;

/***/ }),
/* 211 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Metadata = void 0;

var _util = __w_pdfjs_require__(5);

var _xml_parser = __w_pdfjs_require__(212);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var Metadata = /*#__PURE__*/function () {
  function Metadata(data) {
    _classCallCheck(this, Metadata);

    (0, _util.assert)(typeof data === "string", "Metadata: input is not a string");
    data = this._repair(data);
    var parser = new _xml_parser.SimpleXMLParser();
    var xmlDocument = parser.parseFromString(data);
    this._metadataMap = new Map();

    if (xmlDocument) {
      this._parse(xmlDocument);
    }
  }

  _createClass(Metadata, [{
    key: "_repair",
    value: function _repair(data) {
      return data.replace(/^[^<]+/, "").replace(/>\\376\\377([^<]+)/g, function (all, codes) {
        var bytes = codes.replace(/\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {
          return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);
        }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {
          switch (name) {
            case "amp":
              return "&";

            case "apos":
              return "'";

            case "gt":
              return ">";

            case "lt":
              return "<";

            case "quot":
              return '"';
          }

          throw new Error("_repair: ".concat(name, " isn't defined."));
        });
        var chars = "";

        for (var i = 0, ii = bytes.length; i < ii; i += 2) {
          var code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);

          if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {
            chars += String.fromCharCode(code);
          } else {
            chars += "&#x" + (0x10000 + code).toString(16).substring(1) + ";";
          }
        }

        return ">" + chars;
      });
    }
  }, {
    key: "_parse",
    value: function _parse(xmlDocument) {
      var rdf = xmlDocument.documentElement;

      if (rdf.nodeName.toLowerCase() !== "rdf:rdf") {
        rdf = rdf.firstChild;

        while (rdf && rdf.nodeName.toLowerCase() !== "rdf:rdf") {
          rdf = rdf.nextSibling;
        }
      }

      var nodeName = rdf ? rdf.nodeName.toLowerCase() : null;

      if (!rdf || nodeName !== "rdf:rdf" || !rdf.hasChildNodes()) {
        return;
      }

      var children = rdf.childNodes;

      for (var i = 0, ii = children.length; i < ii; i++) {
        var desc = children[i];

        if (desc.nodeName.toLowerCase() !== "rdf:description") {
          continue;
        }

        for (var j = 0, jj = desc.childNodes.length; j < jj; j++) {
          if (desc.childNodes[j].nodeName.toLowerCase() !== "#text") {
            var entry = desc.childNodes[j];
            var name = entry.nodeName.toLowerCase();

            this._metadataMap.set(name, entry.textContent.trim());
          }
        }
      }
    }
  }, {
    key: "get",
    value: function get(name) {
      return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;
    }
  }, {
    key: "getAll",
    value: function getAll() {
      return Object.fromEntries(this._metadataMap);
    }
  }, {
    key: "has",
    value: function has(name) {
      return this._metadataMap.has(name);
    }
  }]);

  return Metadata;
}();

exports.Metadata = Metadata;

/***/ }),
/* 212 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.SimpleXMLParser = void 0;

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var XMLParserErrorCode = {
  NoError: 0,
  EndOfDocument: -1,
  UnterminatedCdat: -2,
  UnterminatedXmlDeclaration: -3,
  UnterminatedDoctypeDeclaration: -4,
  UnterminatedComment: -5,
  MalformedElement: -6,
  OutOfMemory: -7,
  UnterminatedAttributeValue: -8,
  UnterminatedElement: -9,
  ElementNeverBegun: -10
};

function isWhitespace(s, index) {
  var ch = s[index];
  return ch === " " || ch === "\n" || ch === "\r" || ch === "\t";
}

function isWhitespaceString(s) {
  for (var i = 0, ii = s.length; i < ii; i++) {
    if (!isWhitespace(s, i)) {
      return false;
    }
  }

  return true;
}

var XMLParserBase = /*#__PURE__*/function () {
  function XMLParserBase() {
    _classCallCheck(this, XMLParserBase);
  }

  _createClass(XMLParserBase, [{
    key: "_resolveEntities",
    value: function _resolveEntities(s) {
      var _this = this;

      return s.replace(/&([^;]+);/g, function (all, entity) {
        if (entity.substring(0, 2) === "#x") {
          return String.fromCharCode(parseInt(entity.substring(2), 16));
        } else if (entity.substring(0, 1) === "#") {
          return String.fromCharCode(parseInt(entity.substring(1), 10));
        }

        switch (entity) {
          case "lt":
            return "<";

          case "gt":
            return ">";

          case "amp":
            return "&";

          case "quot":
            return '"';
        }

        return _this.onResolveEntity(entity);
      });
    }
  }, {
    key: "_parseContent",
    value: function _parseContent(s, start) {
      var attributes = [];
      var pos = start;

      function skipWs() {
        while (pos < s.length && isWhitespace(s, pos)) {
          ++pos;
        }
      }

      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
        ++pos;
      }

      var name = s.substring(start, pos);
      skipWs();

      while (pos < s.length && s[pos] !== ">" && s[pos] !== "/" && s[pos] !== "?") {
        skipWs();
        var attrName = "",
            attrValue = "";

        while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== "=") {
          attrName += s[pos];
          ++pos;
        }

        skipWs();

        if (s[pos] !== "=") {
          return null;
        }

        ++pos;
        skipWs();
        var attrEndChar = s[pos];

        if (attrEndChar !== '"' && attrEndChar !== "'") {
          return null;
        }

        var attrEndIndex = s.indexOf(attrEndChar, ++pos);

        if (attrEndIndex < 0) {
          return null;
        }

        attrValue = s.substring(pos, attrEndIndex);
        attributes.push({
          name: attrName,
          value: this._resolveEntities(attrValue)
        });
        pos = attrEndIndex + 1;
        skipWs();
      }

      return {
        name: name,
        attributes: attributes,
        parsed: pos - start
      };
    }
  }, {
    key: "_parseProcessingInstruction",
    value: function _parseProcessingInstruction(s, start) {
      var pos = start;

      function skipWs() {
        while (pos < s.length && isWhitespace(s, pos)) {
          ++pos;
        }
      }

      while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== ">" && s[pos] !== "/") {
        ++pos;
      }

      var name = s.substring(start, pos);
      skipWs();
      var attrStart = pos;

      while (pos < s.length && (s[pos] !== "?" || s[pos + 1] !== ">")) {
        ++pos;
      }

      var value = s.substring(attrStart, pos);
      return {
        name: name,
        value: value,
        parsed: pos - start
      };
    }
  }, {
    key: "parseXml",
    value: function parseXml(s) {
      var i = 0;

      while (i < s.length) {
        var ch = s[i];
        var j = i;

        if (ch === "<") {
          ++j;
          var ch2 = s[j];
          var q = void 0;

          switch (ch2) {
            case "/":
              ++j;
              q = s.indexOf(">", j);

              if (q < 0) {
                this.onError(XMLParserErrorCode.UnterminatedElement);
                return;
              }

              this.onEndElement(s.substring(j, q));
              j = q + 1;
              break;

            case "?":
              ++j;

              var pi = this._parseProcessingInstruction(s, j);

              if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== "?>") {
                this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);
                return;
              }

              this.onPi(pi.name, pi.value);
              j += pi.parsed + 2;
              break;

            case "!":
              if (s.substring(j + 1, j + 3) === "--") {
                q = s.indexOf("-->", j + 3);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedComment);
                  return;
                }

                this.onComment(s.substring(j + 3, q));
                j = q + 3;
              } else if (s.substring(j + 1, j + 8) === "[CDATA[") {
                q = s.indexOf("]]>", j + 8);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedCdat);
                  return;
                }

                this.onCdata(s.substring(j + 8, q));
                j = q + 3;
              } else if (s.substring(j + 1, j + 8) === "DOCTYPE") {
                var q2 = s.indexOf("[", j + 8);
                var complexDoctype = false;
                q = s.indexOf(">", j + 8);

                if (q < 0) {
                  this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                  return;
                }

                if (q2 > 0 && q > q2) {
                  q = s.indexOf("]>", j + 8);

                  if (q < 0) {
                    this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);
                    return;
                  }

                  complexDoctype = true;
                }

                var doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));
                this.onDoctype(doctypeContent);
                j = q + (complexDoctype ? 2 : 1);
              } else {
                this.onError(XMLParserErrorCode.MalformedElement);
                return;
              }

              break;

            default:
              var content = this._parseContent(s, j);

              if (content === null) {
                this.onError(XMLParserErrorCode.MalformedElement);
                return;
              }

              var isClosed = false;

              if (s.substring(j + content.parsed, j + content.parsed + 2) === "/>") {
                isClosed = true;
              } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== ">") {
                this.onError(XMLParserErrorCode.UnterminatedElement);
                return;
              }

              this.onBeginElement(content.name, content.attributes, isClosed);
              j += content.parsed + (isClosed ? 2 : 1);
              break;
          }
        } else {
          while (j < s.length && s[j] !== "<") {
            j++;
          }

          var text = s.substring(i, j);
          this.onText(this._resolveEntities(text));
        }

        i = j;
      }
    }
  }, {
    key: "onResolveEntity",
    value: function onResolveEntity(name) {
      return "&".concat(name, ";");
    }
  }, {
    key: "onPi",
    value: function onPi(name, value) {}
  }, {
    key: "onComment",
    value: function onComment(text) {}
  }, {
    key: "onCdata",
    value: function onCdata(text) {}
  }, {
    key: "onDoctype",
    value: function onDoctype(doctypeContent) {}
  }, {
    key: "onText",
    value: function onText(text) {}
  }, {
    key: "onBeginElement",
    value: function onBeginElement(name, attributes, isEmpty) {}
  }, {
    key: "onEndElement",
    value: function onEndElement(name) {}
  }, {
    key: "onError",
    value: function onError(code) {}
  }]);

  return XMLParserBase;
}();

var SimpleDOMNode = /*#__PURE__*/function () {
  function SimpleDOMNode(nodeName, nodeValue) {
    _classCallCheck(this, SimpleDOMNode);

    this.nodeName = nodeName;
    this.nodeValue = nodeValue;
    Object.defineProperty(this, "parentNode", {
      value: null,
      writable: true
    });
  }

  _createClass(SimpleDOMNode, [{
    key: "hasChildNodes",
    value: function hasChildNodes() {
      return this.childNodes && this.childNodes.length > 0;
    }
  }, {
    key: "firstChild",
    get: function get() {
      return this.childNodes && this.childNodes[0];
    }
  }, {
    key: "nextSibling",
    get: function get() {
      var childNodes = this.parentNode.childNodes;

      if (!childNodes) {
        return undefined;
      }

      var index = childNodes.indexOf(this);

      if (index === -1) {
        return undefined;
      }

      return childNodes[index + 1];
    }
  }, {
    key: "textContent",
    get: function get() {
      if (!this.childNodes) {
        return this.nodeValue || "";
      }

      return this.childNodes.map(function (child) {
        return child.textContent;
      }).join("");
    }
  }]);

  return SimpleDOMNode;
}();

var SimpleXMLParser = /*#__PURE__*/function (_XMLParserBase) {
  _inherits(SimpleXMLParser, _XMLParserBase);

  var _super = _createSuper(SimpleXMLParser);

  function SimpleXMLParser() {
    var _this2;

    _classCallCheck(this, SimpleXMLParser);

    _this2 = _super.call(this);
    _this2._currentFragment = null;
    _this2._stack = null;
    _this2._errorCode = XMLParserErrorCode.NoError;
    return _this2;
  }

  _createClass(SimpleXMLParser, [{
    key: "parseFromString",
    value: function parseFromString(data) {
      this._currentFragment = [];
      this._stack = [];
      this._errorCode = XMLParserErrorCode.NoError;
      this.parseXml(data);

      if (this._errorCode !== XMLParserErrorCode.NoError) {
        return undefined;
      }

      var _this$_currentFragmen = _slicedToArray(this._currentFragment, 1),
          documentElement = _this$_currentFragmen[0];

      if (!documentElement) {
        return undefined;
      }

      return {
        documentElement: documentElement
      };
    }
  }, {
    key: "onResolveEntity",
    value: function onResolveEntity(name) {
      switch (name) {
        case "apos":
          return "'";
      }

      return _get(_getPrototypeOf(SimpleXMLParser.prototype), "onResolveEntity", this).call(this, name);
    }
  }, {
    key: "onText",
    value: function onText(text) {
      if (isWhitespaceString(text)) {
        return;
      }

      var node = new SimpleDOMNode("#text", text);

      this._currentFragment.push(node);
    }
  }, {
    key: "onCdata",
    value: function onCdata(text) {
      var node = new SimpleDOMNode("#text", text);

      this._currentFragment.push(node);
    }
  }, {
    key: "onBeginElement",
    value: function onBeginElement(name, attributes, isEmpty) {
      var node = new SimpleDOMNode(name);
      node.childNodes = [];

      this._currentFragment.push(node);

      if (isEmpty) {
        return;
      }

      this._stack.push(this._currentFragment);

      this._currentFragment = node.childNodes;
    }
  }, {
    key: "onEndElement",
    value: function onEndElement(name) {
      this._currentFragment = this._stack.pop() || [];
      var lastElement = this._currentFragment[this._currentFragment.length - 1];

      if (!lastElement) {
        return;
      }

      for (var i = 0, ii = lastElement.childNodes.length; i < ii; i++) {
        lastElement.childNodes[i].parentNode = lastElement;
      }
    }
  }, {
    key: "onError",
    value: function onError(code) {
      this._errorCode = code;
    }
  }]);

  return SimpleXMLParser;
}(XMLParserBase);

exports.SimpleXMLParser = SimpleXMLParser;

/***/ }),
/* 213 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.OptionalContentConfig = void 0;

var _util = __w_pdfjs_require__(5);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

var OptionalContentGroup = function OptionalContentGroup(name, intent) {
  _classCallCheck(this, OptionalContentGroup);

  this.visible = true;
  this.name = name;
  this.intent = intent;
};

var OptionalContentConfig = /*#__PURE__*/function () {
  function OptionalContentConfig(data) {
    _classCallCheck(this, OptionalContentConfig);

    this.name = null;
    this.creator = null;
    this._order = null;
    this._groups = new Map();

    if (data === null) {
      return;
    }

    this.name = data.name;
    this.creator = data.creator;
    this._order = data.order;

    var _iterator = _createForOfIteratorHelper(data.groups),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var _group = _step.value;

        this._groups.set(_group.id, new OptionalContentGroup(_group.name, _group.intent));
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    if (data.baseState === "OFF") {
      var _iterator2 = _createForOfIteratorHelper(this._groups),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var group = _step2.value;
          group.visible = false;
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }
    }

    var _iterator3 = _createForOfIteratorHelper(data.on),
        _step3;

    try {
      for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
        var on = _step3.value;
        this._groups.get(on).visible = true;
      }
    } catch (err) {
      _iterator3.e(err);
    } finally {
      _iterator3.f();
    }

    var _iterator4 = _createForOfIteratorHelper(data.off),
        _step4;

    try {
      for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
        var off = _step4.value;
        this._groups.get(off).visible = false;
      }
    } catch (err) {
      _iterator4.e(err);
    } finally {
      _iterator4.f();
    }
  }

  _createClass(OptionalContentConfig, [{
    key: "isVisible",
    value: function isVisible(group) {
      if (group.type === "OCG") {
        if (!this._groups.has(group.id)) {
          (0, _util.warn)("Optional content group not found: ".concat(group.id));
          return true;
        }

        return this._groups.get(group.id).visible;
      } else if (group.type === "OCMD") {
        if (group.expression) {
          (0, _util.warn)("Visibility expression not supported yet.");
        }

        if (!group.policy || group.policy === "AnyOn") {
          var _iterator5 = _createForOfIteratorHelper(group.ids),
              _step5;

          try {
            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
              var id = _step5.value;

              if (!this._groups.has(id)) {
                (0, _util.warn)("Optional content group not found: ".concat(id));
                return true;
              }

              if (this._groups.get(id).visible) {
                return true;
              }
            }
          } catch (err) {
            _iterator5.e(err);
          } finally {
            _iterator5.f();
          }

          return false;
        } else if (group.policy === "AllOn") {
          var _iterator6 = _createForOfIteratorHelper(group.ids),
              _step6;

          try {
            for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
              var _id = _step6.value;

              if (!this._groups.has(_id)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id));
                return true;
              }

              if (!this._groups.get(_id).visible) {
                return false;
              }
            }
          } catch (err) {
            _iterator6.e(err);
          } finally {
            _iterator6.f();
          }

          return true;
        } else if (group.policy === "AnyOff") {
          var _iterator7 = _createForOfIteratorHelper(group.ids),
              _step7;

          try {
            for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
              var _id2 = _step7.value;

              if (!this._groups.has(_id2)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id2));
                return true;
              }

              if (!this._groups.get(_id2).visible) {
                return true;
              }
            }
          } catch (err) {
            _iterator7.e(err);
          } finally {
            _iterator7.f();
          }

          return false;
        } else if (group.policy === "AllOff") {
          var _iterator8 = _createForOfIteratorHelper(group.ids),
              _step8;

          try {
            for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
              var _id3 = _step8.value;

              if (!this._groups.has(_id3)) {
                (0, _util.warn)("Optional content group not found: ".concat(_id3));
                return true;
              }

              if (this._groups.get(_id3).visible) {
                return false;
              }
            }
          } catch (err) {
            _iterator8.e(err);
          } finally {
            _iterator8.f();
          }

          return true;
        }

        (0, _util.warn)("Unknown optional content policy ".concat(group.policy, "."));
        return true;
      }

      (0, _util.warn)("Unknown group type ".concat(group.type, "."));
      return true;
    }
  }, {
    key: "setVisibility",
    value: function setVisibility(id) {
      var visible = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;

      if (!this._groups.has(id)) {
        (0, _util.warn)("Optional content group not found: ".concat(id));
        return;
      }

      this._groups.get(id).visible = !!visible;
    }
  }, {
    key: "getOrder",
    value: function getOrder() {
      if (!this._groups.size) {
        return null;
      }

      if (this._order) {
        return this._order.slice();
      }

      return Array.from(this._groups.keys());
    }
  }, {
    key: "getGroups",
    value: function getGroups() {
      if (!this._groups.size) {
        return null;
      }

      return Object.fromEntries(this._groups);
    }
  }, {
    key: "getGroup",
    value: function getGroup(id) {
      return this._groups.get(id) || null;
    }
  }]);

  return OptionalContentConfig;
}();

exports.OptionalContentConfig = OptionalContentConfig;

/***/ }),
/* 214 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFDataTransportStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var PDFDataTransportStream = /*#__PURE__*/function () {
  function PDFDataTransportStream(params, pdfDataRangeTransport) {
    var _this = this;

    _classCallCheck(this, PDFDataTransportStream);

    (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.');
    this._queuedChunks = [];
    this._progressiveDone = params.progressiveDone || false;
    var initialData = params.initialData;

    if (initialData && initialData.length > 0) {
      var buffer = new Uint8Array(initialData).buffer;

      this._queuedChunks.push(buffer);
    }

    this._pdfDataRangeTransport = pdfDataRangeTransport;
    this._isStreamingSupported = !params.disableStream;
    this._isRangeSupported = !params.disableRange;
    this._contentLength = params.length;
    this._fullRequestReader = null;
    this._rangeReaders = [];

    this._pdfDataRangeTransport.addRangeListener(function (begin, chunk) {
      _this._onReceiveData({
        begin: begin,
        chunk: chunk
      });
    });

    this._pdfDataRangeTransport.addProgressListener(function (loaded, total) {
      _this._onProgress({
        loaded: loaded,
        total: total
      });
    });

    this._pdfDataRangeTransport.addProgressiveReadListener(function (chunk) {
      _this._onReceiveData({
        chunk: chunk
      });
    });

    this._pdfDataRangeTransport.addProgressiveDoneListener(function () {
      _this._onProgressiveDone();
    });

    this._pdfDataRangeTransport.transportReady();
  }

  _createClass(PDFDataTransportStream, [{
    key: "_onReceiveData",
    value: function _onReceiveData(args) {
      var buffer = new Uint8Array(args.chunk).buffer;

      if (args.begin === undefined) {
        if (this._fullRequestReader) {
          this._fullRequestReader._enqueue(buffer);
        } else {
          this._queuedChunks.push(buffer);
        }
      } else {
        var found = this._rangeReaders.some(function (rangeReader) {
          if (rangeReader._begin !== args.begin) {
            return false;
          }

          rangeReader._enqueue(buffer);

          return true;
        });

        (0, _util.assert)(found, "_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.");
      }
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(evt) {
      if (evt.total === undefined) {
        var firstReader = this._rangeReaders[0];

        if (firstReader && firstReader.onProgress) {
          firstReader.onProgress({
            loaded: evt.loaded
          });
        }
      } else {
        var fullReader = this._fullRequestReader;

        if (fullReader && fullReader.onProgress) {
          fullReader.onProgress({
            loaded: evt.loaded,
            total: evt.total
          });
        }
      }
    }
  }, {
    key: "_onProgressiveDone",
    value: function _onProgressiveDone() {
      if (this._fullRequestReader) {
        this._fullRequestReader.progressiveDone();
      }

      this._progressiveDone = true;
    }
  }, {
    key: "_removeRangeReader",
    value: function _removeRangeReader(reader) {
      var i = this._rangeReaders.indexOf(reader);

      if (i >= 0) {
        this._rangeReaders.splice(i, 1);
      }
    }
  }, {
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFDataTransportStream.getFullReader can only be called once.");
      var queuedChunks = this._queuedChunks;
      this._queuedChunks = null;
      return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var reader = new PDFDataTransportStreamRangeReader(this, begin, end);

      this._pdfDataRangeTransport.requestDataRange(begin, end);

      this._rangeReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeReaders.slice(0);

      readers.forEach(function (rangeReader) {
        rangeReader.cancel(reason);
      });

      this._pdfDataRangeTransport.abort();
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
    }
  }]);

  return PDFDataTransportStream;
}();

exports.PDFDataTransportStream = PDFDataTransportStream;

var PDFDataTransportStreamReader = /*#__PURE__*/function () {
  function PDFDataTransportStreamReader(stream, queuedChunks) {
    var progressiveDone = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _classCallCheck(this, PDFDataTransportStreamReader);

    this._stream = stream;
    this._done = progressiveDone || false;
    this._filename = null;
    this._queuedChunks = queuedChunks || [];
    this._loaded = 0;

    var _iterator = _createForOfIteratorHelper(this._queuedChunks),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var chunk = _step.value;
        this._loaded += chunk.byteLength;
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    this._requests = [];
    this._headersReady = Promise.resolve();
    stream._fullRequestReader = this;
    this.onProgress = null;
  }

  _createClass(PDFDataTransportStreamReader, [{
    key: "_enqueue",
    value: function _enqueue(chunk) {
      if (this._done) {
        return;
      }

      if (this._requests.length > 0) {
        var requestCapability = this._requests.shift();

        requestCapability.resolve({
          value: chunk,
          done: false
        });
      } else {
        this._queuedChunks.push(chunk);
      }

      this._loaded += chunk.byteLength;
    }
  }, {
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!(this._queuedChunks.length > 0)) {
                  _context.next = 3;
                  break;
                }

                chunk = this._queuedChunks.shift();
                return _context.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 3:
                if (!this._done) {
                  _context.next = 5;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 5:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context.abrupt("return", requestCapability.promise);

              case 8:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];
    }
  }, {
    key: "progressiveDone",
    value: function progressiveDone() {
      if (this._done) {
        return;
      }

      this._done = true;
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersReady;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._stream._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._stream._isStreamingSupported;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._stream._contentLength;
    }
  }]);

  return PDFDataTransportStreamReader;
}();

var PDFDataTransportStreamRangeReader = /*#__PURE__*/function () {
  function PDFDataTransportStreamRangeReader(stream, begin, end) {
    _classCallCheck(this, PDFDataTransportStreamRangeReader);

    this._stream = stream;
    this._begin = begin;
    this._end = end;
    this._queuedChunk = null;
    this._requests = [];
    this._done = false;
    this.onProgress = null;
  }

  _createClass(PDFDataTransportStreamRangeReader, [{
    key: "_enqueue",
    value: function _enqueue(chunk) {
      if (this._done) {
        return;
      }

      if (this._requests.length === 0) {
        this._queuedChunk = chunk;
      } else {
        var requestsCapability = this._requests.shift();

        requestsCapability.resolve({
          value: chunk,
          done: false
        });

        this._requests.forEach(function (requestCapability) {
          requestCapability.resolve({
            value: undefined,
            done: true
          });
        });

        this._requests = [];
      }

      this._done = true;

      this._stream._removeRangeReader(this);
    }
  }, {
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!this._queuedChunk) {
                  _context2.next = 4;
                  break;
                }

                chunk = this._queuedChunk;
                this._queuedChunk = null;
                return _context2.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 4:
                if (!this._done) {
                  _context2.next = 6;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 6:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context2.abrupt("return", requestCapability.promise);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      this._stream._removeRangeReader(this);
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return false;
    }
  }]);

  return PDFDataTransportStreamRangeReader;
}();

/***/ }),
/* 215 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.WebGLContext = void 0;

var _util = __w_pdfjs_require__(5);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var WebGLContext = /*#__PURE__*/function () {
  function WebGLContext(_ref) {
    var _ref$enable = _ref.enable,
        enable = _ref$enable === void 0 ? false : _ref$enable;

    _classCallCheck(this, WebGLContext);

    this._enabled = enable === true;
  }

  _createClass(WebGLContext, [{
    key: "composeSMask",
    value: function composeSMask(_ref2) {
      var layer = _ref2.layer,
          mask = _ref2.mask,
          properties = _ref2.properties;
      return WebGLUtils.composeSMask(layer, mask, properties);
    }
  }, {
    key: "drawFigures",
    value: function drawFigures(_ref3) {
      var width = _ref3.width,
          height = _ref3.height,
          backgroundColor = _ref3.backgroundColor,
          figures = _ref3.figures,
          context = _ref3.context;
      return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);
    }
  }, {
    key: "clear",
    value: function clear() {
      WebGLUtils.cleanup();
    }
  }, {
    key: "isEnabled",
    get: function get() {
      var enabled = this._enabled;

      if (enabled) {
        enabled = WebGLUtils.tryInitGL();
      }

      return (0, _util.shadow)(this, "isEnabled", enabled);
    }
  }]);

  return WebGLContext;
}();

exports.WebGLContext = WebGLContext;

var WebGLUtils = function WebGLUtilsClosure() {
  function loadShader(gl, code, shaderType) {
    var shader = gl.createShader(shaderType);
    gl.shaderSource(shader, code);
    gl.compileShader(shader);
    var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);

    if (!compiled) {
      var errorMsg = gl.getShaderInfoLog(shader);
      throw new Error("Error during shader compilation: " + errorMsg);
    }

    return shader;
  }

  function createVertexShader(gl, code) {
    return loadShader(gl, code, gl.VERTEX_SHADER);
  }

  function createFragmentShader(gl, code) {
    return loadShader(gl, code, gl.FRAGMENT_SHADER);
  }

  function createProgram(gl, shaders) {
    var program = gl.createProgram();

    for (var i = 0, ii = shaders.length; i < ii; ++i) {
      gl.attachShader(program, shaders[i]);
    }

    gl.linkProgram(program);
    var linked = gl.getProgramParameter(program, gl.LINK_STATUS);

    if (!linked) {
      var errorMsg = gl.getProgramInfoLog(program);
      throw new Error("Error during program linking: " + errorMsg);
    }

    return program;
  }

  function createTexture(gl, image, textureId) {
    gl.activeTexture(textureId);
    var texture = gl.createTexture();
    gl.bindTexture(gl.TEXTURE_2D, texture);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
    gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
    gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);
    return texture;
  }

  var currentGL, currentCanvas;

  function generateGL() {
    if (currentGL) {
      return;
    }

    currentCanvas = document.createElement("canvas");
    currentGL = currentCanvas.getContext("webgl", {
      premultipliedalpha: false
    });
  }

  var smaskVertexShaderCode = "\
  attribute vec2 a_position;                                    \
  attribute vec2 a_texCoord;                                    \
                                                                \
  uniform vec2 u_resolution;                                    \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0;   \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_texCoord = a_texCoord;                                    \
  }                                                             ";
  var smaskFragmentShaderCode = "\
  precision mediump float;                                      \
                                                                \
  uniform vec4 u_backdrop;                                      \
  uniform int u_subtype;                                        \
  uniform sampler2D u_image;                                    \
  uniform sampler2D u_mask;                                     \
                                                                \
  varying vec2 v_texCoord;                                      \
                                                                \
  void main() {                                                 \
    vec4 imageColor = texture2D(u_image, v_texCoord);           \
    vec4 maskColor = texture2D(u_mask, v_texCoord);             \
    if (u_backdrop.a > 0.0) {                                   \
      maskColor.rgb = maskColor.rgb * maskColor.a +             \
                      u_backdrop.rgb * (1.0 - maskColor.a);     \
    }                                                           \
    float lum;                                                  \
    if (u_subtype == 0) {                                       \
      lum = maskColor.a;                                        \
    } else {                                                    \
      lum = maskColor.r * 0.3 + maskColor.g * 0.59 +            \
            maskColor.b * 0.11;                                 \
    }                                                           \
    imageColor.a *= lum;                                        \
    imageColor.rgb *= imageColor.a;                             \
    gl_FragColor = imageColor;                                  \
  }                                                             ";
  var smaskCache = null;

  function initSmaskGL() {
    var canvas, gl;
    generateGL();
    canvas = currentCanvas;
    currentCanvas = null;
    gl = currentGL;
    currentGL = null;
    var vertexShader = createVertexShader(gl, smaskVertexShaderCode);
    var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);
    var program = createProgram(gl, [vertexShader, fragmentShader]);
    gl.useProgram(program);
    var cache = {};
    cache.gl = gl;
    cache.canvas = canvas;
    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
    cache.positionLocation = gl.getAttribLocation(program, "a_position");
    cache.backdropLocation = gl.getUniformLocation(program, "u_backdrop");
    cache.subtypeLocation = gl.getUniformLocation(program, "u_subtype");
    var texCoordLocation = gl.getAttribLocation(program, "a_texCoord");
    var texLayerLocation = gl.getUniformLocation(program, "u_image");
    var texMaskLocation = gl.getUniformLocation(program, "u_mask");
    var texCoordBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);
    gl.enableVertexAttribArray(texCoordLocation);
    gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);
    gl.uniform1i(texLayerLocation, 0);
    gl.uniform1i(texMaskLocation, 1);
    smaskCache = cache;
  }

  function composeSMask(layer, mask, properties) {
    var width = layer.width,
        height = layer.height;

    if (!smaskCache) {
      initSmaskGL();
    }

    var cache = smaskCache,
        canvas = cache.canvas,
        gl = cache.gl;
    canvas.width = width;
    canvas.height = height;
    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    gl.uniform2f(cache.resolutionLocation, width, height);

    if (properties.backdrop) {
      gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);
    } else {
      gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);
    }

    gl.uniform1i(cache.subtypeLocation, properties.subtype === "Luminosity" ? 1 : 0);
    var texture = createTexture(gl, layer, gl.TEXTURE0);
    var maskTexture = createTexture(gl, mask, gl.TEXTURE1);
    var buffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
    gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.positionLocation);
    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
    gl.clearColor(0, 0, 0, 0);
    gl.enable(gl.BLEND);
    gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);
    gl.clear(gl.COLOR_BUFFER_BIT);
    gl.drawArrays(gl.TRIANGLES, 0, 6);
    gl.flush();
    gl.deleteTexture(texture);
    gl.deleteTexture(maskTexture);
    gl.deleteBuffer(buffer);
    return canvas;
  }

  var figuresVertexShaderCode = "\
  attribute vec2 a_position;                                    \
  attribute vec3 a_color;                                       \
                                                                \
  uniform vec2 u_resolution;                                    \
  uniform vec2 u_scale;                                         \
  uniform vec2 u_offset;                                        \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    vec2 position = (a_position + u_offset) * u_scale;          \
    vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0;     \
    gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1);          \
                                                                \
    v_color = vec4(a_color / 255.0, 1.0);                       \
  }                                                             ";
  var figuresFragmentShaderCode = "\
  precision mediump float;                                      \
                                                                \
  varying vec4 v_color;                                         \
                                                                \
  void main() {                                                 \
    gl_FragColor = v_color;                                     \
  }                                                             ";
  var figuresCache = null;

  function initFiguresGL() {
    var canvas, gl;
    generateGL();
    canvas = currentCanvas;
    currentCanvas = null;
    gl = currentGL;
    currentGL = null;
    var vertexShader = createVertexShader(gl, figuresVertexShaderCode);
    var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);
    var program = createProgram(gl, [vertexShader, fragmentShader]);
    gl.useProgram(program);
    var cache = {};
    cache.gl = gl;
    cache.canvas = canvas;
    cache.resolutionLocation = gl.getUniformLocation(program, "u_resolution");
    cache.scaleLocation = gl.getUniformLocation(program, "u_scale");
    cache.offsetLocation = gl.getUniformLocation(program, "u_offset");
    cache.positionLocation = gl.getAttribLocation(program, "a_position");
    cache.colorLocation = gl.getAttribLocation(program, "a_color");
    figuresCache = cache;
  }

  function drawFigures(width, height, backgroundColor, figures, context) {
    if (!figuresCache) {
      initFiguresGL();
    }

    var cache = figuresCache,
        canvas = cache.canvas,
        gl = cache.gl;
    canvas.width = width;
    canvas.height = height;
    gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
    gl.uniform2f(cache.resolutionLocation, width, height);
    var count = 0;
    var i, ii, rows;

    for (i = 0, ii = figures.length; i < ii; i++) {
      switch (figures[i].type) {
        case "lattice":
          rows = figures[i].coords.length / figures[i].verticesPerRow | 0;
          count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;
          break;

        case "triangles":
          count += figures[i].coords.length;
          break;
      }
    }

    var coords = new Float32Array(count * 2);
    var colors = new Uint8Array(count * 3);
    var coordsMap = context.coords,
        colorsMap = context.colors;
    var pIndex = 0,
        cIndex = 0;

    for (i = 0, ii = figures.length; i < ii; i++) {
      var figure = figures[i],
          ps = figure.coords,
          cs = figure.colors;

      switch (figure.type) {
        case "lattice":
          var cols = figure.verticesPerRow;
          rows = ps.length / cols | 0;

          for (var row = 1; row < rows; row++) {
            var offset = row * cols + 1;

            for (var col = 1; col < cols; col++, offset++) {
              coords[pIndex] = coordsMap[ps[offset - cols - 1]];
              coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];
              coords[pIndex + 2] = coordsMap[ps[offset - cols]];
              coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];
              coords[pIndex + 4] = coordsMap[ps[offset - 1]];
              coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];
              colors[cIndex] = colorsMap[cs[offset - cols - 1]];
              colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];
              colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];
              colors[cIndex + 3] = colorsMap[cs[offset - cols]];
              colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];
              colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];
              colors[cIndex + 6] = colorsMap[cs[offset - 1]];
              colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];
              colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];
              coords[pIndex + 6] = coords[pIndex + 2];
              coords[pIndex + 7] = coords[pIndex + 3];
              coords[pIndex + 8] = coords[pIndex + 4];
              coords[pIndex + 9] = coords[pIndex + 5];
              coords[pIndex + 10] = coordsMap[ps[offset]];
              coords[pIndex + 11] = coordsMap[ps[offset] + 1];
              colors[cIndex + 9] = colors[cIndex + 3];
              colors[cIndex + 10] = colors[cIndex + 4];
              colors[cIndex + 11] = colors[cIndex + 5];
              colors[cIndex + 12] = colors[cIndex + 6];
              colors[cIndex + 13] = colors[cIndex + 7];
              colors[cIndex + 14] = colors[cIndex + 8];
              colors[cIndex + 15] = colorsMap[cs[offset]];
              colors[cIndex + 16] = colorsMap[cs[offset] + 1];
              colors[cIndex + 17] = colorsMap[cs[offset] + 2];
              pIndex += 12;
              cIndex += 18;
            }
          }

          break;

        case "triangles":
          for (var j = 0, jj = ps.length; j < jj; j++) {
            coords[pIndex] = coordsMap[ps[j]];
            coords[pIndex + 1] = coordsMap[ps[j] + 1];
            colors[cIndex] = colorsMap[cs[j]];
            colors[cIndex + 1] = colorsMap[cs[j] + 1];
            colors[cIndex + 2] = colorsMap[cs[j] + 2];
            pIndex += 2;
            cIndex += 3;
          }

          break;
      }
    }

    if (backgroundColor) {
      gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);
    } else {
      gl.clearColor(0, 0, 0, 0);
    }

    gl.clear(gl.COLOR_BUFFER_BIT);
    var coordsBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.positionLocation);
    gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);
    var colorsBuffer = gl.createBuffer();
    gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);
    gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);
    gl.enableVertexAttribArray(cache.colorLocation);
    gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);
    gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);
    gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);
    gl.drawArrays(gl.TRIANGLES, 0, count);
    gl.flush();
    gl.deleteBuffer(coordsBuffer);
    gl.deleteBuffer(colorsBuffer);
    return canvas;
  }

  return {
    tryInitGL: function tryInitGL() {
      try {
        generateGL();
        return !!currentGL;
      } catch (ex) {}

      return false;
    },
    composeSMask: composeSMask,
    drawFigures: drawFigures,
    cleanup: function cleanup() {
      if (smaskCache && smaskCache.canvas) {
        smaskCache.canvas.width = 0;
        smaskCache.canvas.height = 0;
      }

      if (figuresCache && figuresCache.canvas) {
        figuresCache.canvas.width = 0;
        figuresCache.canvas.height = 0;
      }

      smaskCache = null;
      figuresCache = null;
    }
  };
}();

/***/ }),
/* 216 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.AnnotationLayer = void 0;

var _display_utils = __w_pdfjs_require__(1);

var _util = __w_pdfjs_require__(5);

var _annotation_storage = __w_pdfjs_require__(205);

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationElementFactory = /*#__PURE__*/function () {
  function AnnotationElementFactory() {
    _classCallCheck(this, AnnotationElementFactory);
  }

  _createClass(AnnotationElementFactory, null, [{
    key: "create",
    value: function create(parameters) {
      var subtype = parameters.data.annotationType;

      switch (subtype) {
        case _util.AnnotationType.LINK:
          return new LinkAnnotationElement(parameters);

        case _util.AnnotationType.TEXT:
          return new TextAnnotationElement(parameters);

        case _util.AnnotationType.WIDGET:
          var fieldType = parameters.data.fieldType;

          switch (fieldType) {
            case "Tx":
              return new TextWidgetAnnotationElement(parameters);

            case "Btn":
              if (parameters.data.radioButton) {
                return new RadioButtonWidgetAnnotationElement(parameters);
              } else if (parameters.data.checkBox) {
                return new CheckboxWidgetAnnotationElement(parameters);
              }

              return new PushButtonWidgetAnnotationElement(parameters);

            case "Ch":
              return new ChoiceWidgetAnnotationElement(parameters);
          }

          return new WidgetAnnotationElement(parameters);

        case _util.AnnotationType.POPUP:
          return new PopupAnnotationElement(parameters);

        case _util.AnnotationType.FREETEXT:
          return new FreeTextAnnotationElement(parameters);

        case _util.AnnotationType.LINE:
          return new LineAnnotationElement(parameters);

        case _util.AnnotationType.SQUARE:
          return new SquareAnnotationElement(parameters);

        case _util.AnnotationType.CIRCLE:
          return new CircleAnnotationElement(parameters);

        case _util.AnnotationType.POLYLINE:
          return new PolylineAnnotationElement(parameters);

        case _util.AnnotationType.CARET:
          return new CaretAnnotationElement(parameters);

        case _util.AnnotationType.INK:
          return new InkAnnotationElement(parameters);

        case _util.AnnotationType.POLYGON:
          return new PolygonAnnotationElement(parameters);

        case _util.AnnotationType.HIGHLIGHT:
          return new HighlightAnnotationElement(parameters);

        case _util.AnnotationType.UNDERLINE:
          return new UnderlineAnnotationElement(parameters);

        case _util.AnnotationType.SQUIGGLY:
          return new SquigglyAnnotationElement(parameters);

        case _util.AnnotationType.STRIKEOUT:
          return new StrikeOutAnnotationElement(parameters);

        case _util.AnnotationType.STAMP:
          return new StampAnnotationElement(parameters);

        case _util.AnnotationType.FILEATTACHMENT:
          return new FileAttachmentAnnotationElement(parameters);

        default:
          return new AnnotationElement(parameters);
      }
    }
  }]);

  return AnnotationElementFactory;
}();

var AnnotationElement = /*#__PURE__*/function () {
  function AnnotationElement(parameters) {
    var isRenderable = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
    var ignoreBorder = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

    _classCallCheck(this, AnnotationElement);

    this.isRenderable = isRenderable;
    this.data = parameters.data;
    this.layer = parameters.layer;
    this.page = parameters.page;
    this.viewport = parameters.viewport;
    this.linkService = parameters.linkService;
    this.downloadManager = parameters.downloadManager;
    this.imageResourcesPath = parameters.imageResourcesPath;
    this.renderInteractiveForms = parameters.renderInteractiveForms;
    this.svgFactory = parameters.svgFactory;
    this.annotationStorage = parameters.annotationStorage;

    if (isRenderable) {
      this.container = this._createContainer(ignoreBorder);
    }
  }

  _createClass(AnnotationElement, [{
    key: "_createContainer",
    value: function _createContainer() {
      var ignoreBorder = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var data = this.data,
          page = this.page,
          viewport = this.viewport;
      var container = document.createElement("section");
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      container.setAttribute("data-annotation-id", data.id);

      var rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);

      container.style.transform = "matrix(".concat(viewport.transform.join(","), ")");
      container.style.transformOrigin = "-".concat(rect[0], "px -").concat(rect[1], "px");

      if (!ignoreBorder && data.borderStyle.width > 0) {
        container.style.borderWidth = "".concat(data.borderStyle.width, "px");

        if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {
          width = width - 2 * data.borderStyle.width;
          height = height - 2 * data.borderStyle.width;
        }

        var horizontalRadius = data.borderStyle.horizontalCornerRadius;
        var verticalRadius = data.borderStyle.verticalCornerRadius;

        if (horizontalRadius > 0 || verticalRadius > 0) {
          var radius = "".concat(horizontalRadius, "px / ").concat(verticalRadius, "px");
          container.style.borderRadius = radius;
        }

        switch (data.borderStyle.style) {
          case _util.AnnotationBorderStyleType.SOLID:
            container.style.borderStyle = "solid";
            break;

          case _util.AnnotationBorderStyleType.DASHED:
            container.style.borderStyle = "dashed";
            break;

          case _util.AnnotationBorderStyleType.BEVELED:
            (0, _util.warn)("Unimplemented border style: beveled");
            break;

          case _util.AnnotationBorderStyleType.INSET:
            (0, _util.warn)("Unimplemented border style: inset");
            break;

          case _util.AnnotationBorderStyleType.UNDERLINE:
            container.style.borderBottomStyle = "solid";
            break;

          default:
            break;
        }

        if (data.color) {
          container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);
        } else {
          container.style.borderWidth = 0;
        }
      }

      container.style.left = "".concat(rect[0], "px");
      container.style.top = "".concat(rect[1], "px");
      container.style.width = "".concat(width, "px");
      container.style.height = "".concat(height, "px");
      return container;
    }
  }, {
    key: "_createPopup",
    value: function _createPopup(container, trigger, data) {
      if (!trigger) {
        trigger = document.createElement("div");
        trigger.style.height = container.style.height;
        trigger.style.width = container.style.width;
        container.appendChild(trigger);
      }

      var popupElement = new PopupElement({
        container: container,
        trigger: trigger,
        color: data.color,
        title: data.title,
        modificationDate: data.modificationDate,
        contents: data.contents,
        hideWrapper: true
      });
      var popup = popupElement.render();
      popup.style.left = container.style.width;
      container.appendChild(popup);
    }
  }, {
    key: "render",
    value: function render() {
      (0, _util.unreachable)("Abstract method `AnnotationElement.render` called");
    }
  }]);

  return AnnotationElement;
}();

var LinkAnnotationElement = /*#__PURE__*/function (_AnnotationElement) {
  _inherits(LinkAnnotationElement, _AnnotationElement);

  var _super = _createSuper(LinkAnnotationElement);

  function LinkAnnotationElement(parameters) {
    _classCallCheck(this, LinkAnnotationElement);

    var isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);
    return _super.call(this, parameters, isRenderable);
  }

  _createClass(LinkAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "linkAnnotation";
      var data = this.data,
          linkService = this.linkService;
      var link = document.createElement("a");

      if (data.url) {
        (0, _display_utils.addLinkAttributes)(link, {
          url: data.url,
          target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,
          rel: linkService.externalLinkRel,
          enabled: linkService.externalLinkEnabled
        });
      } else if (data.action) {
        this._bindNamedAction(link, data.action);
      } else {
        this._bindLink(link, data.dest);
      }

      this.container.appendChild(link);
      return this.container;
    }
  }, {
    key: "_bindLink",
    value: function _bindLink(link, destination) {
      var _this = this;

      link.href = this.linkService.getDestinationHash(destination);

      link.onclick = function () {
        if (destination) {
          _this.linkService.navigateTo(destination);
        }

        return false;
      };

      if (destination) {
        link.className = "internalLink";
      }
    }
  }, {
    key: "_bindNamedAction",
    value: function _bindNamedAction(link, action) {
      var _this2 = this;

      link.href = this.linkService.getAnchorUrl("");

      link.onclick = function () {
        _this2.linkService.executeNamedAction(action);

        return false;
      };

      link.className = "internalLink";
    }
  }]);

  return LinkAnnotationElement;
}(AnnotationElement);

var TextAnnotationElement = /*#__PURE__*/function (_AnnotationElement2) {
  _inherits(TextAnnotationElement, _AnnotationElement2);

  var _super2 = _createSuper(TextAnnotationElement);

  function TextAnnotationElement(parameters) {
    _classCallCheck(this, TextAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super2.call(this, parameters, isRenderable);
  }

  _createClass(TextAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "textAnnotation";
      var image = document.createElement("img");
      image.style.height = this.container.style.height;
      image.style.width = this.container.style.width;
      image.src = this.imageResourcesPath + "annotation-" + this.data.name.toLowerCase() + ".svg";
      image.alt = "[{{type}} Annotation]";
      image.dataset.l10nId = "text_annotation_type";
      image.dataset.l10nArgs = JSON.stringify({
        type: this.data.name
      });

      if (!this.data.hasPopup) {
        this._createPopup(this.container, image, this.data);
      }

      this.container.appendChild(image);
      return this.container;
    }
  }]);

  return TextAnnotationElement;
}(AnnotationElement);

var WidgetAnnotationElement = /*#__PURE__*/function (_AnnotationElement3) {
  _inherits(WidgetAnnotationElement, _AnnotationElement3);

  var _super3 = _createSuper(WidgetAnnotationElement);

  function WidgetAnnotationElement() {
    _classCallCheck(this, WidgetAnnotationElement);

    return _super3.apply(this, arguments);
  }

  _createClass(WidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      return this.container;
    }
  }]);

  return WidgetAnnotationElement;
}(AnnotationElement);

var TextWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem) {
  _inherits(TextWidgetAnnotationElement, _WidgetAnnotationElem);

  var _super4 = _createSuper(TextWidgetAnnotationElement);

  function TextWidgetAnnotationElement(parameters) {
    _classCallCheck(this, TextWidgetAnnotationElement);

    var isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;
    return _super4.call(this, parameters, isRenderable);
  }

  _createClass(TextWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var TEXT_ALIGNMENT = ["left", "center", "right"];
      var storage = this.annotationStorage;
      var id = this.data.id;
      this.container.className = "textWidgetAnnotation";
      var element = null;

      if (this.renderInteractiveForms) {
        var textContent = storage.getOrCreateValue(id, this.data.fieldValue);

        if (this.data.multiLine) {
          element = document.createElement("textarea");
          element.textContent = textContent;
        } else {
          element = document.createElement("input");
          element.type = "text";
          element.setAttribute("value", textContent);
        }

        element.addEventListener("input", function (event) {
          storage.setValue(id, event.target.value);
        });
        element.disabled = this.data.readOnly;
        element.name = this.data.fieldName;

        if (this.data.maxLen !== null) {
          element.maxLength = this.data.maxLen;
        }

        if (this.data.comb) {
          var fieldWidth = this.data.rect[2] - this.data.rect[0];
          var combWidth = fieldWidth / this.data.maxLen;
          element.classList.add("comb");
          element.style.letterSpacing = "calc(".concat(combWidth, "px - 1ch)");
        }
      } else {
        element = document.createElement("div");
        element.textContent = this.data.fieldValue;
        element.style.verticalAlign = "middle";
        element.style.display = "table-cell";
        var font = null;

        if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {
          font = this.page.commonObjs.get(this.data.fontRefName);
        }

        this._setTextStyle(element, font);
      }

      if (this.data.textAlignment !== null) {
        element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];
      }

      this.container.appendChild(element);
      return this.container;
    }
  }, {
    key: "_setTextStyle",
    value: function _setTextStyle(element, font) {
      var style = element.style;
      style.fontSize = "".concat(this.data.fontSize, "px");
      style.direction = this.data.fontDirection < 0 ? "rtl" : "ltr";

      if (!font) {
        return;
      }

      var bold = "normal";

      if (font.black) {
        bold = "900";
      } else if (font.bold) {
        bold = "bold";
      }

      style.fontWeight = bold;
      style.fontStyle = font.italic ? "italic" : "normal";
      var fontFamily = font.loadedName ? "\"".concat(font.loadedName, "\", ") : "";
      var fallbackName = font.fallbackName || "Helvetica, sans-serif";
      style.fontFamily = fontFamily + fallbackName;
    }
  }]);

  return TextWidgetAnnotationElement;
}(WidgetAnnotationElement);

var CheckboxWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem2) {
  _inherits(CheckboxWidgetAnnotationElement, _WidgetAnnotationElem2);

  var _super5 = _createSuper(CheckboxWidgetAnnotationElement);

  function CheckboxWidgetAnnotationElement(parameters) {
    _classCallCheck(this, CheckboxWidgetAnnotationElement);

    return _super5.call(this, parameters, parameters.renderInteractiveForms);
  }

  _createClass(CheckboxWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var storage = this.annotationStorage;
      var data = this.data;
      var id = data.id;
      var value = storage.getOrCreateValue(id, data.fieldValue && data.fieldValue !== "Off");
      this.container.className = "buttonWidgetAnnotation checkBox";
      var element = document.createElement("input");
      element.disabled = data.readOnly;
      element.type = "checkbox";
      element.name = this.data.fieldName;

      if (value) {
        element.setAttribute("checked", true);
      }

      element.addEventListener("change", function (event) {
        storage.setValue(id, event.target.checked);
      });
      this.container.appendChild(element);
      return this.container;
    }
  }]);

  return CheckboxWidgetAnnotationElement;
}(WidgetAnnotationElement);

var RadioButtonWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem3) {
  _inherits(RadioButtonWidgetAnnotationElement, _WidgetAnnotationElem3);

  var _super6 = _createSuper(RadioButtonWidgetAnnotationElement);

  function RadioButtonWidgetAnnotationElement(parameters) {
    _classCallCheck(this, RadioButtonWidgetAnnotationElement);

    return _super6.call(this, parameters, parameters.renderInteractiveForms);
  }

  _createClass(RadioButtonWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "buttonWidgetAnnotation radioButton";
      var storage = this.annotationStorage;
      var data = this.data;
      var id = data.id;
      var value = storage.getOrCreateValue(id, data.fieldValue === data.buttonValue);
      var element = document.createElement("input");
      element.disabled = data.readOnly;
      element.type = "radio";
      element.name = data.fieldName;

      if (value) {
        element.setAttribute("checked", true);
      }

      element.addEventListener("change", function (event) {
        var name = event.target.name;

        var _iterator = _createForOfIteratorHelper(document.getElementsByName(name)),
            _step;

        try {
          for (_iterator.s(); !(_step = _iterator.n()).done;) {
            var radio = _step.value;

            if (radio !== event.target) {
              storage.setValue(radio.parentNode.getAttribute("data-annotation-id"), false);
            }
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }

        storage.setValue(id, event.target.checked);
      });
      this.container.appendChild(element);
      return this.container;
    }
  }]);

  return RadioButtonWidgetAnnotationElement;
}(WidgetAnnotationElement);

var PushButtonWidgetAnnotationElement = /*#__PURE__*/function (_LinkAnnotationElemen) {
  _inherits(PushButtonWidgetAnnotationElement, _LinkAnnotationElemen);

  var _super7 = _createSuper(PushButtonWidgetAnnotationElement);

  function PushButtonWidgetAnnotationElement() {
    _classCallCheck(this, PushButtonWidgetAnnotationElement);

    return _super7.apply(this, arguments);
  }

  _createClass(PushButtonWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      var container = _get(_getPrototypeOf(PushButtonWidgetAnnotationElement.prototype), "render", this).call(this);

      container.className = "buttonWidgetAnnotation pushButton";
      return container;
    }
  }]);

  return PushButtonWidgetAnnotationElement;
}(LinkAnnotationElement);

var ChoiceWidgetAnnotationElement = /*#__PURE__*/function (_WidgetAnnotationElem4) {
  _inherits(ChoiceWidgetAnnotationElement, _WidgetAnnotationElem4);

  var _super8 = _createSuper(ChoiceWidgetAnnotationElement);

  function ChoiceWidgetAnnotationElement(parameters) {
    _classCallCheck(this, ChoiceWidgetAnnotationElement);

    return _super8.call(this, parameters, parameters.renderInteractiveForms);
  }

  _createClass(ChoiceWidgetAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "choiceWidgetAnnotation";
      var storage = this.annotationStorage;
      var id = this.data.id;
      storage.getOrCreateValue(id, this.data.fieldValue.length > 0 ? this.data.fieldValue[0] : null);
      var selectElement = document.createElement("select");
      selectElement.disabled = this.data.readOnly;
      selectElement.name = this.data.fieldName;

      if (!this.data.combo) {
        selectElement.size = this.data.options.length;

        if (this.data.multiSelect) {
          selectElement.multiple = true;
        }
      }

      var _iterator2 = _createForOfIteratorHelper(this.data.options),
          _step2;

      try {
        for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
          var option = _step2.value;
          var optionElement = document.createElement("option");
          optionElement.textContent = option.displayValue;
          optionElement.value = option.exportValue;

          if (this.data.fieldValue.includes(option.exportValue)) {
            optionElement.setAttribute("selected", true);
          }

          selectElement.appendChild(optionElement);
        }
      } catch (err) {
        _iterator2.e(err);
      } finally {
        _iterator2.f();
      }

      selectElement.addEventListener("input", function (event) {
        var options = event.target.options;
        var value = options[options.selectedIndex].value;
        storage.setValue(id, value);
      });
      this.container.appendChild(selectElement);
      return this.container;
    }
  }]);

  return ChoiceWidgetAnnotationElement;
}(WidgetAnnotationElement);

var PopupAnnotationElement = /*#__PURE__*/function (_AnnotationElement4) {
  _inherits(PopupAnnotationElement, _AnnotationElement4);

  var _super9 = _createSuper(PopupAnnotationElement);

  function PopupAnnotationElement(parameters) {
    _classCallCheck(this, PopupAnnotationElement);

    var isRenderable = !!(parameters.data.title || parameters.data.contents);
    return _super9.call(this, parameters, isRenderable);
  }

  _createClass(PopupAnnotationElement, [{
    key: "render",
    value: function render() {
      var IGNORE_TYPES = ["Line", "Square", "Circle", "PolyLine", "Polygon", "Ink"];
      this.container.className = "popupAnnotation";

      if (IGNORE_TYPES.includes(this.data.parentType)) {
        return this.container;
      }

      var selector = "[data-annotation-id=\"".concat(this.data.parentId, "\"]");
      var parentElement = this.layer.querySelector(selector);

      if (!parentElement) {
        return this.container;
      }

      var popup = new PopupElement({
        container: this.container,
        trigger: parentElement,
        color: this.data.color,
        title: this.data.title,
        modificationDate: this.data.modificationDate,
        contents: this.data.contents
      });
      var parentLeft = parseFloat(parentElement.style.left);
      var parentWidth = parseFloat(parentElement.style.width);
      this.container.style.transformOrigin = "-".concat(parentLeft + parentWidth, "px -").concat(parentElement.style.top);
      this.container.style.left = "".concat(parentLeft + parentWidth, "px");
      this.container.appendChild(popup.render());
      return this.container;
    }
  }]);

  return PopupAnnotationElement;
}(AnnotationElement);

var PopupElement = /*#__PURE__*/function () {
  function PopupElement(parameters) {
    _classCallCheck(this, PopupElement);

    this.container = parameters.container;
    this.trigger = parameters.trigger;
    this.color = parameters.color;
    this.title = parameters.title;
    this.modificationDate = parameters.modificationDate;
    this.contents = parameters.contents;
    this.hideWrapper = parameters.hideWrapper || false;
    this.pinned = false;
  }

  _createClass(PopupElement, [{
    key: "render",
    value: function render() {
      var BACKGROUND_ENLIGHT = 0.7;
      var wrapper = document.createElement("div");
      wrapper.className = "popupWrapper";
      this.hideElement = this.hideWrapper ? wrapper : this.container;
      this.hideElement.setAttribute("hidden", true);
      var popup = document.createElement("div");
      popup.className = "popup";
      var color = this.color;

      if (color) {
        var r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];
        var g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];
        var b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];
        popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);
      }

      var title = document.createElement("h1");
      title.textContent = this.title;
      popup.appendChild(title);

      var dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);

      if (dateObject) {
        var modificationDate = document.createElement("span");
        modificationDate.textContent = "{{date}}, {{time}}";
        modificationDate.dataset.l10nId = "annotation_date_string";
        modificationDate.dataset.l10nArgs = JSON.stringify({
          date: dateObject.toLocaleDateString(),
          time: dateObject.toLocaleTimeString()
        });
        popup.appendChild(modificationDate);
      }

      var contents = this._formatContents(this.contents);

      popup.appendChild(contents);
      this.trigger.addEventListener("click", this._toggle.bind(this));
      this.trigger.addEventListener("mouseover", this._show.bind(this, false));
      this.trigger.addEventListener("mouseout", this._hide.bind(this, false));
      popup.addEventListener("click", this._hide.bind(this, true));
      wrapper.appendChild(popup);
      return wrapper;
    }
  }, {
    key: "_formatContents",
    value: function _formatContents(contents) {
      var p = document.createElement("p");
      var lines = contents.split(/(?:\r\n?|\n)/);

      for (var i = 0, ii = lines.length; i < ii; ++i) {
        var line = lines[i];
        p.appendChild(document.createTextNode(line));

        if (i < ii - 1) {
          p.appendChild(document.createElement("br"));
        }
      }

      return p;
    }
  }, {
    key: "_toggle",
    value: function _toggle() {
      if (this.pinned) {
        this._hide(true);
      } else {
        this._show(true);
      }
    }
  }, {
    key: "_show",
    value: function _show() {
      var pin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (pin) {
        this.pinned = true;
      }

      if (this.hideElement.hasAttribute("hidden")) {
        this.hideElement.removeAttribute("hidden");
        this.container.style.zIndex += 1;
      }
    }
  }, {
    key: "_hide",
    value: function _hide() {
      var unpin = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;

      if (unpin) {
        this.pinned = false;
      }

      if (!this.hideElement.hasAttribute("hidden") && !this.pinned) {
        this.hideElement.setAttribute("hidden", true);
        this.container.style.zIndex -= 1;
      }
    }
  }]);

  return PopupElement;
}();

var FreeTextAnnotationElement = /*#__PURE__*/function (_AnnotationElement5) {
  _inherits(FreeTextAnnotationElement, _AnnotationElement5);

  var _super10 = _createSuper(FreeTextAnnotationElement);

  function FreeTextAnnotationElement(parameters) {
    _classCallCheck(this, FreeTextAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super10.call(this, parameters, isRenderable, true);
  }

  _createClass(FreeTextAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "freeTextAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return FreeTextAnnotationElement;
}(AnnotationElement);

var LineAnnotationElement = /*#__PURE__*/function (_AnnotationElement6) {
  _inherits(LineAnnotationElement, _AnnotationElement6);

  var _super11 = _createSuper(LineAnnotationElement);

  function LineAnnotationElement(parameters) {
    _classCallCheck(this, LineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super11.call(this, parameters, isRenderable, true);
  }

  _createClass(LineAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "lineAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var line = this.svgFactory.createElement("svg:line");
      line.setAttribute("x1", data.rect[2] - data.lineCoordinates[0]);
      line.setAttribute("y1", data.rect[3] - data.lineCoordinates[1]);
      line.setAttribute("x2", data.rect[2] - data.lineCoordinates[2]);
      line.setAttribute("y2", data.rect[3] - data.lineCoordinates[3]);
      line.setAttribute("stroke-width", data.borderStyle.width || 1);
      line.setAttribute("stroke", "transparent");
      svg.appendChild(line);
      this.container.append(svg);

      this._createPopup(this.container, line, data);

      return this.container;
    }
  }]);

  return LineAnnotationElement;
}(AnnotationElement);

var SquareAnnotationElement = /*#__PURE__*/function (_AnnotationElement7) {
  _inherits(SquareAnnotationElement, _AnnotationElement7);

  var _super12 = _createSuper(SquareAnnotationElement);

  function SquareAnnotationElement(parameters) {
    _classCallCheck(this, SquareAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super12.call(this, parameters, isRenderable, true);
  }

  _createClass(SquareAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "squareAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var borderWidth = data.borderStyle.width;
      var square = this.svgFactory.createElement("svg:rect");
      square.setAttribute("x", borderWidth / 2);
      square.setAttribute("y", borderWidth / 2);
      square.setAttribute("width", width - borderWidth);
      square.setAttribute("height", height - borderWidth);
      square.setAttribute("stroke-width", borderWidth || 1);
      square.setAttribute("stroke", "transparent");
      square.setAttribute("fill", "none");
      svg.appendChild(square);
      this.container.append(svg);

      this._createPopup(this.container, square, data);

      return this.container;
    }
  }]);

  return SquareAnnotationElement;
}(AnnotationElement);

var CircleAnnotationElement = /*#__PURE__*/function (_AnnotationElement8) {
  _inherits(CircleAnnotationElement, _AnnotationElement8);

  var _super13 = _createSuper(CircleAnnotationElement);

  function CircleAnnotationElement(parameters) {
    _classCallCheck(this, CircleAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super13.call(this, parameters, isRenderable, true);
  }

  _createClass(CircleAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "circleAnnotation";
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var borderWidth = data.borderStyle.width;
      var circle = this.svgFactory.createElement("svg:ellipse");
      circle.setAttribute("cx", width / 2);
      circle.setAttribute("cy", height / 2);
      circle.setAttribute("rx", width / 2 - borderWidth / 2);
      circle.setAttribute("ry", height / 2 - borderWidth / 2);
      circle.setAttribute("stroke-width", borderWidth || 1);
      circle.setAttribute("stroke", "transparent");
      circle.setAttribute("fill", "none");
      svg.appendChild(circle);
      this.container.append(svg);

      this._createPopup(this.container, circle, data);

      return this.container;
    }
  }]);

  return CircleAnnotationElement;
}(AnnotationElement);

var PolylineAnnotationElement = /*#__PURE__*/function (_AnnotationElement9) {
  _inherits(PolylineAnnotationElement, _AnnotationElement9);

  var _super14 = _createSuper(PolylineAnnotationElement);

  function PolylineAnnotationElement(parameters) {
    var _this3;

    _classCallCheck(this, PolylineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    _this3 = _super14.call(this, parameters, isRenderable, true);
    _this3.containerClassName = "polylineAnnotation";
    _this3.svgElementName = "svg:polyline";
    return _this3;
  }

  _createClass(PolylineAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = this.containerClassName;
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);
      var points = [];

      var _iterator3 = _createForOfIteratorHelper(data.vertices),
          _step3;

      try {
        for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
          var coordinate = _step3.value;
          var x = coordinate.x - data.rect[0];
          var y = data.rect[3] - coordinate.y;
          points.push(x + "," + y);
        }
      } catch (err) {
        _iterator3.e(err);
      } finally {
        _iterator3.f();
      }

      points = points.join(" ");
      var polyline = this.svgFactory.createElement(this.svgElementName);
      polyline.setAttribute("points", points);
      polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
      polyline.setAttribute("stroke", "transparent");
      polyline.setAttribute("fill", "none");
      svg.appendChild(polyline);
      this.container.append(svg);

      this._createPopup(this.container, polyline, data);

      return this.container;
    }
  }]);

  return PolylineAnnotationElement;
}(AnnotationElement);

var PolygonAnnotationElement = /*#__PURE__*/function (_PolylineAnnotationEl) {
  _inherits(PolygonAnnotationElement, _PolylineAnnotationEl);

  var _super15 = _createSuper(PolygonAnnotationElement);

  function PolygonAnnotationElement(parameters) {
    var _this4;

    _classCallCheck(this, PolygonAnnotationElement);

    _this4 = _super15.call(this, parameters);
    _this4.containerClassName = "polygonAnnotation";
    _this4.svgElementName = "svg:polygon";
    return _this4;
  }

  return PolygonAnnotationElement;
}(PolylineAnnotationElement);

var CaretAnnotationElement = /*#__PURE__*/function (_AnnotationElement10) {
  _inherits(CaretAnnotationElement, _AnnotationElement10);

  var _super16 = _createSuper(CaretAnnotationElement);

  function CaretAnnotationElement(parameters) {
    _classCallCheck(this, CaretAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super16.call(this, parameters, isRenderable, true);
  }

  _createClass(CaretAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "caretAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return CaretAnnotationElement;
}(AnnotationElement);

var InkAnnotationElement = /*#__PURE__*/function (_AnnotationElement11) {
  _inherits(InkAnnotationElement, _AnnotationElement11);

  var _super17 = _createSuper(InkAnnotationElement);

  function InkAnnotationElement(parameters) {
    var _this5;

    _classCallCheck(this, InkAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    _this5 = _super17.call(this, parameters, isRenderable, true);
    _this5.containerClassName = "inkAnnotation";
    _this5.svgElementName = "svg:polyline";
    return _this5;
  }

  _createClass(InkAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = this.containerClassName;
      var data = this.data;
      var width = data.rect[2] - data.rect[0];
      var height = data.rect[3] - data.rect[1];
      var svg = this.svgFactory.create(width, height);

      var _iterator4 = _createForOfIteratorHelper(data.inkLists),
          _step4;

      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var inkList = _step4.value;
          var points = [];

          var _iterator5 = _createForOfIteratorHelper(inkList),
              _step5;

          try {
            for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
              var coordinate = _step5.value;
              var x = coordinate.x - data.rect[0];
              var y = data.rect[3] - coordinate.y;
              points.push("".concat(x, ",").concat(y));
            }
          } catch (err) {
            _iterator5.e(err);
          } finally {
            _iterator5.f();
          }

          points = points.join(" ");
          var polyline = this.svgFactory.createElement(this.svgElementName);
          polyline.setAttribute("points", points);
          polyline.setAttribute("stroke-width", data.borderStyle.width || 1);
          polyline.setAttribute("stroke", "transparent");
          polyline.setAttribute("fill", "none");

          this._createPopup(this.container, polyline, data);

          svg.appendChild(polyline);
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }

      this.container.append(svg);
      return this.container;
    }
  }]);

  return InkAnnotationElement;
}(AnnotationElement);

var HighlightAnnotationElement = /*#__PURE__*/function (_AnnotationElement12) {
  _inherits(HighlightAnnotationElement, _AnnotationElement12);

  var _super18 = _createSuper(HighlightAnnotationElement);

  function HighlightAnnotationElement(parameters) {
    _classCallCheck(this, HighlightAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super18.call(this, parameters, isRenderable, true);
  }

  _createClass(HighlightAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "highlightAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return HighlightAnnotationElement;
}(AnnotationElement);

var UnderlineAnnotationElement = /*#__PURE__*/function (_AnnotationElement13) {
  _inherits(UnderlineAnnotationElement, _AnnotationElement13);

  var _super19 = _createSuper(UnderlineAnnotationElement);

  function UnderlineAnnotationElement(parameters) {
    _classCallCheck(this, UnderlineAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super19.call(this, parameters, isRenderable, true);
  }

  _createClass(UnderlineAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "underlineAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return UnderlineAnnotationElement;
}(AnnotationElement);

var SquigglyAnnotationElement = /*#__PURE__*/function (_AnnotationElement14) {
  _inherits(SquigglyAnnotationElement, _AnnotationElement14);

  var _super20 = _createSuper(SquigglyAnnotationElement);

  function SquigglyAnnotationElement(parameters) {
    _classCallCheck(this, SquigglyAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super20.call(this, parameters, isRenderable, true);
  }

  _createClass(SquigglyAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "squigglyAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return SquigglyAnnotationElement;
}(AnnotationElement);

var StrikeOutAnnotationElement = /*#__PURE__*/function (_AnnotationElement15) {
  _inherits(StrikeOutAnnotationElement, _AnnotationElement15);

  var _super21 = _createSuper(StrikeOutAnnotationElement);

  function StrikeOutAnnotationElement(parameters) {
    _classCallCheck(this, StrikeOutAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super21.call(this, parameters, isRenderable, true);
  }

  _createClass(StrikeOutAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "strikeoutAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return StrikeOutAnnotationElement;
}(AnnotationElement);

var StampAnnotationElement = /*#__PURE__*/function (_AnnotationElement16) {
  _inherits(StampAnnotationElement, _AnnotationElement16);

  var _super22 = _createSuper(StampAnnotationElement);

  function StampAnnotationElement(parameters) {
    _classCallCheck(this, StampAnnotationElement);

    var isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);
    return _super22.call(this, parameters, isRenderable, true);
  }

  _createClass(StampAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "stampAnnotation";

      if (!this.data.hasPopup) {
        this._createPopup(this.container, null, this.data);
      }

      return this.container;
    }
  }]);

  return StampAnnotationElement;
}(AnnotationElement);

var FileAttachmentAnnotationElement = /*#__PURE__*/function (_AnnotationElement17) {
  _inherits(FileAttachmentAnnotationElement, _AnnotationElement17);

  var _super23 = _createSuper(FileAttachmentAnnotationElement);

  function FileAttachmentAnnotationElement(parameters) {
    var _this6;

    _classCallCheck(this, FileAttachmentAnnotationElement);

    _this6 = _super23.call(this, parameters, true);
    var _this6$data$file = _this6.data.file,
        filename = _this6$data$file.filename,
        content = _this6$data$file.content;
    _this6.filename = (0, _display_utils.getFilenameFromUrl)(filename);
    _this6.content = content;

    if (_this6.linkService.eventBus) {
      _this6.linkService.eventBus.dispatch("fileattachmentannotation", {
        source: _assertThisInitialized(_this6),
        id: (0, _util.stringToPDFString)(filename),
        filename: filename,
        content: content
      });
    }

    return _this6;
  }

  _createClass(FileAttachmentAnnotationElement, [{
    key: "render",
    value: function render() {
      this.container.className = "fileAttachmentAnnotation";
      var trigger = document.createElement("div");
      trigger.style.height = this.container.style.height;
      trigger.style.width = this.container.style.width;
      trigger.addEventListener("dblclick", this._download.bind(this));

      if (!this.data.hasPopup && (this.data.title || this.data.contents)) {
        this._createPopup(this.container, trigger, this.data);
      }

      this.container.appendChild(trigger);
      return this.container;
    }
  }, {
    key: "_download",
    value: function _download() {
      if (!this.downloadManager) {
        (0, _util.warn)("Download cannot be started due to unavailable download manager");
        return;
      }

      this.downloadManager.downloadData(this.content, this.filename, "");
    }
  }]);

  return FileAttachmentAnnotationElement;
}(AnnotationElement);

var AnnotationLayer = /*#__PURE__*/function () {
  function AnnotationLayer() {
    _classCallCheck(this, AnnotationLayer);
  }

  _createClass(AnnotationLayer, null, [{
    key: "render",
    value: function render(parameters) {
      var sortedAnnotations = [],
          popupAnnotations = [];

      var _iterator6 = _createForOfIteratorHelper(parameters.annotations),
          _step6;

      try {
        for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
          var _data = _step6.value;

          if (!_data) {
            continue;
          }

          if (_data.annotationType === _util.AnnotationType.POPUP) {
            popupAnnotations.push(_data);
            continue;
          }

          sortedAnnotations.push(_data);
        }
      } catch (err) {
        _iterator6.e(err);
      } finally {
        _iterator6.f();
      }

      if (popupAnnotations.length) {
        sortedAnnotations.push.apply(sortedAnnotations, popupAnnotations);
      }

      for (var _i = 0, _sortedAnnotations = sortedAnnotations; _i < _sortedAnnotations.length; _i++) {
        var data = _sortedAnnotations[_i];
        var element = AnnotationElementFactory.create({
          data: data,
          layer: parameters.div,
          page: parameters.page,
          viewport: parameters.viewport,
          linkService: parameters.linkService,
          downloadManager: parameters.downloadManager,
          imageResourcesPath: parameters.imageResourcesPath || "",
          renderInteractiveForms: typeof parameters.renderInteractiveForms === "boolean" ? parameters.renderInteractiveForms : true,
          svgFactory: new _display_utils.DOMSVGFactory(),
          annotationStorage: parameters.annotationStorage || new _annotation_storage.AnnotationStorage()
        });

        if (element.isRenderable) {
          parameters.div.appendChild(element.render());
        }
      }
    }
  }, {
    key: "update",
    value: function update(parameters) {
      var _iterator7 = _createForOfIteratorHelper(parameters.annotations),
          _step7;

      try {
        for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
          var data = _step7.value;
          var element = parameters.div.querySelector("[data-annotation-id=\"".concat(data.id, "\"]"));

          if (element) {
            element.style.transform = "matrix(".concat(parameters.viewport.transform.join(","), ")");
          }
        }
      } catch (err) {
        _iterator7.e(err);
      } finally {
        _iterator7.f();
      }

      parameters.div.removeAttribute("hidden");
    }
  }]);

  return AnnotationLayer;
}();

exports.AnnotationLayer = AnnotationLayer;

/***/ }),
/* 217 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.renderTextLayer = void 0;

var _util = __w_pdfjs_require__(5);

var renderTextLayer = function renderTextLayerClosure() {
  var MAX_TEXT_DIVS_TO_RENDER = 100000;
  var NonWhitespaceRegexp = /\S/;

  function isAllWhitespace(str) {
    return !NonWhitespaceRegexp.test(str);
  }

  function appendText(task, geom, styles) {
    var textDiv = document.createElement("span");
    var textDivProperties = {
      angle: 0,
      canvasWidth: 0,
      isWhitespace: false,
      originalTransform: null,
      paddingBottom: 0,
      paddingLeft: 0,
      paddingRight: 0,
      paddingTop: 0,
      scale: 1
    };

    task._textDivs.push(textDiv);

    if (isAllWhitespace(geom.str)) {
      textDivProperties.isWhitespace = true;

      task._textDivProperties.set(textDiv, textDivProperties);

      return;
    }

    var tx = _util.Util.transform(task._viewport.transform, geom.transform);

    var angle = Math.atan2(tx[1], tx[0]);
    var style = styles[geom.fontName];

    if (style.vertical) {
      angle += Math.PI / 2;
    }

    var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);
    var fontAscent = fontHeight;

    if (style.ascent) {
      fontAscent = style.ascent * fontAscent;
    } else if (style.descent) {
      fontAscent = (1 + style.descent) * fontAscent;
    }

    var left, top;

    if (angle === 0) {
      left = tx[4];
      top = tx[5] - fontAscent;
    } else {
      left = tx[4] + fontAscent * Math.sin(angle);
      top = tx[5] - fontAscent * Math.cos(angle);
    }

    textDiv.style.left = "".concat(left, "px");
    textDiv.style.top = "".concat(top, "px");
    textDiv.style.fontSize = "".concat(fontHeight, "px");
    textDiv.style.fontFamily = style.fontFamily;
    textDiv.textContent = geom.str;

    if (task._fontInspectorEnabled) {
      textDiv.dataset.fontName = geom.fontName;
    }

    if (angle !== 0) {
      textDivProperties.angle = angle * (180 / Math.PI);
    }

    var shouldScaleText = false;

    if (geom.str.length > 1) {
      shouldScaleText = true;
    } else if (geom.transform[0] !== geom.transform[3]) {
      var absScaleX = Math.abs(geom.transform[0]),
          absScaleY = Math.abs(geom.transform[3]);

      if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {
        shouldScaleText = true;
      }
    }

    if (shouldScaleText) {
      if (style.vertical) {
        textDivProperties.canvasWidth = geom.height * task._viewport.scale;
      } else {
        textDivProperties.canvasWidth = geom.width * task._viewport.scale;
      }
    }

    task._textDivProperties.set(textDiv, textDivProperties);

    if (task._textContentStream) {
      task._layoutText(textDiv);
    }

    if (task._enhanceTextSelection) {
      var angleCos = 1,
          angleSin = 0;

      if (angle !== 0) {
        angleCos = Math.cos(angle);
        angleSin = Math.sin(angle);
      }

      var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;
      var divHeight = fontHeight;
      var m, b;

      if (angle !== 0) {
        m = [angleCos, angleSin, -angleSin, angleCos, left, top];
        b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);
      } else {
        b = [left, top, left + divWidth, top + divHeight];
      }

      task._bounds.push({
        left: b[0],
        top: b[1],
        right: b[2],
        bottom: b[3],
        div: textDiv,
        size: [divWidth, divHeight],
        m: m
      });
    }
  }

  function render(task) {
    if (task._canceled) {
      return;
    }

    var textDivs = task._textDivs;
    var capability = task._capability;
    var textDivsLength = textDivs.length;

    if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {
      task._renderingDone = true;
      capability.resolve();
      return;
    }

    if (!task._textContentStream) {
      for (var i = 0; i < textDivsLength; i++) {
        task._layoutText(textDivs[i]);
      }
    }

    task._renderingDone = true;
    capability.resolve();
  }

  function findPositiveMin(ts, offset, count) {
    var result = 0;

    for (var i = 0; i < count; i++) {
      var t = ts[offset++];

      if (t > 0) {
        result = result ? Math.min(t, result) : t;
      }
    }

    return result;
  }

  function expand(task) {
    var bounds = task._bounds;
    var viewport = task._viewport;
    var expanded = expandBounds(viewport.width, viewport.height, bounds);

    for (var i = 0; i < expanded.length; i++) {
      var div = bounds[i].div;

      var divProperties = task._textDivProperties.get(div);

      if (divProperties.angle === 0) {
        divProperties.paddingLeft = bounds[i].left - expanded[i].left;
        divProperties.paddingTop = bounds[i].top - expanded[i].top;
        divProperties.paddingRight = expanded[i].right - bounds[i].right;
        divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;

        task._textDivProperties.set(div, divProperties);

        continue;
      }

      var e = expanded[i],
          b = bounds[i];
      var m = b.m,
          c = m[0],
          s = m[1];
      var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];
      var ts = new Float64Array(64);
      points.forEach(function (p, j) {
        var t = _util.Util.applyTransform(p, m);

        ts[j + 0] = c && (e.left - t[0]) / c;
        ts[j + 4] = s && (e.top - t[1]) / s;
        ts[j + 8] = c && (e.right - t[0]) / c;
        ts[j + 12] = s && (e.bottom - t[1]) / s;
        ts[j + 16] = s && (e.left - t[0]) / -s;
        ts[j + 20] = c && (e.top - t[1]) / c;
        ts[j + 24] = s && (e.right - t[0]) / -s;
        ts[j + 28] = c && (e.bottom - t[1]) / c;
        ts[j + 32] = c && (e.left - t[0]) / -c;
        ts[j + 36] = s && (e.top - t[1]) / -s;
        ts[j + 40] = c && (e.right - t[0]) / -c;
        ts[j + 44] = s && (e.bottom - t[1]) / -s;
        ts[j + 48] = s && (e.left - t[0]) / s;
        ts[j + 52] = c && (e.top - t[1]) / -c;
        ts[j + 56] = s && (e.right - t[0]) / s;
        ts[j + 60] = c && (e.bottom - t[1]) / -c;
      });
      var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));
      divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;
      divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;
      divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;
      divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;

      task._textDivProperties.set(div, divProperties);
    }
  }

  function expandBounds(width, height, boxes) {
    var bounds = boxes.map(function (box, i) {
      return {
        x1: box.left,
        y1: box.top,
        x2: box.right,
        y2: box.bottom,
        index: i,
        x1New: undefined,
        x2New: undefined
      };
    });
    expandBoundsLTR(width, bounds);
    var expanded = new Array(boxes.length);
    bounds.forEach(function (b) {
      var i = b.index;
      expanded[i] = {
        left: b.x1New,
        top: 0,
        right: b.x2New,
        bottom: 0
      };
    });
    boxes.map(function (box, i) {
      var e = expanded[i],
          b = bounds[i];
      b.x1 = box.top;
      b.y1 = width - e.right;
      b.x2 = box.bottom;
      b.y2 = width - e.left;
      b.index = i;
      b.x1New = undefined;
      b.x2New = undefined;
    });
    expandBoundsLTR(height, bounds);
    bounds.forEach(function (b) {
      var i = b.index;
      expanded[i].top = b.x1New;
      expanded[i].bottom = b.x2New;
    });
    return expanded;
  }

  function expandBoundsLTR(width, bounds) {
    bounds.sort(function (a, b) {
      return a.x1 - b.x1 || a.index - b.index;
    });
    var fakeBoundary = {
      x1: -Infinity,
      y1: -Infinity,
      x2: 0,
      y2: Infinity,
      index: -1,
      x1New: 0,
      x2New: 0
    };
    var horizon = [{
      start: -Infinity,
      end: Infinity,
      boundary: fakeBoundary
    }];
    bounds.forEach(function (boundary) {
      var i = 0;

      while (i < horizon.length && horizon[i].end <= boundary.y1) {
        i++;
      }

      var j = horizon.length - 1;

      while (j >= 0 && horizon[j].start >= boundary.y2) {
        j--;
      }

      var horizonPart, affectedBoundary;
      var q,
          k,
          maxXNew = -Infinity;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;
        var xNew;

        if (affectedBoundary.x2 > boundary.x1) {
          xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;
        } else if (affectedBoundary.x2New === undefined) {
          xNew = (affectedBoundary.x2 + boundary.x1) / 2;
        } else {
          xNew = affectedBoundary.x2New;
        }

        if (xNew > maxXNew) {
          maxXNew = xNew;
        }
      }

      boundary.x1New = maxXNew;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;

        if (affectedBoundary.x2New === undefined) {
          if (affectedBoundary.x2 > boundary.x1) {
            if (affectedBoundary.index > boundary.index) {
              affectedBoundary.x2New = affectedBoundary.x2;
            }
          } else {
            affectedBoundary.x2New = maxXNew;
          }
        } else if (affectedBoundary.x2New > maxXNew) {
          affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);
        }
      }

      var changedHorizon = [],
          lastBoundary = null;

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;
        var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;

        if (lastBoundary === useBoundary) {
          changedHorizon[changedHorizon.length - 1].end = horizonPart.end;
        } else {
          changedHorizon.push({
            start: horizonPart.start,
            end: horizonPart.end,
            boundary: useBoundary
          });
          lastBoundary = useBoundary;
        }
      }

      if (horizon[i].start < boundary.y1) {
        changedHorizon[0].start = boundary.y1;
        changedHorizon.unshift({
          start: horizon[i].start,
          end: boundary.y1,
          boundary: horizon[i].boundary
        });
      }

      if (boundary.y2 < horizon[j].end) {
        changedHorizon[changedHorizon.length - 1].end = boundary.y2;
        changedHorizon.push({
          start: boundary.y2,
          end: horizon[j].end,
          boundary: horizon[j].boundary
        });
      }

      for (q = i; q <= j; q++) {
        horizonPart = horizon[q];
        affectedBoundary = horizonPart.boundary;

        if (affectedBoundary.x2New !== undefined) {
          continue;
        }

        var used = false;

        for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {
          used = horizon[k].boundary === affectedBoundary;
        }

        for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {
          used = horizon[k].boundary === affectedBoundary;
        }

        for (k = 0; !used && k < changedHorizon.length; k++) {
          used = changedHorizon[k].boundary === affectedBoundary;
        }

        if (!used) {
          affectedBoundary.x2New = maxXNew;
        }
      }

      Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));
    });
    horizon.forEach(function (horizonPart) {
      var affectedBoundary = horizonPart.boundary;

      if (affectedBoundary.x2New === undefined) {
        affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);
      }
    });
  }

  function TextLayerRenderTask(_ref) {
    var _this = this;

    var textContent = _ref.textContent,
        textContentStream = _ref.textContentStream,
        container = _ref.container,
        viewport = _ref.viewport,
        textDivs = _ref.textDivs,
        textContentItemsStr = _ref.textContentItemsStr,
        enhanceTextSelection = _ref.enhanceTextSelection;
    this._textContent = textContent;
    this._textContentStream = textContentStream;
    this._container = container;
    this._document = container.ownerDocument;
    this._viewport = viewport;
    this._textDivs = textDivs || [];
    this._textContentItemsStr = textContentItemsStr || [];
    this._enhanceTextSelection = !!enhanceTextSelection;
    this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);
    this._reader = null;
    this._layoutTextLastFontSize = null;
    this._layoutTextLastFontFamily = null;
    this._layoutTextCtx = null;
    this._textDivProperties = new WeakMap();
    this._renderingDone = false;
    this._canceled = false;
    this._capability = (0, _util.createPromiseCapability)();
    this._renderTimer = null;
    this._bounds = [];

    this._capability.promise["finally"](function () {
      if (_this._layoutTextCtx) {
        _this._layoutTextCtx.canvas.width = 0;
        _this._layoutTextCtx.canvas.height = 0;
        _this._layoutTextCtx = null;
      }
    })["catch"](function () {});
  }

  TextLayerRenderTask.prototype = {
    get promise() {
      return this._capability.promise;
    },

    cancel: function TextLayer_cancel() {
      this._canceled = true;

      if (this._reader) {
        this._reader.cancel(new _util.AbortException("TextLayer task cancelled."));

        this._reader = null;
      }

      if (this._renderTimer !== null) {
        clearTimeout(this._renderTimer);
        this._renderTimer = null;
      }

      this._capability.reject(new Error("TextLayer task cancelled."));
    },
    _processItems: function _processItems(items, styleCache) {
      for (var i = 0, len = items.length; i < len; i++) {
        this._textContentItemsStr.push(items[i].str);

        appendText(this, items[i], styleCache);
      }
    },
    _layoutText: function _layoutText(textDiv) {
      var textDivProperties = this._textDivProperties.get(textDiv);

      if (textDivProperties.isWhitespace) {
        return;
      }

      var transform = "";

      if (textDivProperties.canvasWidth !== 0) {
        var _textDiv$style = textDiv.style,
            fontSize = _textDiv$style.fontSize,
            fontFamily = _textDiv$style.fontFamily;

        if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {
          this._layoutTextCtx.font = "".concat(fontSize, " ").concat(fontFamily);
          this._layoutTextLastFontSize = fontSize;
          this._layoutTextLastFontFamily = fontFamily;
        }

        var _this$_layoutTextCtx$ = this._layoutTextCtx.measureText(textDiv.textContent),
            width = _this$_layoutTextCtx$.width;

        if (width > 0) {
          textDivProperties.scale = textDivProperties.canvasWidth / width;
          transform = "scaleX(".concat(textDivProperties.scale, ")");
        }
      }

      if (textDivProperties.angle !== 0) {
        transform = "rotate(".concat(textDivProperties.angle, "deg) ").concat(transform);
      }

      if (transform.length > 0) {
        if (this._enhanceTextSelection) {
          textDivProperties.originalTransform = transform;
        }

        textDiv.style.transform = transform;
      }

      this._textDivProperties.set(textDiv, textDivProperties);

      this._container.appendChild(textDiv);
    },
    _render: function TextLayer_render(timeout) {
      var _this2 = this;

      var capability = (0, _util.createPromiseCapability)();
      var styleCache = Object.create(null);

      var canvas = this._document.createElement("canvas");

      canvas.mozOpaque = true;
      this._layoutTextCtx = canvas.getContext("2d", {
        alpha: false
      });

      if (this._textContent) {
        var textItems = this._textContent.items;
        var textStyles = this._textContent.styles;

        this._processItems(textItems, textStyles);

        capability.resolve();
      } else if (this._textContentStream) {
        var pump = function pump() {
          _this2._reader.read().then(function (_ref2) {
            var value = _ref2.value,
                done = _ref2.done;

            if (done) {
              capability.resolve();
              return;
            }

            Object.assign(styleCache, value.styles);

            _this2._processItems(value.items, styleCache);

            pump();
          }, capability.reject);
        };

        this._reader = this._textContentStream.getReader();
        pump();
      } else {
        throw new Error('Neither "textContent" nor "textContentStream"' + " parameters specified.");
      }

      capability.promise.then(function () {
        styleCache = null;

        if (!timeout) {
          render(_this2);
        } else {
          _this2._renderTimer = setTimeout(function () {
            render(_this2);
            _this2._renderTimer = null;
          }, timeout);
        }
      }, this._capability.reject);
    },
    expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {
      if (!this._enhanceTextSelection || !this._renderingDone) {
        return;
      }

      if (this._bounds !== null) {
        expand(this);
        this._bounds = null;
      }

      var transformBuf = [],
          paddingBuf = [];

      for (var i = 0, ii = this._textDivs.length; i < ii; i++) {
        var div = this._textDivs[i];

        var divProps = this._textDivProperties.get(div);

        if (divProps.isWhitespace) {
          continue;
        }

        if (expandDivs) {
          transformBuf.length = 0;
          paddingBuf.length = 0;

          if (divProps.originalTransform) {
            transformBuf.push(divProps.originalTransform);
          }

          if (divProps.paddingTop > 0) {
            paddingBuf.push("".concat(divProps.paddingTop, "px"));
            transformBuf.push("translateY(".concat(-divProps.paddingTop, "px)"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingRight > 0) {
            paddingBuf.push("".concat(divProps.paddingRight / divProps.scale, "px"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingBottom > 0) {
            paddingBuf.push("".concat(divProps.paddingBottom, "px"));
          } else {
            paddingBuf.push(0);
          }

          if (divProps.paddingLeft > 0) {
            paddingBuf.push("".concat(divProps.paddingLeft / divProps.scale, "px"));
            transformBuf.push("translateX(".concat(-divProps.paddingLeft / divProps.scale, "px)"));
          } else {
            paddingBuf.push(0);
          }

          div.style.padding = paddingBuf.join(" ");

          if (transformBuf.length) {
            div.style.transform = transformBuf.join(" ");
          }
        } else {
          div.style.padding = null;
          div.style.transform = divProps.originalTransform;
        }
      }
    }
  };

  function renderTextLayer(renderParameters) {
    var task = new TextLayerRenderTask({
      textContent: renderParameters.textContent,
      textContentStream: renderParameters.textContentStream,
      container: renderParameters.container,
      viewport: renderParameters.viewport,
      textDivs: renderParameters.textDivs,
      textContentItemsStr: renderParameters.textContentItemsStr,
      enhanceTextSelection: renderParameters.enhanceTextSelection
    });

    task._render(renderParameters.timeout);

    return task;
  }

  return renderTextLayer;
}();

exports.renderTextLayer = renderTextLayer;

/***/ }),
/* 218 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.SVGGraphics = void 0;

var _util = __w_pdfjs_require__(5);

var _display_utils = __w_pdfjs_require__(1);

var _is_node = __w_pdfjs_require__(7);

function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }

function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }

function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var SVGGraphics = function SVGGraphics() {
  throw new Error("Not implemented: SVGGraphics");
};

exports.SVGGraphics = SVGGraphics;
{
  var opListToTree = function opListToTree(opList) {
    var opTree = [];
    var tmp = [];

    var _iterator = _createForOfIteratorHelper(opList),
        _step;

    try {
      for (_iterator.s(); !(_step = _iterator.n()).done;) {
        var opListElement = _step.value;

        if (opListElement.fn === "save") {
          opTree.push({
            fnId: 92,
            fn: "group",
            items: []
          });
          tmp.push(opTree);
          opTree = opTree[opTree.length - 1].items;
          continue;
        }

        if (opListElement.fn === "restore") {
          opTree = tmp.pop();
        } else {
          opTree.push(opListElement);
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }

    return opTree;
  };

  var pf = function pf(value) {
    if (Number.isInteger(value)) {
      return value.toString();
    }

    var s = value.toFixed(10);
    var i = s.length - 1;

    if (s[i] !== "0") {
      return s;
    }

    do {
      i--;
    } while (s[i] === "0");

    return s.substring(0, s[i] === "." ? i : i + 1);
  };

  var pm = function pm(m) {
    if (m[4] === 0 && m[5] === 0) {
      if (m[1] === 0 && m[2] === 0) {
        if (m[0] === 1 && m[3] === 1) {
          return "";
        }

        return "scale(".concat(pf(m[0]), " ").concat(pf(m[3]), ")");
      }

      if (m[0] === m[3] && m[1] === -m[2]) {
        var a = Math.acos(m[0]) * 180 / Math.PI;
        return "rotate(".concat(pf(a), ")");
      }
    } else {
      if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {
        return "translate(".concat(pf(m[4]), " ").concat(pf(m[5]), ")");
      }
    }

    return "matrix(".concat(pf(m[0]), " ").concat(pf(m[1]), " ").concat(pf(m[2]), " ").concat(pf(m[3]), " ").concat(pf(m[4]), " ") + "".concat(pf(m[5]), ")");
  };

  var SVG_DEFAULTS = {
    fontStyle: "normal",
    fontWeight: "normal",
    fillColor: "#000000"
  };
  var XML_NS = "http://www.w3.org/XML/1998/namespace";
  var XLINK_NS = "http://www.w3.org/1999/xlink";
  var LINE_CAP_STYLES = ["butt", "round", "square"];
  var LINE_JOIN_STYLES = ["miter", "round", "bevel"];

  var convertImgDataToPng = function () {
    var PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);
    var CHUNK_WRAPPER_SIZE = 12;
    var crcTable = new Int32Array(256);

    for (var i = 0; i < 256; i++) {
      var c = i;

      for (var h = 0; h < 8; h++) {
        if (c & 1) {
          c = 0xedb88320 ^ c >> 1 & 0x7fffffff;
        } else {
          c = c >> 1 & 0x7fffffff;
        }
      }

      crcTable[i] = c;
    }

    function crc32(data, start, end) {
      var crc = -1;

      for (var _i = start; _i < end; _i++) {
        var a = (crc ^ data[_i]) & 0xff;
        var b = crcTable[a];
        crc = crc >>> 8 ^ b;
      }

      return crc ^ -1;
    }

    function writePngChunk(type, body, data, offset) {
      var p = offset;
      var len = body.length;
      data[p] = len >> 24 & 0xff;
      data[p + 1] = len >> 16 & 0xff;
      data[p + 2] = len >> 8 & 0xff;
      data[p + 3] = len & 0xff;
      p += 4;
      data[p] = type.charCodeAt(0) & 0xff;
      data[p + 1] = type.charCodeAt(1) & 0xff;
      data[p + 2] = type.charCodeAt(2) & 0xff;
      data[p + 3] = type.charCodeAt(3) & 0xff;
      p += 4;
      data.set(body, p);
      p += body.length;
      var crc = crc32(data, offset + 4, p);
      data[p] = crc >> 24 & 0xff;
      data[p + 1] = crc >> 16 & 0xff;
      data[p + 2] = crc >> 8 & 0xff;
      data[p + 3] = crc & 0xff;
    }

    function adler32(data, start, end) {
      var a = 1;
      var b = 0;

      for (var _i2 = start; _i2 < end; ++_i2) {
        a = (a + (data[_i2] & 0xff)) % 65521;
        b = (b + a) % 65521;
      }

      return b << 16 | a;
    }

    function deflateSync(literals) {
      if (!_is_node.isNodeJS) {
        return deflateSyncUncompressed(literals);
      }

      try {
        var input;

        if (parseInt(process.versions.node) >= 8) {
          input = literals;
        } else {
          input = Buffer.from(literals);
        }

        var output = __webpack_require__(8).deflateSync(input, {
          level: 9
        });

        return output instanceof Uint8Array ? output : new Uint8Array(output);
      } catch (e) {
        (0, _util.warn)("Not compressing PNG because zlib.deflateSync is unavailable: " + e);
      }

      return deflateSyncUncompressed(literals);
    }

    function deflateSyncUncompressed(literals) {
      var len = literals.length;
      var maxBlockLength = 0xffff;
      var deflateBlocks = Math.ceil(len / maxBlockLength);
      var idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);
      var pi = 0;
      idat[pi++] = 0x78;
      idat[pi++] = 0x9c;
      var pos = 0;

      while (len > maxBlockLength) {
        idat[pi++] = 0x00;
        idat[pi++] = 0xff;
        idat[pi++] = 0xff;
        idat[pi++] = 0x00;
        idat[pi++] = 0x00;
        idat.set(literals.subarray(pos, pos + maxBlockLength), pi);
        pi += maxBlockLength;
        pos += maxBlockLength;
        len -= maxBlockLength;
      }

      idat[pi++] = 0x01;
      idat[pi++] = len & 0xff;
      idat[pi++] = len >> 8 & 0xff;
      idat[pi++] = ~len & 0xffff & 0xff;
      idat[pi++] = (~len & 0xffff) >> 8 & 0xff;
      idat.set(literals.subarray(pos), pi);
      pi += literals.length - pos;
      var adler = adler32(literals, 0, literals.length);
      idat[pi++] = adler >> 24 & 0xff;
      idat[pi++] = adler >> 16 & 0xff;
      idat[pi++] = adler >> 8 & 0xff;
      idat[pi++] = adler & 0xff;
      return idat;
    }

    function encode(imgData, kind, forceDataSchema, isMask) {
      var width = imgData.width;
      var height = imgData.height;
      var bitDepth, colorType, lineSize;
      var bytes = imgData.data;

      switch (kind) {
        case _util.ImageKind.GRAYSCALE_1BPP:
          colorType = 0;
          bitDepth = 1;
          lineSize = width + 7 >> 3;
          break;

        case _util.ImageKind.RGB_24BPP:
          colorType = 2;
          bitDepth = 8;
          lineSize = width * 3;
          break;

        case _util.ImageKind.RGBA_32BPP:
          colorType = 6;
          bitDepth = 8;
          lineSize = width * 4;
          break;

        default:
          throw new Error("invalid format");
      }

      var literals = new Uint8Array((1 + lineSize) * height);
      var offsetLiterals = 0,
          offsetBytes = 0;

      for (var y = 0; y < height; ++y) {
        literals[offsetLiterals++] = 0;
        literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);
        offsetBytes += lineSize;
        offsetLiterals += lineSize;
      }

      if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {
        offsetLiterals = 0;

        for (var _y = 0; _y < height; _y++) {
          offsetLiterals++;

          for (var _i3 = 0; _i3 < lineSize; _i3++) {
            literals[offsetLiterals++] ^= 0xff;
          }
        }
      }

      var ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);
      var idat = deflateSync(literals);
      var pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;
      var data = new Uint8Array(pngLength);
      var offset = 0;
      data.set(PNG_HEADER, offset);
      offset += PNG_HEADER.length;
      writePngChunk("IHDR", ihdr, data, offset);
      offset += CHUNK_WRAPPER_SIZE + ihdr.length;
      writePngChunk("IDATA", idat, data, offset);
      offset += CHUNK_WRAPPER_SIZE + idat.length;
      writePngChunk("IEND", new Uint8Array(0), data, offset);
      return (0, _util.createObjectURL)(data, "image/png", forceDataSchema);
    }

    return function convertImgDataToPng(imgData, forceDataSchema, isMask) {
      var kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;
      return encode(imgData, kind, forceDataSchema, isMask);
    };
  }();

  var SVGExtraState = /*#__PURE__*/function () {
    function SVGExtraState() {
      _classCallCheck(this, SVGExtraState);

      this.fontSizeScale = 1;
      this.fontWeight = SVG_DEFAULTS.fontWeight;
      this.fontSize = 0;
      this.textMatrix = _util.IDENTITY_MATRIX;
      this.fontMatrix = _util.FONT_IDENTITY_MATRIX;
      this.leading = 0;
      this.textRenderingMode = _util.TextRenderingMode.FILL;
      this.textMatrixScale = 1;
      this.x = 0;
      this.y = 0;
      this.lineX = 0;
      this.lineY = 0;
      this.charSpacing = 0;
      this.wordSpacing = 0;
      this.textHScale = 1;
      this.textRise = 0;
      this.fillColor = SVG_DEFAULTS.fillColor;
      this.strokeColor = "#000000";
      this.fillAlpha = 1;
      this.strokeAlpha = 1;
      this.lineWidth = 1;
      this.lineJoin = "";
      this.lineCap = "";
      this.miterLimit = 0;
      this.dashArray = [];
      this.dashPhase = 0;
      this.dependencies = [];
      this.activeClipUrl = null;
      this.clipGroup = null;
      this.maskId = "";
    }

    _createClass(SVGExtraState, [{
      key: "clone",
      value: function clone() {
        return Object.create(this);
      }
    }, {
      key: "setCurrentPoint",
      value: function setCurrentPoint(x, y) {
        this.x = x;
        this.y = y;
      }
    }]);

    return SVGExtraState;
  }();

  var clipCount = 0;
  var maskCount = 0;
  var shadingCount = 0;

  exports.SVGGraphics = SVGGraphics = /*#__PURE__*/function () {
    function SVGGraphics(commonObjs, objs) {
      var forceDataSchema = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

      _classCallCheck(this, SVGGraphics);

      this.svgFactory = new _display_utils.DOMSVGFactory();
      this.current = new SVGExtraState();
      this.transformMatrix = _util.IDENTITY_MATRIX;
      this.transformStack = [];
      this.extraStack = [];
      this.commonObjs = commonObjs;
      this.objs = objs;
      this.pendingClip = null;
      this.pendingEOFill = false;
      this.embedFonts = false;
      this.embeddedFonts = Object.create(null);
      this.cssStyle = null;
      this.forceDataSchema = !!forceDataSchema;
      this._operatorIdMapping = [];

      for (var op in _util.OPS) {
        this._operatorIdMapping[_util.OPS[op]] = op;
      }
    }

    _createClass(SVGGraphics, [{
      key: "save",
      value: function save() {
        this.transformStack.push(this.transformMatrix);
        var old = this.current;
        this.extraStack.push(old);
        this.current = old.clone();
      }
    }, {
      key: "restore",
      value: function restore() {
        this.transformMatrix = this.transformStack.pop();
        this.current = this.extraStack.pop();
        this.pendingClip = null;
        this.tgrp = null;
      }
    }, {
      key: "group",
      value: function group(items) {
        this.save();
        this.executeOpTree(items);
        this.restore();
      }
    }, {
      key: "loadDependencies",
      value: function loadDependencies(operatorList) {
        var _this = this;

        var fnArray = operatorList.fnArray;
        var argsArray = operatorList.argsArray;

        for (var i = 0, ii = fnArray.length; i < ii; i++) {
          if (fnArray[i] !== _util.OPS.dependency) {
            continue;
          }

          var _iterator2 = _createForOfIteratorHelper(argsArray[i]),
              _step2;

          try {
            var _loop = function _loop() {
              var obj = _step2.value;
              var objsPool = obj.startsWith("g_") ? _this.commonObjs : _this.objs;
              var promise = new Promise(function (resolve) {
                objsPool.get(obj, resolve);
              });

              _this.current.dependencies.push(promise);
            };

            for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
              _loop();
            }
          } catch (err) {
            _iterator2.e(err);
          } finally {
            _iterator2.f();
          }
        }

        return Promise.all(this.current.dependencies);
      }
    }, {
      key: "transform",
      value: function transform(a, b, c, d, e, f) {
        var transformMatrix = [a, b, c, d, e, f];
        this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);
        this.tgrp = null;
      }
    }, {
      key: "getSVG",
      value: function getSVG(operatorList, viewport) {
        var _this2 = this;

        this.viewport = viewport;

        var svgElement = this._initialize(viewport);

        return this.loadDependencies(operatorList).then(function () {
          _this2.transformMatrix = _util.IDENTITY_MATRIX;

          _this2.executeOpTree(_this2.convertOpList(operatorList));

          return svgElement;
        });
      }
    }, {
      key: "convertOpList",
      value: function convertOpList(operatorList) {
        var operatorIdMapping = this._operatorIdMapping;
        var argsArray = operatorList.argsArray;
        var fnArray = operatorList.fnArray;
        var opList = [];

        for (var i = 0, ii = fnArray.length; i < ii; i++) {
          var fnId = fnArray[i];
          opList.push({
            fnId: fnId,
            fn: operatorIdMapping[fnId],
            args: argsArray[i]
          });
        }

        return opListToTree(opList);
      }
    }, {
      key: "executeOpTree",
      value: function executeOpTree(opTree) {
        var _iterator3 = _createForOfIteratorHelper(opTree),
            _step3;

        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
            var opTreeElement = _step3.value;
            var fn = opTreeElement.fn;
            var fnId = opTreeElement.fnId;
            var args = opTreeElement.args;

            switch (fnId | 0) {
              case _util.OPS.beginText:
                this.beginText();
                break;

              case _util.OPS.dependency:
                break;

              case _util.OPS.setLeading:
                this.setLeading(args);
                break;

              case _util.OPS.setLeadingMoveText:
                this.setLeadingMoveText(args[0], args[1]);
                break;

              case _util.OPS.setFont:
                this.setFont(args);
                break;

              case _util.OPS.showText:
                this.showText(args[0]);
                break;

              case _util.OPS.showSpacedText:
                this.showText(args[0]);
                break;

              case _util.OPS.endText:
                this.endText();
                break;

              case _util.OPS.moveText:
                this.moveText(args[0], args[1]);
                break;

              case _util.OPS.setCharSpacing:
                this.setCharSpacing(args[0]);
                break;

              case _util.OPS.setWordSpacing:
                this.setWordSpacing(args[0]);
                break;

              case _util.OPS.setHScale:
                this.setHScale(args[0]);
                break;

              case _util.OPS.setTextMatrix:
                this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);
                break;

              case _util.OPS.setTextRise:
                this.setTextRise(args[0]);
                break;

              case _util.OPS.setTextRenderingMode:
                this.setTextRenderingMode(args[0]);
                break;

              case _util.OPS.setLineWidth:
                this.setLineWidth(args[0]);
                break;

              case _util.OPS.setLineJoin:
                this.setLineJoin(args[0]);
                break;

              case _util.OPS.setLineCap:
                this.setLineCap(args[0]);
                break;

              case _util.OPS.setMiterLimit:
                this.setMiterLimit(args[0]);
                break;

              case _util.OPS.setFillRGBColor:
                this.setFillRGBColor(args[0], args[1], args[2]);
                break;

              case _util.OPS.setStrokeRGBColor:
                this.setStrokeRGBColor(args[0], args[1], args[2]);
                break;

              case _util.OPS.setStrokeColorN:
                this.setStrokeColorN(args);
                break;

              case _util.OPS.setFillColorN:
                this.setFillColorN(args);
                break;

              case _util.OPS.shadingFill:
                this.shadingFill(args[0]);
                break;

              case _util.OPS.setDash:
                this.setDash(args[0], args[1]);
                break;

              case _util.OPS.setRenderingIntent:
                this.setRenderingIntent(args[0]);
                break;

              case _util.OPS.setFlatness:
                this.setFlatness(args[0]);
                break;

              case _util.OPS.setGState:
                this.setGState(args[0]);
                break;

              case _util.OPS.fill:
                this.fill();
                break;

              case _util.OPS.eoFill:
                this.eoFill();
                break;

              case _util.OPS.stroke:
                this.stroke();
                break;

              case _util.OPS.fillStroke:
                this.fillStroke();
                break;

              case _util.OPS.eoFillStroke:
                this.eoFillStroke();
                break;

              case _util.OPS.clip:
                this.clip("nonzero");
                break;

              case _util.OPS.eoClip:
                this.clip("evenodd");
                break;

              case _util.OPS.paintSolidColorImageMask:
                this.paintSolidColorImageMask();
                break;

              case _util.OPS.paintImageXObject:
                this.paintImageXObject(args[0]);
                break;

              case _util.OPS.paintInlineImageXObject:
                this.paintInlineImageXObject(args[0]);
                break;

              case _util.OPS.paintImageMaskXObject:
                this.paintImageMaskXObject(args[0]);
                break;

              case _util.OPS.paintFormXObjectBegin:
                this.paintFormXObjectBegin(args[0], args[1]);
                break;

              case _util.OPS.paintFormXObjectEnd:
                this.paintFormXObjectEnd();
                break;

              case _util.OPS.closePath:
                this.closePath();
                break;

              case _util.OPS.closeStroke:
                this.closeStroke();
                break;

              case _util.OPS.closeFillStroke:
                this.closeFillStroke();
                break;

              case _util.OPS.closeEOFillStroke:
                this.closeEOFillStroke();
                break;

              case _util.OPS.nextLine:
                this.nextLine();
                break;

              case _util.OPS.transform:
                this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);
                break;

              case _util.OPS.constructPath:
                this.constructPath(args[0], args[1]);
                break;

              case _util.OPS.endPath:
                this.endPath();
                break;

              case 92:
                this.group(opTreeElement.items);
                break;

              default:
                (0, _util.warn)("Unimplemented operator ".concat(fn));
                break;
            }
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      }
    }, {
      key: "setWordSpacing",
      value: function setWordSpacing(wordSpacing) {
        this.current.wordSpacing = wordSpacing;
      }
    }, {
      key: "setCharSpacing",
      value: function setCharSpacing(charSpacing) {
        this.current.charSpacing = charSpacing;
      }
    }, {
      key: "nextLine",
      value: function nextLine() {
        this.moveText(0, this.current.leading);
      }
    }, {
      key: "setTextMatrix",
      value: function setTextMatrix(a, b, c, d, e, f) {
        var current = this.current;
        current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];
        current.textMatrixScale = Math.sqrt(a * a + b * b);
        current.x = current.lineX = 0;
        current.y = current.lineY = 0;
        current.xcoords = [];
        current.ycoords = [];
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
        current.txtElement = this.svgFactory.createElement("svg:text");
        current.txtElement.appendChild(current.tspan);
      }
    }, {
      key: "beginText",
      value: function beginText() {
        var current = this.current;
        current.x = current.lineX = 0;
        current.y = current.lineY = 0;
        current.textMatrix = _util.IDENTITY_MATRIX;
        current.lineMatrix = _util.IDENTITY_MATRIX;
        current.textMatrixScale = 1;
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.txtElement = this.svgFactory.createElement("svg:text");
        current.txtgrp = this.svgFactory.createElement("svg:g");
        current.xcoords = [];
        current.ycoords = [];
      }
    }, {
      key: "moveText",
      value: function moveText(x, y) {
        var current = this.current;
        current.x = current.lineX += x;
        current.y = current.lineY += y;
        current.xcoords = [];
        current.ycoords = [];
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
      }
    }, {
      key: "showText",
      value: function showText(glyphs) {
        var current = this.current;
        var font = current.font;
        var fontSize = current.fontSize;

        if (fontSize === 0) {
          return;
        }

        var fontSizeScale = current.fontSizeScale;
        var charSpacing = current.charSpacing;
        var wordSpacing = current.wordSpacing;
        var fontDirection = current.fontDirection;
        var textHScale = current.textHScale * fontDirection;
        var vertical = font.vertical;
        var spacingDir = vertical ? 1 : -1;
        var defaultVMetrics = font.defaultVMetrics;
        var widthAdvanceScale = fontSize * current.fontMatrix[0];
        var x = 0;

        var _iterator4 = _createForOfIteratorHelper(glyphs),
            _step4;

        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
            var glyph = _step4.value;

            if (glyph === null) {
              x += fontDirection * wordSpacing;
              continue;
            } else if ((0, _util.isNum)(glyph)) {
              x += spacingDir * glyph * fontSize / 1000;
              continue;
            }

            var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;
            var character = glyph.fontChar;
            var scaledX = void 0,
                scaledY = void 0;
            var width = glyph.width;

            if (vertical) {
              var vx = void 0;
              var vmetric = glyph.vmetric || defaultVMetrics;
              vx = glyph.vmetric ? vmetric[1] : width * 0.5;
              vx = -vx * widthAdvanceScale;
              var vy = vmetric[2] * widthAdvanceScale;
              width = vmetric ? -vmetric[0] : width;
              scaledX = vx / fontSizeScale;
              scaledY = (x + vy) / fontSizeScale;
            } else {
              scaledX = x / fontSizeScale;
              scaledY = 0;
            }

            if (glyph.isInFont || font.missingFile) {
              current.xcoords.push(current.x + scaledX);

              if (vertical) {
                current.ycoords.push(-current.y + scaledY);
              }

              current.tspan.textContent += character;
            } else {}

            var charWidth = void 0;

            if (vertical) {
              charWidth = width * widthAdvanceScale - spacing * fontDirection;
            } else {
              charWidth = width * widthAdvanceScale + spacing * fontDirection;
            }

            x += charWidth;
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }

        current.tspan.setAttributeNS(null, "x", current.xcoords.map(pf).join(" "));

        if (vertical) {
          current.tspan.setAttributeNS(null, "y", current.ycoords.map(pf).join(" "));
        } else {
          current.tspan.setAttributeNS(null, "y", pf(-current.y));
        }

        if (vertical) {
          current.y -= x;
        } else {
          current.x += x * textHScale;
        }

        current.tspan.setAttributeNS(null, "font-family", current.fontFamily);
        current.tspan.setAttributeNS(null, "font-size", "".concat(pf(current.fontSize), "px"));

        if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {
          current.tspan.setAttributeNS(null, "font-style", current.fontStyle);
        }

        if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {
          current.tspan.setAttributeNS(null, "font-weight", current.fontWeight);
        }

        var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;

        if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          if (current.fillColor !== SVG_DEFAULTS.fillColor) {
            current.tspan.setAttributeNS(null, "fill", current.fillColor);
          }

          if (current.fillAlpha < 1) {
            current.tspan.setAttributeNS(null, "fill-opacity", current.fillAlpha);
          }
        } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {
          current.tspan.setAttributeNS(null, "fill", "transparent");
        } else {
          current.tspan.setAttributeNS(null, "fill", "none");
        }

        if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {
          var lineWidthScale = 1 / (current.textMatrixScale || 1);

          this._setStrokeAttributes(current.tspan, lineWidthScale);
        }

        var textMatrix = current.textMatrix;

        if (current.textRise !== 0) {
          textMatrix = textMatrix.slice();
          textMatrix[5] += current.textRise;
        }

        current.txtElement.setAttributeNS(null, "transform", "".concat(pm(textMatrix), " scale(").concat(pf(textHScale), ", -1)"));
        current.txtElement.setAttributeNS(XML_NS, "xml:space", "preserve");
        current.txtElement.appendChild(current.tspan);
        current.txtgrp.appendChild(current.txtElement);

        this._ensureTransformGroup().appendChild(current.txtElement);
      }
    }, {
      key: "setLeadingMoveText",
      value: function setLeadingMoveText(x, y) {
        this.setLeading(-y);
        this.moveText(x, y);
      }
    }, {
      key: "addFontStyle",
      value: function addFontStyle(fontObj) {
        if (!fontObj.data) {
          throw new Error("addFontStyle: No font data available, " + 'ensure that the "fontExtraProperties" API parameter is set.');
        }

        if (!this.cssStyle) {
          this.cssStyle = this.svgFactory.createElement("svg:style");
          this.cssStyle.setAttributeNS(null, "type", "text/css");
          this.defs.appendChild(this.cssStyle);
        }

        var url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);
        this.cssStyle.textContent += "@font-face { font-family: \"".concat(fontObj.loadedName, "\";") + " src: url(".concat(url, "); }\n");
      }
    }, {
      key: "setFont",
      value: function setFont(details) {
        var current = this.current;
        var fontObj = this.commonObjs.get(details[0]);
        var size = details[1];
        current.font = fontObj;

        if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {
          this.addFontStyle(fontObj);
          this.embeddedFonts[fontObj.loadedName] = fontObj;
        }

        current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;
        var bold = "normal";

        if (fontObj.black) {
          bold = "900";
        } else if (fontObj.bold) {
          bold = "bold";
        }

        var italic = fontObj.italic ? "italic" : "normal";

        if (size < 0) {
          size = -size;
          current.fontDirection = -1;
        } else {
          current.fontDirection = 1;
        }

        current.fontSize = size;
        current.fontFamily = fontObj.loadedName;
        current.fontWeight = bold;
        current.fontStyle = italic;
        current.tspan = this.svgFactory.createElement("svg:tspan");
        current.tspan.setAttributeNS(null, "y", pf(-current.y));
        current.xcoords = [];
        current.ycoords = [];
      }
    }, {
      key: "endText",
      value: function endText() {
        var current = this.current;

        if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {
          current.element = current.txtElement;
          this.clip("nonzero");
          this.endPath();
        }
      }
    }, {
      key: "setLineWidth",
      value: function setLineWidth(width) {
        if (width > 0) {
          this.current.lineWidth = width;
        }
      }
    }, {
      key: "setLineCap",
      value: function setLineCap(style) {
        this.current.lineCap = LINE_CAP_STYLES[style];
      }
    }, {
      key: "setLineJoin",
      value: function setLineJoin(style) {
        this.current.lineJoin = LINE_JOIN_STYLES[style];
      }
    }, {
      key: "setMiterLimit",
      value: function setMiterLimit(limit) {
        this.current.miterLimit = limit;
      }
    }, {
      key: "setStrokeAlpha",
      value: function setStrokeAlpha(strokeAlpha) {
        this.current.strokeAlpha = strokeAlpha;
      }
    }, {
      key: "setStrokeRGBColor",
      value: function setStrokeRGBColor(r, g, b) {
        this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);
      }
    }, {
      key: "setFillAlpha",
      value: function setFillAlpha(fillAlpha) {
        this.current.fillAlpha = fillAlpha;
      }
    }, {
      key: "setFillRGBColor",
      value: function setFillRGBColor(r, g, b) {
        this.current.fillColor = _util.Util.makeCssRgb(r, g, b);
        this.current.tspan = this.svgFactory.createElement("svg:tspan");
        this.current.xcoords = [];
        this.current.ycoords = [];
      }
    }, {
      key: "setStrokeColorN",
      value: function setStrokeColorN(args) {
        this.current.strokeColor = this._makeColorN_Pattern(args);
      }
    }, {
      key: "setFillColorN",
      value: function setFillColorN(args) {
        this.current.fillColor = this._makeColorN_Pattern(args);
      }
    }, {
      key: "shadingFill",
      value: function shadingFill(args) {
        var width = this.viewport.width;
        var height = this.viewport.height;

        var inv = _util.Util.inverseTransform(this.transformMatrix);

        var bl = _util.Util.applyTransform([0, 0], inv);

        var br = _util.Util.applyTransform([0, height], inv);

        var ul = _util.Util.applyTransform([width, 0], inv);

        var ur = _util.Util.applyTransform([width, height], inv);

        var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);
        var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
        var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
        var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", x0);
        rect.setAttributeNS(null, "y", y0);
        rect.setAttributeNS(null, "width", x1 - x0);
        rect.setAttributeNS(null, "height", y1 - y0);
        rect.setAttributeNS(null, "fill", this._makeShadingPattern(args));

        if (this.current.fillAlpha < 1) {
          rect.setAttributeNS(null, "fill-opacity", this.current.fillAlpha);
        }

        this._ensureTransformGroup().appendChild(rect);
      }
    }, {
      key: "_makeColorN_Pattern",
      value: function _makeColorN_Pattern(args) {
        if (args[0] === "TilingPattern") {
          return this._makeTilingPattern(args);
        }

        return this._makeShadingPattern(args);
      }
    }, {
      key: "_makeTilingPattern",
      value: function _makeTilingPattern(args) {
        var color = args[1];
        var operatorList = args[2];
        var matrix = args[3] || _util.IDENTITY_MATRIX;

        var _args$ = _slicedToArray(args[4], 4),
            x0 = _args$[0],
            y0 = _args$[1],
            x1 = _args$[2],
            y1 = _args$[3];

        var xstep = args[5];
        var ystep = args[6];
        var paintType = args[7];
        var tilingId = "shading".concat(shadingCount++);

        var _Util$applyTransform = _util.Util.applyTransform([x0, y0], matrix),
            _Util$applyTransform2 = _slicedToArray(_Util$applyTransform, 2),
            tx0 = _Util$applyTransform2[0],
            ty0 = _Util$applyTransform2[1];

        var _Util$applyTransform3 = _util.Util.applyTransform([x1, y1], matrix),
            _Util$applyTransform4 = _slicedToArray(_Util$applyTransform3, 2),
            tx1 = _Util$applyTransform4[0],
            ty1 = _Util$applyTransform4[1];

        var _Util$singularValueDe = _util.Util.singularValueDecompose2dScale(matrix),
            _Util$singularValueDe2 = _slicedToArray(_Util$singularValueDe, 2),
            xscale = _Util$singularValueDe2[0],
            yscale = _Util$singularValueDe2[1];

        var txstep = xstep * xscale;
        var tystep = ystep * yscale;
        var tiling = this.svgFactory.createElement("svg:pattern");
        tiling.setAttributeNS(null, "id", tilingId);
        tiling.setAttributeNS(null, "patternUnits", "userSpaceOnUse");
        tiling.setAttributeNS(null, "width", txstep);
        tiling.setAttributeNS(null, "height", tystep);
        tiling.setAttributeNS(null, "x", "".concat(tx0));
        tiling.setAttributeNS(null, "y", "".concat(ty0));
        var svg = this.svg;
        var transformMatrix = this.transformMatrix;
        var fillColor = this.current.fillColor;
        var strokeColor = this.current.strokeColor;
        var bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);
        this.svg = bbox;
        this.transformMatrix = matrix;

        if (paintType === 2) {
          var cssColor = _util.Util.makeCssRgb.apply(_util.Util, _toConsumableArray(color));

          this.current.fillColor = cssColor;
          this.current.strokeColor = cssColor;
        }

        this.executeOpTree(this.convertOpList(operatorList));
        this.svg = svg;
        this.transformMatrix = transformMatrix;
        this.current.fillColor = fillColor;
        this.current.strokeColor = strokeColor;
        tiling.appendChild(bbox.childNodes[0]);
        this.defs.appendChild(tiling);
        return "url(#".concat(tilingId, ")");
      }
    }, {
      key: "_makeShadingPattern",
      value: function _makeShadingPattern(args) {
        switch (args[0]) {
          case "RadialAxial":
            var shadingId = "shading".concat(shadingCount++);
            var colorStops = args[3];
            var gradient;

            switch (args[1]) {
              case "axial":
                var point0 = args[4];
                var point1 = args[5];
                gradient = this.svgFactory.createElement("svg:linearGradient");
                gradient.setAttributeNS(null, "id", shadingId);
                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
                gradient.setAttributeNS(null, "x1", point0[0]);
                gradient.setAttributeNS(null, "y1", point0[1]);
                gradient.setAttributeNS(null, "x2", point1[0]);
                gradient.setAttributeNS(null, "y2", point1[1]);
                break;

              case "radial":
                var focalPoint = args[4];
                var circlePoint = args[5];
                var focalRadius = args[6];
                var circleRadius = args[7];
                gradient = this.svgFactory.createElement("svg:radialGradient");
                gradient.setAttributeNS(null, "id", shadingId);
                gradient.setAttributeNS(null, "gradientUnits", "userSpaceOnUse");
                gradient.setAttributeNS(null, "cx", circlePoint[0]);
                gradient.setAttributeNS(null, "cy", circlePoint[1]);
                gradient.setAttributeNS(null, "r", circleRadius);
                gradient.setAttributeNS(null, "fx", focalPoint[0]);
                gradient.setAttributeNS(null, "fy", focalPoint[1]);
                gradient.setAttributeNS(null, "fr", focalRadius);
                break;

              default:
                throw new Error("Unknown RadialAxial type: ".concat(args[1]));
            }

            var _iterator5 = _createForOfIteratorHelper(colorStops),
                _step5;

            try {
              for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
                var colorStop = _step5.value;
                var stop = this.svgFactory.createElement("svg:stop");
                stop.setAttributeNS(null, "offset", colorStop[0]);
                stop.setAttributeNS(null, "stop-color", colorStop[1]);
                gradient.appendChild(stop);
              }
            } catch (err) {
              _iterator5.e(err);
            } finally {
              _iterator5.f();
            }

            this.defs.appendChild(gradient);
            return "url(#".concat(shadingId, ")");

          case "Mesh":
            (0, _util.warn)("Unimplemented pattern Mesh");
            return null;

          case "Dummy":
            return "hotpink";

          default:
            throw new Error("Unknown IR type: ".concat(args[0]));
        }
      }
    }, {
      key: "setDash",
      value: function setDash(dashArray, dashPhase) {
        this.current.dashArray = dashArray;
        this.current.dashPhase = dashPhase;
      }
    }, {
      key: "constructPath",
      value: function constructPath(ops, args) {
        var current = this.current;
        var x = current.x,
            y = current.y;
        var d = [];
        var j = 0;

        var _iterator6 = _createForOfIteratorHelper(ops),
            _step6;

        try {
          for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
            var op = _step6.value;

            switch (op | 0) {
              case _util.OPS.rectangle:
                x = args[j++];
                y = args[j++];
                var width = args[j++];
                var height = args[j++];
                var xw = x + width;
                var yh = y + height;
                d.push("M", pf(x), pf(y), "L", pf(xw), pf(y), "L", pf(xw), pf(yh), "L", pf(x), pf(yh), "Z");
                break;

              case _util.OPS.moveTo:
                x = args[j++];
                y = args[j++];
                d.push("M", pf(x), pf(y));
                break;

              case _util.OPS.lineTo:
                x = args[j++];
                y = args[j++];
                d.push("L", pf(x), pf(y));
                break;

              case _util.OPS.curveTo:
                x = args[j + 4];
                y = args[j + 5];
                d.push("C", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));
                j += 6;
                break;

              case _util.OPS.curveTo2:
                d.push("C", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));
                x = args[j + 2];
                y = args[j + 3];
                j += 4;
                break;

              case _util.OPS.curveTo3:
                x = args[j + 2];
                y = args[j + 3];
                d.push("C", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));
                j += 4;
                break;

              case _util.OPS.closePath:
                d.push("Z");
                break;
            }
          }
        } catch (err) {
          _iterator6.e(err);
        } finally {
          _iterator6.f();
        }

        d = d.join(" ");

        if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {
          d = current.path.getAttributeNS(null, "d") + d;
        } else {
          current.path = this.svgFactory.createElement("svg:path");

          this._ensureTransformGroup().appendChild(current.path);
        }

        current.path.setAttributeNS(null, "d", d);
        current.path.setAttributeNS(null, "fill", "none");
        current.element = current.path;
        current.setCurrentPoint(x, y);
      }
    }, {
      key: "endPath",
      value: function endPath() {
        var current = this.current;
        current.path = null;

        if (!this.pendingClip) {
          return;
        }

        if (!current.element) {
          this.pendingClip = null;
          return;
        }

        var clipId = "clippath".concat(clipCount++);
        var clipPath = this.svgFactory.createElement("svg:clipPath");
        clipPath.setAttributeNS(null, "id", clipId);
        clipPath.setAttributeNS(null, "transform", pm(this.transformMatrix));
        var clipElement = current.element.cloneNode(true);

        if (this.pendingClip === "evenodd") {
          clipElement.setAttributeNS(null, "clip-rule", "evenodd");
        } else {
          clipElement.setAttributeNS(null, "clip-rule", "nonzero");
        }

        this.pendingClip = null;
        clipPath.appendChild(clipElement);
        this.defs.appendChild(clipPath);

        if (current.activeClipUrl) {
          current.clipGroup = null;
          this.extraStack.forEach(function (prev) {
            prev.clipGroup = null;
          });
          clipPath.setAttributeNS(null, "clip-path", current.activeClipUrl);
        }

        current.activeClipUrl = "url(#".concat(clipId, ")");
        this.tgrp = null;
      }
    }, {
      key: "clip",
      value: function clip(type) {
        this.pendingClip = type;
      }
    }, {
      key: "closePath",
      value: function closePath() {
        var current = this.current;

        if (current.path) {
          var d = "".concat(current.path.getAttributeNS(null, "d"), "Z");
          current.path.setAttributeNS(null, "d", d);
        }
      }
    }, {
      key: "setLeading",
      value: function setLeading(leading) {
        this.current.leading = -leading;
      }
    }, {
      key: "setTextRise",
      value: function setTextRise(textRise) {
        this.current.textRise = textRise;
      }
    }, {
      key: "setTextRenderingMode",
      value: function setTextRenderingMode(textRenderingMode) {
        this.current.textRenderingMode = textRenderingMode;
      }
    }, {
      key: "setHScale",
      value: function setHScale(scale) {
        this.current.textHScale = scale / 100;
      }
    }, {
      key: "setRenderingIntent",
      value: function setRenderingIntent(intent) {}
    }, {
      key: "setFlatness",
      value: function setFlatness(flatness) {}
    }, {
      key: "setGState",
      value: function setGState(states) {
        var _iterator7 = _createForOfIteratorHelper(states),
            _step7;

        try {
          for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
            var _step7$value = _slicedToArray(_step7.value, 2),
                key = _step7$value[0],
                value = _step7$value[1];

            switch (key) {
              case "LW":
                this.setLineWidth(value);
                break;

              case "LC":
                this.setLineCap(value);
                break;

              case "LJ":
                this.setLineJoin(value);
                break;

              case "ML":
                this.setMiterLimit(value);
                break;

              case "D":
                this.setDash(value[0], value[1]);
                break;

              case "RI":
                this.setRenderingIntent(value);
                break;

              case "FL":
                this.setFlatness(value);
                break;

              case "Font":
                this.setFont(value);
                break;

              case "CA":
                this.setStrokeAlpha(value);
                break;

              case "ca":
                this.setFillAlpha(value);
                break;

              default:
                (0, _util.warn)("Unimplemented graphic state operator ".concat(key));
                break;
            }
          }
        } catch (err) {
          _iterator7.e(err);
        } finally {
          _iterator7.f();
        }
      }
    }, {
      key: "fill",
      value: function fill() {
        var current = this.current;

        if (current.element) {
          current.element.setAttributeNS(null, "fill", current.fillColor);
          current.element.setAttributeNS(null, "fill-opacity", current.fillAlpha);
          this.endPath();
        }
      }
    }, {
      key: "stroke",
      value: function stroke() {
        var current = this.current;

        if (current.element) {
          this._setStrokeAttributes(current.element);

          current.element.setAttributeNS(null, "fill", "none");
          this.endPath();
        }
      }
    }, {
      key: "_setStrokeAttributes",
      value: function _setStrokeAttributes(element) {
        var lineWidthScale = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
        var current = this.current;
        var dashArray = current.dashArray;

        if (lineWidthScale !== 1 && dashArray.length > 0) {
          dashArray = dashArray.map(function (value) {
            return lineWidthScale * value;
          });
        }

        element.setAttributeNS(null, "stroke", current.strokeColor);
        element.setAttributeNS(null, "stroke-opacity", current.strokeAlpha);
        element.setAttributeNS(null, "stroke-miterlimit", pf(current.miterLimit));
        element.setAttributeNS(null, "stroke-linecap", current.lineCap);
        element.setAttributeNS(null, "stroke-linejoin", current.lineJoin);
        element.setAttributeNS(null, "stroke-width", pf(lineWidthScale * current.lineWidth) + "px");
        element.setAttributeNS(null, "stroke-dasharray", dashArray.map(pf).join(" "));
        element.setAttributeNS(null, "stroke-dashoffset", pf(lineWidthScale * current.dashPhase) + "px");
      }
    }, {
      key: "eoFill",
      value: function eoFill() {
        if (this.current.element) {
          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
        }

        this.fill();
      }
    }, {
      key: "fillStroke",
      value: function fillStroke() {
        this.stroke();
        this.fill();
      }
    }, {
      key: "eoFillStroke",
      value: function eoFillStroke() {
        if (this.current.element) {
          this.current.element.setAttributeNS(null, "fill-rule", "evenodd");
        }

        this.fillStroke();
      }
    }, {
      key: "closeStroke",
      value: function closeStroke() {
        this.closePath();
        this.stroke();
      }
    }, {
      key: "closeFillStroke",
      value: function closeFillStroke() {
        this.closePath();
        this.fillStroke();
      }
    }, {
      key: "closeEOFillStroke",
      value: function closeEOFillStroke() {
        this.closePath();
        this.eoFillStroke();
      }
    }, {
      key: "paintSolidColorImageMask",
      value: function paintSolidColorImageMask() {
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", "0");
        rect.setAttributeNS(null, "y", "0");
        rect.setAttributeNS(null, "width", "1px");
        rect.setAttributeNS(null, "height", "1px");
        rect.setAttributeNS(null, "fill", this.current.fillColor);

        this._ensureTransformGroup().appendChild(rect);
      }
    }, {
      key: "paintImageXObject",
      value: function paintImageXObject(objId) {
        var imgData = objId.startsWith("g_") ? this.commonObjs.get(objId) : this.objs.get(objId);

        if (!imgData) {
          (0, _util.warn)("Dependent image with object ID ".concat(objId, " is not ready yet"));
          return;
        }

        this.paintInlineImageXObject(imgData);
      }
    }, {
      key: "paintInlineImageXObject",
      value: function paintInlineImageXObject(imgData, mask) {
        var width = imgData.width;
        var height = imgData.height;
        var imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);
        var cliprect = this.svgFactory.createElement("svg:rect");
        cliprect.setAttributeNS(null, "x", "0");
        cliprect.setAttributeNS(null, "y", "0");
        cliprect.setAttributeNS(null, "width", pf(width));
        cliprect.setAttributeNS(null, "height", pf(height));
        this.current.element = cliprect;
        this.clip("nonzero");
        var imgEl = this.svgFactory.createElement("svg:image");
        imgEl.setAttributeNS(XLINK_NS, "xlink:href", imgSrc);
        imgEl.setAttributeNS(null, "x", "0");
        imgEl.setAttributeNS(null, "y", pf(-height));
        imgEl.setAttributeNS(null, "width", pf(width) + "px");
        imgEl.setAttributeNS(null, "height", pf(height) + "px");
        imgEl.setAttributeNS(null, "transform", "scale(".concat(pf(1 / width), " ").concat(pf(-1 / height), ")"));

        if (mask) {
          mask.appendChild(imgEl);
        } else {
          this._ensureTransformGroup().appendChild(imgEl);
        }
      }
    }, {
      key: "paintImageMaskXObject",
      value: function paintImageMaskXObject(imgData) {
        var current = this.current;
        var width = imgData.width;
        var height = imgData.height;
        var fillColor = current.fillColor;
        current.maskId = "mask".concat(maskCount++);
        var mask = this.svgFactory.createElement("svg:mask");
        mask.setAttributeNS(null, "id", current.maskId);
        var rect = this.svgFactory.createElement("svg:rect");
        rect.setAttributeNS(null, "x", "0");
        rect.setAttributeNS(null, "y", "0");
        rect.setAttributeNS(null, "width", pf(width));
        rect.setAttributeNS(null, "height", pf(height));
        rect.setAttributeNS(null, "fill", fillColor);
        rect.setAttributeNS(null, "mask", "url(#".concat(current.maskId, ")"));
        this.defs.appendChild(mask);

        this._ensureTransformGroup().appendChild(rect);

        this.paintInlineImageXObject(imgData, mask);
      }
    }, {
      key: "paintFormXObjectBegin",
      value: function paintFormXObjectBegin(matrix, bbox) {
        if (Array.isArray(matrix) && matrix.length === 6) {
          this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);
        }

        if (bbox) {
          var width = bbox[2] - bbox[0];
          var height = bbox[3] - bbox[1];
          var cliprect = this.svgFactory.createElement("svg:rect");
          cliprect.setAttributeNS(null, "x", bbox[0]);
          cliprect.setAttributeNS(null, "y", bbox[1]);
          cliprect.setAttributeNS(null, "width", pf(width));
          cliprect.setAttributeNS(null, "height", pf(height));
          this.current.element = cliprect;
          this.clip("nonzero");
          this.endPath();
        }
      }
    }, {
      key: "paintFormXObjectEnd",
      value: function paintFormXObjectEnd() {}
    }, {
      key: "_initialize",
      value: function _initialize(viewport) {
        var svg = this.svgFactory.create(viewport.width, viewport.height);
        var definitions = this.svgFactory.createElement("svg:defs");
        svg.appendChild(definitions);
        this.defs = definitions;
        var rootGroup = this.svgFactory.createElement("svg:g");
        rootGroup.setAttributeNS(null, "transform", pm(viewport.transform));
        svg.appendChild(rootGroup);
        this.svg = rootGroup;
        return svg;
      }
    }, {
      key: "_ensureClipGroup",
      value: function _ensureClipGroup() {
        if (!this.current.clipGroup) {
          var clipGroup = this.svgFactory.createElement("svg:g");
          clipGroup.setAttributeNS(null, "clip-path", this.current.activeClipUrl);
          this.svg.appendChild(clipGroup);
          this.current.clipGroup = clipGroup;
        }

        return this.current.clipGroup;
      }
    }, {
      key: "_ensureTransformGroup",
      value: function _ensureTransformGroup() {
        if (!this.tgrp) {
          this.tgrp = this.svgFactory.createElement("svg:g");
          this.tgrp.setAttributeNS(null, "transform", pm(this.transformMatrix));

          if (this.current.activeClipUrl) {
            this._ensureClipGroup().appendChild(this.tgrp);
          } else {
            this.svg.appendChild(this.tgrp);
          }
        }

        return this.tgrp;
      }
    }]);

    return SVGGraphics;
  }();
}

/***/ }),
/* 219 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFNodeStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

var _network_utils = __w_pdfjs_require__(220);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

var fs = __webpack_require__(1);

var http = __webpack_require__(9);

var https = __webpack_require__(10);

var url = __webpack_require__(11);

var fileUriRegex = /^file:\/\/\/[a-zA-Z]:\//;

function parseUrl(sourceUrl) {
  var parsedUrl = url.parse(sourceUrl);

  if (parsedUrl.protocol === "file:" || parsedUrl.host) {
    return parsedUrl;
  }

  if (/^[a-z]:[/\\]/i.test(sourceUrl)) {
    return url.parse("file:///".concat(sourceUrl));
  }

  if (!parsedUrl.host) {
    parsedUrl.protocol = "file:";
  }

  return parsedUrl;
}

var PDFNodeStream = /*#__PURE__*/function () {
  function PDFNodeStream(source) {
    _classCallCheck(this, PDFNodeStream);

    this.source = source;
    this.url = parseUrl(source.url);
    this.isHttp = this.url.protocol === "http:" || this.url.protocol === "https:";
    this.isFsUrl = this.url.protocol === "file:";
    this.httpHeaders = this.isHttp && source.httpHeaders || {};
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFNodeStream, [{
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFNodeStream.getFullReader can only be called once.");
      this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(start, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);

      this._rangeRequestReaders.push(rangeReader);

      return rangeReader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
    }
  }]);

  return PDFNodeStream;
}();

exports.PDFNodeStream = PDFNodeStream;

var BaseFullReader = /*#__PURE__*/function () {
  function BaseFullReader(stream) {
    _classCallCheck(this, BaseFullReader);

    this._url = stream.url;
    this._done = false;
    this._storedError = null;
    this.onProgress = null;
    var source = stream.source;
    this._contentLength = source.length;
    this._loaded = 0;
    this._filename = null;
    this._disableRange = source.disableRange || false;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    this._isStreamingSupported = !source.disableStream;
    this._isRangeSupported = !source.disableRange;
    this._readableStream = null;
    this._readCapability = (0, _util.createPromiseCapability)();
    this._headersCapability = (0, _util.createPromiseCapability)();
  }

  _createClass(BaseFullReader, [{
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, buffer;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._readCapability.promise;

              case 2:
                if (!this._done) {
                  _context.next = 4;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 4:
                if (!this._storedError) {
                  _context.next = 6;
                  break;
                }

                throw this._storedError;

              case 6:
                chunk = this._readableStream.read();

                if (!(chunk === null)) {
                  _context.next = 10;
                  break;
                }

                this._readCapability = (0, _util.createPromiseCapability)();
                return _context.abrupt("return", this.read());

              case 10:
                this._loaded += chunk.length;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded,
                    total: this._contentLength
                  });
                }

                buffer = new Uint8Array(chunk).buffer;
                return _context.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 14:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (!this._readableStream) {
        this._error(reason);

        return;
      }

      this._readableStream.destroy(reason);
    }
  }, {
    key: "_error",
    value: function _error(reason) {
      this._storedError = reason;

      this._readCapability.resolve();
    }
  }, {
    key: "_setReadableStream",
    value: function _setReadableStream(readableStream) {
      var _this = this;

      this._readableStream = readableStream;
      readableStream.on("readable", function () {
        _this._readCapability.resolve();
      });
      readableStream.on("end", function () {
        readableStream.destroy();
        _this._done = true;

        _this._readCapability.resolve();
      });
      readableStream.on("error", function (reason) {
        _this._error(reason);
      });

      if (!this._isStreamingSupported && this._isRangeSupported) {
        this._error(new _util.AbortException("streaming is disabled"));
      }

      if (this._storedError) {
        this._readableStream.destroy(this._storedError);
      }
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersCapability.promise;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return BaseFullReader;
}();

var BaseRangeReader = /*#__PURE__*/function () {
  function BaseRangeReader(stream) {
    _classCallCheck(this, BaseRangeReader);

    this._url = stream.url;
    this._done = false;
    this._storedError = null;
    this.onProgress = null;
    this._loaded = 0;
    this._readableStream = null;
    this._readCapability = (0, _util.createPromiseCapability)();
    var source = stream.source;
    this._isStreamingSupported = !source.disableStream;
  }

  _createClass(BaseRangeReader, [{
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, buffer;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._readCapability.promise;

              case 2:
                if (!this._done) {
                  _context2.next = 4;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 4:
                if (!this._storedError) {
                  _context2.next = 6;
                  break;
                }

                throw this._storedError;

              case 6:
                chunk = this._readableStream.read();

                if (!(chunk === null)) {
                  _context2.next = 10;
                  break;
                }

                this._readCapability = (0, _util.createPromiseCapability)();
                return _context2.abrupt("return", this.read());

              case 10:
                this._loaded += chunk.length;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded
                  });
                }

                buffer = new Uint8Array(chunk).buffer;
                return _context2.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 14:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (!this._readableStream) {
        this._error(reason);

        return;
      }

      this._readableStream.destroy(reason);
    }
  }, {
    key: "_error",
    value: function _error(reason) {
      this._storedError = reason;

      this._readCapability.resolve();
    }
  }, {
    key: "_setReadableStream",
    value: function _setReadableStream(readableStream) {
      var _this2 = this;

      this._readableStream = readableStream;
      readableStream.on("readable", function () {
        _this2._readCapability.resolve();
      });
      readableStream.on("end", function () {
        readableStream.destroy();
        _this2._done = true;

        _this2._readCapability.resolve();
      });
      readableStream.on("error", function (reason) {
        _this2._error(reason);
      });

      if (this._storedError) {
        this._readableStream.destroy(this._storedError);
      }
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return BaseRangeReader;
}();

function createRequestOptions(parsedUrl, headers) {
  return {
    protocol: parsedUrl.protocol,
    auth: parsedUrl.auth,
    host: parsedUrl.hostname,
    port: parsedUrl.port,
    path: parsedUrl.path,
    method: "GET",
    headers: headers
  };
}

var PDFNodeStreamFullReader = /*#__PURE__*/function (_BaseFullReader) {
  _inherits(PDFNodeStreamFullReader, _BaseFullReader);

  var _super = _createSuper(PDFNodeStreamFullReader);

  function PDFNodeStreamFullReader(stream) {
    var _this3;

    _classCallCheck(this, PDFNodeStreamFullReader);

    _this3 = _super.call(this, stream);

    var handleResponse = function handleResponse(response) {
      if (response.statusCode === 404) {
        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this3._url, "\"."));
        _this3._storedError = error;

        _this3._headersCapability.reject(error);

        return;
      }

      _this3._headersCapability.resolve();

      _this3._setReadableStream(response);

      var getResponseHeader = function getResponseHeader(name) {
        return _this3._readableStream.headers[name.toLowerCase()];
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: stream.isHttp,
        rangeChunkSize: _this3._rangeChunkSize,
        disableRange: _this3._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      _this3._isRangeSupported = allowRangeRequests;
      _this3._contentLength = suggestedLength || _this3._contentLength;
      _this3._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);
    };

    _this3._request = null;

    if (_this3._url.protocol === "http:") {
      _this3._request = http.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
    } else {
      _this3._request = https.request(createRequestOptions(_this3._url, stream.httpHeaders), handleResponse);
    }

    _this3._request.on("error", function (reason) {
      _this3._storedError = reason;

      _this3._headersCapability.reject(reason);
    });

    _this3._request.end();

    return _this3;
  }

  return PDFNodeStreamFullReader;
}(BaseFullReader);

var PDFNodeStreamRangeReader = /*#__PURE__*/function (_BaseRangeReader) {
  _inherits(PDFNodeStreamRangeReader, _BaseRangeReader);

  var _super2 = _createSuper(PDFNodeStreamRangeReader);

  function PDFNodeStreamRangeReader(stream, start, end) {
    var _this4;

    _classCallCheck(this, PDFNodeStreamRangeReader);

    _this4 = _super2.call(this, stream);
    _this4._httpHeaders = {};

    for (var property in stream.httpHeaders) {
      var value = stream.httpHeaders[property];

      if (typeof value === "undefined") {
        continue;
      }

      _this4._httpHeaders[property] = value;
    }

    _this4._httpHeaders.Range = "bytes=".concat(start, "-").concat(end - 1);

    var handleResponse = function handleResponse(response) {
      if (response.statusCode === 404) {
        var error = new _util.MissingPDFException("Missing PDF \"".concat(_this4._url, "\"."));
        _this4._storedError = error;
        return;
      }

      _this4._setReadableStream(response);
    };

    _this4._request = null;

    if (_this4._url.protocol === "http:") {
      _this4._request = http.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
    } else {
      _this4._request = https.request(createRequestOptions(_this4._url, _this4._httpHeaders), handleResponse);
    }

    _this4._request.on("error", function (reason) {
      _this4._storedError = reason;
    });

    _this4._request.end();

    return _this4;
  }

  return PDFNodeStreamRangeReader;
}(BaseRangeReader);

var PDFNodeStreamFsFullReader = /*#__PURE__*/function (_BaseFullReader2) {
  _inherits(PDFNodeStreamFsFullReader, _BaseFullReader2);

  var _super3 = _createSuper(PDFNodeStreamFsFullReader);

  function PDFNodeStreamFsFullReader(stream) {
    var _this5;

    _classCallCheck(this, PDFNodeStreamFsFullReader);

    _this5 = _super3.call(this, stream);
    var path = decodeURIComponent(_this5._url.path);

    if (fileUriRegex.test(_this5._url.href)) {
      path = path.replace(/^\//, "");
    }

    fs.lstat(path, function (error, stat) {
      if (error) {
        if (error.code === "ENOENT") {
          error = new _util.MissingPDFException("Missing PDF \"".concat(path, "\"."));
        }

        _this5._storedError = error;

        _this5._headersCapability.reject(error);

        return;
      }

      _this5._contentLength = stat.size;

      _this5._setReadableStream(fs.createReadStream(path));

      _this5._headersCapability.resolve();
    });
    return _this5;
  }

  return PDFNodeStreamFsFullReader;
}(BaseFullReader);

var PDFNodeStreamFsRangeReader = /*#__PURE__*/function (_BaseRangeReader2) {
  _inherits(PDFNodeStreamFsRangeReader, _BaseRangeReader2);

  var _super4 = _createSuper(PDFNodeStreamFsRangeReader);

  function PDFNodeStreamFsRangeReader(stream, start, end) {
    var _this6;

    _classCallCheck(this, PDFNodeStreamFsRangeReader);

    _this6 = _super4.call(this, stream);
    var path = decodeURIComponent(_this6._url.path);

    if (fileUriRegex.test(_this6._url.href)) {
      path = path.replace(/^\//, "");
    }

    _this6._setReadableStream(fs.createReadStream(path, {
      start: start,
      end: end - 1
    }));

    return _this6;
  }

  return PDFNodeStreamFsRangeReader;
}(BaseRangeReader);

/***/ }),
/* 220 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.createResponseStatusError = createResponseStatusError;
exports.extractFilenameFromHeader = extractFilenameFromHeader;
exports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;
exports.validateResponseStatus = validateResponseStatus;

var _util = __w_pdfjs_require__(5);

var _content_disposition = __w_pdfjs_require__(221);

function validateRangeRequestCapabilities(_ref) {
  var getResponseHeader = _ref.getResponseHeader,
      isHttp = _ref.isHttp,
      rangeChunkSize = _ref.rangeChunkSize,
      disableRange = _ref.disableRange;
  (0, _util.assert)(rangeChunkSize > 0, "Range chunk size must be larger than zero");
  var returnValues = {
    allowRangeRequests: false,
    suggestedLength: undefined
  };
  var length = parseInt(getResponseHeader("Content-Length"), 10);

  if (!Number.isInteger(length)) {
    return returnValues;
  }

  returnValues.suggestedLength = length;

  if (length <= 2 * rangeChunkSize) {
    return returnValues;
  }

  if (disableRange || !isHttp) {
    return returnValues;
  }

  if (getResponseHeader("Accept-Ranges") !== "bytes") {
    return returnValues;
  }

  var contentEncoding = getResponseHeader("Content-Encoding") || "identity";

  if (contentEncoding !== "identity") {
    return returnValues;
  }

  returnValues.allowRangeRequests = true;
  return returnValues;
}

function extractFilenameFromHeader(getResponseHeader) {
  var contentDisposition = getResponseHeader("Content-Disposition");

  if (contentDisposition) {
    var filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);

    if (filename.includes("%")) {
      try {
        filename = decodeURIComponent(filename);
      } catch (ex) {}
    }

    if (/\.pdf$/i.test(filename)) {
      return filename;
    }
  }

  return null;
}

function createResponseStatusError(status, url) {
  if (status === 404 || status === 0 && url.startsWith("file:")) {
    return new _util.MissingPDFException('Missing PDF "' + url + '".');
  }

  return new _util.UnexpectedResponseException("Unexpected server response (" + status + ') while retrieving PDF "' + url + '".', status);
}

function validateResponseStatus(status) {
  return status === 200 || status === 206;
}

/***/ }),
/* 221 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function getFilenameFromContentDispositionHeader(contentDisposition) {
  var needsEncodingFixup = true;
  var tmp = toParamRegExp("filename\\*", "i").exec(contentDisposition);

  if (tmp) {
    tmp = tmp[1];
    var filename = rfc2616unquote(tmp);
    filename = unescape(filename);
    filename = rfc5987decode(filename);
    filename = rfc2047decode(filename);
    return fixupEncoding(filename);
  }

  tmp = rfc2231getparam(contentDisposition);

  if (tmp) {
    var _filename = rfc2047decode(tmp);

    return fixupEncoding(_filename);
  }

  tmp = toParamRegExp("filename", "i").exec(contentDisposition);

  if (tmp) {
    tmp = tmp[1];

    var _filename2 = rfc2616unquote(tmp);

    _filename2 = rfc2047decode(_filename2);
    return fixupEncoding(_filename2);
  }

  function toParamRegExp(attributePattern, flags) {
    return new RegExp("(?:^|;)\\s*" + attributePattern + "\\s*=\\s*" + "(" + '[^";\\s][^;\\s]*' + "|" + '"(?:[^"\\\\]|\\\\"?)+"?' + ")", flags);
  }

  function textdecode(encoding, value) {
    if (encoding) {
      if (!/^[\x00-\xFF]+$/.test(value)) {
        return value;
      }

      try {
        var decoder = new TextDecoder(encoding, {
          fatal: true
        });
        var bytes = Array.from(value, function (ch) {
          return ch.charCodeAt(0) & 0xff;
        });
        value = decoder.decode(new Uint8Array(bytes));
        needsEncodingFixup = false;
      } catch (e) {
        if (/^utf-?8$/i.test(encoding)) {
          try {
            value = decodeURIComponent(escape(value));
            needsEncodingFixup = false;
          } catch (err) {}
        }
      }
    }

    return value;
  }

  function fixupEncoding(value) {
    if (needsEncodingFixup && /[\x80-\xff]/.test(value)) {
      value = textdecode("utf-8", value);

      if (needsEncodingFixup) {
        value = textdecode("iso-8859-1", value);
      }
    }

    return value;
  }

  function rfc2231getparam(contentDispositionStr) {
    var matches = [];
    var match;
    var iter = toParamRegExp("filename\\*((?!0\\d)\\d+)(\\*?)", "ig");

    while ((match = iter.exec(contentDispositionStr)) !== null) {
      var _match = match,
          _match2 = _slicedToArray(_match, 4),
          n = _match2[1],
          quot = _match2[2],
          part = _match2[3];

      n = parseInt(n, 10);

      if (n in matches) {
        if (n === 0) {
          break;
        }

        continue;
      }

      matches[n] = [quot, part];
    }

    var parts = [];

    for (var _n2 = 0; _n2 < matches.length; ++_n2) {
      if (!(_n2 in matches)) {
        break;
      }

      var _matches$_n = _slicedToArray(matches[_n2], 2),
          _quot = _matches$_n[0],
          _part = _matches$_n[1];

      _part = rfc2616unquote(_part);

      if (_quot) {
        _part = unescape(_part);

        if (_n2 === 0) {
          _part = rfc5987decode(_part);
        }
      }

      parts.push(_part);
    }

    return parts.join("");
  }

  function rfc2616unquote(value) {
    if (value.startsWith('"')) {
      var parts = value.slice(1).split('\\"');

      for (var i = 0; i < parts.length; ++i) {
        var quotindex = parts[i].indexOf('"');

        if (quotindex !== -1) {
          parts[i] = parts[i].slice(0, quotindex);
          parts.length = i + 1;
        }

        parts[i] = parts[i].replace(/\\(.)/g, "$1");
      }

      value = parts.join('"');
    }

    return value;
  }

  function rfc5987decode(extvalue) {
    var encodingend = extvalue.indexOf("'");

    if (encodingend === -1) {
      return extvalue;
    }

    var encoding = extvalue.slice(0, encodingend);
    var langvalue = extvalue.slice(encodingend + 1);
    var value = langvalue.replace(/^[^']*'/, "");
    return textdecode(encoding, value);
  }

  function rfc2047decode(value) {
    if (!value.startsWith("=?") || /[\x00-\x19\x80-\xff]/.test(value)) {
      return value;
    }

    return value.replace(/=\?([\w-]*)\?([QqBb])\?((?:[^?]|\?(?!=))*)\?=/g, function (matches, charset, encoding, text) {
      if (encoding === "q" || encoding === "Q") {
        text = text.replace(/_/g, " ");
        text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {
          return String.fromCharCode(parseInt(hex, 16));
        });
        return textdecode(charset, text);
      }

      try {
        text = atob(text);
      } catch (e) {}

      return textdecode(charset, text);
    });
  }

  return "";
}

/***/ }),
/* 222 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFNetworkStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

var _network_utils = __w_pdfjs_require__(220);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;
var OK_RESPONSE = 200;
var PARTIAL_CONTENT_RESPONSE = 206;

function getArrayBuffer(xhr) {
  var data = xhr.response;

  if (typeof data !== "string") {
    return data;
  }

  var array = (0, _util.stringToBytes)(data);
  return array.buffer;
}

var NetworkManager = /*#__PURE__*/function () {
  function NetworkManager(url, args) {
    _classCallCheck(this, NetworkManager);

    this.url = url;
    args = args || {};
    this.isHttp = /^https?:/i.test(url);
    this.httpHeaders = this.isHttp && args.httpHeaders || {};
    this.withCredentials = args.withCredentials || false;

    this.getXhr = args.getXhr || function NetworkManager_getXhr() {
      return new XMLHttpRequest();
    };

    this.currXhrId = 0;
    this.pendingRequests = Object.create(null);
  }

  _createClass(NetworkManager, [{
    key: "requestRange",
    value: function requestRange(begin, end, listeners) {
      var args = {
        begin: begin,
        end: end
      };

      for (var prop in listeners) {
        args[prop] = listeners[prop];
      }

      return this.request(args);
    }
  }, {
    key: "requestFull",
    value: function requestFull(listeners) {
      return this.request(listeners);
    }
  }, {
    key: "request",
    value: function request(args) {
      var xhr = this.getXhr();
      var xhrId = this.currXhrId++;
      var pendingRequest = this.pendingRequests[xhrId] = {
        xhr: xhr
      };
      xhr.open("GET", this.url);
      xhr.withCredentials = this.withCredentials;

      for (var property in this.httpHeaders) {
        var value = this.httpHeaders[property];

        if (typeof value === "undefined") {
          continue;
        }

        xhr.setRequestHeader(property, value);
      }

      if (this.isHttp && "begin" in args && "end" in args) {
        xhr.setRequestHeader("Range", "bytes=".concat(args.begin, "-").concat(args.end - 1));
        pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;
      } else {
        pendingRequest.expectedStatus = OK_RESPONSE;
      }

      xhr.responseType = "arraybuffer";

      if (args.onError) {
        xhr.onerror = function (evt) {
          args.onError(xhr.status);
        };
      }

      xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);
      xhr.onprogress = this.onProgress.bind(this, xhrId);
      pendingRequest.onHeadersReceived = args.onHeadersReceived;
      pendingRequest.onDone = args.onDone;
      pendingRequest.onError = args.onError;
      pendingRequest.onProgress = args.onProgress;
      xhr.send(null);
      return xhrId;
    }
  }, {
    key: "onProgress",
    value: function onProgress(xhrId, evt) {
      var pendingRequest = this.pendingRequests[xhrId];

      if (!pendingRequest) {
        return;
      }

      if (pendingRequest.onProgress) {
        pendingRequest.onProgress(evt);
      }
    }
  }, {
    key: "onStateChange",
    value: function onStateChange(xhrId, evt) {
      var pendingRequest = this.pendingRequests[xhrId];

      if (!pendingRequest) {
        return;
      }

      var xhr = pendingRequest.xhr;

      if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {
        pendingRequest.onHeadersReceived();
        delete pendingRequest.onHeadersReceived;
      }

      if (xhr.readyState !== 4) {
        return;
      }

      if (!(xhrId in this.pendingRequests)) {
        return;
      }

      delete this.pendingRequests[xhrId];

      if (xhr.status === 0 && this.isHttp) {
        if (pendingRequest.onError) {
          pendingRequest.onError(xhr.status);
        }

        return;
      }

      var xhrStatus = xhr.status || OK_RESPONSE;
      var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;

      if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {
        if (pendingRequest.onError) {
          pendingRequest.onError(xhr.status);
        }

        return;
      }

      var chunk = getArrayBuffer(xhr);

      if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {
        var rangeHeader = xhr.getResponseHeader("Content-Range");
        var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader);
        pendingRequest.onDone({
          begin: parseInt(matches[1], 10),
          chunk: chunk
        });
      } else if (chunk) {
        pendingRequest.onDone({
          begin: 0,
          chunk: chunk
        });
      } else if (pendingRequest.onError) {
        pendingRequest.onError(xhr.status);
      }
    }
  }, {
    key: "getRequestXhr",
    value: function getRequestXhr(xhrId) {
      return this.pendingRequests[xhrId].xhr;
    }
  }, {
    key: "isPendingRequest",
    value: function isPendingRequest(xhrId) {
      return xhrId in this.pendingRequests;
    }
  }, {
    key: "abortRequest",
    value: function abortRequest(xhrId) {
      var xhr = this.pendingRequests[xhrId].xhr;
      delete this.pendingRequests[xhrId];
      xhr.abort();
    }
  }]);

  return NetworkManager;
}();

var PDFNetworkStream = /*#__PURE__*/function () {
  function PDFNetworkStream(source) {
    _classCallCheck(this, PDFNetworkStream);

    this._source = source;
    this._manager = new NetworkManager(source.url, {
      httpHeaders: source.httpHeaders,
      withCredentials: source.withCredentials
    });
    this._rangeChunkSize = source.rangeChunkSize;
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFNetworkStream, [{
    key: "_onRangeRequestReaderClosed",
    value: function _onRangeRequestReaderClosed(reader) {
      var i = this._rangeRequestReaders.indexOf(reader);

      if (i >= 0) {
        this._rangeRequestReaders.splice(i, 1);
      }
    }
  }, {
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFNetworkStream.getFullReader can only be called once.");
      this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);
      reader.onClosed = this._onRangeRequestReaderClosed.bind(this);

      this._rangeRequestReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }]);

  return PDFNetworkStream;
}();

exports.PDFNetworkStream = PDFNetworkStream;

var PDFNetworkStreamFullRequestReader = /*#__PURE__*/function () {
  function PDFNetworkStreamFullRequestReader(manager, source) {
    _classCallCheck(this, PDFNetworkStreamFullRequestReader);

    this._manager = manager;
    var args = {
      onHeadersReceived: this._onHeadersReceived.bind(this),
      onDone: this._onDone.bind(this),
      onError: this._onError.bind(this),
      onProgress: this._onProgress.bind(this)
    };
    this._url = source.url;
    this._fullRequestId = manager.requestFull(args);
    this._headersReceivedCapability = (0, _util.createPromiseCapability)();
    this._disableRange = source.disableRange || false;
    this._contentLength = source.length;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    this._isStreamingSupported = false;
    this._isRangeSupported = false;
    this._cachedChunks = [];
    this._requests = [];
    this._done = false;
    this._storedError = undefined;
    this._filename = null;
    this.onProgress = null;
  }

  _createClass(PDFNetworkStreamFullRequestReader, [{
    key: "_onHeadersReceived",
    value: function _onHeadersReceived() {
      var fullRequestXhrId = this._fullRequestId;

      var fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);

      var getResponseHeader = function getResponseHeader(name) {
        return fullRequestXhr.getResponseHeader(name);
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: this._manager.isHttp,
        rangeChunkSize: this._rangeChunkSize,
        disableRange: this._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      if (allowRangeRequests) {
        this._isRangeSupported = true;
      }

      this._contentLength = suggestedLength || this._contentLength;
      this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);

      if (this._isRangeSupported) {
        this._manager.abortRequest(fullRequestXhrId);
      }

      this._headersReceivedCapability.resolve();
    }
  }, {
    key: "_onDone",
    value: function _onDone(args) {
      if (args) {
        if (this._requests.length > 0) {
          var requestCapability = this._requests.shift();

          requestCapability.resolve({
            value: args.chunk,
            done: false
          });
        } else {
          this._cachedChunks.push(args.chunk);
        }
      }

      this._done = true;

      if (this._cachedChunks.length > 0) {
        return;
      }

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];
    }
  }, {
    key: "_onError",
    value: function _onError(status) {
      var url = this._url;
      var exception = (0, _network_utils.createResponseStatusError)(status, url);
      this._storedError = exception;

      this._headersReceivedCapability.reject(exception);

      this._requests.forEach(function (requestCapability) {
        requestCapability.reject(exception);
      });

      this._requests = [];
      this._cachedChunks = [];
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(data) {
      if (this.onProgress) {
        this.onProgress({
          loaded: data.loaded,
          total: data.lengthComputable ? data.total : this._contentLength
        });
      }
    }
  }, {
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (!this._storedError) {
                  _context.next = 2;
                  break;
                }

                throw this._storedError;

              case 2:
                if (!(this._cachedChunks.length > 0)) {
                  _context.next = 5;
                  break;
                }

                chunk = this._cachedChunks.shift();
                return _context.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 5:
                if (!this._done) {
                  _context.next = 7;
                  break;
                }

                return _context.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 7:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context.abrupt("return", requestCapability.promise);

              case 10:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._headersReceivedCapability.reject(reason);

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      if (this._manager.isPendingRequest(this._fullRequestId)) {
        this._manager.abortRequest(this._fullRequestId);
      }

      this._fullRequestReader = null;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersReceivedCapability.promise;
    }
  }]);

  return PDFNetworkStreamFullRequestReader;
}();

var PDFNetworkStreamRangeRequestReader = /*#__PURE__*/function () {
  function PDFNetworkStreamRangeRequestReader(manager, begin, end) {
    _classCallCheck(this, PDFNetworkStreamRangeRequestReader);

    this._manager = manager;
    var args = {
      onDone: this._onDone.bind(this),
      onProgress: this._onProgress.bind(this)
    };
    this._requestId = manager.requestRange(begin, end, args);
    this._requests = [];
    this._queuedChunk = null;
    this._done = false;
    this.onProgress = null;
    this.onClosed = null;
  }

  _createClass(PDFNetworkStreamRangeRequestReader, [{
    key: "_close",
    value: function _close() {
      if (this.onClosed) {
        this.onClosed(this);
      }
    }
  }, {
    key: "_onDone",
    value: function _onDone(data) {
      var chunk = data.chunk;

      if (this._requests.length > 0) {
        var requestCapability = this._requests.shift();

        requestCapability.resolve({
          value: chunk,
          done: false
        });
      } else {
        this._queuedChunk = chunk;
      }

      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      this._close();
    }
  }, {
    key: "_onProgress",
    value: function _onProgress(evt) {
      if (!this.isStreamingSupported && this.onProgress) {
        this.onProgress({
          loaded: evt.loaded
        });
      }
    }
  }, {
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var chunk, requestCapability;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                if (!(this._queuedChunk !== null)) {
                  _context2.next = 4;
                  break;
                }

                chunk = this._queuedChunk;
                this._queuedChunk = null;
                return _context2.abrupt("return", {
                  value: chunk,
                  done: false
                });

              case 4:
                if (!this._done) {
                  _context2.next = 6;
                  break;
                }

                return _context2.abrupt("return", {
                  value: undefined,
                  done: true
                });

              case 6:
                requestCapability = (0, _util.createPromiseCapability)();

                this._requests.push(requestCapability);

                return _context2.abrupt("return", requestCapability.promise);

              case 9:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      this._done = true;

      this._requests.forEach(function (requestCapability) {
        requestCapability.resolve({
          value: undefined,
          done: true
        });
      });

      this._requests = [];

      if (this._manager.isPendingRequest(this._requestId)) {
        this._manager.abortRequest(this._requestId);
      }

      this._close();
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return false;
    }
  }]);

  return PDFNetworkStreamRangeRequestReader;
}();

/***/ }),
/* 223 */
/***/ (function(module, exports, __w_pdfjs_require__) {

"use strict";


Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.PDFFetchStream = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2));

var _util = __w_pdfjs_require__(5);

var _network_utils = __w_pdfjs_require__(220);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

function createFetchOptions(headers, withCredentials, abortController) {
  return {
    method: "GET",
    headers: headers,
    signal: abortController && abortController.signal,
    mode: "cors",
    credentials: withCredentials ? "include" : "same-origin",
    redirect: "follow"
  };
}

function createHeaders(httpHeaders) {
  var headers = new Headers();

  for (var property in httpHeaders) {
    var value = httpHeaders[property];

    if (typeof value === "undefined") {
      continue;
    }

    headers.append(property, value);
  }

  return headers;
}

var PDFFetchStream = /*#__PURE__*/function () {
  function PDFFetchStream(source) {
    _classCallCheck(this, PDFFetchStream);

    this.source = source;
    this.isHttp = /^https?:/i.test(source.url);
    this.httpHeaders = this.isHttp && source.httpHeaders || {};
    this._fullRequestReader = null;
    this._rangeRequestReaders = [];
  }

  _createClass(PDFFetchStream, [{
    key: "getFullReader",
    value: function getFullReader() {
      (0, _util.assert)(!this._fullRequestReader, "PDFFetchStream.getFullReader can only be called once.");
      this._fullRequestReader = new PDFFetchStreamReader(this);
      return this._fullRequestReader;
    }
  }, {
    key: "getRangeReader",
    value: function getRangeReader(begin, end) {
      if (end <= this._progressiveDataLength) {
        return null;
      }

      var reader = new PDFFetchStreamRangeReader(this, begin, end);

      this._rangeRequestReaders.push(reader);

      return reader;
    }
  }, {
    key: "cancelAllRequests",
    value: function cancelAllRequests(reason) {
      if (this._fullRequestReader) {
        this._fullRequestReader.cancel(reason);
      }

      var readers = this._rangeRequestReaders.slice(0);

      readers.forEach(function (reader) {
        reader.cancel(reason);
      });
    }
  }, {
    key: "_progressiveDataLength",
    get: function get() {
      return this._fullRequestReader ? this._fullRequestReader._loaded : 0;
    }
  }]);

  return PDFFetchStream;
}();

exports.PDFFetchStream = PDFFetchStream;

var PDFFetchStreamReader = /*#__PURE__*/function () {
  function PDFFetchStreamReader(stream) {
    var _this = this;

    _classCallCheck(this, PDFFetchStreamReader);

    this._stream = stream;
    this._reader = null;
    this._loaded = 0;
    this._filename = null;
    var source = stream.source;
    this._withCredentials = source.withCredentials || false;
    this._contentLength = source.length;
    this._headersCapability = (0, _util.createPromiseCapability)();
    this._disableRange = source.disableRange || false;
    this._rangeChunkSize = source.rangeChunkSize;

    if (!this._rangeChunkSize && !this._disableRange) {
      this._disableRange = true;
    }

    if (typeof AbortController !== "undefined") {
      this._abortController = new AbortController();
    }

    this._isStreamingSupported = !source.disableStream;
    this._isRangeSupported = !source.disableRange;
    this._headers = createHeaders(this._stream.httpHeaders);
    var url = source.url;
    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
        throw (0, _network_utils.createResponseStatusError)(response.status, url);
      }

      _this._reader = response.body.getReader();

      _this._headersCapability.resolve();

      var getResponseHeader = function getResponseHeader(name) {
        return response.headers.get(name);
      };

      var _validateRangeRequest = (0, _network_utils.validateRangeRequestCapabilities)({
        getResponseHeader: getResponseHeader,
        isHttp: _this._stream.isHttp,
        rangeChunkSize: _this._rangeChunkSize,
        disableRange: _this._disableRange
      }),
          allowRangeRequests = _validateRangeRequest.allowRangeRequests,
          suggestedLength = _validateRangeRequest.suggestedLength;

      _this._isRangeSupported = allowRangeRequests;
      _this._contentLength = suggestedLength || _this._contentLength;
      _this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);

      if (!_this._isStreamingSupported && _this._isRangeSupported) {
        _this.cancel(new _util.AbortException("Streaming is disabled."));
      }
    })["catch"](this._headersCapability.reject);
    this.onProgress = null;
  }

  _createClass(PDFFetchStreamReader, [{
    key: "read",
    value: function () {
      var _read = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var _yield$this$_reader$r, value, done, buffer;

        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._headersCapability.promise;

              case 2:
                _context.next = 4;
                return this._reader.read();

              case 4:
                _yield$this$_reader$r = _context.sent;
                value = _yield$this$_reader$r.value;
                done = _yield$this$_reader$r.done;

                if (!done) {
                  _context.next = 9;
                  break;
                }

                return _context.abrupt("return", {
                  value: value,
                  done: done
                });

              case 9:
                this._loaded += value.byteLength;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded,
                    total: this._contentLength
                  });
                }

                buffer = new Uint8Array(value).buffer;
                return _context.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 13:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function read() {
        return _read.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (this._reader) {
        this._reader.cancel(reason);
      }

      if (this._abortController) {
        this._abortController.abort();
      }
    }
  }, {
    key: "headersReady",
    get: function get() {
      return this._headersCapability.promise;
    }
  }, {
    key: "filename",
    get: function get() {
      return this._filename;
    }
  }, {
    key: "contentLength",
    get: function get() {
      return this._contentLength;
    }
  }, {
    key: "isRangeSupported",
    get: function get() {
      return this._isRangeSupported;
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return PDFFetchStreamReader;
}();

var PDFFetchStreamRangeReader = /*#__PURE__*/function () {
  function PDFFetchStreamRangeReader(stream, begin, end) {
    var _this2 = this;

    _classCallCheck(this, PDFFetchStreamRangeReader);

    this._stream = stream;
    this._reader = null;
    this._loaded = 0;
    var source = stream.source;
    this._withCredentials = source.withCredentials || false;
    this._readCapability = (0, _util.createPromiseCapability)();
    this._isStreamingSupported = !source.disableStream;

    if (typeof AbortController !== "undefined") {
      this._abortController = new AbortController();
    }

    this._headers = createHeaders(this._stream.httpHeaders);

    this._headers.append("Range", "bytes=".concat(begin, "-").concat(end - 1));

    var url = source.url;
    fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(function (response) {
      if (!(0, _network_utils.validateResponseStatus)(response.status)) {
        throw (0, _network_utils.createResponseStatusError)(response.status, url);
      }

      _this2._readCapability.resolve();

      _this2._reader = response.body.getReader();
    })["catch"](function (reason) {
      if (reason && reason.name === "AbortError") {
        return;
      }

      throw reason;
    });
    this.onProgress = null;
  }

  _createClass(PDFFetchStreamRangeReader, [{
    key: "read",
    value: function () {
      var _read2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var _yield$this$_reader$r2, value, done, buffer;

        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._readCapability.promise;

              case 2:
                _context2.next = 4;
                return this._reader.read();

              case 4:
                _yield$this$_reader$r2 = _context2.sent;
                value = _yield$this$_reader$r2.value;
                done = _yield$this$_reader$r2.done;

                if (!done) {
                  _context2.next = 9;
                  break;
                }

                return _context2.abrupt("return", {
                  value: value,
                  done: done
                });

              case 9:
                this._loaded += value.byteLength;

                if (this.onProgress) {
                  this.onProgress({
                    loaded: this._loaded
                  });
                }

                buffer = new Uint8Array(value).buffer;
                return _context2.abrupt("return", {
                  value: buffer,
                  done: false
                });

              case 13:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function read() {
        return _read2.apply(this, arguments);
      }

      return read;
    }()
  }, {
    key: "cancel",
    value: function cancel(reason) {
      if (this._reader) {
        this._reader.cancel(reason);
      }

      if (this._abortController) {
        this._abortController.abort();
      }
    }
  }, {
    key: "isStreamingSupported",
    get: function get() {
      return this._isStreamingSupported;
    }
  }]);

  return PDFFetchStreamRangeReader;
}();

/***/ })
/******/ ]);
});
//# sourceMappingURL=pdf.js.map
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__("b639").Buffer, __webpack_require__("4362"), __webpack_require__("c8ba")))

/***/ }),

/***/ "ee8e":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "ee9b":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "f069":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var aCallable = __webpack_require__("59ed");

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

// `NewPromiseCapability` abstract operation
// https://tc39.es/ecma262/#sec-newpromisecapability
module.exports.f = function (C) {
  return new PromiseCapability(C);
};


/***/ }),

/***/ "f1f9":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "f36a":
/***/ (function(module, exports, __webpack_require__) {

var uncurryThis = __webpack_require__("e330");

module.exports = uncurryThis([].slice);


/***/ }),

/***/ "f5df":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var TO_STRING_TAG_SUPPORT = __webpack_require__("00ee");
var isCallable = __webpack_require__("1626");
var classofRaw = __webpack_require__("c6b6");
var wellKnownSymbol = __webpack_require__("b622");

var TO_STRING_TAG = wellKnownSymbol('toStringTag');
var Object = global.Object;

// ES3 wrong here
var CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';

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

// getting tag from ES6+ `Object.prototype.toString`
module.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
  var O, tag, result;
  return it === undefined ? 'Undefined' : it === null ? 'Null'
    // @@toStringTag case
    : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag
    // builtinTag case
    : CORRECT_ARGUMENTS ? classofRaw(O)
    // ES3 arguments fallback
    : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;
};


/***/ }),

/***/ "f622":
/***/ (function(module, exports) {

module.exports = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAACFUlEQVRIS+WWP2gTYRTAf5d4bWpyaTqkYBSrOEhxKKI4FMEObkJddBHEpairaNaarqbSrSgEVMSCOCl0EwwoLlWHCjV1sVqsYBHz586TXK4n351nU2wun/Yy9S338b7vvd97j/e+7xTHcRyapN5wqDeaNcFr0zRI9yWkDZRmYMOGbzWbSETanoWFEvsHMuzd1SdltAEosqsYa0RVKVv30Nv5kvuVhYYGlIWGCpSBhg5sB+0IMAjaMWAr6JaBy8tfKH+vtGzroUMHSGmxP/tbBgYNkG1BbzxC1w5luwLLj+9jjZz7p5umXUnV4gyp0+f/LunqxEWsz59Q87OhAq3sKdQ9A6THb7tQt2n0yavUXj5F7c/Qc3yUSFT+Lg06uWaD+eIJ1tcVtOGTJK7d9IDkxuDd63AorbwMHoFcoQ3w7GU4MQqrK5DOwMQY3HgIS4sQ12D2gbeXnfJ0Qu7m4ePvdTNcGiiMHt2CC1mYewYiCAHeqXnw6fF1XVCNpIFnLnlu5oqec5GNAAq5XvCC6UiGfvQC4meYK3gl9LMOJUO/pL6zO8/hQwn6d8O9PBi1/wDmr8CrYme79OiIW3pvLESUS4tYtoPx0wl1DuMxBTWqwL6Dbmdvs9fCMOtUTFCj4dxtlm2jddto8Z7N30P9h8mb+fckNfk/6aBOq9Z0jh0eJNbdtTlQaCtVnXJVD6VjU8kEvcmNwf8CIhaEvGxOeVkAAAAASUVORK5CYII="

/***/ }),

/***/ "f772":
/***/ (function(module, exports, __webpack_require__) {

var shared = __webpack_require__("5692");
var uid = __webpack_require__("90e3");

var keys = shared('keys');

module.exports = function (key) {
  return keys[key] || (keys[key] = uid(key));
};


/***/ }),

/***/ "f799":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "f8a1":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Empty_vue_vue_type_style_index_0_id_447d0ae9_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("3770");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Empty_vue_vue_type_style_index_0_id_447d0ae9_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_Empty_vue_vue_type_style_index_0_id_447d0ae9_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "f8cd":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");
var toIntegerOrInfinity = __webpack_require__("5926");

var RangeError = global.RangeError;

module.exports = function (it) {
  var result = toIntegerOrInfinity(it);
  if (result < 0) throw RangeError("The argument can't be less than 0");
  return result;
};


/***/ }),

/***/ "f8db":
/***/ (function(module, exports, __webpack_require__) {

/**
 * @licstart The following is the entire license notice for the
 * Javascript code in this page
 *
 * Copyright 2020 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @licend The above is the entire license notice for the
 * Javascript code in this page
 */

(function webpackUniversalModuleDefinition(root, factory) {
	if(true)
		module.exports = factory();
	else {}
})(this, function() {
return /******/ (() => { // webpackBootstrap
/******/ 	"use strict";
/******/ 	var __webpack_modules__ = ([
/* 0 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
Object.defineProperty(exports, "AnnotationLayerBuilder", ({
  enumerable: true,
  get: function get() {
    return _annotation_layer_builder.AnnotationLayerBuilder;
  }
}));
Object.defineProperty(exports, "DefaultAnnotationLayerFactory", ({
  enumerable: true,
  get: function get() {
    return _annotation_layer_builder.DefaultAnnotationLayerFactory;
  }
}));
Object.defineProperty(exports, "DefaultTextLayerFactory", ({
  enumerable: true,
  get: function get() {
    return _text_layer_builder.DefaultTextLayerFactory;
  }
}));
Object.defineProperty(exports, "TextLayerBuilder", ({
  enumerable: true,
  get: function get() {
    return _text_layer_builder.TextLayerBuilder;
  }
}));
Object.defineProperty(exports, "EventBus", ({
  enumerable: true,
  get: function get() {
    return _ui_utils.EventBus;
  }
}));
Object.defineProperty(exports, "NullL10n", ({
  enumerable: true,
  get: function get() {
    return _ui_utils.NullL10n;
  }
}));
Object.defineProperty(exports, "ProgressBar", ({
  enumerable: true,
  get: function get() {
    return _ui_utils.ProgressBar;
  }
}));
Object.defineProperty(exports, "PDFLinkService", ({
  enumerable: true,
  get: function get() {
    return _pdf_link_service.PDFLinkService;
  }
}));
Object.defineProperty(exports, "SimpleLinkService", ({
  enumerable: true,
  get: function get() {
    return _pdf_link_service.SimpleLinkService;
  }
}));
Object.defineProperty(exports, "DownloadManager", ({
  enumerable: true,
  get: function get() {
    return _download_manager.DownloadManager;
  }
}));
Object.defineProperty(exports, "GenericL10n", ({
  enumerable: true,
  get: function get() {
    return _genericl10n.GenericL10n;
  }
}));
Object.defineProperty(exports, "PDFFindController", ({
  enumerable: true,
  get: function get() {
    return _pdf_find_controller.PDFFindController;
  }
}));
Object.defineProperty(exports, "PDFHistory", ({
  enumerable: true,
  get: function get() {
    return _pdf_history.PDFHistory;
  }
}));
Object.defineProperty(exports, "PDFPageView", ({
  enumerable: true,
  get: function get() {
    return _pdf_page_view.PDFPageView;
  }
}));
Object.defineProperty(exports, "PDFSinglePageViewer", ({
  enumerable: true,
  get: function get() {
    return _pdf_single_page_viewer.PDFSinglePageViewer;
  }
}));
Object.defineProperty(exports, "PDFViewer", ({
  enumerable: true,
  get: function get() {
    return _pdf_viewer.PDFViewer;
  }
}));

var _annotation_layer_builder = __w_pdfjs_require__(1);

var _text_layer_builder = __w_pdfjs_require__(7);

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_link_service = __w_pdfjs_require__(6);

var _download_manager = __w_pdfjs_require__(8);

var _genericl10n = __w_pdfjs_require__(10);

var _pdf_find_controller = __w_pdfjs_require__(12);

var _pdf_history = __w_pdfjs_require__(14);

var _pdf_page_view = __w_pdfjs_require__(15);

var _pdf_single_page_viewer = __w_pdfjs_require__(17);

var _pdf_viewer = __w_pdfjs_require__(19);

var pdfjsVersion = '2.7.570';
var pdfjsBuild = 'f2c7338b0';

/***/ }),
/* 1 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_link_service = __w_pdfjs_require__(6);

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var AnnotationLayerBuilder = /*#__PURE__*/function () {
  function AnnotationLayerBuilder(_ref) {
    var pageDiv = _ref.pageDiv,
        pdfPage = _ref.pdfPage,
        linkService = _ref.linkService,
        downloadManager = _ref.downloadManager,
        _ref$annotationStorag = _ref.annotationStorage,
        annotationStorage = _ref$annotationStorag === void 0 ? null : _ref$annotationStorag,
        _ref$imageResourcesPa = _ref.imageResourcesPath,
        imageResourcesPath = _ref$imageResourcesPa === void 0 ? "" : _ref$imageResourcesPa,
        _ref$renderInteractiv = _ref.renderInteractiveForms,
        renderInteractiveForms = _ref$renderInteractiv === void 0 ? true : _ref$renderInteractiv,
        _ref$l10n = _ref.l10n,
        l10n = _ref$l10n === void 0 ? _ui_utils.NullL10n : _ref$l10n,
        _ref$enableScripting = _ref.enableScripting,
        enableScripting = _ref$enableScripting === void 0 ? false : _ref$enableScripting,
        _ref$hasJSActionsProm = _ref.hasJSActionsPromise,
        hasJSActionsPromise = _ref$hasJSActionsProm === void 0 ? null : _ref$hasJSActionsProm,
        _ref$mouseState = _ref.mouseState,
        mouseState = _ref$mouseState === void 0 ? null : _ref$mouseState;

    _classCallCheck(this, AnnotationLayerBuilder);

    this.pageDiv = pageDiv;
    this.pdfPage = pdfPage;
    this.linkService = linkService;
    this.downloadManager = downloadManager;
    this.imageResourcesPath = imageResourcesPath;
    this.renderInteractiveForms = renderInteractiveForms;
    this.l10n = l10n;
    this.annotationStorage = annotationStorage;
    this.enableScripting = enableScripting;
    this._hasJSActionsPromise = hasJSActionsPromise;
    this._mouseState = mouseState;
    this.div = null;
    this._cancelled = false;
  }

  _createClass(AnnotationLayerBuilder, [{
    key: "render",
    value: function render(viewport) {
      var _this = this;

      var intent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "display";
      return Promise.all([this.pdfPage.getAnnotations({
        intent: intent
      }), this._hasJSActionsPromise]).then(function (_ref2) {
        var _ref3 = _slicedToArray(_ref2, 2),
            annotations = _ref3[0],
            _ref3$ = _ref3[1],
            hasJSActions = _ref3$ === void 0 ? false : _ref3$;

        if (_this._cancelled) {
          return;
        }

        if (annotations.length === 0) {
          return;
        }

        var parameters = {
          viewport: viewport.clone({
            dontFlip: true
          }),
          div: _this.div,
          annotations: annotations,
          page: _this.pdfPage,
          imageResourcesPath: _this.imageResourcesPath,
          renderInteractiveForms: _this.renderInteractiveForms,
          linkService: _this.linkService,
          downloadManager: _this.downloadManager,
          annotationStorage: _this.annotationStorage,
          enableScripting: _this.enableScripting,
          hasJSActions: hasJSActions,
          mouseState: _this._mouseState
        };

        if (_this.div) {
          _pdfjsLib.AnnotationLayer.update(parameters);
        } else {
          _this.div = document.createElement("div");
          _this.div.className = "annotationLayer";

          _this.pageDiv.appendChild(_this.div);

          parameters.div = _this.div;

          _pdfjsLib.AnnotationLayer.render(parameters);

          _this.l10n.translate(_this.div);
        }
      });
    }
  }, {
    key: "cancel",
    value: function cancel() {
      this._cancelled = true;
    }
  }, {
    key: "hide",
    value: function hide() {
      if (!this.div) {
        return;
      }

      this.div.setAttribute("hidden", "true");
    }
  }]);

  return AnnotationLayerBuilder;
}();

exports.AnnotationLayerBuilder = AnnotationLayerBuilder;

var DefaultAnnotationLayerFactory = /*#__PURE__*/function () {
  function DefaultAnnotationLayerFactory() {
    _classCallCheck(this, DefaultAnnotationLayerFactory);
  }

  _createClass(DefaultAnnotationLayerFactory, [{
    key: "createAnnotationLayerBuilder",
    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;
      var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
      var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
      var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;
      return new AnnotationLayerBuilder({
        pageDiv: pageDiv,
        pdfPage: pdfPage,
        imageResourcesPath: imageResourcesPath,
        renderInteractiveForms: renderInteractiveForms,
        linkService: new _pdf_link_service.SimpleLinkService(),
        l10n: l10n,
        annotationStorage: annotationStorage,
        enableScripting: enableScripting,
        hasJSActionsPromise: hasJSActionsPromise,
        mouseState: mouseState
      });
    }
  }]);

  return DefaultAnnotationLayerFactory;
}();

exports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;

/***/ }),
/* 2 */
/***/ ((module) => {



var pdfjsLib;

if (typeof window !== "undefined" && window["pdfjs-dist/build/pdf"]) {
  pdfjsLib = window["pdfjs-dist/build/pdf"];
} else {
  pdfjsLib = __webpack_require__("4383");
}

module.exports = pdfjsLib;

/***/ }),
/* 3 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.approximateFraction = approximateFraction;
exports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;
exports.binarySearchFirstItem = binarySearchFirstItem;
exports.getActiveOrFocusedElement = getActiveOrFocusedElement;
exports.getOutputScale = getOutputScale;
exports.getPageSizeInches = getPageSizeInches;
exports.getPDFFileNameFromURL = getPDFFileNameFromURL;
exports.getVisibleElements = getVisibleElements;
exports.isPortraitOrientation = isPortraitOrientation;
exports.isValidRotation = isValidRotation;
exports.isValidScrollMode = isValidScrollMode;
exports.isValidSpreadMode = isValidSpreadMode;
exports.moveToEndOfArray = moveToEndOfArray;
exports.noContextMenuHandler = noContextMenuHandler;
exports.normalizeWheelEventDelta = normalizeWheelEventDelta;
exports.normalizeWheelEventDirection = normalizeWheelEventDirection;
exports.parseQueryString = parseQueryString;
exports.roundToDivide = roundToDivide;
exports.scrollIntoView = scrollIntoView;
exports.waitOnEventOrTimeout = waitOnEventOrTimeout;
exports.watchScroll = watchScroll;
exports.WaitOnType = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RendererType = exports.ProgressBar = exports.PresentationModeState = exports.NullL10n = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.EventBus = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE = exports.CSS_UNITS = exports.AutoPrintRegExp = exports.animationStarted = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

var CSS_UNITS = 96.0 / 72.0;
exports.CSS_UNITS = CSS_UNITS;
var DEFAULT_SCALE_VALUE = "auto";
exports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;
var DEFAULT_SCALE = 1.0;
exports.DEFAULT_SCALE = DEFAULT_SCALE;
var MIN_SCALE = 0.1;
exports.MIN_SCALE = MIN_SCALE;
var MAX_SCALE = 10.0;
exports.MAX_SCALE = MAX_SCALE;
var UNKNOWN_SCALE = 0;
exports.UNKNOWN_SCALE = UNKNOWN_SCALE;
var MAX_AUTO_SCALE = 1.25;
exports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;
var SCROLLBAR_PADDING = 40;
exports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;
var VERTICAL_PADDING = 5;
exports.VERTICAL_PADDING = VERTICAL_PADDING;
var LOADINGBAR_END_OFFSET_VAR = "--loadingBar-end-offset";
var PresentationModeState = {
  UNKNOWN: 0,
  NORMAL: 1,
  CHANGING: 2,
  FULLSCREEN: 3
};
exports.PresentationModeState = PresentationModeState;
var SidebarView = {
  UNKNOWN: -1,
  NONE: 0,
  THUMBS: 1,
  OUTLINE: 2,
  ATTACHMENTS: 3,
  LAYERS: 4
};
exports.SidebarView = SidebarView;
var RendererType = {
  CANVAS: "canvas",
  SVG: "svg"
};
exports.RendererType = RendererType;
var TextLayerMode = {
  DISABLE: 0,
  ENABLE: 1,
  ENABLE_ENHANCE: 2
};
exports.TextLayerMode = TextLayerMode;
var ScrollMode = {
  UNKNOWN: -1,
  VERTICAL: 0,
  HORIZONTAL: 1,
  WRAPPED: 2
};
exports.ScrollMode = ScrollMode;
var SpreadMode = {
  UNKNOWN: -1,
  NONE: 0,
  ODD: 1,
  EVEN: 2
};
exports.SpreadMode = SpreadMode;
var AutoPrintRegExp = /\bprint\s*\(/;
exports.AutoPrintRegExp = AutoPrintRegExp;

function formatL10nValue(text, args) {
  if (!args) {
    return text;
  }

  return text.replace(/\{\{\s*(\w+)\s*\}\}/g, function (all, name) {
    return name in args ? args[name] : "{{" + name + "}}";
  });
}

var NullL10n = {
  getLanguage: function getLanguage() {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
      return _regenerator["default"].wrap(function _callee$(_context) {
        while (1) {
          switch (_context.prev = _context.next) {
            case 0:
              return _context.abrupt("return", "en-us");

            case 1:
            case "end":
              return _context.stop();
          }
        }
      }, _callee);
    }))();
  },
  getDirection: function getDirection() {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
      return _regenerator["default"].wrap(function _callee2$(_context2) {
        while (1) {
          switch (_context2.prev = _context2.next) {
            case 0:
              return _context2.abrupt("return", "ltr");

            case 1:
            case "end":
              return _context2.stop();
          }
        }
      }, _callee2);
    }))();
  },
  get: function get(property, args, fallback) {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
      return _regenerator["default"].wrap(function _callee3$(_context3) {
        while (1) {
          switch (_context3.prev = _context3.next) {
            case 0:
              return _context3.abrupt("return", formatL10nValue(fallback, args));

            case 1:
            case "end":
              return _context3.stop();
          }
        }
      }, _callee3);
    }))();
  },
  translate: function translate(element) {
    return _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
      return _regenerator["default"].wrap(function _callee4$(_context4) {
        while (1) {
          switch (_context4.prev = _context4.next) {
            case 0:
            case "end":
              return _context4.stop();
          }
        }
      }, _callee4);
    }))();
  }
};
exports.NullL10n = NullL10n;

function getOutputScale(ctx) {
  var devicePixelRatio = window.devicePixelRatio || 1;
  var backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;
  var pixelRatio = devicePixelRatio / backingStoreRatio;
  return {
    sx: pixelRatio,
    sy: pixelRatio,
    scaled: pixelRatio !== 1
  };
}

function scrollIntoView(element, spot) {
  var skipOverflowHiddenElements = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
  var parent = element.offsetParent;

  if (!parent) {
    console.error("offsetParent is not set -- cannot scroll");
    return;
  }

  var offsetY = element.offsetTop + element.clientTop;
  var offsetX = element.offsetLeft + element.clientLeft;

  while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === "hidden") {
    if (parent.dataset._scaleY) {
      offsetY /= parent.dataset._scaleY;
      offsetX /= parent.dataset._scaleX;
    }

    offsetY += parent.offsetTop;
    offsetX += parent.offsetLeft;
    parent = parent.offsetParent;

    if (!parent) {
      return;
    }
  }

  if (spot) {
    if (spot.top !== undefined) {
      offsetY += spot.top;
    }

    if (spot.left !== undefined) {
      offsetX += spot.left;
      parent.scrollLeft = offsetX;
    }
  }

  parent.scrollTop = offsetY;
}

function watchScroll(viewAreaElement, callback) {
  var debounceScroll = function debounceScroll(evt) {
    if (rAF) {
      return;
    }

    rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {
      rAF = null;
      var currentX = viewAreaElement.scrollLeft;
      var lastX = state.lastX;

      if (currentX !== lastX) {
        state.right = currentX > lastX;
      }

      state.lastX = currentX;
      var currentY = viewAreaElement.scrollTop;
      var lastY = state.lastY;

      if (currentY !== lastY) {
        state.down = currentY > lastY;
      }

      state.lastY = currentY;
      callback(state);
    });
  };

  var state = {
    right: true,
    down: true,
    lastX: viewAreaElement.scrollLeft,
    lastY: viewAreaElement.scrollTop,
    _eventHandler: debounceScroll
  };
  var rAF = null;
  viewAreaElement.addEventListener("scroll", debounceScroll, true);
  return state;
}

function parseQueryString(query) {
  var parts = query.split("&");
  var params = Object.create(null);

  for (var i = 0, ii = parts.length; i < ii; ++i) {
    var param = parts[i].split("=");
    var key = param[0].toLowerCase();
    var value = param.length > 1 ? param[1] : null;
    params[decodeURIComponent(key)] = decodeURIComponent(value);
  }

  return params;
}

function binarySearchFirstItem(items, condition) {
  var minIndex = 0;
  var maxIndex = items.length - 1;

  if (maxIndex < 0 || !condition(items[maxIndex])) {
    return items.length;
  }

  if (condition(items[minIndex])) {
    return minIndex;
  }

  while (minIndex < maxIndex) {
    var currentIndex = minIndex + maxIndex >> 1;
    var currentItem = items[currentIndex];

    if (condition(currentItem)) {
      maxIndex = currentIndex;
    } else {
      minIndex = currentIndex + 1;
    }
  }

  return minIndex;
}

function approximateFraction(x) {
  if (Math.floor(x) === x) {
    return [x, 1];
  }

  var xinv = 1 / x;
  var limit = 8;

  if (xinv > limit) {
    return [1, limit];
  } else if (Math.floor(xinv) === xinv) {
    return [1, xinv];
  }

  var x_ = x > 1 ? xinv : x;
  var a = 0,
      b = 1,
      c = 1,
      d = 1;

  while (true) {
    var p = a + c,
        q = b + d;

    if (q > limit) {
      break;
    }

    if (x_ <= p / q) {
      c = p;
      d = q;
    } else {
      a = p;
      b = q;
    }
  }

  var result;

  if (x_ - a / b < c / d - x_) {
    result = x_ === x ? [a, b] : [b, a];
  } else {
    result = x_ === x ? [c, d] : [d, c];
  }

  return result;
}

function roundToDivide(x, div) {
  var r = x % div;
  return r === 0 ? x : Math.round(x - r + div);
}

function getPageSizeInches(_ref) {
  var view = _ref.view,
      userUnit = _ref.userUnit,
      rotate = _ref.rotate;

  var _view = _slicedToArray(view, 4),
      x1 = _view[0],
      y1 = _view[1],
      x2 = _view[2],
      y2 = _view[3];

  var changeOrientation = rotate % 180 !== 0;
  var width = (x2 - x1) / 72 * userUnit;
  var height = (y2 - y1) / 72 * userUnit;
  return {
    width: changeOrientation ? height : width,
    height: changeOrientation ? width : height
  };
}

function backtrackBeforeAllVisibleElements(index, views, top) {
  if (index < 2) {
    return index;
  }

  var elt = views[index].div;
  var pageTop = elt.offsetTop + elt.clientTop;

  if (pageTop >= top) {
    elt = views[index - 1].div;
    pageTop = elt.offsetTop + elt.clientTop;
  }

  for (var i = index - 2; i >= 0; --i) {
    elt = views[i].div;

    if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {
      break;
    }

    index = i;
  }

  return index;
}

function getVisibleElements(_ref2) {
  var scrollEl = _ref2.scrollEl,
      views = _ref2.views,
      _ref2$sortByVisibilit = _ref2.sortByVisibility,
      sortByVisibility = _ref2$sortByVisibilit === void 0 ? false : _ref2$sortByVisibilit,
      _ref2$horizontal = _ref2.horizontal,
      horizontal = _ref2$horizontal === void 0 ? false : _ref2$horizontal,
      _ref2$rtl = _ref2.rtl,
      rtl = _ref2$rtl === void 0 ? false : _ref2$rtl;
  var top = scrollEl.scrollTop,
      bottom = top + scrollEl.clientHeight;
  var left = scrollEl.scrollLeft,
      right = left + scrollEl.clientWidth;

  function isElementBottomAfterViewTop(view) {
    var element = view.div;
    var elementBottom = element.offsetTop + element.clientTop + element.clientHeight;
    return elementBottom > top;
  }

  function isElementNextAfterViewHorizontally(view) {
    var element = view.div;
    var elementLeft = element.offsetLeft + element.clientLeft;
    var elementRight = elementLeft + element.clientWidth;
    return rtl ? elementLeft < right : elementRight > left;
  }

  var visible = [],
      numViews = views.length;
  var firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);

  if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {
    firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);
  }

  var lastEdge = horizontal ? right : -1;

  for (var i = firstVisibleElementInd; i < numViews; i++) {
    var view = views[i],
        element = view.div;
    var currentWidth = element.offsetLeft + element.clientLeft;
    var currentHeight = element.offsetTop + element.clientTop;
    var viewWidth = element.clientWidth,
        viewHeight = element.clientHeight;
    var viewRight = currentWidth + viewWidth;
    var viewBottom = currentHeight + viewHeight;

    if (lastEdge === -1) {
      if (viewBottom >= bottom) {
        lastEdge = viewBottom;
      }
    } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {
      break;
    }

    if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {
      continue;
    }

    var hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);
    var hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);
    var fractionHeight = (viewHeight - hiddenHeight) / viewHeight,
        fractionWidth = (viewWidth - hiddenWidth) / viewWidth;
    var percent = fractionHeight * fractionWidth * 100 | 0;
    visible.push({
      id: view.id,
      x: currentWidth,
      y: currentHeight,
      view: view,
      percent: percent,
      widthPercent: fractionWidth * 100 | 0
    });
  }

  var first = visible[0],
      last = visible[visible.length - 1];

  if (sortByVisibility) {
    visible.sort(function (a, b) {
      var pc = a.percent - b.percent;

      if (Math.abs(pc) > 0.001) {
        return -pc;
      }

      return a.id - b.id;
    });
  }

  return {
    first: first,
    last: last,
    views: visible
  };
}

function noContextMenuHandler(evt) {
  evt.preventDefault();
}

function isDataSchema(url) {
  var i = 0;
  var ii = url.length;

  while (i < ii && url[i].trim() === "") {
    i++;
  }

  return url.substring(i, i + 5).toLowerCase() === "data:";
}

function getPDFFileNameFromURL(url) {
  var defaultFilename = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "document.pdf";

  if (typeof url !== "string") {
    return defaultFilename;
  }

  if (isDataSchema(url)) {
    console.warn("getPDFFileNameFromURL: " + 'ignoring "data:" URL for performance reasons.');
    return defaultFilename;
  }

  var reURI = /^(?:(?:[^:]+:)?\/\/[^/]+)?([^?#]*)(\?[^#]*)?(#.*)?$/;
  var reFilename = /[^/?#=]+\.pdf\b(?!.*\.pdf\b)/i;
  var splitURI = reURI.exec(url);
  var suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);

  if (suggestedFilename) {
    suggestedFilename = suggestedFilename[0];

    if (suggestedFilename.includes("%")) {
      try {
        suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];
      } catch (ex) {}
    }
  }

  return suggestedFilename || defaultFilename;
}

function normalizeWheelEventDirection(evt) {
  var delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);
  var angle = Math.atan2(evt.deltaY, evt.deltaX);

  if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {
    delta = -delta;
  }

  return delta;
}

function normalizeWheelEventDelta(evt) {
  var delta = normalizeWheelEventDirection(evt);
  var MOUSE_DOM_DELTA_PIXEL_MODE = 0;
  var MOUSE_DOM_DELTA_LINE_MODE = 1;
  var MOUSE_PIXELS_PER_LINE = 30;
  var MOUSE_LINES_PER_PAGE = 30;

  if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {
    delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;
  } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {
    delta /= MOUSE_LINES_PER_PAGE;
  }

  return delta;
}

function isValidRotation(angle) {
  return Number.isInteger(angle) && angle % 90 === 0;
}

function isValidScrollMode(mode) {
  return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;
}

function isValidSpreadMode(mode) {
  return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;
}

function isPortraitOrientation(size) {
  return size.width <= size.height;
}

var WaitOnType = {
  EVENT: "event",
  TIMEOUT: "timeout"
};
exports.WaitOnType = WaitOnType;

function waitOnEventOrTimeout(_ref3) {
  var target = _ref3.target,
      name = _ref3.name,
      _ref3$delay = _ref3.delay,
      delay = _ref3$delay === void 0 ? 0 : _ref3$delay;
  return new Promise(function (resolve, reject) {
    if (_typeof(target) !== "object" || !(name && typeof name === "string") || !(Number.isInteger(delay) && delay >= 0)) {
      throw new Error("waitOnEventOrTimeout - invalid parameters.");
    }

    function handler(type) {
      if (target instanceof EventBus) {
        target._off(name, eventHandler);
      } else {
        target.removeEventListener(name, eventHandler);
      }

      if (timeout) {
        clearTimeout(timeout);
      }

      resolve(type);
    }

    var eventHandler = handler.bind(null, WaitOnType.EVENT);

    if (target instanceof EventBus) {
      target._on(name, eventHandler);
    } else {
      target.addEventListener(name, eventHandler);
    }

    var timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);
    var timeout = setTimeout(timeoutHandler, delay);
  });
}

var animationStarted = new Promise(function (resolve) {
  window.requestAnimationFrame(resolve);
});
exports.animationStarted = animationStarted;

function dispatchDOMEvent(eventName) {
  var args = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
  throw new Error("Not implemented: dispatchDOMEvent");
}

var EventBus = /*#__PURE__*/function () {
  function EventBus(options) {
    _classCallCheck(this, EventBus);

    this._listeners = Object.create(null);
  }

  _createClass(EventBus, [{
    key: "on",
    value: function on(eventName, listener) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

      this._on(eventName, listener, {
        external: true,
        once: options === null || options === void 0 ? void 0 : options.once
      });
    }
  }, {
    key: "off",
    value: function off(eventName, listener) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;

      this._off(eventName, listener, {
        external: true,
        once: options === null || options === void 0 ? void 0 : options.once
      });
    }
  }, {
    key: "dispatch",
    value: function dispatch(eventName) {
      var _this = this;

      var eventListeners = this._listeners[eventName];

      if (!eventListeners || eventListeners.length === 0) {
        return;
      }

      var args = Array.prototype.slice.call(arguments, 1);
      var externalListeners;
      eventListeners.slice(0).forEach(function (_ref4) {
        var listener = _ref4.listener,
            external = _ref4.external,
            once = _ref4.once;

        if (once) {
          _this._off(eventName, listener);
        }

        if (external) {
          (externalListeners || (externalListeners = [])).push(listener);
          return;
        }

        listener.apply(null, args);
      });

      if (externalListeners) {
        externalListeners.forEach(function (listener) {
          listener.apply(null, args);
        });
        externalListeners = null;
      }
    }
  }, {
    key: "_on",
    value: function _on(eventName, listener) {
      var _this$_listeners;

      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var eventListeners = (_this$_listeners = this._listeners)[eventName] || (_this$_listeners[eventName] = []);
      eventListeners.push({
        listener: listener,
        external: (options === null || options === void 0 ? void 0 : options.external) === true,
        once: (options === null || options === void 0 ? void 0 : options.once) === true
      });
    }
  }, {
    key: "_off",
    value: function _off(eventName, listener) {
      var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var eventListeners = this._listeners[eventName];

      if (!eventListeners) {
        return;
      }

      for (var i = 0, ii = eventListeners.length; i < ii; i++) {
        if (eventListeners[i].listener === listener) {
          eventListeners.splice(i, 1);
          return;
        }
      }
    }
  }]);

  return EventBus;
}();

exports.EventBus = EventBus;

function clamp(v, min, max) {
  return Math.min(Math.max(v, min), max);
}

var ProgressBar = /*#__PURE__*/function () {
  function ProgressBar(id) {
    var _ref5 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
        height = _ref5.height,
        width = _ref5.width,
        units = _ref5.units;

    _classCallCheck(this, ProgressBar);

    this.visible = true;
    this.div = document.querySelector(id + " .progress");
    this.bar = this.div.parentNode;
    this.height = height || 100;
    this.width = width || 100;
    this.units = units || "%";
    this.div.style.height = this.height + this.units;
    this.percent = 0;
  }

  _createClass(ProgressBar, [{
    key: "_updateBar",
    value: function _updateBar() {
      if (this._indeterminate) {
        this.div.classList.add("indeterminate");
        this.div.style.width = this.width + this.units;
        return;
      }

      this.div.classList.remove("indeterminate");
      var progressSize = this.width * this._percent / 100;
      this.div.style.width = progressSize + this.units;
    }
  }, {
    key: "setWidth",
    value: function setWidth(viewer) {
      if (!viewer) {
        return;
      }

      var container = viewer.parentNode;
      var scrollbarWidth = container.offsetWidth - viewer.offsetWidth;

      if (scrollbarWidth > 0) {
        var doc = document.documentElement;
        doc.style.setProperty(LOADINGBAR_END_OFFSET_VAR, "".concat(scrollbarWidth, "px"));
      }
    }
  }, {
    key: "hide",
    value: function hide() {
      if (!this.visible) {
        return;
      }

      this.visible = false;
      this.bar.classList.add("hidden");
    }
  }, {
    key: "show",
    value: function show() {
      if (this.visible) {
        return;
      }

      this.visible = true;
      this.bar.classList.remove("hidden");
    }
  }, {
    key: "percent",
    get: function get() {
      return this._percent;
    },
    set: function set(val) {
      this._indeterminate = isNaN(val);
      this._percent = clamp(val, 0, 100);

      this._updateBar();
    }
  }]);

  return ProgressBar;
}();

exports.ProgressBar = ProgressBar;

function moveToEndOfArray(arr, condition) {
  var moved = [],
      len = arr.length;
  var write = 0;

  for (var read = 0; read < len; ++read) {
    if (condition(arr[read])) {
      moved.push(arr[read]);
    } else {
      arr[write] = arr[read];
      ++write;
    }
  }

  for (var _read = 0; write < len; ++_read, ++write) {
    arr[write] = moved[_read];
  }
}

function getActiveOrFocusedElement() {
  var curRoot = document;
  var curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");

  while (curActiveOrFocused && curActiveOrFocused.shadowRoot) {
    curRoot = curActiveOrFocused.shadowRoot;
    curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(":focus");
  }

  return curActiveOrFocused;
}

/***/ }),
/* 4 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {



module.exports = __w_pdfjs_require__(5);

/***/ }),
/* 5 */
/***/ ((module, __unused_webpack_exports, __w_pdfjs_require__) => {

/* module decorator */ module = __w_pdfjs_require__.nmd(module);


function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

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

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

  function define(obj, key, value) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
    return obj[key];
  }

  try {
    define({}, "");
  } catch (err) {
    define = function define(obj, key, value) {
      return obj[key] = value;
    };
  }

  function wrap(innerFn, outerFn, self, tryLocsList) {
    var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;
    var generator = Object.create(protoGenerator.prototype);
    var context = new Context(tryLocsList || []);
    generator._invoke = makeInvokeMethod(innerFn, self, context);
    return generator;
  }

  exports.wrap = wrap;

  function tryCatch(fn, obj, arg) {
    try {
      return {
        type: "normal",
        arg: fn.call(obj, arg)
      };
    } catch (err) {
      return {
        type: "throw",
        arg: err
      };
    }
  }

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

  function Generator() {}

  function GeneratorFunction() {}

  function GeneratorFunctionPrototype() {}

  var IteratorPrototype = {};

  IteratorPrototype[iteratorSymbol] = function () {
    return this;
  };

  var getProto = Object.getPrototypeOf;
  var NativeIteratorPrototype = getProto && getProto(getProto(values([])));

  if (NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {
    IteratorPrototype = NativeIteratorPrototype;
  }

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

  function defineIteratorMethods(prototype) {
    ["next", "throw", "return"].forEach(function (method) {
      define(prototype, method, function (arg) {
        return this._invoke(method, arg);
      });
    });
  }

  exports.isGeneratorFunction = function (genFun) {
    var ctor = typeof genFun === "function" && genFun.constructor;
    return ctor ? ctor === GeneratorFunction || (ctor.displayName || ctor.name) === "GeneratorFunction" : false;
  };

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

    genFun.prototype = Object.create(Gp);
    return genFun;
  };

  exports.awrap = function (arg) {
    return {
      __await: arg
    };
  };

  function AsyncIterator(generator, PromiseImpl) {
    function invoke(method, arg, resolve, reject) {
      var record = tryCatch(generator[method], generator, arg);

      if (record.type === "throw") {
        reject(record.arg);
      } else {
        var result = record.arg;
        var value = result.value;

        if (value && _typeof(value) === "object" && hasOwn.call(value, "__await")) {
          return PromiseImpl.resolve(value.__await).then(function (value) {
            invoke("next", value, resolve, reject);
          }, function (err) {
            invoke("throw", err, resolve, reject);
          });
        }

        return PromiseImpl.resolve(value).then(function (unwrapped) {
          result.value = unwrapped;
          resolve(result);
        }, function (error) {
          return invoke("throw", error, resolve, reject);
        });
      }
    }

    var previousPromise;

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

      return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
    }

    this._invoke = enqueue;
  }

  defineIteratorMethods(AsyncIterator.prototype);

  AsyncIterator.prototype[asyncIteratorSymbol] = function () {
    return this;
  };

  exports.AsyncIterator = AsyncIterator;

  exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {
    if (PromiseImpl === void 0) PromiseImpl = Promise;
    var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);
    return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {
      return result.done ? result.value : iter.next();
    });
  };

  function makeInvokeMethod(innerFn, self, context) {
    var state = GenStateSuspendedStart;
    return function invoke(method, arg) {
      if (state === GenStateExecuting) {
        throw new Error("Generator is already running");
      }

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

        return doneResult();
      }

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

      while (true) {
        var delegate = context.delegate;

        if (delegate) {
          var delegateResult = maybeInvokeDelegate(delegate, context);

          if (delegateResult) {
            if (delegateResult === ContinueSentinel) continue;
            return delegateResult;
          }
        }

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

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

        state = GenStateExecuting;
        var record = tryCatch(innerFn, self, context);

        if (record.type === "normal") {
          state = context.done ? GenStateCompleted : GenStateSuspendedYield;

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

          return {
            value: record.arg,
            done: context.done
          };
        } else if (record.type === "throw") {
          state = GenStateCompleted;
          context.method = "throw";
          context.arg = record.arg;
        }
      }
    };
  }

  function maybeInvokeDelegate(delegate, context) {
    var method = delegate.iterator[context.method];

    if (method === undefined) {
      context.delegate = null;

      if (context.method === "throw") {
        if (delegate.iterator["return"]) {
          context.method = "return";
          context.arg = undefined;
          maybeInvokeDelegate(delegate, context);

          if (context.method === "throw") {
            return ContinueSentinel;
          }
        }

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

      return ContinueSentinel;
    }

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

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

    var info = record.arg;

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

    if (info.done) {
      context[delegate.resultName] = info.value;
      context.next = delegate.nextLoc;

      if (context.method !== "return") {
        context.method = "next";
        context.arg = undefined;
      }
    } else {
      return info;
    }

    context.delegate = null;
    return ContinueSentinel;
  }

  defineIteratorMethods(Gp);
  define(Gp, toStringTagSymbol, "Generator");

  Gp[iteratorSymbol] = function () {
    return this;
  };

  Gp.toString = function () {
    return "[object Generator]";
  };

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

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

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

    this.tryEntries.push(entry);
  }

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

  function Context(tryLocsList) {
    this.tryEntries = [{
      tryLoc: "root"
    }];
    tryLocsList.forEach(pushTryEntry, this);
    this.reset(true);
  }

  exports.keys = function (object) {
    var keys = [];

    for (var key in object) {
      keys.push(key);
    }

    keys.reverse();
    return function next() {
      while (keys.length) {
        var key = keys.pop();

        if (key in object) {
          next.value = key;
          next.done = false;
          return next;
        }
      }

      next.done = true;
      return next;
    };
  };

  function values(iterable) {
    if (iterable) {
      var iteratorMethod = iterable[iteratorSymbol];

      if (iteratorMethod) {
        return iteratorMethod.call(iterable);
      }

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

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

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

        return next.next = next;
      }
    }

    return {
      next: doneResult
    };
  }

  exports.values = values;

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

  Context.prototype = {
    constructor: Context,
    reset: function reset(skipTempReset) {
      this.prev = 0;
      this.next = 0;
      this.sent = this._sent = undefined;
      this.done = false;
      this.delegate = null;
      this.method = "next";
      this.arg = undefined;
      this.tryEntries.forEach(resetTryEntry);

      if (!skipTempReset) {
        for (var name in this) {
          if (name.charAt(0) === "t" && hasOwn.call(this, name) && !isNaN(+name.slice(1))) {
            this[name] = undefined;
          }
        }
      }
    },
    stop: function stop() {
      this.done = true;
      var rootEntry = this.tryEntries[0];
      var rootRecord = rootEntry.completion;

      if (rootRecord.type === "throw") {
        throw rootRecord.arg;
      }

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

      var context = this;

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

        if (caught) {
          context.method = "next";
          context.arg = undefined;
        }

        return !!caught;
      }

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

        if (entry.tryLoc === "root") {
          return handle("end");
        }

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

          if (hasCatch && hasFinally) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            } else if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else if (hasCatch) {
            if (this.prev < entry.catchLoc) {
              return handle(entry.catchLoc, true);
            }
          } else if (hasFinally) {
            if (this.prev < entry.finallyLoc) {
              return handle(entry.finallyLoc);
            }
          } else {
            throw new Error("try statement without catch or finally");
          }
        }
      }
    },
    abrupt: function abrupt(type, arg) {
      for (var i = this.tryEntries.length - 1; i >= 0; --i) {
        var entry = this.tryEntries[i];

        if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) {
          var finallyEntry = entry;
          break;
        }
      }

      if (finallyEntry && (type === "break" || type === "continue") && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc) {
        finallyEntry = null;
      }

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

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

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

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

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

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

        if (entry.tryLoc === tryLoc) {
          var record = entry.completion;

          if (record.type === "throw") {
            var thrown = record.arg;
            resetTryEntry(entry);
          }

          return thrown;
        }
      }

      throw new Error("illegal catch attempt");
    },
    delegateYield: function delegateYield(iterable, resultName, nextLoc) {
      this.delegate = {
        iterator: values(iterable),
        resultName: resultName,
        nextLoc: nextLoc
      };

      if (this.method === "next") {
        this.arg = undefined;
      }

      return ContinueSentinel;
    }
  };
  return exports;
}(( false ? undefined : _typeof(module)) === "object" ? module.exports : {});

try {
  regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
  Function("r", "regeneratorRuntime = r")(runtime);
}

/***/ }),
/* 6 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.SimpleLinkService = exports.PDFLinkService = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

var _ui_utils = __w_pdfjs_require__(3);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var PDFLinkService = /*#__PURE__*/function () {
  function PDFLinkService() {
    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
        eventBus = _ref.eventBus,
        _ref$externalLinkTarg = _ref.externalLinkTarget,
        externalLinkTarget = _ref$externalLinkTarg === void 0 ? null : _ref$externalLinkTarg,
        _ref$externalLinkRel = _ref.externalLinkRel,
        externalLinkRel = _ref$externalLinkRel === void 0 ? null : _ref$externalLinkRel,
        _ref$externalLinkEnab = _ref.externalLinkEnabled,
        externalLinkEnabled = _ref$externalLinkEnab === void 0 ? true : _ref$externalLinkEnab,
        _ref$ignoreDestinatio = _ref.ignoreDestinationZoom,
        ignoreDestinationZoom = _ref$ignoreDestinatio === void 0 ? false : _ref$ignoreDestinatio;

    _classCallCheck(this, PDFLinkService);

    this.eventBus = eventBus;
    this.externalLinkTarget = externalLinkTarget;
    this.externalLinkRel = externalLinkRel;
    this.externalLinkEnabled = externalLinkEnabled;
    this._ignoreDestinationZoom = ignoreDestinationZoom;
    this.baseUrl = null;
    this.pdfDocument = null;
    this.pdfViewer = null;
    this.pdfHistory = null;
    this._pagesRefCache = null;
  }

  _createClass(PDFLinkService, [{
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      this.baseUrl = baseUrl;
      this.pdfDocument = pdfDocument;
      this._pagesRefCache = Object.create(null);
    }
  }, {
    key: "setViewer",
    value: function setViewer(pdfViewer) {
      this.pdfViewer = pdfViewer;
    }
  }, {
    key: "setHistory",
    value: function setHistory(pdfHistory) {
      this.pdfHistory = pdfHistory;
    }
  }, {
    key: "navigateTo",
    value: function navigateTo(dest) {
      console.error("Deprecated method: `navigateTo`, use `goToDestination` instead.");
      this.goToDestination(dest);
    }
  }, {
    key: "_goToDestinationHelper",
    value: function _goToDestinationHelper(rawDest) {
      var _this = this;

      var namedDest = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
      var explicitDest = arguments.length > 2 ? arguments[2] : undefined;
      var destRef = explicitDest[0];
      var pageNumber;

      if (destRef instanceof Object) {
        pageNumber = this._cachedPageNumber(destRef);

        if (pageNumber === null) {
          this.pdfDocument.getPageIndex(destRef).then(function (pageIndex) {
            _this.cachePageRef(pageIndex + 1, destRef);

            _this._goToDestinationHelper(rawDest, namedDest, explicitDest);
          })["catch"](function () {
            console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid page reference, for dest=\"".concat(rawDest, "\"."));
          });
          return;
        }
      } else if (Number.isInteger(destRef)) {
        pageNumber = destRef + 1;
      } else {
        console.error("PDFLinkService._goToDestinationHelper: \"".concat(destRef, "\" is not ") + "a valid destination reference, for dest=\"".concat(rawDest, "\"."));
        return;
      }

      if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {
        console.error("PDFLinkService._goToDestinationHelper: \"".concat(pageNumber, "\" is not ") + "a valid page number, for dest=\"".concat(rawDest, "\"."));
        return;
      }

      if (this.pdfHistory) {
        this.pdfHistory.pushCurrentPosition();
        this.pdfHistory.push({
          namedDest: namedDest,
          explicitDest: explicitDest,
          pageNumber: pageNumber
        });
      }

      this.pdfViewer.scrollPageIntoView({
        pageNumber: pageNumber,
        destArray: explicitDest,
        ignoreDestinationZoom: this._ignoreDestinationZoom
      });
    }
  }, {
    key: "goToDestination",
    value: function () {
      var _goToDestination = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(dest) {
        var namedDest, explicitDest;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                if (this.pdfDocument) {
                  _context.next = 2;
                  break;
                }

                return _context.abrupt("return");

              case 2:
                if (!(typeof dest === "string")) {
                  _context.next = 9;
                  break;
                }

                namedDest = dest;
                _context.next = 6;
                return this.pdfDocument.getDestination(dest);

              case 6:
                explicitDest = _context.sent;
                _context.next = 13;
                break;

              case 9:
                namedDest = null;
                _context.next = 12;
                return dest;

              case 12:
                explicitDest = _context.sent;

              case 13:
                if (Array.isArray(explicitDest)) {
                  _context.next = 16;
                  break;
                }

                console.error("PDFLinkService.goToDestination: \"".concat(explicitDest, "\" is not ") + "a valid destination array, for dest=\"".concat(dest, "\"."));
                return _context.abrupt("return");

              case 16:
                this._goToDestinationHelper(dest, namedDest, explicitDest);

              case 17:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function goToDestination(_x) {
        return _goToDestination.apply(this, arguments);
      }

      return goToDestination;
    }()
  }, {
    key: "goToPage",
    value: function goToPage(val) {
      if (!this.pdfDocument) {
        return;
      }

      var pageNumber = typeof val === "string" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;

      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
        console.error("PDFLinkService.goToPage: \"".concat(val, "\" is not a valid page."));
        return;
      }

      if (this.pdfHistory) {
        this.pdfHistory.pushCurrentPosition();
        this.pdfHistory.pushPage(pageNumber);
      }

      this.pdfViewer.scrollPageIntoView({
        pageNumber: pageNumber
      });
    }
  }, {
    key: "getDestinationHash",
    value: function getDestinationHash(dest) {
      if (typeof dest === "string") {
        if (dest.length > 0) {
          return this.getAnchorUrl("#" + escape(dest));
        }
      } else if (Array.isArray(dest)) {
        var str = JSON.stringify(dest);

        if (str.length > 0) {
          return this.getAnchorUrl("#" + escape(str));
        }
      }

      return this.getAnchorUrl("");
    }
  }, {
    key: "getAnchorUrl",
    value: function getAnchorUrl(anchor) {
      return (this.baseUrl || "") + anchor;
    }
  }, {
    key: "setHash",
    value: function setHash(hash) {
      if (!this.pdfDocument) {
        return;
      }

      var pageNumber, dest;

      if (hash.includes("=")) {
        var params = (0, _ui_utils.parseQueryString)(hash);

        if ("search" in params) {
          this.eventBus.dispatch("findfromurlhash", {
            source: this,
            query: params.search.replace(/"/g, ""),
            phraseSearch: params.phrase === "true"
          });
        }

        if ("page" in params) {
          pageNumber = params.page | 0 || 1;
        }

        if ("zoom" in params) {
          var zoomArgs = params.zoom.split(",");
          var zoomArg = zoomArgs[0];
          var zoomArgNumber = parseFloat(zoomArg);

          if (!zoomArg.includes("Fit")) {
            dest = [null, {
              name: "XYZ"
            }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];
          } else {
            if (zoomArg === "Fit" || zoomArg === "FitB") {
              dest = [null, {
                name: zoomArg
              }];
            } else if (zoomArg === "FitH" || zoomArg === "FitBH" || zoomArg === "FitV" || zoomArg === "FitBV") {
              dest = [null, {
                name: zoomArg
              }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];
            } else if (zoomArg === "FitR") {
              if (zoomArgs.length !== 5) {
                console.error('PDFLinkService.setHash: Not enough parameters for "FitR".');
              } else {
                dest = [null, {
                  name: zoomArg
                }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];
              }
            } else {
              console.error("PDFLinkService.setHash: \"".concat(zoomArg, "\" is not ") + "a valid zoom value.");
            }
          }
        }

        if (dest) {
          this.pdfViewer.scrollPageIntoView({
            pageNumber: pageNumber || this.page,
            destArray: dest,
            allowNegativeOffset: true
          });
        } else if (pageNumber) {
          this.page = pageNumber;
        }

        if ("pagemode" in params) {
          this.eventBus.dispatch("pagemode", {
            source: this,
            mode: params.pagemode
          });
        }

        if ("nameddest" in params) {
          this.goToDestination(params.nameddest);
        }
      } else {
        dest = unescape(hash);

        try {
          dest = JSON.parse(dest);

          if (!Array.isArray(dest)) {
            dest = dest.toString();
          }
        } catch (ex) {}

        if (typeof dest === "string" || isValidExplicitDestination(dest)) {
          this.goToDestination(dest);
          return;
        }

        console.error("PDFLinkService.setHash: \"".concat(unescape(hash), "\" is not ") + "a valid destination.");
      }
    }
  }, {
    key: "executeNamedAction",
    value: function executeNamedAction(action) {
      switch (action) {
        case "GoBack":
          if (this.pdfHistory) {
            this.pdfHistory.back();
          }

          break;

        case "GoForward":
          if (this.pdfHistory) {
            this.pdfHistory.forward();
          }

          break;

        case "NextPage":
          this.pdfViewer.nextPage();
          break;

        case "PrevPage":
          this.pdfViewer.previousPage();
          break;

        case "LastPage":
          this.page = this.pagesCount;
          break;

        case "FirstPage":
          this.page = 1;
          break;

        default:
          break;
      }

      this.eventBus.dispatch("namedaction", {
        source: this,
        action: action
      });
    }
  }, {
    key: "cachePageRef",
    value: function cachePageRef(pageNum, pageRef) {
      if (!pageRef) {
        return;
      }

      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
      this._pagesRefCache[refStr] = pageNum;
    }
  }, {
    key: "_cachedPageNumber",
    value: function _cachedPageNumber(pageRef) {
      var refStr = pageRef.gen === 0 ? "".concat(pageRef.num, "R") : "".concat(pageRef.num, "R").concat(pageRef.gen);
      return this._pagesRefCache && this._pagesRefCache[refStr] || null;
    }
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      return this.pdfViewer.isPageVisible(pageNumber);
    }
  }, {
    key: "isPageCached",
    value: function isPageCached(pageNumber) {
      return this.pdfViewer.isPageCached(pageNumber);
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return this.pdfDocument ? this.pdfDocument.numPages : 0;
    }
  }, {
    key: "page",
    get: function get() {
      return this.pdfViewer.currentPageNumber;
    },
    set: function set(value) {
      this.pdfViewer.currentPageNumber = value;
    }
  }, {
    key: "rotation",
    get: function get() {
      return this.pdfViewer.pagesRotation;
    },
    set: function set(value) {
      this.pdfViewer.pagesRotation = value;
    }
  }]);

  return PDFLinkService;
}();

exports.PDFLinkService = PDFLinkService;

function isValidExplicitDestination(dest) {
  if (!Array.isArray(dest)) {
    return false;
  }

  var destLength = dest.length;

  if (destLength < 2) {
    return false;
  }

  var page = dest[0];

  if (!(_typeof(page) === "object" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {
    return false;
  }

  var zoom = dest[1];

  if (!(_typeof(zoom) === "object" && typeof zoom.name === "string")) {
    return false;
  }

  var allowNull = true;

  switch (zoom.name) {
    case "XYZ":
      if (destLength !== 5) {
        return false;
      }

      break;

    case "Fit":
    case "FitB":
      return destLength === 2;

    case "FitH":
    case "FitBH":
    case "FitV":
    case "FitBV":
      if (destLength !== 3) {
        return false;
      }

      break;

    case "FitR":
      if (destLength !== 6) {
        return false;
      }

      allowNull = false;
      break;

    default:
      return false;
  }

  for (var i = 2; i < destLength; i++) {
    var param = dest[i];

    if (!(typeof param === "number" || allowNull && param === null)) {
      return false;
    }
  }

  return true;
}

var SimpleLinkService = /*#__PURE__*/function () {
  function SimpleLinkService() {
    _classCallCheck(this, SimpleLinkService);

    this.externalLinkTarget = null;
    this.externalLinkRel = null;
    this.externalLinkEnabled = true;
    this._ignoreDestinationZoom = false;
  }

  _createClass(SimpleLinkService, [{
    key: "goToDestination",
    value: function () {
      var _goToDestination2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2(dest) {
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2);
      }));

      function goToDestination(_x2) {
        return _goToDestination2.apply(this, arguments);
      }

      return goToDestination;
    }()
  }, {
    key: "goToPage",
    value: function goToPage(val) {}
  }, {
    key: "getDestinationHash",
    value: function getDestinationHash(dest) {
      return "#";
    }
  }, {
    key: "getAnchorUrl",
    value: function getAnchorUrl(hash) {
      return "#";
    }
  }, {
    key: "setHash",
    value: function setHash(hash) {}
  }, {
    key: "executeNamedAction",
    value: function executeNamedAction(action) {}
  }, {
    key: "cachePageRef",
    value: function cachePageRef(pageNum, pageRef) {}
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      return true;
    }
  }, {
    key: "isPageCached",
    value: function isPageCached(pageNumber) {
      return true;
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return 0;
    }
  }, {
    key: "page",
    get: function get() {
      return 0;
    },
    set: function set(value) {}
  }, {
    key: "rotation",
    get: function get() {
      return 0;
    },
    set: function set(value) {}
  }]);

  return SimpleLinkService;
}();

exports.SimpleLinkService = SimpleLinkService;

/***/ }),
/* 7 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.TextLayerBuilder = exports.DefaultTextLayerFactory = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var EXPAND_DIVS_TIMEOUT = 300;

var TextLayerBuilder = /*#__PURE__*/function () {
  function TextLayerBuilder(_ref) {
    var textLayerDiv = _ref.textLayerDiv,
        eventBus = _ref.eventBus,
        pageIndex = _ref.pageIndex,
        viewport = _ref.viewport,
        _ref$findController = _ref.findController,
        findController = _ref$findController === void 0 ? null : _ref$findController,
        _ref$enhanceTextSelec = _ref.enhanceTextSelection,
        enhanceTextSelection = _ref$enhanceTextSelec === void 0 ? false : _ref$enhanceTextSelec;

    _classCallCheck(this, TextLayerBuilder);

    this.textLayerDiv = textLayerDiv;
    this.eventBus = eventBus;
    this.textContent = null;
    this.textContentItemsStr = [];
    this.textContentStream = null;
    this.renderingDone = false;
    this.pageIdx = pageIndex;
    this.pageNumber = this.pageIdx + 1;
    this.matches = [];
    this.viewport = viewport;
    this.textDivs = [];
    this.findController = findController;
    this.textLayerRenderTask = null;
    this.enhanceTextSelection = enhanceTextSelection;
    this._onUpdateTextLayerMatches = null;

    this._bindMouse();
  }

  _createClass(TextLayerBuilder, [{
    key: "_finishRendering",
    value: function _finishRendering() {
      this.renderingDone = true;

      if (!this.enhanceTextSelection) {
        var endOfContent = document.createElement("div");
        endOfContent.className = "endOfContent";
        this.textLayerDiv.appendChild(endOfContent);
      }

      this.eventBus.dispatch("textlayerrendered", {
        source: this,
        pageNumber: this.pageNumber,
        numTextDivs: this.textDivs.length
      });
    }
  }, {
    key: "render",
    value: function render() {
      var _this = this;

      var timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;

      if (!(this.textContent || this.textContentStream) || this.renderingDone) {
        return;
      }

      this.cancel();
      this.textDivs = [];
      var textLayerFrag = document.createDocumentFragment();
      this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({
        textContent: this.textContent,
        textContentStream: this.textContentStream,
        container: textLayerFrag,
        viewport: this.viewport,
        textDivs: this.textDivs,
        textContentItemsStr: this.textContentItemsStr,
        timeout: timeout,
        enhanceTextSelection: this.enhanceTextSelection
      });
      this.textLayerRenderTask.promise.then(function () {
        _this.textLayerDiv.appendChild(textLayerFrag);

        _this._finishRendering();

        _this._updateMatches();
      }, function (reason) {});

      if (!this._onUpdateTextLayerMatches) {
        this._onUpdateTextLayerMatches = function (evt) {
          if (evt.pageIndex === _this.pageIdx || evt.pageIndex === -1) {
            _this._updateMatches();
          }
        };

        this.eventBus._on("updatetextlayermatches", this._onUpdateTextLayerMatches);
      }
    }
  }, {
    key: "cancel",
    value: function cancel() {
      if (this.textLayerRenderTask) {
        this.textLayerRenderTask.cancel();
        this.textLayerRenderTask = null;
      }

      if (this._onUpdateTextLayerMatches) {
        this.eventBus._off("updatetextlayermatches", this._onUpdateTextLayerMatches);

        this._onUpdateTextLayerMatches = null;
      }
    }
  }, {
    key: "setTextContentStream",
    value: function setTextContentStream(readableStream) {
      this.cancel();
      this.textContentStream = readableStream;
    }
  }, {
    key: "setTextContent",
    value: function setTextContent(textContent) {
      this.cancel();
      this.textContent = textContent;
    }
  }, {
    key: "_convertMatches",
    value: function _convertMatches(matches, matchesLength) {
      if (!matches) {
        return [];
      }

      var textContentItemsStr = this.textContentItemsStr;
      var i = 0,
          iIndex = 0;
      var end = textContentItemsStr.length - 1;
      var result = [];

      for (var m = 0, mm = matches.length; m < mm; m++) {
        var matchIdx = matches[m];

        while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {
          iIndex += textContentItemsStr[i].length;
          i++;
        }

        if (i === textContentItemsStr.length) {
          console.error("Could not find a matching mapping");
        }

        var match = {
          begin: {
            divIdx: i,
            offset: matchIdx - iIndex
          }
        };
        matchIdx += matchesLength[m];

        while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {
          iIndex += textContentItemsStr[i].length;
          i++;
        }

        match.end = {
          divIdx: i,
          offset: matchIdx - iIndex
        };
        result.push(match);
      }

      return result;
    }
  }, {
    key: "_renderMatches",
    value: function _renderMatches(matches) {
      if (matches.length === 0) {
        return;
      }

      var findController = this.findController,
          pageIdx = this.pageIdx,
          textContentItemsStr = this.textContentItemsStr,
          textDivs = this.textDivs;
      var isSelectedPage = pageIdx === findController.selected.pageIdx;
      var selectedMatchIdx = findController.selected.matchIdx;
      var highlightAll = findController.state.highlightAll;
      var prevEnd = null;
      var infinity = {
        divIdx: -1,
        offset: undefined
      };

      function beginText(begin, className) {
        var divIdx = begin.divIdx;
        textDivs[divIdx].textContent = "";
        appendTextToDiv(divIdx, 0, begin.offset, className);
      }

      function appendTextToDiv(divIdx, fromOffset, toOffset, className) {
        var div = textDivs[divIdx];
        var content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);
        var node = document.createTextNode(content);

        if (className) {
          var span = document.createElement("span");
          span.className = className;
          span.appendChild(node);
          div.appendChild(span);
          return;
        }

        div.appendChild(node);
      }

      var i0 = selectedMatchIdx,
          i1 = i0 + 1;

      if (highlightAll) {
        i0 = 0;
        i1 = matches.length;
      } else if (!isSelectedPage) {
        return;
      }

      for (var i = i0; i < i1; i++) {
        var match = matches[i];
        var begin = match.begin;
        var end = match.end;
        var isSelected = isSelectedPage && i === selectedMatchIdx;
        var highlightSuffix = isSelected ? " selected" : "";

        if (isSelected) {
          findController.scrollMatchIntoView({
            element: textDivs[begin.divIdx],
            pageIndex: pageIdx,
            matchIndex: selectedMatchIdx
          });
        }

        if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {
          if (prevEnd !== null) {
            appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
          }

          beginText(begin);
        } else {
          appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);
        }

        if (begin.divIdx === end.divIdx) {
          appendTextToDiv(begin.divIdx, begin.offset, end.offset, "highlight" + highlightSuffix);
        } else {
          appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, "highlight begin" + highlightSuffix);

          for (var n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {
            textDivs[n0].className = "highlight middle" + highlightSuffix;
          }

          beginText(end, "highlight end" + highlightSuffix);
        }

        prevEnd = end;
      }

      if (prevEnd) {
        appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);
      }
    }
  }, {
    key: "_updateMatches",
    value: function _updateMatches() {
      if (!this.renderingDone) {
        return;
      }

      var findController = this.findController,
          matches = this.matches,
          pageIdx = this.pageIdx,
          textContentItemsStr = this.textContentItemsStr,
          textDivs = this.textDivs;
      var clearedUntilDivIdx = -1;

      for (var i = 0, ii = matches.length; i < ii; i++) {
        var match = matches[i];
        var begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);

        for (var n = begin, end = match.end.divIdx; n <= end; n++) {
          var div = textDivs[n];
          div.textContent = textContentItemsStr[n];
          div.className = "";
        }

        clearedUntilDivIdx = match.end.divIdx + 1;
      }

      if (!findController || !findController.highlightMatches) {
        return;
      }

      var pageMatches = findController.pageMatches[pageIdx] || null;
      var pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;
      this.matches = this._convertMatches(pageMatches, pageMatchesLength);

      this._renderMatches(this.matches);
    }
  }, {
    key: "_bindMouse",
    value: function _bindMouse() {
      var _this2 = this;

      var div = this.textLayerDiv;
      var expandDivsTimer = null;
      div.addEventListener("mousedown", function (evt) {
        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
          _this2.textLayerRenderTask.expandTextDivs(true);

          if (expandDivsTimer) {
            clearTimeout(expandDivsTimer);
            expandDivsTimer = null;
          }

          return;
        }

        var end = div.querySelector(".endOfContent");

        if (!end) {
          return;
        }

        var adjustTop = evt.target !== div;
        adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue("-moz-user-select") !== "none";

        if (adjustTop) {
          var divBounds = div.getBoundingClientRect();
          var r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);
          end.style.top = (r * 100).toFixed(2) + "%";
        }

        end.classList.add("active");
      });
      div.addEventListener("mouseup", function () {
        if (_this2.enhanceTextSelection && _this2.textLayerRenderTask) {
          expandDivsTimer = setTimeout(function () {
            if (_this2.textLayerRenderTask) {
              _this2.textLayerRenderTask.expandTextDivs(false);
            }

            expandDivsTimer = null;
          }, EXPAND_DIVS_TIMEOUT);
          return;
        }

        var end = div.querySelector(".endOfContent");

        if (!end) {
          return;
        }

        end.style.top = "";
        end.classList.remove("active");
      });
    }
  }]);

  return TextLayerBuilder;
}();

exports.TextLayerBuilder = TextLayerBuilder;

var DefaultTextLayerFactory = /*#__PURE__*/function () {
  function DefaultTextLayerFactory() {
    _classCallCheck(this, DefaultTextLayerFactory);
  }

  _createClass(DefaultTextLayerFactory, [{
    key: "createTextLayerBuilder",
    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
      return new TextLayerBuilder({
        textLayerDiv: textLayerDiv,
        pageIndex: pageIndex,
        viewport: viewport,
        enhanceTextSelection: enhanceTextSelection,
        eventBus: eventBus
      });
    }
  }]);

  return DefaultTextLayerFactory;
}();

exports.DefaultTextLayerFactory = DefaultTextLayerFactory;

/***/ }),
/* 8 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.DownloadManager = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _viewer_compatibility = __w_pdfjs_require__(9);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

;

function _download(blobUrl, filename) {
  var a = document.createElement("a");

  if (!a.click) {
    throw new Error('DownloadManager: "a.click()" is not supported.');
  }

  a.href = blobUrl;
  a.target = "_parent";

  if ("download" in a) {
    a.download = filename;
  }

  (document.body || document.documentElement).appendChild(a);
  a.click();
  a.remove();
}

var DownloadManager = /*#__PURE__*/function () {
  function DownloadManager() {
    _classCallCheck(this, DownloadManager);
  }

  _createClass(DownloadManager, [{
    key: "downloadUrl",
    value: function downloadUrl(url, filename) {
      if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, "http://example.com")) {
        return;
      }

      _download(url + "#pdfjs.action=download", filename);
    }
  }, {
    key: "downloadData",
    value: function downloadData(data, filename, contentType) {
      var blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL);

      _download(blobUrl, filename);
    }
  }, {
    key: "download",
    value: function download(blob, url, filename) {
      var sourceEventType = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "download";

      if (_viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL) {
        this.downloadUrl(url, filename);
        return;
      }

      var blobUrl = URL.createObjectURL(blob);

      _download(blobUrl, filename);
    }
  }]);

  return DownloadManager;
}();

exports.DownloadManager = DownloadManager;

/***/ }),
/* 9 */
/***/ ((__unused_webpack_module, exports) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.viewerCompatibilityParams = void 0;
var compatibilityParams = Object.create(null);
{
  var userAgent = typeof navigator !== "undefined" && navigator.userAgent || "";
  var platform = typeof navigator !== "undefined" && navigator.platform || "";
  var maxTouchPoints = typeof navigator !== "undefined" && navigator.maxTouchPoints || 1;
  var isAndroid = /Android/.test(userAgent);
  var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === "MacIntel" && maxTouchPoints > 1;
  var isIOSChrome = /CriOS/.test(userAgent);

  (function checkOnBlobSupport() {
    if (isIOSChrome) {
      compatibilityParams.disableCreateObjectURL = true;
    }
  })();

  (function checkCanvasSizeLimitation() {
    if (isIOS || isAndroid) {
      compatibilityParams.maxCanvasPixels = 5242880;
    }
  })();
}
var viewerCompatibilityParams = Object.freeze(compatibilityParams);
exports.viewerCompatibilityParams = viewerCompatibilityParams;

/***/ }),
/* 10 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.GenericL10n = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

__w_pdfjs_require__(11);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var webL10n = document.webL10n;

var GenericL10n = /*#__PURE__*/function () {
  function GenericL10n(lang) {
    _classCallCheck(this, GenericL10n);

    this._lang = lang;
    this._ready = new Promise(function (resolve, reject) {
      webL10n.setLanguage(lang, function () {
        resolve(webL10n);
      });
    });
  }

  _createClass(GenericL10n, [{
    key: "getLanguage",
    value: function () {
      var _getLanguage = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var l10n;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return this._ready;

              case 2:
                l10n = _context.sent;
                return _context.abrupt("return", l10n.getLanguage());

              case 4:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this);
      }));

      function getLanguage() {
        return _getLanguage.apply(this, arguments);
      }

      return getLanguage;
    }()
  }, {
    key: "getDirection",
    value: function () {
      var _getDirection = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
        var l10n;
        return _regenerator["default"].wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return this._ready;

              case 2:
                l10n = _context2.sent;
                return _context2.abrupt("return", l10n.getDirection());

              case 4:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2, this);
      }));

      function getDirection() {
        return _getDirection.apply(this, arguments);
      }

      return getDirection;
    }()
  }, {
    key: "get",
    value: function () {
      var _get = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee3(property, args, fallback) {
        var l10n;
        return _regenerator["default"].wrap(function _callee3$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                _context3.next = 2;
                return this._ready;

              case 2:
                l10n = _context3.sent;
                return _context3.abrupt("return", l10n.get(property, args, fallback));

              case 4:
              case "end":
                return _context3.stop();
            }
          }
        }, _callee3, this);
      }));

      function get(_x, _x2, _x3) {
        return _get.apply(this, arguments);
      }

      return get;
    }()
  }, {
    key: "translate",
    value: function () {
      var _translate = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee4(element) {
        var l10n;
        return _regenerator["default"].wrap(function _callee4$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                _context4.next = 2;
                return this._ready;

              case 2:
                l10n = _context4.sent;
                return _context4.abrupt("return", l10n.translate(element));

              case 4:
              case "end":
                return _context4.stop();
            }
          }
        }, _callee4, this);
      }));

      function translate(_x4) {
        return _translate.apply(this, arguments);
      }

      return translate;
    }()
  }]);

  return GenericL10n;
}();

exports.GenericL10n = GenericL10n;

/***/ }),
/* 11 */
/***/ (() => {



document.webL10n = function (window, document, undefined) {
  var gL10nData = {};
  var gTextData = '';
  var gTextProp = 'textContent';
  var gLanguage = '';
  var gMacros = {};
  var gReadyState = 'loading';
  var gAsyncResourceLoading = true;

  function getL10nResourceLinks() {
    return document.querySelectorAll('link[type="application/l10n"]');
  }

  function getL10nDictionary() {
    var script = document.querySelector('script[type="application/l10n"]');
    return script ? JSON.parse(script.innerHTML) : null;
  }

  function getTranslatableChildren(element) {
    return element ? element.querySelectorAll('*[data-l10n-id]') : [];
  }

  function getL10nAttributes(element) {
    if (!element) return {};
    var l10nId = element.getAttribute('data-l10n-id');
    var l10nArgs = element.getAttribute('data-l10n-args');
    var args = {};

    if (l10nArgs) {
      try {
        args = JSON.parse(l10nArgs);
      } catch (e) {
        console.warn('could not parse arguments for #' + l10nId);
      }
    }

    return {
      id: l10nId,
      args: args
    };
  }

  function xhrLoadText(url, onSuccess, onFailure) {
    onSuccess = onSuccess || function _onSuccess(data) {};

    onFailure = onFailure || function _onFailure() {};

    var xhr = new XMLHttpRequest();
    xhr.open('GET', url, gAsyncResourceLoading);

    if (xhr.overrideMimeType) {
      xhr.overrideMimeType('text/plain; charset=utf-8');
    }

    xhr.onreadystatechange = function () {
      if (xhr.readyState == 4) {
        if (xhr.status == 200 || xhr.status === 0) {
          onSuccess(xhr.responseText);
        } else {
          onFailure();
        }
      }
    };

    xhr.onerror = onFailure;
    xhr.ontimeout = onFailure;

    try {
      xhr.send(null);
    } catch (e) {
      onFailure();
    }
  }

  function parseResource(href, lang, successCallback, failureCallback) {
    var baseURL = href.replace(/[^\/]*$/, '') || './';

    function evalString(text) {
      if (text.lastIndexOf('\\') < 0) return text;
      return text.replace(/\\\\/g, '\\').replace(/\\n/g, '\n').replace(/\\r/g, '\r').replace(/\\t/g, '\t').replace(/\\b/g, '\b').replace(/\\f/g, '\f').replace(/\\{/g, '{').replace(/\\}/g, '}').replace(/\\"/g, '"').replace(/\\'/g, "'");
    }

    function parseProperties(text, parsedPropertiesCallback) {
      var dictionary = {};
      var reBlank = /^\s*|\s*$/;
      var reComment = /^\s*#|^\s*$/;
      var reSection = /^\s*\[(.*)\]\s*$/;
      var reImport = /^\s*@import\s+url\((.*)\)\s*$/i;
      var reSplit = /^([^=\s]*)\s*=\s*(.+)$/;

      function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {
        var entries = rawText.replace(reBlank, '').split(/[\r\n]+/);
        var currentLang = '*';
        var genericLang = lang.split('-', 1)[0];
        var skipLang = false;
        var match = '';

        function nextEntry() {
          while (true) {
            if (!entries.length) {
              parsedRawLinesCallback();
              return;
            }

            var line = entries.shift();
            if (reComment.test(line)) continue;

            if (extendedSyntax) {
              match = reSection.exec(line);

              if (match) {
                currentLang = match[1].toLowerCase();
                skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;
                continue;
              } else if (skipLang) {
                continue;
              }

              match = reImport.exec(line);

              if (match) {
                loadImport(baseURL + match[1], nextEntry);
                return;
              }
            }

            var tmp = line.match(reSplit);

            if (tmp && tmp.length == 3) {
              dictionary[tmp[1]] = evalString(tmp[2]);
            }
          }
        }

        nextEntry();
      }

      function loadImport(url, callback) {
        xhrLoadText(url, function (content) {
          parseRawLines(content, false, callback);
        }, function () {
          console.warn(url + ' not found.');
          callback();
        });
      }

      parseRawLines(text, true, function () {
        parsedPropertiesCallback(dictionary);
      });
    }

    xhrLoadText(href, function (response) {
      gTextData += response;
      parseProperties(response, function (data) {
        for (var key in data) {
          var id,
              prop,
              index = key.lastIndexOf('.');

          if (index > 0) {
            id = key.substring(0, index);
            prop = key.substring(index + 1);
          } else {
            id = key;
            prop = gTextProp;
          }

          if (!gL10nData[id]) {
            gL10nData[id] = {};
          }

          gL10nData[id][prop] = data[key];
        }

        if (successCallback) {
          successCallback();
        }
      });
    }, failureCallback);
  }

  function loadLocale(lang, callback) {
    if (lang) {
      lang = lang.toLowerCase();
    }

    callback = callback || function _callback() {};

    clear();
    gLanguage = lang;
    var langLinks = getL10nResourceLinks();
    var langCount = langLinks.length;

    if (langCount === 0) {
      var dict = getL10nDictionary();

      if (dict && dict.locales && dict.default_locale) {
        console.log('using the embedded JSON directory, early way out');
        gL10nData = dict.locales[lang];

        if (!gL10nData) {
          var defaultLocale = dict.default_locale.toLowerCase();

          for (var anyCaseLang in dict.locales) {
            anyCaseLang = anyCaseLang.toLowerCase();

            if (anyCaseLang === lang) {
              gL10nData = dict.locales[lang];
              break;
            } else if (anyCaseLang === defaultLocale) {
              gL10nData = dict.locales[defaultLocale];
            }
          }
        }

        callback();
      } else {
        console.log('no resource to load, early way out');
      }

      gReadyState = 'complete';
      return;
    }

    var onResourceLoaded = null;
    var gResourceCount = 0;

    onResourceLoaded = function onResourceLoaded() {
      gResourceCount++;

      if (gResourceCount >= langCount) {
        callback();
        gReadyState = 'complete';
      }
    };

    function L10nResourceLink(link) {
      var href = link.href;

      this.load = function (lang, callback) {
        parseResource(href, lang, callback, function () {
          console.warn(href + ' not found.');
          console.warn('"' + lang + '" resource not found');
          gLanguage = '';
          callback();
        });
      };
    }

    for (var i = 0; i < langCount; i++) {
      var resource = new L10nResourceLink(langLinks[i]);
      resource.load(lang, onResourceLoaded);
    }
  }

  function clear() {
    gL10nData = {};
    gTextData = '';
    gLanguage = '';
  }

  function getPluralRules(lang) {
    var locales2rules = {
      'af': 3,
      'ak': 4,
      'am': 4,
      'ar': 1,
      'asa': 3,
      'az': 0,
      'be': 11,
      'bem': 3,
      'bez': 3,
      'bg': 3,
      'bh': 4,
      'bm': 0,
      'bn': 3,
      'bo': 0,
      'br': 20,
      'brx': 3,
      'bs': 11,
      'ca': 3,
      'cgg': 3,
      'chr': 3,
      'cs': 12,
      'cy': 17,
      'da': 3,
      'de': 3,
      'dv': 3,
      'dz': 0,
      'ee': 3,
      'el': 3,
      'en': 3,
      'eo': 3,
      'es': 3,
      'et': 3,
      'eu': 3,
      'fa': 0,
      'ff': 5,
      'fi': 3,
      'fil': 4,
      'fo': 3,
      'fr': 5,
      'fur': 3,
      'fy': 3,
      'ga': 8,
      'gd': 24,
      'gl': 3,
      'gsw': 3,
      'gu': 3,
      'guw': 4,
      'gv': 23,
      'ha': 3,
      'haw': 3,
      'he': 2,
      'hi': 4,
      'hr': 11,
      'hu': 0,
      'id': 0,
      'ig': 0,
      'ii': 0,
      'is': 3,
      'it': 3,
      'iu': 7,
      'ja': 0,
      'jmc': 3,
      'jv': 0,
      'ka': 0,
      'kab': 5,
      'kaj': 3,
      'kcg': 3,
      'kde': 0,
      'kea': 0,
      'kk': 3,
      'kl': 3,
      'km': 0,
      'kn': 0,
      'ko': 0,
      'ksb': 3,
      'ksh': 21,
      'ku': 3,
      'kw': 7,
      'lag': 18,
      'lb': 3,
      'lg': 3,
      'ln': 4,
      'lo': 0,
      'lt': 10,
      'lv': 6,
      'mas': 3,
      'mg': 4,
      'mk': 16,
      'ml': 3,
      'mn': 3,
      'mo': 9,
      'mr': 3,
      'ms': 0,
      'mt': 15,
      'my': 0,
      'nah': 3,
      'naq': 7,
      'nb': 3,
      'nd': 3,
      'ne': 3,
      'nl': 3,
      'nn': 3,
      'no': 3,
      'nr': 3,
      'nso': 4,
      'ny': 3,
      'nyn': 3,
      'om': 3,
      'or': 3,
      'pa': 3,
      'pap': 3,
      'pl': 13,
      'ps': 3,
      'pt': 3,
      'rm': 3,
      'ro': 9,
      'rof': 3,
      'ru': 11,
      'rwk': 3,
      'sah': 0,
      'saq': 3,
      'se': 7,
      'seh': 3,
      'ses': 0,
      'sg': 0,
      'sh': 11,
      'shi': 19,
      'sk': 12,
      'sl': 14,
      'sma': 7,
      'smi': 7,
      'smj': 7,
      'smn': 7,
      'sms': 7,
      'sn': 3,
      'so': 3,
      'sq': 3,
      'sr': 11,
      'ss': 3,
      'ssy': 3,
      'st': 3,
      'sv': 3,
      'sw': 3,
      'syr': 3,
      'ta': 3,
      'te': 3,
      'teo': 3,
      'th': 0,
      'ti': 4,
      'tig': 3,
      'tk': 3,
      'tl': 4,
      'tn': 3,
      'to': 0,
      'tr': 0,
      'ts': 3,
      'tzm': 22,
      'uk': 11,
      'ur': 3,
      've': 3,
      'vi': 0,
      'vun': 3,
      'wa': 4,
      'wae': 3,
      'wo': 0,
      'xh': 3,
      'xog': 3,
      'yo': 0,
      'zh': 0,
      'zu': 3
    };

    function isIn(n, list) {
      return list.indexOf(n) !== -1;
    }

    function isBetween(n, start, end) {
      return start <= n && n <= end;
    }

    var pluralRules = {
      '0': function _(n) {
        return 'other';
      },
      '1': function _(n) {
        if (isBetween(n % 100, 3, 10)) return 'few';
        if (n === 0) return 'zero';
        if (isBetween(n % 100, 11, 99)) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '2': function _(n) {
        if (n !== 0 && n % 10 === 0) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '3': function _(n) {
        if (n == 1) return 'one';
        return 'other';
      },
      '4': function _(n) {
        if (isBetween(n, 0, 1)) return 'one';
        return 'other';
      },
      '5': function _(n) {
        if (isBetween(n, 0, 2) && n != 2) return 'one';
        return 'other';
      },
      '6': function _(n) {
        if (n === 0) return 'zero';
        if (n % 10 == 1 && n % 100 != 11) return 'one';
        return 'other';
      },
      '7': function _(n) {
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '8': function _(n) {
        if (isBetween(n, 3, 6)) return 'few';
        if (isBetween(n, 7, 10)) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '9': function _(n) {
        if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';
        if (n == 1) return 'one';
        return 'other';
      },
      '10': function _(n) {
        if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';
        if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';
        return 'other';
      },
      '11': function _(n) {
        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
        if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';
        if (n % 10 == 1 && n % 100 != 11) return 'one';
        return 'other';
      },
      '12': function _(n) {
        if (isBetween(n, 2, 4)) return 'few';
        if (n == 1) return 'one';
        return 'other';
      },
      '13': function _(n) {
        if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';
        if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';
        if (n == 1) return 'one';
        return 'other';
      },
      '14': function _(n) {
        if (isBetween(n % 100, 3, 4)) return 'few';
        if (n % 100 == 2) return 'two';
        if (n % 100 == 1) return 'one';
        return 'other';
      },
      '15': function _(n) {
        if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';
        if (isBetween(n % 100, 11, 19)) return 'many';
        if (n == 1) return 'one';
        return 'other';
      },
      '16': function _(n) {
        if (n % 10 == 1 && n != 11) return 'one';
        return 'other';
      },
      '17': function _(n) {
        if (n == 3) return 'few';
        if (n === 0) return 'zero';
        if (n == 6) return 'many';
        if (n == 2) return 'two';
        if (n == 1) return 'one';
        return 'other';
      },
      '18': function _(n) {
        if (n === 0) return 'zero';
        if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';
        return 'other';
      },
      '19': function _(n) {
        if (isBetween(n, 2, 10)) return 'few';
        if (isBetween(n, 0, 1)) return 'one';
        return 'other';
      },
      '20': function _(n) {
        if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';
        if (n % 1000000 === 0 && n !== 0) return 'many';
        if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';
        if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';
        return 'other';
      },
      '21': function _(n) {
        if (n === 0) return 'zero';
        if (n == 1) return 'one';
        return 'other';
      },
      '22': function _(n) {
        if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';
        return 'other';
      },
      '23': function _(n) {
        if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';
        return 'other';
      },
      '24': function _(n) {
        if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';
        if (isIn(n, [2, 12])) return 'two';
        if (isIn(n, [1, 11])) return 'one';
        return 'other';
      }
    };
    var index = locales2rules[lang.replace(/-.*$/, '')];

    if (!(index in pluralRules)) {
      console.warn('plural form unknown for [' + lang + ']');
      return function () {
        return 'other';
      };
    }

    return pluralRules[index];
  }

  gMacros.plural = function (str, param, key, prop) {
    var n = parseFloat(param);
    if (isNaN(n)) return str;
    if (prop != gTextProp) return str;

    if (!gMacros._pluralRules) {
      gMacros._pluralRules = getPluralRules(gLanguage);
    }

    var index = '[' + gMacros._pluralRules(n) + ']';

    if (n === 0 && key + '[zero]' in gL10nData) {
      str = gL10nData[key + '[zero]'][prop];
    } else if (n == 1 && key + '[one]' in gL10nData) {
      str = gL10nData[key + '[one]'][prop];
    } else if (n == 2 && key + '[two]' in gL10nData) {
      str = gL10nData[key + '[two]'][prop];
    } else if (key + index in gL10nData) {
      str = gL10nData[key + index][prop];
    } else if (key + '[other]' in gL10nData) {
      str = gL10nData[key + '[other]'][prop];
    }

    return str;
  };

  function getL10nData(key, args, fallback) {
    var data = gL10nData[key];

    if (!data) {
      console.warn('#' + key + ' is undefined.');

      if (!fallback) {
        return null;
      }

      data = fallback;
    }

    var rv = {};

    for (var prop in data) {
      var str = data[prop];
      str = substIndexes(str, args, key, prop);
      str = substArguments(str, args, key);
      rv[prop] = str;
    }

    return rv;
  }

  function substIndexes(str, args, key, prop) {
    var reIndex = /\{\[\s*([a-zA-Z]+)\(([a-zA-Z]+)\)\s*\]\}/;
    var reMatch = reIndex.exec(str);
    if (!reMatch || !reMatch.length) return str;
    var macroName = reMatch[1];
    var paramName = reMatch[2];
    var param;

    if (args && paramName in args) {
      param = args[paramName];
    } else if (paramName in gL10nData) {
      param = gL10nData[paramName];
    }

    if (macroName in gMacros) {
      var macro = gMacros[macroName];
      str = macro(str, param, key, prop);
    }

    return str;
  }

  function substArguments(str, args, key) {
    var reArgs = /\{\{\s*(.+?)\s*\}\}/g;
    return str.replace(reArgs, function (matched_text, arg) {
      if (args && arg in args) {
        return args[arg];
      }

      if (arg in gL10nData) {
        return gL10nData[arg];
      }

      console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');
      return matched_text;
    });
  }

  function translateElement(element) {
    var l10n = getL10nAttributes(element);
    if (!l10n.id) return;
    var data = getL10nData(l10n.id, l10n.args);

    if (!data) {
      console.warn('#' + l10n.id + ' is undefined.');
      return;
    }

    if (data[gTextProp]) {
      if (getChildElementCount(element) === 0) {
        element[gTextProp] = data[gTextProp];
      } else {
        var children = element.childNodes;
        var found = false;

        for (var i = 0, l = children.length; i < l; i++) {
          if (children[i].nodeType === 3 && /\S/.test(children[i].nodeValue)) {
            if (found) {
              children[i].nodeValue = '';
            } else {
              children[i].nodeValue = data[gTextProp];
              found = true;
            }
          }
        }

        if (!found) {
          var textNode = document.createTextNode(data[gTextProp]);
          element.insertBefore(textNode, element.firstChild);
        }
      }

      delete data[gTextProp];
    }

    for (var k in data) {
      element[k] = data[k];
    }
  }

  function getChildElementCount(element) {
    if (element.children) {
      return element.children.length;
    }

    if (typeof element.childElementCount !== 'undefined') {
      return element.childElementCount;
    }

    var count = 0;

    for (var i = 0; i < element.childNodes.length; i++) {
      count += element.nodeType === 1 ? 1 : 0;
    }

    return count;
  }

  function translateFragment(element) {
    element = element || document.documentElement;
    var children = getTranslatableChildren(element);
    var elementCount = children.length;

    for (var i = 0; i < elementCount; i++) {
      translateElement(children[i]);
    }

    translateElement(element);
  }

  return {
    get: function get(key, args, fallbackString) {
      var index = key.lastIndexOf('.');
      var prop = gTextProp;

      if (index > 0) {
        prop = key.substring(index + 1);
        key = key.substring(0, index);
      }

      var fallback;

      if (fallbackString) {
        fallback = {};
        fallback[prop] = fallbackString;
      }

      var data = getL10nData(key, args, fallback);

      if (data && prop in data) {
        return data[prop];
      }

      return '{{' + key + '}}';
    },
    getData: function getData() {
      return gL10nData;
    },
    getText: function getText() {
      return gTextData;
    },
    getLanguage: function getLanguage() {
      return gLanguage;
    },
    setLanguage: function setLanguage(lang, callback) {
      loadLocale(lang, function () {
        if (callback) callback();
      });
    },
    getDirection: function getDirection() {
      var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];
      var shortCode = gLanguage.split('-', 1)[0];
      return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';
    },
    translate: translateFragment,
    getReadyState: function getReadyState() {
      return gReadyState;
    },
    ready: function ready(callback) {
      if (!callback) {
        return;
      } else if (gReadyState == 'complete' || gReadyState == 'interactive') {
        window.setTimeout(function () {
          callback();
        });
      } else if (document.addEventListener) {
        document.addEventListener('localized', function once() {
          document.removeEventListener('localized', once);
          callback();
        });
      }
    }
  };
}(window, document);

/***/ }),
/* 12 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFFindController = exports.FindState = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _pdf_find_utils = __w_pdfjs_require__(13);

var _ui_utils = __w_pdfjs_require__(3);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

var FindState = {
  FOUND: 0,
  NOT_FOUND: 1,
  WRAPPED: 2,
  PENDING: 3
};
exports.FindState = FindState;
var FIND_TIMEOUT = 250;
var MATCH_SCROLL_OFFSET_TOP = -50;
var MATCH_SCROLL_OFFSET_LEFT = -400;
var CHARACTERS_TO_NORMALIZE = {
  "\u2018": "'",
  "\u2019": "'",
  "\u201A": "'",
  "\u201B": "'",
  "\u201C": '"',
  "\u201D": '"',
  "\u201E": '"',
  "\u201F": '"',
  "\xBC": "1/4",
  "\xBD": "1/2",
  "\xBE": "3/4"
};
var normalizationRegex = null;

function normalize(text) {
  if (!normalizationRegex) {
    var replace = Object.keys(CHARACTERS_TO_NORMALIZE).join("");
    normalizationRegex = new RegExp("[".concat(replace, "]"), "g");
  }

  var diffs = null;
  var normalizedText = text.replace(normalizationRegex, function (ch, index) {
    var normalizedCh = CHARACTERS_TO_NORMALIZE[ch],
        diff = normalizedCh.length - ch.length;

    if (diff !== 0) {
      (diffs || (diffs = [])).push([index, diff]);
    }

    return normalizedCh;
  });
  return [normalizedText, diffs];
}

function getOriginalIndex(matchIndex) {
  var diffs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;

  if (!diffs) {
    return matchIndex;
  }

  var totalDiff = 0;

  var _iterator = _createForOfIteratorHelper(diffs),
      _step;

  try {
    for (_iterator.s(); !(_step = _iterator.n()).done;) {
      var _step$value = _slicedToArray(_step.value, 2),
          index = _step$value[0],
          diff = _step$value[1];

      var currentIndex = index + totalDiff;

      if (currentIndex >= matchIndex) {
        break;
      }

      if (currentIndex + diff > matchIndex) {
        totalDiff += matchIndex - currentIndex;
        break;
      }

      totalDiff += diff;
    }
  } catch (err) {
    _iterator.e(err);
  } finally {
    _iterator.f();
  }

  return matchIndex - totalDiff;
}

var PDFFindController = /*#__PURE__*/function () {
  function PDFFindController(_ref) {
    var linkService = _ref.linkService,
        eventBus = _ref.eventBus;

    _classCallCheck(this, PDFFindController);

    this._linkService = linkService;
    this._eventBus = eventBus;

    this._reset();

    eventBus._on("findbarclose", this._onFindBarClose.bind(this));
  }

  _createClass(PDFFindController, [{
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      if (this._pdfDocument) {
        this._reset();
      }

      if (!pdfDocument) {
        return;
      }

      this._pdfDocument = pdfDocument;

      this._firstPageCapability.resolve();
    }
  }, {
    key: "executeCommand",
    value: function executeCommand(cmd, state) {
      var _this = this;

      if (!state) {
        return;
      }

      var pdfDocument = this._pdfDocument;

      if (this._state === null || this._shouldDirtyMatch(cmd, state)) {
        this._dirtyMatch = true;
      }

      this._state = state;

      if (cmd !== "findhighlightallchange") {
        this._updateUIState(FindState.PENDING);
      }

      this._firstPageCapability.promise.then(function () {
        if (!_this._pdfDocument || pdfDocument && _this._pdfDocument !== pdfDocument) {
          return;
        }

        _this._extractText();

        var findbarClosed = !_this._highlightMatches;
        var pendingTimeout = !!_this._findTimeout;

        if (_this._findTimeout) {
          clearTimeout(_this._findTimeout);
          _this._findTimeout = null;
        }

        if (cmd === "find") {
          _this._findTimeout = setTimeout(function () {
            _this._nextMatch();

            _this._findTimeout = null;
          }, FIND_TIMEOUT);
        } else if (_this._dirtyMatch) {
          _this._nextMatch();
        } else if (cmd === "findagain") {
          _this._nextMatch();

          if (findbarClosed && _this._state.highlightAll) {
            _this._updateAllPages();
          }
        } else if (cmd === "findhighlightallchange") {
          if (pendingTimeout) {
            _this._nextMatch();
          } else {
            _this._highlightMatches = true;
          }

          _this._updateAllPages();
        } else {
          _this._nextMatch();
        }
      });
    }
  }, {
    key: "scrollMatchIntoView",
    value: function scrollMatchIntoView(_ref2) {
      var _ref2$element = _ref2.element,
          element = _ref2$element === void 0 ? null : _ref2$element,
          _ref2$pageIndex = _ref2.pageIndex,
          pageIndex = _ref2$pageIndex === void 0 ? -1 : _ref2$pageIndex,
          _ref2$matchIndex = _ref2.matchIndex,
          matchIndex = _ref2$matchIndex === void 0 ? -1 : _ref2$matchIndex;

      if (!this._scrollMatches || !element) {
        return;
      } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {
        return;
      } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {
        return;
      }

      this._scrollMatches = false;
      var spot = {
        top: MATCH_SCROLL_OFFSET_TOP,
        left: MATCH_SCROLL_OFFSET_LEFT
      };
      (0, _ui_utils.scrollIntoView)(element, spot, true);
    }
  }, {
    key: "_reset",
    value: function _reset() {
      this._highlightMatches = false;
      this._scrollMatches = false;
      this._pdfDocument = null;
      this._pageMatches = [];
      this._pageMatchesLength = [];
      this._state = null;
      this._selected = {
        pageIdx: -1,
        matchIdx: -1
      };
      this._offset = {
        pageIdx: null,
        matchIdx: null,
        wrapped: false
      };
      this._extractTextPromises = [];
      this._pageContents = [];
      this._pageDiffs = [];
      this._matchesCountTotal = 0;
      this._pagesToSearch = null;
      this._pendingFindMatches = Object.create(null);
      this._resumePageIdx = null;
      this._dirtyMatch = false;
      clearTimeout(this._findTimeout);
      this._findTimeout = null;
      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
    }
  }, {
    key: "_shouldDirtyMatch",
    value: function _shouldDirtyMatch(cmd, state) {
      if (state.query !== this._state.query) {
        return true;
      }

      switch (cmd) {
        case "findagain":
          var pageNumber = this._selected.pageIdx + 1;
          var linkService = this._linkService;

          if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {
            return true;
          }

          return false;

        case "findhighlightallchange":
          return false;
      }

      return true;
    }
  }, {
    key: "_prepareMatches",
    value: function _prepareMatches(matchesWithLength, matches, matchesLength) {
      function isSubTerm(currentIndex) {
        var currentElem = matchesWithLength[currentIndex];
        var nextElem = matchesWithLength[currentIndex + 1];

        if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {
          currentElem.skipped = true;
          return true;
        }

        for (var i = currentIndex - 1; i >= 0; i--) {
          var prevElem = matchesWithLength[i];

          if (prevElem.skipped) {
            continue;
          }

          if (prevElem.match + prevElem.matchLength < currentElem.match) {
            break;
          }

          if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {
            currentElem.skipped = true;
            return true;
          }
        }

        return false;
      }

      matchesWithLength.sort(function (a, b) {
        return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;
      });

      for (var i = 0, len = matchesWithLength.length; i < len; i++) {
        if (isSubTerm(i)) {
          continue;
        }

        matches.push(matchesWithLength[i].match);
        matchesLength.push(matchesWithLength[i].matchLength);
      }
    }
  }, {
    key: "_isEntireWord",
    value: function _isEntireWord(content, startIdx, length) {
      if (startIdx > 0) {
        var first = content.charCodeAt(startIdx);
        var limit = content.charCodeAt(startIdx - 1);

        if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {
          return false;
        }
      }

      var endIdx = startIdx + length - 1;

      if (endIdx < content.length - 1) {
        var last = content.charCodeAt(endIdx);

        var _limit = content.charCodeAt(endIdx + 1);

        if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(_limit)) {
          return false;
        }
      }

      return true;
    }
  }, {
    key: "_calculatePhraseMatch",
    value: function _calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {
      var matches = [],
          matchesLength = [];
      var queryLen = query.length;
      var matchIdx = -queryLen;

      while (true) {
        matchIdx = pageContent.indexOf(query, matchIdx + queryLen);

        if (matchIdx === -1) {
          break;
        }

        if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {
          continue;
        }

        var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),
            matchEnd = matchIdx + queryLen - 1,
            originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;
        matches.push(originalMatchIdx);
        matchesLength.push(originalQueryLen);
      }

      this._pageMatches[pageIndex] = matches;
      this._pageMatchesLength[pageIndex] = matchesLength;
    }
  }, {
    key: "_calculateWordMatch",
    value: function _calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord) {
      var matchesWithLength = [];
      var queryArray = query.match(/\S+/g);

      for (var i = 0, len = queryArray.length; i < len; i++) {
        var subquery = queryArray[i];
        var subqueryLen = subquery.length;
        var matchIdx = -subqueryLen;

        while (true) {
          matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);

          if (matchIdx === -1) {
            break;
          }

          if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {
            continue;
          }

          var originalMatchIdx = getOriginalIndex(matchIdx, pageDiffs),
              matchEnd = matchIdx + subqueryLen - 1,
              originalQueryLen = getOriginalIndex(matchEnd, pageDiffs) - originalMatchIdx + 1;
          matchesWithLength.push({
            match: originalMatchIdx,
            matchLength: originalQueryLen,
            skipped: false
          });
        }
      }

      this._pageMatchesLength[pageIndex] = [];
      this._pageMatches[pageIndex] = [];

      this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);
    }
  }, {
    key: "_calculateMatch",
    value: function _calculateMatch(pageIndex) {
      var pageContent = this._pageContents[pageIndex];
      var pageDiffs = this._pageDiffs[pageIndex];
      var query = this._query;
      var _this$_state = this._state,
          caseSensitive = _this$_state.caseSensitive,
          entireWord = _this$_state.entireWord,
          phraseSearch = _this$_state.phraseSearch;

      if (query.length === 0) {
        return;
      }

      if (!caseSensitive) {
        pageContent = pageContent.toLowerCase();
        query = query.toLowerCase();
      }

      if (phraseSearch) {
        this._calculatePhraseMatch(query, pageIndex, pageContent, pageDiffs, entireWord);
      } else {
        this._calculateWordMatch(query, pageIndex, pageContent, pageDiffs, entireWord);
      }

      if (this._state.highlightAll) {
        this._updatePage(pageIndex);
      }

      if (this._resumePageIdx === pageIndex) {
        this._resumePageIdx = null;

        this._nextPageMatch();
      }

      var pageMatchesCount = this._pageMatches[pageIndex].length;

      if (pageMatchesCount > 0) {
        this._matchesCountTotal += pageMatchesCount;

        this._updateUIResultsCount();
      }
    }
  }, {
    key: "_extractText",
    value: function _extractText() {
      var _this2 = this;

      if (this._extractTextPromises.length > 0) {
        return;
      }

      var promise = Promise.resolve();

      var _loop = function _loop(i, ii) {
        var extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();
        _this2._extractTextPromises[i] = extractTextCapability.promise;
        promise = promise.then(function () {
          return _this2._pdfDocument.getPage(i + 1).then(function (pdfPage) {
            return pdfPage.getTextContent({
              normalizeWhitespace: true
            });
          }).then(function (textContent) {
            var textItems = textContent.items;
            var strBuf = [];

            for (var j = 0, jj = textItems.length; j < jj; j++) {
              strBuf.push(textItems[j].str);
            }

            var _normalize = normalize(strBuf.join(""));

            var _normalize2 = _slicedToArray(_normalize, 2);

            _this2._pageContents[i] = _normalize2[0];
            _this2._pageDiffs[i] = _normalize2[1];
            extractTextCapability.resolve(i);
          }, function (reason) {
            console.error("Unable to get text content for page ".concat(i + 1), reason);
            _this2._pageContents[i] = "";
            _this2._pageDiffs[i] = null;
            extractTextCapability.resolve(i);
          });
        });
      };

      for (var i = 0, ii = this._linkService.pagesCount; i < ii; i++) {
        _loop(i, ii);
      }
    }
  }, {
    key: "_updatePage",
    value: function _updatePage(index) {
      if (this._scrollMatches && this._selected.pageIdx === index) {
        this._linkService.page = index + 1;
      }

      this._eventBus.dispatch("updatetextlayermatches", {
        source: this,
        pageIndex: index
      });
    }
  }, {
    key: "_updateAllPages",
    value: function _updateAllPages() {
      this._eventBus.dispatch("updatetextlayermatches", {
        source: this,
        pageIndex: -1
      });
    }
  }, {
    key: "_nextMatch",
    value: function _nextMatch() {
      var _this3 = this;

      var previous = this._state.findPrevious;
      var currentPageIndex = this._linkService.page - 1;
      var numPages = this._linkService.pagesCount;
      this._highlightMatches = true;

      if (this._dirtyMatch) {
        this._dirtyMatch = false;
        this._selected.pageIdx = this._selected.matchIdx = -1;
        this._offset.pageIdx = currentPageIndex;
        this._offset.matchIdx = null;
        this._offset.wrapped = false;
        this._resumePageIdx = null;
        this._pageMatches.length = 0;
        this._pageMatchesLength.length = 0;
        this._matchesCountTotal = 0;

        this._updateAllPages();

        for (var i = 0; i < numPages; i++) {
          if (this._pendingFindMatches[i] === true) {
            continue;
          }

          this._pendingFindMatches[i] = true;

          this._extractTextPromises[i].then(function (pageIdx) {
            delete _this3._pendingFindMatches[pageIdx];

            _this3._calculateMatch(pageIdx);
          });
        }
      }

      if (this._query === "") {
        this._updateUIState(FindState.FOUND);

        return;
      }

      if (this._resumePageIdx) {
        return;
      }

      var offset = this._offset;
      this._pagesToSearch = numPages;

      if (offset.matchIdx !== null) {
        var numPageMatches = this._pageMatches[offset.pageIdx].length;

        if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {
          offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;

          this._updateMatch(true);

          return;
        }

        this._advanceOffsetPage(previous);
      }

      this._nextPageMatch();
    }
  }, {
    key: "_matchesReady",
    value: function _matchesReady(matches) {
      var offset = this._offset;
      var numMatches = matches.length;
      var previous = this._state.findPrevious;

      if (numMatches) {
        offset.matchIdx = previous ? numMatches - 1 : 0;

        this._updateMatch(true);

        return true;
      }

      this._advanceOffsetPage(previous);

      if (offset.wrapped) {
        offset.matchIdx = null;

        if (this._pagesToSearch < 0) {
          this._updateMatch(false);

          return true;
        }
      }

      return false;
    }
  }, {
    key: "_nextPageMatch",
    value: function _nextPageMatch() {
      if (this._resumePageIdx !== null) {
        console.error("There can only be one pending page.");
      }

      var matches = null;

      do {
        var pageIdx = this._offset.pageIdx;
        matches = this._pageMatches[pageIdx];

        if (!matches) {
          this._resumePageIdx = pageIdx;
          break;
        }
      } while (!this._matchesReady(matches));
    }
  }, {
    key: "_advanceOffsetPage",
    value: function _advanceOffsetPage(previous) {
      var offset = this._offset;
      var numPages = this._linkService.pagesCount;
      offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;
      offset.matchIdx = null;
      this._pagesToSearch--;

      if (offset.pageIdx >= numPages || offset.pageIdx < 0) {
        offset.pageIdx = previous ? numPages - 1 : 0;
        offset.wrapped = true;
      }
    }
  }, {
    key: "_updateMatch",
    value: function _updateMatch() {
      var found = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var state = FindState.NOT_FOUND;
      var wrapped = this._offset.wrapped;
      this._offset.wrapped = false;

      if (found) {
        var previousPage = this._selected.pageIdx;
        this._selected.pageIdx = this._offset.pageIdx;
        this._selected.matchIdx = this._offset.matchIdx;
        state = wrapped ? FindState.WRAPPED : FindState.FOUND;

        if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {
          this._updatePage(previousPage);
        }
      }

      this._updateUIState(state, this._state.findPrevious);

      if (this._selected.pageIdx !== -1) {
        this._scrollMatches = true;

        this._updatePage(this._selected.pageIdx);
      }
    }
  }, {
    key: "_onFindBarClose",
    value: function _onFindBarClose(evt) {
      var _this4 = this;

      var pdfDocument = this._pdfDocument;

      this._firstPageCapability.promise.then(function () {
        if (!_this4._pdfDocument || pdfDocument && _this4._pdfDocument !== pdfDocument) {
          return;
        }

        if (_this4._findTimeout) {
          clearTimeout(_this4._findTimeout);
          _this4._findTimeout = null;
        }

        if (_this4._resumePageIdx) {
          _this4._resumePageIdx = null;
          _this4._dirtyMatch = true;
        }

        _this4._updateUIState(FindState.FOUND);

        _this4._highlightMatches = false;

        _this4._updateAllPages();
      });
    }
  }, {
    key: "_requestMatchesCount",
    value: function _requestMatchesCount() {
      var _this$_selected = this._selected,
          pageIdx = _this$_selected.pageIdx,
          matchIdx = _this$_selected.matchIdx;
      var current = 0,
          total = this._matchesCountTotal;

      if (matchIdx !== -1) {
        for (var i = 0; i < pageIdx; i++) {
          current += this._pageMatches[i] && this._pageMatches[i].length || 0;
        }

        current += matchIdx + 1;
      }

      if (current < 1 || current > total) {
        current = total = 0;
      }

      return {
        current: current,
        total: total
      };
    }
  }, {
    key: "_updateUIResultsCount",
    value: function _updateUIResultsCount() {
      this._eventBus.dispatch("updatefindmatchescount", {
        source: this,
        matchesCount: this._requestMatchesCount()
      });
    }
  }, {
    key: "_updateUIState",
    value: function _updateUIState(state, previous) {
      this._eventBus.dispatch("updatefindcontrolstate", {
        source: this,
        state: state,
        previous: previous,
        matchesCount: this._requestMatchesCount(),
        rawQuery: this._state ? this._state.query : null
      });
    }
  }, {
    key: "highlightMatches",
    get: function get() {
      return this._highlightMatches;
    }
  }, {
    key: "pageMatches",
    get: function get() {
      return this._pageMatches;
    }
  }, {
    key: "pageMatchesLength",
    get: function get() {
      return this._pageMatchesLength;
    }
  }, {
    key: "selected",
    get: function get() {
      return this._selected;
    }
  }, {
    key: "state",
    get: function get() {
      return this._state;
    }
  }, {
    key: "_query",
    get: function get() {
      if (this._state.query !== this._rawQuery) {
        this._rawQuery = this._state.query;

        var _normalize3 = normalize(this._state.query);

        var _normalize4 = _slicedToArray(_normalize3, 1);

        this._normalizedQuery = _normalize4[0];
      }

      return this._normalizedQuery;
    }
  }]);

  return PDFFindController;
}();

exports.PDFFindController = PDFFindController;

/***/ }),
/* 13 */
/***/ ((__unused_webpack_module, exports) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.getCharacterType = getCharacterType;
exports.CharacterType = void 0;
var CharacterType = {
  SPACE: 0,
  ALPHA_LETTER: 1,
  PUNCT: 2,
  HAN_LETTER: 3,
  KATAKANA_LETTER: 4,
  HIRAGANA_LETTER: 5,
  HALFWIDTH_KATAKANA_LETTER: 6,
  THAI_LETTER: 7
};
exports.CharacterType = CharacterType;

function isAlphabeticalScript(charCode) {
  return charCode < 0x2e80;
}

function isAscii(charCode) {
  return (charCode & 0xff80) === 0;
}

function isAsciiAlpha(charCode) {
  return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;
}

function isAsciiDigit(charCode) {
  return charCode >= 0x30 && charCode <= 0x39;
}

function isAsciiSpace(charCode) {
  return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;
}

function isHan(charCode) {
  return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;
}

function isKatakana(charCode) {
  return charCode >= 0x30a0 && charCode <= 0x30ff;
}

function isHiragana(charCode) {
  return charCode >= 0x3040 && charCode <= 0x309f;
}

function isHalfwidthKatakana(charCode) {
  return charCode >= 0xff60 && charCode <= 0xff9f;
}

function isThai(charCode) {
  return (charCode & 0xff80) === 0x0e00;
}

function getCharacterType(charCode) {
  if (isAlphabeticalScript(charCode)) {
    if (isAscii(charCode)) {
      if (isAsciiSpace(charCode)) {
        return CharacterType.SPACE;
      } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {
        return CharacterType.ALPHA_LETTER;
      }

      return CharacterType.PUNCT;
    } else if (isThai(charCode)) {
      return CharacterType.THAI_LETTER;
    } else if (charCode === 0xa0) {
      return CharacterType.SPACE;
    }

    return CharacterType.ALPHA_LETTER;
  }

  if (isHan(charCode)) {
    return CharacterType.HAN_LETTER;
  } else if (isKatakana(charCode)) {
    return CharacterType.KATAKANA_LETTER;
  } else if (isHiragana(charCode)) {
    return CharacterType.HIRAGANA_LETTER;
  } else if (isHalfwidthKatakana(charCode)) {
    return CharacterType.HALFWIDTH_KATAKANA_LETTER;
  }

  return CharacterType.ALPHA_LETTER;
}

/***/ }),
/* 14 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.isDestArraysEqual = isDestArraysEqual;
exports.isDestHashesEqual = isDestHashesEqual;
exports.PDFHistory = void 0;

var _ui_utils = __w_pdfjs_require__(3);

function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }

function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }

function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var HASH_CHANGE_TIMEOUT = 1000;
var POSITION_UPDATED_THRESHOLD = 50;
var UPDATE_VIEWAREA_TIMEOUT = 1000;

function getCurrentHash() {
  return document.location.hash;
}

var PDFHistory = /*#__PURE__*/function () {
  function PDFHistory(_ref) {
    var _this = this;

    var linkService = _ref.linkService,
        eventBus = _ref.eventBus;

    _classCallCheck(this, PDFHistory);

    this.linkService = linkService;
    this.eventBus = eventBus;
    this._initialized = false;
    this._fingerprint = "";
    this.reset();
    this._boundEvents = null;
    this._isViewerInPresentationMode = false;

    this.eventBus._on("presentationmodechanged", function (evt) {
      _this._isViewerInPresentationMode = evt.state !== _ui_utils.PresentationModeState.NORMAL;
    });

    this.eventBus._on("pagesinit", function () {
      _this._isPagesLoaded = false;

      _this.eventBus._on("pagesloaded", function (evt) {
        _this._isPagesLoaded = !!evt.pagesCount;
      }, {
        once: true
      });
    });
  }

  _createClass(PDFHistory, [{
    key: "initialize",
    value: function initialize(_ref2) {
      var fingerprint = _ref2.fingerprint,
          _ref2$resetHistory = _ref2.resetHistory,
          resetHistory = _ref2$resetHistory === void 0 ? false : _ref2$resetHistory,
          _ref2$updateUrl = _ref2.updateUrl,
          updateUrl = _ref2$updateUrl === void 0 ? false : _ref2$updateUrl;

      if (!fingerprint || typeof fingerprint !== "string") {
        console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');
        return;
      }

      if (this._initialized) {
        this.reset();
      }

      var reInitialized = this._fingerprint !== "" && this._fingerprint !== fingerprint;
      this._fingerprint = fingerprint;
      this._updateUrl = updateUrl === true;
      this._initialized = true;

      this._bindEvents();

      var state = window.history.state;
      this._popStateInProgress = false;
      this._blockHashChange = 0;
      this._currentHash = getCurrentHash();
      this._numPositionUpdates = 0;
      this._uid = this._maxUid = 0;
      this._destination = null;
      this._position = null;

      if (!this._isValidState(state, true) || resetHistory) {
        var _this$_parseCurrentHa = this._parseCurrentHash(true),
            hash = _this$_parseCurrentHa.hash,
            page = _this$_parseCurrentHa.page,
            rotation = _this$_parseCurrentHa.rotation;

        if (!hash || reInitialized || resetHistory) {
          this._pushOrReplaceState(null, true);

          return;
        }

        this._pushOrReplaceState({
          hash: hash,
          page: page,
          rotation: rotation
        }, true);

        return;
      }

      var destination = state.destination;

      this._updateInternalState(destination, state.uid, true);

      if (destination.rotation !== undefined) {
        this._initialRotation = destination.rotation;
      }

      if (destination.dest) {
        this._initialBookmark = JSON.stringify(destination.dest);
        this._destination.page = null;
      } else if (destination.hash) {
        this._initialBookmark = destination.hash;
      } else if (destination.page) {
        this._initialBookmark = "page=".concat(destination.page);
      }
    }
  }, {
    key: "reset",
    value: function reset() {
      if (this._initialized) {
        this._pageHide();

        this._initialized = false;

        this._unbindEvents();
      }

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      this._initialBookmark = null;
      this._initialRotation = null;
    }
  }, {
    key: "push",
    value: function push(_ref3) {
      var _this2 = this;

      var _ref3$namedDest = _ref3.namedDest,
          namedDest = _ref3$namedDest === void 0 ? null : _ref3$namedDest,
          explicitDest = _ref3.explicitDest,
          pageNumber = _ref3.pageNumber;

      if (!this._initialized) {
        return;
      }

      if (namedDest && typeof namedDest !== "string") {
        console.error("PDFHistory.push: " + "\"".concat(namedDest, "\" is not a valid namedDest parameter."));
        return;
      } else if (!Array.isArray(explicitDest)) {
        console.error("PDFHistory.push: " + "\"".concat(explicitDest, "\" is not a valid explicitDest parameter."));
        return;
      } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {
        if (pageNumber !== null || this._destination) {
          console.error("PDFHistory.push: " + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
          return;
        }
      }

      var hash = namedDest || JSON.stringify(explicitDest);

      if (!hash) {
        return;
      }

      var forceReplace = false;

      if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {
        if (this._destination.page) {
          return;
        }

        forceReplace = true;
      }

      if (this._popStateInProgress && !forceReplace) {
        return;
      }

      this._pushOrReplaceState({
        dest: explicitDest,
        hash: hash,
        page: pageNumber,
        rotation: this.linkService.rotation
      }, forceReplace);

      if (!this._popStateInProgress) {
        this._popStateInProgress = true;
        Promise.resolve().then(function () {
          _this2._popStateInProgress = false;
        });
      }
    }
  }, {
    key: "pushPage",
    value: function pushPage(pageNumber) {
      var _this$_destination,
          _this3 = this;

      if (!this._initialized) {
        return;
      }

      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {
        console.error("PDFHistory.pushPage: \"".concat(pageNumber, "\" is not a valid page number."));
        return;
      }

      if (((_this$_destination = this._destination) === null || _this$_destination === void 0 ? void 0 : _this$_destination.page) === pageNumber) {
        return;
      }

      if (this._popStateInProgress) {
        return;
      }

      this._pushOrReplaceState({
        hash: "page=".concat(pageNumber),
        page: pageNumber,
        rotation: this.linkService.rotation
      });

      if (!this._popStateInProgress) {
        this._popStateInProgress = true;
        Promise.resolve().then(function () {
          _this3._popStateInProgress = false;
        });
      }
    }
  }, {
    key: "pushCurrentPosition",
    value: function pushCurrentPosition() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      this._tryPushCurrentPosition();
    }
  }, {
    key: "back",
    value: function back() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      var state = window.history.state;

      if (this._isValidState(state) && state.uid > 0) {
        window.history.back();
      }
    }
  }, {
    key: "forward",
    value: function forward() {
      if (!this._initialized || this._popStateInProgress) {
        return;
      }

      var state = window.history.state;

      if (this._isValidState(state) && state.uid < this._maxUid) {
        window.history.forward();
      }
    }
  }, {
    key: "_pushOrReplaceState",
    value: function _pushOrReplaceState(destination) {
      var forceReplace = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var shouldReplace = forceReplace || !this._destination;
      var newState = {
        fingerprint: this._fingerprint,
        uid: shouldReplace ? this._uid : this._uid + 1,
        destination: destination
      };

      this._updateInternalState(destination, newState.uid);

      var newUrl;

      if (this._updateUrl && destination !== null && destination !== void 0 && destination.hash) {
        var baseUrl = document.location.href.split("#")[0];

        if (!baseUrl.startsWith("file://")) {
          newUrl = "".concat(baseUrl, "#").concat(destination.hash);
        }
      }

      if (shouldReplace) {
        window.history.replaceState(newState, "", newUrl);
      } else {
        window.history.pushState(newState, "", newUrl);
      }
    }
  }, {
    key: "_tryPushCurrentPosition",
    value: function _tryPushCurrentPosition() {
      var temporary = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this._position) {
        return;
      }

      var position = this._position;

      if (temporary) {
        position = Object.assign(Object.create(null), this._position);
        position.temporary = true;
      }

      if (!this._destination) {
        this._pushOrReplaceState(position);

        return;
      }

      if (this._destination.temporary) {
        this._pushOrReplaceState(position, true);

        return;
      }

      if (this._destination.hash === position.hash) {
        return;
      }

      if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {
        return;
      }

      var forceReplace = false;

      if (this._destination.page >= position.first && this._destination.page <= position.page) {
        if (this._destination.dest || !this._destination.first) {
          return;
        }

        forceReplace = true;
      }

      this._pushOrReplaceState(position, forceReplace);
    }
  }, {
    key: "_isValidState",
    value: function _isValidState(state) {
      var checkReload = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (!state) {
        return false;
      }

      if (state.fingerprint !== this._fingerprint) {
        if (checkReload) {
          if (typeof state.fingerprint !== "string" || state.fingerprint.length !== this._fingerprint.length) {
            return false;
          }

          var _performance$getEntri = performance.getEntriesByType("navigation"),
              _performance$getEntri2 = _slicedToArray(_performance$getEntri, 1),
              perfEntry = _performance$getEntri2[0];

          if ((perfEntry === null || perfEntry === void 0 ? void 0 : perfEntry.type) !== "reload") {
            return false;
          }
        } else {
          return false;
        }
      }

      if (!Number.isInteger(state.uid) || state.uid < 0) {
        return false;
      }

      if (state.destination === null || _typeof(state.destination) !== "object") {
        return false;
      }

      return true;
    }
  }, {
    key: "_updateInternalState",
    value: function _updateInternalState(destination, uid) {
      var removeTemporary = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      if (removeTemporary && destination !== null && destination !== void 0 && destination.temporary) {
        delete destination.temporary;
      }

      this._destination = destination;
      this._uid = uid;
      this._maxUid = Math.max(this._maxUid, uid);
      this._numPositionUpdates = 0;
    }
  }, {
    key: "_parseCurrentHash",
    value: function _parseCurrentHash() {
      var checkNameddest = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var hash = unescape(getCurrentHash()).substring(1);
      var params = (0, _ui_utils.parseQueryString)(hash);
      var nameddest = params.nameddest || "";
      var page = params.page | 0;

      if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {
        page = null;
      }

      return {
        hash: hash,
        page: page,
        rotation: this.linkService.rotation
      };
    }
  }, {
    key: "_updateViewarea",
    value: function _updateViewarea(_ref4) {
      var _this4 = this;

      var location = _ref4.location;

      if (this._updateViewareaTimeout) {
        clearTimeout(this._updateViewareaTimeout);
        this._updateViewareaTimeout = null;
      }

      this._position = {
        hash: this._isViewerInPresentationMode ? "page=".concat(location.pageNumber) : location.pdfOpenParams.substring(1),
        page: this.linkService.page,
        first: location.pageNumber,
        rotation: location.rotation
      };

      if (this._popStateInProgress) {
        return;
      }

      if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {
        this._numPositionUpdates++;
      }

      if (UPDATE_VIEWAREA_TIMEOUT > 0) {
        this._updateViewareaTimeout = setTimeout(function () {
          if (!_this4._popStateInProgress) {
            _this4._tryPushCurrentPosition(true);
          }

          _this4._updateViewareaTimeout = null;
        }, UPDATE_VIEWAREA_TIMEOUT);
      }
    }
  }, {
    key: "_popState",
    value: function _popState(_ref5) {
      var _this5 = this;

      var state = _ref5.state;
      var newHash = getCurrentHash(),
          hashChanged = this._currentHash !== newHash;
      this._currentHash = newHash;

      if (!state) {
        this._uid++;

        var _this$_parseCurrentHa2 = this._parseCurrentHash(),
            hash = _this$_parseCurrentHa2.hash,
            page = _this$_parseCurrentHa2.page,
            rotation = _this$_parseCurrentHa2.rotation;

        this._pushOrReplaceState({
          hash: hash,
          page: page,
          rotation: rotation
        }, true);

        return;
      }

      if (!this._isValidState(state)) {
        return;
      }

      this._popStateInProgress = true;

      if (hashChanged) {
        this._blockHashChange++;
        (0, _ui_utils.waitOnEventOrTimeout)({
          target: window,
          name: "hashchange",
          delay: HASH_CHANGE_TIMEOUT
        }).then(function () {
          _this5._blockHashChange--;
        });
      }

      var destination = state.destination;

      this._updateInternalState(destination, state.uid, true);

      if ((0, _ui_utils.isValidRotation)(destination.rotation)) {
        this.linkService.rotation = destination.rotation;
      }

      if (destination.dest) {
        this.linkService.goToDestination(destination.dest);
      } else if (destination.hash) {
        this.linkService.setHash(destination.hash);
      } else if (destination.page) {
        this.linkService.page = destination.page;
      }

      Promise.resolve().then(function () {
        _this5._popStateInProgress = false;
      });
    }
  }, {
    key: "_pageHide",
    value: function _pageHide() {
      if (!this._destination || this._destination.temporary) {
        this._tryPushCurrentPosition();
      }
    }
  }, {
    key: "_bindEvents",
    value: function _bindEvents() {
      if (this._boundEvents) {
        return;
      }

      this._boundEvents = {
        updateViewarea: this._updateViewarea.bind(this),
        popState: this._popState.bind(this),
        pageHide: this._pageHide.bind(this)
      };

      this.eventBus._on("updateviewarea", this._boundEvents.updateViewarea);

      window.addEventListener("popstate", this._boundEvents.popState);
      window.addEventListener("pagehide", this._boundEvents.pageHide);
    }
  }, {
    key: "_unbindEvents",
    value: function _unbindEvents() {
      if (!this._boundEvents) {
        return;
      }

      this.eventBus._off("updateviewarea", this._boundEvents.updateViewarea);

      window.removeEventListener("popstate", this._boundEvents.popState);
      window.removeEventListener("pagehide", this._boundEvents.pageHide);
      this._boundEvents = null;
    }
  }, {
    key: "popStateInProgress",
    get: function get() {
      return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);
    }
  }, {
    key: "initialBookmark",
    get: function get() {
      return this._initialized ? this._initialBookmark : null;
    }
  }, {
    key: "initialRotation",
    get: function get() {
      return this._initialized ? this._initialRotation : null;
    }
  }]);

  return PDFHistory;
}();

exports.PDFHistory = PDFHistory;

function isDestHashesEqual(destHash, pushHash) {
  if (typeof destHash !== "string" || typeof pushHash !== "string") {
    return false;
  }

  if (destHash === pushHash) {
    return true;
  }

  var _parseQueryString = (0, _ui_utils.parseQueryString)(destHash),
      nameddest = _parseQueryString.nameddest;

  if (nameddest === pushHash) {
    return true;
  }

  return false;
}

function isDestArraysEqual(firstDest, secondDest) {
  function isEntryEqual(first, second) {
    if (_typeof(first) !== _typeof(second)) {
      return false;
    }

    if (Array.isArray(first) || Array.isArray(second)) {
      return false;
    }

    if (first !== null && _typeof(first) === "object" && second !== null) {
      if (Object.keys(first).length !== Object.keys(second).length) {
        return false;
      }

      for (var key in first) {
        if (!isEntryEqual(first[key], second[key])) {
          return false;
        }
      }

      return true;
    }

    return first === second || Number.isNaN(first) && Number.isNaN(second);
  }

  if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {
    return false;
  }

  if (firstDest.length !== secondDest.length) {
    return false;
  }

  for (var i = 0, ii = firstDest.length; i < ii; i++) {
    if (!isEntryEqual(firstDest[i], secondDest[i])) {
      return false;
    }
  }

  return true;
}

/***/ }),
/* 15 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFPageView = void 0;

var _regenerator = _interopRequireDefault(__w_pdfjs_require__(4));

var _ui_utils = __w_pdfjs_require__(3);

var _pdfjsLib = __w_pdfjs_require__(2);

var _pdf_rendering_queue = __w_pdfjs_require__(16);

var _viewer_compatibility = __w_pdfjs_require__(9);

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }

function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }

function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;

var PDFPageView = /*#__PURE__*/function () {
  function PDFPageView(options) {
    _classCallCheck(this, PDFPageView);

    var container = options.container;
    var defaultViewport = options.defaultViewport;
    this.id = options.id;
    this.renderingId = "page" + this.id;
    this.pdfPage = null;
    this.pageLabel = null;
    this.rotation = 0;
    this.scale = options.scale || _ui_utils.DEFAULT_SCALE;
    this.viewport = defaultViewport;
    this.pdfPageRotate = defaultViewport.rotation;
    this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;
    this.hasRestrictedScaling = false;
    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
    this.imageResourcesPath = options.imageResourcesPath || "";
    this.renderInteractiveForms = typeof options.renderInteractiveForms === "boolean" ? options.renderInteractiveForms : true;
    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
    this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;
    this.eventBus = options.eventBus;
    this.renderingQueue = options.renderingQueue;
    this.textLayerFactory = options.textLayerFactory;
    this.annotationLayerFactory = options.annotationLayerFactory;
    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
    this.enableWebGL = options.enableWebGL || false;
    this.l10n = options.l10n || _ui_utils.NullL10n;
    this.enableScripting = options.enableScripting || false;
    this.paintTask = null;
    this.paintedViewportMap = new WeakMap();
    this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
    this.resume = null;
    this._renderError = null;
    this.annotationLayer = null;
    this.textLayer = null;
    this.zoomLayer = null;
    var div = document.createElement("div");
    div.className = "page";
    div.style.width = Math.floor(this.viewport.width) + "px";
    div.style.height = Math.floor(this.viewport.height) + "px";
    div.setAttribute("data-page-number", this.id);
    this.div = div;
    container.appendChild(div);
  }

  _createClass(PDFPageView, [{
    key: "setPdfPage",
    value: function setPdfPage(pdfPage) {
      this.pdfPage = pdfPage;
      this.pdfPageRotate = pdfPage.rotate;
      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
      this.viewport = pdfPage.getViewport({
        scale: this.scale * _ui_utils.CSS_UNITS,
        rotation: totalRotation
      });
      this.reset();
    }
  }, {
    key: "destroy",
    value: function destroy() {
      this.reset();

      if (this.pdfPage) {
        this.pdfPage.cleanup();
      }
    }
  }, {
    key: "_renderAnnotationLayer",
    value: function () {
      var _renderAnnotationLayer2 = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
        var error;
        return _regenerator["default"].wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                error = null;
                _context.prev = 1;
                _context.next = 4;
                return this.annotationLayer.render(this.viewport, "display");

              case 4:
                _context.next = 9;
                break;

              case 6:
                _context.prev = 6;
                _context.t0 = _context["catch"](1);
                error = _context.t0;

              case 9:
                _context.prev = 9;
                this.eventBus.dispatch("annotationlayerrendered", {
                  source: this,
                  pageNumber: this.id,
                  error: error
                });
                return _context.finish(9);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, _callee, this, [[1, 6, 9, 12]]);
      }));

      function _renderAnnotationLayer() {
        return _renderAnnotationLayer2.apply(this, arguments);
      }

      return _renderAnnotationLayer;
    }()
  }, {
    key: "_resetZoomLayer",
    value: function _resetZoomLayer() {
      var removeFromDOM = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (!this.zoomLayer) {
        return;
      }

      var zoomLayerCanvas = this.zoomLayer.firstChild;
      this.paintedViewportMap["delete"](zoomLayerCanvas);
      zoomLayerCanvas.width = 0;
      zoomLayerCanvas.height = 0;

      if (removeFromDOM) {
        this.zoomLayer.remove();
      }

      this.zoomLayer = null;
    }
  }, {
    key: "reset",
    value: function reset() {
      var keepZoomLayer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
      var keepAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      this.cancelRendering(keepAnnotations);
      this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;
      var div = this.div;
      div.style.width = Math.floor(this.viewport.width) + "px";
      div.style.height = Math.floor(this.viewport.height) + "px";
      var childNodes = div.childNodes;
      var currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;
      var currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;

      for (var i = childNodes.length - 1; i >= 0; i--) {
        var node = childNodes[i];

        if (currentZoomLayerNode === node || currentAnnotationNode === node) {
          continue;
        }

        div.removeChild(node);
      }

      div.removeAttribute("data-loaded");

      if (currentAnnotationNode) {
        this.annotationLayer.hide();
      } else if (this.annotationLayer) {
        this.annotationLayer.cancel();
        this.annotationLayer = null;
      }

      if (!currentZoomLayerNode) {
        if (this.canvas) {
          this.paintedViewportMap["delete"](this.canvas);
          this.canvas.width = 0;
          this.canvas.height = 0;
          delete this.canvas;
        }

        this._resetZoomLayer();
      }

      if (this.svg) {
        this.paintedViewportMap["delete"](this.svg);
        delete this.svg;
      }

      this.loadingIconDiv = document.createElement("div");
      this.loadingIconDiv.className = "loadingIcon";
      div.appendChild(this.loadingIconDiv);
    }
  }, {
    key: "update",
    value: function update(scale, rotation) {
      var optionalContentConfigPromise = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      this.scale = scale || this.scale;

      if (typeof rotation !== "undefined") {
        this.rotation = rotation;
      }

      if (optionalContentConfigPromise instanceof Promise) {
        this._optionalContentConfigPromise = optionalContentConfigPromise;
      }

      var totalRotation = (this.rotation + this.pdfPageRotate) % 360;
      this.viewport = this.viewport.clone({
        scale: this.scale * _ui_utils.CSS_UNITS,
        rotation: totalRotation
      });

      if (this.svg) {
        this.cssTransform(this.svg, true);
        this.eventBus.dispatch("pagerendered", {
          source: this,
          pageNumber: this.id,
          cssTransform: true,
          timestamp: performance.now(),
          error: this._renderError
        });
        return;
      }

      var isScalingRestricted = false;

      if (this.canvas && this.maxCanvasPixels > 0) {
        var outputScale = this.outputScale;

        if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {
          isScalingRestricted = true;
        }
      }

      if (this.canvas) {
        if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {
          this.cssTransform(this.canvas, true);
          this.eventBus.dispatch("pagerendered", {
            source: this,
            pageNumber: this.id,
            cssTransform: true,
            timestamp: performance.now(),
            error: this._renderError
          });
          return;
        }

        if (!this.zoomLayer && !this.canvas.hasAttribute("hidden")) {
          this.zoomLayer = this.canvas.parentNode;
          this.zoomLayer.style.position = "absolute";
        }
      }

      if (this.zoomLayer) {
        this.cssTransform(this.zoomLayer.firstChild);
      }

      this.reset(true, true);
    }
  }, {
    key: "cancelRendering",
    value: function cancelRendering() {
      var keepAnnotations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;

      if (this.paintTask) {
        this.paintTask.cancel();
        this.paintTask = null;
      }

      this.resume = null;

      if (this.textLayer) {
        this.textLayer.cancel();
        this.textLayer = null;
      }

      if (!keepAnnotations && this.annotationLayer) {
        this.annotationLayer.cancel();
        this.annotationLayer = null;
      }
    }
  }, {
    key: "cssTransform",
    value: function cssTransform(target) {
      var redrawAnnotations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var width = this.viewport.width;
      var height = this.viewport.height;
      var div = this.div;
      target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + "px";
      target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + "px";
      var relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;
      var absRotation = Math.abs(relativeRotation);
      var scaleX = 1,
          scaleY = 1;

      if (absRotation === 90 || absRotation === 270) {
        scaleX = height / width;
        scaleY = width / height;
      }

      target.style.transform = "rotate(".concat(relativeRotation, "deg) scale(").concat(scaleX, ", ").concat(scaleY, ")");

      if (this.textLayer) {
        var textLayerViewport = this.textLayer.viewport;
        var textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;
        var textAbsRotation = Math.abs(textRelativeRotation);
        var scale = width / textLayerViewport.width;

        if (textAbsRotation === 90 || textAbsRotation === 270) {
          scale = width / textLayerViewport.height;
        }

        var textLayerDiv = this.textLayer.textLayerDiv;
        var transX, transY;

        switch (textAbsRotation) {
          case 0:
            transX = transY = 0;
            break;

          case 90:
            transX = 0;
            transY = "-" + textLayerDiv.style.height;
            break;

          case 180:
            transX = "-" + textLayerDiv.style.width;
            transY = "-" + textLayerDiv.style.height;
            break;

          case 270:
            transX = "-" + textLayerDiv.style.width;
            transY = 0;
            break;

          default:
            console.error("Bad rotation value.");
            break;
        }

        textLayerDiv.style.transform = "rotate(".concat(textAbsRotation, "deg) ") + "scale(".concat(scale, ") ") + "translate(".concat(transX, ", ").concat(transY, ")");
        textLayerDiv.style.transformOrigin = "0% 0%";
      }

      if (redrawAnnotations && this.annotationLayer) {
        this._renderAnnotationLayer();
      }
    }
  }, {
    key: "getPagePoint",
    value: function getPagePoint(x, y) {
      return this.viewport.convertToPdfPoint(x, y);
    }
  }, {
    key: "draw",
    value: function draw() {
      var _this = this;

      if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {
        console.error("Must be in new state before drawing");
        this.reset();
      }

      var div = this.div,
          pdfPage = this.pdfPage;

      if (!pdfPage) {
        this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;

        if (this.loadingIconDiv) {
          div.removeChild(this.loadingIconDiv);
          delete this.loadingIconDiv;
        }

        return Promise.reject(new Error("pdfPage is not loaded"));
      }

      this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
      var canvasWrapper = document.createElement("div");
      canvasWrapper.style.width = div.style.width;
      canvasWrapper.style.height = div.style.height;
      canvasWrapper.classList.add("canvasWrapper");

      if (this.annotationLayer && this.annotationLayer.div) {
        div.insertBefore(canvasWrapper, this.annotationLayer.div);
      } else {
        div.appendChild(canvasWrapper);
      }

      var textLayer = null;

      if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {
        var textLayerDiv = document.createElement("div");
        textLayerDiv.className = "textLayer";
        textLayerDiv.style.width = canvasWrapper.style.width;
        textLayerDiv.style.height = canvasWrapper.style.height;

        if (this.annotationLayer && this.annotationLayer.div) {
          div.insertBefore(textLayerDiv, this.annotationLayer.div);
        } else {
          div.appendChild(textLayerDiv);
        }

        textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);
      }

      this.textLayer = textLayer;
      var renderContinueCallback = null;

      if (this.renderingQueue) {
        renderContinueCallback = function renderContinueCallback(cont) {
          if (!_this.renderingQueue.isHighestPriority(_this)) {
            _this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;

            _this.resume = function () {
              _this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;
              cont();
            };

            return;
          }

          cont();
        };
      }

      var finishPaintTask = /*#__PURE__*/function () {
        var _ref = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
          var error,
              _args2 = arguments;
          return _regenerator["default"].wrap(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  error = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : null;

                  if (paintTask === _this.paintTask) {
                    _this.paintTask = null;
                  }

                  if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {
                    _context2.next = 5;
                    break;
                  }

                  _this._renderError = null;
                  return _context2.abrupt("return");

                case 5:
                  _this._renderError = error;
                  _this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;

                  if (_this.loadingIconDiv) {
                    div.removeChild(_this.loadingIconDiv);
                    delete _this.loadingIconDiv;
                  }

                  _this._resetZoomLayer(true);

                  _this.eventBus.dispatch("pagerendered", {
                    source: _this,
                    pageNumber: _this.id,
                    cssTransform: false,
                    timestamp: performance.now(),
                    error: _this._renderError
                  });

                  if (!error) {
                    _context2.next = 12;
                    break;
                  }

                  throw error;

                case 12:
                case "end":
                  return _context2.stop();
              }
            }
          }, _callee2);
        }));

        return function finishPaintTask() {
          return _ref.apply(this, arguments);
        };
      }();

      var paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);
      paintTask.onRenderContinue = renderContinueCallback;
      this.paintTask = paintTask;
      var resultPromise = paintTask.promise.then(function () {
        return finishPaintTask(null).then(function () {
          if (textLayer) {
            var readableStream = pdfPage.streamTextContent({
              normalizeWhitespace: true
            });
            textLayer.setTextContentStream(readableStream);
            textLayer.render();
          }
        });
      }, function (reason) {
        return finishPaintTask(reason);
      });

      if (this.annotationLayerFactory) {
        if (!this.annotationLayer) {
          this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, null, this.imageResourcesPath, this.renderInteractiveForms, this.l10n, this.enableScripting, null, null);
        }

        this._renderAnnotationLayer();
      }

      div.setAttribute("data-loaded", true);
      this.eventBus.dispatch("pagerender", {
        source: this,
        pageNumber: this.id
      });
      return resultPromise;
    }
  }, {
    key: "paintOnCanvas",
    value: function paintOnCanvas(canvasWrapper) {
      var renderCapability = (0, _pdfjsLib.createPromiseCapability)();
      var result = {
        promise: renderCapability.promise,
        onRenderContinue: function onRenderContinue(cont) {
          cont();
        },
        cancel: function cancel() {
          renderTask.cancel();
        }
      };
      var viewport = this.viewport;
      var canvas = document.createElement("canvas");
      this.l10n.get("page_canvas", {
        page: this.id
      }, "Page {{page}}").then(function (msg) {
        canvas.setAttribute("aria-label", msg);
      });
      canvas.setAttribute("hidden", "hidden");
      var isCanvasHidden = true;

      var showCanvas = function showCanvas() {
        if (isCanvasHidden) {
          canvas.removeAttribute("hidden");
          isCanvasHidden = false;
        }
      };

      canvasWrapper.appendChild(canvas);
      this.canvas = canvas;
      canvas.mozOpaque = true;
      var ctx = canvas.getContext("2d", {
        alpha: false
      });
      var outputScale = (0, _ui_utils.getOutputScale)(ctx);
      this.outputScale = outputScale;

      if (this.useOnlyCssZoom) {
        var actualSizeViewport = viewport.clone({
          scale: _ui_utils.CSS_UNITS
        });
        outputScale.sx *= actualSizeViewport.width / viewport.width;
        outputScale.sy *= actualSizeViewport.height / viewport.height;
        outputScale.scaled = true;
      }

      if (this.maxCanvasPixels > 0) {
        var pixelsInViewport = viewport.width * viewport.height;
        var maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);

        if (outputScale.sx > maxScale || outputScale.sy > maxScale) {
          outputScale.sx = maxScale;
          outputScale.sy = maxScale;
          outputScale.scaled = true;
          this.hasRestrictedScaling = true;
        } else {
          this.hasRestrictedScaling = false;
        }
      }

      var sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);
      var sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);
      canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);
      canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);
      canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + "px";
      canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + "px";
      this.paintedViewportMap.set(canvas, viewport);
      var transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];
      var renderContext = {
        canvasContext: ctx,
        transform: transform,
        viewport: this.viewport,
        enableWebGL: this.enableWebGL,
        renderInteractiveForms: this.renderInteractiveForms,
        optionalContentConfigPromise: this._optionalContentConfigPromise
      };
      var renderTask = this.pdfPage.render(renderContext);

      renderTask.onContinue = function (cont) {
        showCanvas();

        if (result.onRenderContinue) {
          result.onRenderContinue(cont);
        } else {
          cont();
        }
      };

      renderTask.promise.then(function () {
        showCanvas();
        renderCapability.resolve(undefined);
      }, function (error) {
        showCanvas();
        renderCapability.reject(error);
      });
      return result;
    }
  }, {
    key: "paintOnSvg",
    value: function paintOnSvg(wrapper) {
      var _this2 = this;

      var cancelled = false;

      var ensureNotCancelled = function ensureNotCancelled() {
        if (cancelled) {
          throw new _pdfjsLib.RenderingCancelledException("Rendering cancelled, page ".concat(_this2.id), "svg");
        }
      };

      var pdfPage = this.pdfPage;
      var actualSizeViewport = this.viewport.clone({
        scale: _ui_utils.CSS_UNITS
      });
      var promise = pdfPage.getOperatorList().then(function (opList) {
        ensureNotCancelled();
        var svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);
        return svgGfx.getSVG(opList, actualSizeViewport).then(function (svg) {
          ensureNotCancelled();
          _this2.svg = svg;

          _this2.paintedViewportMap.set(svg, actualSizeViewport);

          svg.style.width = wrapper.style.width;
          svg.style.height = wrapper.style.height;
          _this2.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;
          wrapper.appendChild(svg);
        });
      });
      return {
        promise: promise,
        onRenderContinue: function onRenderContinue(cont) {
          cont();
        },
        cancel: function cancel() {
          cancelled = true;
        }
      };
    }
  }, {
    key: "setPageLabel",
    value: function setPageLabel(label) {
      this.pageLabel = typeof label === "string" ? label : null;

      if (this.pageLabel !== null) {
        this.div.setAttribute("data-page-label", this.pageLabel);
      } else {
        this.div.removeAttribute("data-page-label");
      }
    }
  }, {
    key: "width",
    get: function get() {
      return this.viewport.width;
    }
  }, {
    key: "height",
    get: function get() {
      return this.viewport.height;
    }
  }]);

  return PDFPageView;
}();

exports.PDFPageView = PDFPageView;

/***/ }),
/* 16 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.RenderingStates = exports.PDFRenderingQueue = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var CLEANUP_TIMEOUT = 30000;
var RenderingStates = {
  INITIAL: 0,
  RUNNING: 1,
  PAUSED: 2,
  FINISHED: 3
};
exports.RenderingStates = RenderingStates;

var PDFRenderingQueue = /*#__PURE__*/function () {
  function PDFRenderingQueue() {
    _classCallCheck(this, PDFRenderingQueue);

    this.pdfViewer = null;
    this.pdfThumbnailViewer = null;
    this.onIdle = null;
    this.highestPriorityPage = null;
    this.idleTimeout = null;
    this.printing = false;
    this.isThumbnailViewEnabled = false;
  }

  _createClass(PDFRenderingQueue, [{
    key: "setViewer",
    value: function setViewer(pdfViewer) {
      this.pdfViewer = pdfViewer;
    }
  }, {
    key: "setThumbnailViewer",
    value: function setThumbnailViewer(pdfThumbnailViewer) {
      this.pdfThumbnailViewer = pdfThumbnailViewer;
    }
  }, {
    key: "isHighestPriority",
    value: function isHighestPriority(view) {
      return this.highestPriorityPage === view.renderingId;
    }
  }, {
    key: "renderHighestPriority",
    value: function renderHighestPriority(currentlyVisiblePages) {
      if (this.idleTimeout) {
        clearTimeout(this.idleTimeout);
        this.idleTimeout = null;
      }

      if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {
        return;
      }

      if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {
        if (this.pdfThumbnailViewer.forceRendering()) {
          return;
        }
      }

      if (this.printing) {
        return;
      }

      if (this.onIdle) {
        this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);
      }
    }
  }, {
    key: "getHighestPriority",
    value: function getHighestPriority(visible, views, scrolledDown) {
      var visibleViews = visible.views;
      var numVisible = visibleViews.length;

      if (numVisible === 0) {
        return null;
      }

      for (var i = 0; i < numVisible; ++i) {
        var view = visibleViews[i].view;

        if (!this.isViewFinished(view)) {
          return view;
        }
      }

      if (scrolledDown) {
        var nextPageIndex = visible.last.id;

        if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {
          return views[nextPageIndex];
        }
      } else {
        var previousPageIndex = visible.first.id - 2;

        if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {
          return views[previousPageIndex];
        }
      }

      return null;
    }
  }, {
    key: "isViewFinished",
    value: function isViewFinished(view) {
      return view.renderingState === RenderingStates.FINISHED;
    }
  }, {
    key: "renderView",
    value: function renderView(view) {
      var _this = this;

      switch (view.renderingState) {
        case RenderingStates.FINISHED:
          return false;

        case RenderingStates.PAUSED:
          this.highestPriorityPage = view.renderingId;
          view.resume();
          break;

        case RenderingStates.RUNNING:
          this.highestPriorityPage = view.renderingId;
          break;

        case RenderingStates.INITIAL:
          this.highestPriorityPage = view.renderingId;
          view.draw()["finally"](function () {
            _this.renderHighestPriority();
          })["catch"](function (reason) {
            if (reason instanceof _pdfjsLib.RenderingCancelledException) {
              return;
            }

            console.error("renderView: \"".concat(reason, "\""));
          });
          break;
      }

      return true;
    }
  }]);

  return PDFRenderingQueue;
}();

exports.PDFRenderingQueue = PDFRenderingQueue;

/***/ }),
/* 17 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFSinglePageViewer = void 0;

var _base_viewer = __w_pdfjs_require__(18);

var _pdfjsLib = __w_pdfjs_require__(2);

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var PDFSinglePageViewer = /*#__PURE__*/function (_BaseViewer) {
  _inherits(PDFSinglePageViewer, _BaseViewer);

  var _super = _createSuper(PDFSinglePageViewer);

  function PDFSinglePageViewer(options) {
    var _this;

    _classCallCheck(this, PDFSinglePageViewer);

    _this = _super.call(this, options);

    _this.eventBus._on("pagesinit", function (evt) {
      _this._ensurePageViewVisible();
    });

    return _this;
  }

  _createClass(PDFSinglePageViewer, [{
    key: "_resetView",
    value: function _resetView() {
      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_resetView", this).call(this);

      this._previousPageNumber = 1;
      this._shadowViewer = document.createDocumentFragment();
      this._updateScrollDown = null;
    }
  }, {
    key: "_ensurePageViewVisible",
    value: function _ensurePageViewVisible() {
      var pageView = this._pages[this._currentPageNumber - 1];
      var previousPageView = this._pages[this._previousPageNumber - 1];
      var viewerNodes = this.viewer.childNodes;

      switch (viewerNodes.length) {
        case 0:
          this.viewer.appendChild(pageView.div);
          break;

        case 1:
          if (viewerNodes[0] !== previousPageView.div) {
            throw new Error("_ensurePageViewVisible: Unexpected previously visible page.");
          }

          if (pageView === previousPageView) {
            break;
          }

          this._shadowViewer.appendChild(previousPageView.div);

          this.viewer.appendChild(pageView.div);
          this.container.scrollTop = 0;
          break;

        default:
          throw new Error("_ensurePageViewVisible: Only one page should be visible at a time.");
      }

      this._previousPageNumber = this._currentPageNumber;
    }
  }, {
    key: "_scrollUpdate",
    value: function _scrollUpdate() {
      if (this._updateScrollDown) {
        this._updateScrollDown();
      }

      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollUpdate", this).call(this);
    }
  }, {
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var _this2 = this;

      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;

      if (pageNumber) {
        this._setCurrentPageNumber(pageNumber);
      }

      var scrolledDown = this._currentPageNumber >= this._previousPageNumber;

      this._ensurePageViewVisible();

      this.update();

      _get(_getPrototypeOf(PDFSinglePageViewer.prototype), "_scrollIntoView", this).call(this, {
        pageDiv: pageDiv,
        pageSpot: pageSpot,
        pageNumber: pageNumber
      });

      this._updateScrollDown = function () {
        _this2.scroll.down = scrolledDown;
        _this2._updateScrollDown = null;
      };
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      return this._getCurrentVisiblePage();
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {}
  }, {
    key: "_updateScrollMode",
    value: function _updateScrollMode() {}
  }, {
    key: "_updateSpreadMode",
    value: function _updateSpreadMode() {}
  }, {
    key: "_getPageAdvance",
    value: function _getPageAdvance() {
      return 1;
    }
  }, {
    key: "_viewerElement",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this._shadowViewer);
    }
  }, {
    key: "_pageWidthScaleFactor",
    get: function get() {
      return 1;
    }
  }, {
    key: "_isScrollModeHorizontal",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_isScrollModeHorizontal", false);
    }
  }]);

  return PDFSinglePageViewer;
}(_base_viewer.BaseViewer);

exports.PDFSinglePageViewer = PDFSinglePageViewer;

/***/ }),
/* 18 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.BaseViewer = void 0;

var _pdfjsLib = __w_pdfjs_require__(2);

var _ui_utils = __w_pdfjs_require__(3);

var _pdf_rendering_queue = __w_pdfjs_require__(16);

var _annotation_layer_builder = __w_pdfjs_require__(1);

var _pdf_page_view = __w_pdfjs_require__(15);

var _pdf_link_service = __w_pdfjs_require__(6);

var _text_layer_builder = __w_pdfjs_require__(7);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

var DEFAULT_CACHE_SIZE = 10;

function PDFPageViewBuffer(size) {
  var data = [];

  this.push = function (view) {
    var i = data.indexOf(view);

    if (i >= 0) {
      data.splice(i, 1);
    }

    data.push(view);

    if (data.length > size) {
      data.shift().destroy();
    }
  };

  this.resize = function (newSize, pagesToKeep) {
    size = newSize;

    if (pagesToKeep) {
      var pageIdsToKeep = new Set();

      for (var i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {
        pageIdsToKeep.add(pagesToKeep[i].id);
      }

      (0, _ui_utils.moveToEndOfArray)(data, function (page) {
        return pageIdsToKeep.has(page.id);
      });
    }

    while (data.length > size) {
      data.shift().destroy();
    }
  };

  this.has = function (view) {
    return data.includes(view);
  };
}

function isSameScale(oldScale, newScale) {
  if (newScale === oldScale) {
    return true;
  }

  if (Math.abs(newScale - oldScale) < 1e-15) {
    return true;
  }

  return false;
}

var BaseViewer = /*#__PURE__*/function () {
  function BaseViewer(options) {
    var _this$container,
        _this$viewer,
        _this = this;

    _classCallCheck(this, BaseViewer);

    if (this.constructor === BaseViewer) {
      throw new Error("Cannot initialize BaseViewer.");
    }

    var viewerVersion = '2.7.570';

    if (_pdfjsLib.version !== viewerVersion) {
      throw new Error("The API version \"".concat(_pdfjsLib.version, "\" does not match the Viewer version \"").concat(viewerVersion, "\"."));
    }

    this._name = this.constructor.name;
    this.container = options.container;
    this.viewer = options.viewer || options.container.firstElementChild;

    if (!(((_this$container = this.container) === null || _this$container === void 0 ? void 0 : _this$container.tagName.toUpperCase()) === "DIV" && ((_this$viewer = this.viewer) === null || _this$viewer === void 0 ? void 0 : _this$viewer.tagName.toUpperCase()) === "DIV")) {
      throw new Error("Invalid `container` and/or `viewer` option.");
    }

    if (getComputedStyle(this.container).position !== "absolute") {
      throw new Error("The `container` must be absolutely positioned.");
    }

    this.eventBus = options.eventBus;
    this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();
    this.downloadManager = options.downloadManager || null;
    this.findController = options.findController || null;
    this.removePageBorders = options.removePageBorders || false;
    this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;
    this.imageResourcesPath = options.imageResourcesPath || "";
    this.renderInteractiveForms = typeof options.renderInteractiveForms === "boolean" ? options.renderInteractiveForms : true;
    this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;
    this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;
    this.enableWebGL = options.enableWebGL || false;
    this.useOnlyCssZoom = options.useOnlyCssZoom || false;
    this.maxCanvasPixels = options.maxCanvasPixels;
    this.l10n = options.l10n || _ui_utils.NullL10n;
    this.enableScripting = options.enableScripting || false;
    this._mouseState = options.mouseState || null;
    this.defaultRenderingQueue = !options.renderingQueue;

    if (this.defaultRenderingQueue) {
      this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();
      this.renderingQueue.setViewer(this);
    } else {
      this.renderingQueue = options.renderingQueue;
    }

    this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));
    this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;
    this._onBeforeDraw = this._onAfterDraw = null;

    this._resetView();

    if (this.removePageBorders) {
      this.viewer.classList.add("removePageBorders");
    }

    Promise.resolve().then(function () {
      _this.eventBus.dispatch("baseviewerinit", {
        source: _this
      });
    });
  }

  _createClass(BaseViewer, [{
    key: "getPageView",
    value: function getPageView(index) {
      return this._pages[index];
    }
  }, {
    key: "_setCurrentPageNumber",
    value: function _setCurrentPageNumber(val) {
      var resetCurrentPageView = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (this._currentPageNumber === val) {
        if (resetCurrentPageView) {
          this._resetCurrentPageView();
        }

        return true;
      }

      if (!(0 < val && val <= this.pagesCount)) {
        return false;
      }

      var previous = this._currentPageNumber;
      this._currentPageNumber = val;
      this.eventBus.dispatch("pagechanging", {
        source: this,
        pageNumber: val,
        pageLabel: this._pageLabels && this._pageLabels[val - 1],
        previous: previous
      });

      if (resetCurrentPageView) {
        this._resetCurrentPageView();
      }

      return true;
    }
  }, {
    key: "_onePageRenderedOrForceFetch",
    value: function _onePageRenderedOrForceFetch() {
      if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {
        return Promise.resolve();
      }

      return this._onePageRenderedCapability.promise;
    }
  }, {
    key: "setDocument",
    value: function setDocument(pdfDocument) {
      var _this2 = this;

      if (this.pdfDocument) {
        this.eventBus.dispatch("pagesdestroy", {
          source: this
        });

        this._cancelRendering();

        this._resetView();

        if (this.findController) {
          this.findController.setDocument(null);
        }
      }

      this.pdfDocument = pdfDocument;

      if (!pdfDocument) {
        return;
      }

      var pagesCount = pdfDocument.numPages;
      var firstPagePromise = pdfDocument.getPage(1);
      var optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();

      this._pagesCapability.promise.then(function () {
        _this2.eventBus.dispatch("pagesloaded", {
          source: _this2,
          pagesCount: pagesCount
        });
      });

      this._onBeforeDraw = function (evt) {
        var pageView = _this2._pages[evt.pageNumber - 1];

        if (!pageView) {
          return;
        }

        _this2._buffer.push(pageView);
      };

      this.eventBus._on("pagerender", this._onBeforeDraw);

      this._onAfterDraw = function (evt) {
        if (evt.cssTransform || _this2._onePageRenderedCapability.settled) {
          return;
        }

        _this2._onePageRenderedCapability.resolve();

        _this2.eventBus._off("pagerendered", _this2._onAfterDraw);

        _this2._onAfterDraw = null;
      };

      this.eventBus._on("pagerendered", this._onAfterDraw);

      firstPagePromise.then(function (firstPdfPage) {
        _this2._firstPageCapability.resolve(firstPdfPage);

        _this2._optionalContentConfigPromise = optionalContentConfigPromise;
        var scale = _this2.currentScale;
        var viewport = firstPdfPage.getViewport({
          scale: scale * _ui_utils.CSS_UNITS
        });
        var textLayerFactory = _this2.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? _this2 : null;

        for (var pageNum = 1; pageNum <= pagesCount; ++pageNum) {
          var pageView = new _pdf_page_view.PDFPageView({
            container: _this2._viewerElement,
            eventBus: _this2.eventBus,
            id: pageNum,
            scale: scale,
            defaultViewport: viewport.clone(),
            optionalContentConfigPromise: optionalContentConfigPromise,
            renderingQueue: _this2.renderingQueue,
            textLayerFactory: textLayerFactory,
            textLayerMode: _this2.textLayerMode,
            annotationLayerFactory: _this2,
            imageResourcesPath: _this2.imageResourcesPath,
            renderInteractiveForms: _this2.renderInteractiveForms,
            renderer: _this2.renderer,
            enableWebGL: _this2.enableWebGL,
            useOnlyCssZoom: _this2.useOnlyCssZoom,
            maxCanvasPixels: _this2.maxCanvasPixels,
            l10n: _this2.l10n,
            enableScripting: _this2.enableScripting
          });

          _this2._pages.push(pageView);
        }

        var firstPageView = _this2._pages[0];

        if (firstPageView) {
          firstPageView.setPdfPage(firstPdfPage);

          _this2.linkService.cachePageRef(1, firstPdfPage.ref);
        }

        if (_this2._spreadMode !== _ui_utils.SpreadMode.NONE) {
          _this2._updateSpreadMode();
        }

        _this2._onePageRenderedOrForceFetch().then(function () {
          if (_this2.findController) {
            _this2.findController.setDocument(pdfDocument);
          }

          if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {
            _this2._pagesCapability.resolve();

            return;
          }

          var getPagesLeft = pagesCount - 1;

          if (getPagesLeft <= 0) {
            _this2._pagesCapability.resolve();

            return;
          }

          var _loop = function _loop(_pageNum) {
            pdfDocument.getPage(_pageNum).then(function (pdfPage) {
              var pageView = _this2._pages[_pageNum - 1];

              if (!pageView.pdfPage) {
                pageView.setPdfPage(pdfPage);
              }

              _this2.linkService.cachePageRef(_pageNum, pdfPage.ref);

              if (--getPagesLeft === 0) {
                _this2._pagesCapability.resolve();
              }
            }, function (reason) {
              console.error("Unable to get page ".concat(_pageNum, " to initialize viewer"), reason);

              if (--getPagesLeft === 0) {
                _this2._pagesCapability.resolve();
              }
            });
          };

          for (var _pageNum = 2; _pageNum <= pagesCount; ++_pageNum) {
            _loop(_pageNum);
          }
        });

        _this2.eventBus.dispatch("pagesinit", {
          source: _this2
        });

        if (_this2.defaultRenderingQueue) {
          _this2.update();
        }
      })["catch"](function (reason) {
        console.error("Unable to initialize viewer", reason);
      });
    }
  }, {
    key: "setPageLabels",
    value: function setPageLabels(labels) {
      if (!this.pdfDocument) {
        return;
      }

      if (!labels) {
        this._pageLabels = null;
      } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {
        this._pageLabels = null;
        console.error("".concat(this._name, ".setPageLabels: Invalid page labels."));
      } else {
        this._pageLabels = labels;
      }

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        var pageView = this._pages[i];
        var label = this._pageLabels && this._pageLabels[i];
        pageView.setPageLabel(label);
      }
    }
  }, {
    key: "_resetView",
    value: function _resetView() {
      this._pages = [];
      this._currentPageNumber = 1;
      this._currentScale = _ui_utils.UNKNOWN_SCALE;
      this._currentScaleValue = null;
      this._pageLabels = null;
      this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);
      this._location = null;
      this._pagesRotation = 0;
      this._optionalContentConfigPromise = null;
      this._pagesRequests = new WeakMap();
      this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();
      this._scrollMode = _ui_utils.ScrollMode.VERTICAL;
      this._spreadMode = _ui_utils.SpreadMode.NONE;

      if (this._onBeforeDraw) {
        this.eventBus._off("pagerender", this._onBeforeDraw);

        this._onBeforeDraw = null;
      }

      if (this._onAfterDraw) {
        this.eventBus._off("pagerendered", this._onAfterDraw);

        this._onAfterDraw = null;
      }

      this._resetScriptingEvents();

      this.viewer.textContent = "";

      this._updateScrollMode();
    }
  }, {
    key: "_scrollUpdate",
    value: function _scrollUpdate() {
      if (this.pagesCount === 0) {
        return;
      }

      this.update();
    }
  }, {
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;
      (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);
    }
  }, {
    key: "_setScaleUpdatePages",
    value: function _setScaleUpdatePages(newScale, newValue) {
      var noScroll = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
      var preset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      this._currentScaleValue = newValue.toString();

      if (isSameScale(this._currentScale, newScale)) {
        if (preset) {
          this.eventBus.dispatch("scalechanging", {
            source: this,
            scale: newScale,
            presetValue: newValue
          });
        }

        return;
      }

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        this._pages[i].update(newScale);
      }

      this._currentScale = newScale;

      if (!noScroll) {
        var page = this._currentPageNumber,
            dest;

        if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {
          page = this._location.pageNumber;
          dest = [null, {
            name: "XYZ"
          }, this._location.left, this._location.top, null];
        }

        this.scrollPageIntoView({
          pageNumber: page,
          destArray: dest,
          allowNegativeOffset: true
        });
      }

      this.eventBus.dispatch("scalechanging", {
        source: this,
        scale: newScale,
        presetValue: preset ? newValue : undefined
      });

      if (this.defaultRenderingQueue) {
        this.update();
      }
    }
  }, {
    key: "_setScale",
    value: function _setScale(value) {
      var noScroll = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
      var scale = parseFloat(value);

      if (scale > 0) {
        this._setScaleUpdatePages(scale, value, noScroll, false);
      } else {
        var currentPage = this._pages[this._currentPageNumber - 1];

        if (!currentPage) {
          return;
        }

        var noPadding = this.isInPresentationMode || this.removePageBorders;
        var hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;
        var vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;

        if (!noPadding && this._isScrollModeHorizontal) {
          var _ref2 = [vPadding, hPadding];
          hPadding = _ref2[0];
          vPadding = _ref2[1];
        }

        var pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this._pageWidthScaleFactor;
        var pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;

        switch (value) {
          case "page-actual":
            scale = 1;
            break;

          case "page-width":
            scale = pageWidthScale;
            break;

          case "page-height":
            scale = pageHeightScale;
            break;

          case "page-fit":
            scale = Math.min(pageWidthScale, pageHeightScale);
            break;

          case "auto":
            var horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);
            scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);
            break;

          default:
            console.error("".concat(this._name, "._setScale: \"").concat(value, "\" is an unknown zoom value."));
            return;
        }

        this._setScaleUpdatePages(scale, value, noScroll, true);
      }
    }
  }, {
    key: "_resetCurrentPageView",
    value: function _resetCurrentPageView() {
      if (this.isInPresentationMode) {
        this._setScale(this._currentScaleValue, true);
      }

      var pageView = this._pages[this._currentPageNumber - 1];

      this._scrollIntoView({
        pageDiv: pageView.div
      });
    }
  }, {
    key: "pageLabelToPageNumber",
    value: function pageLabelToPageNumber(label) {
      if (!this._pageLabels) {
        return null;
      }

      var i = this._pageLabels.indexOf(label);

      if (i < 0) {
        return null;
      }

      return i + 1;
    }
  }, {
    key: "scrollPageIntoView",
    value: function scrollPageIntoView(_ref3) {
      var pageNumber = _ref3.pageNumber,
          _ref3$destArray = _ref3.destArray,
          destArray = _ref3$destArray === void 0 ? null : _ref3$destArray,
          _ref3$allowNegativeOf = _ref3.allowNegativeOffset,
          allowNegativeOffset = _ref3$allowNegativeOf === void 0 ? false : _ref3$allowNegativeOf,
          _ref3$ignoreDestinati = _ref3.ignoreDestinationZoom,
          ignoreDestinationZoom = _ref3$ignoreDestinati === void 0 ? false : _ref3$ignoreDestinati;

      if (!this.pdfDocument) {
        return;
      }

      var pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];

      if (!pageView) {
        console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(pageNumber, "\" is not a valid pageNumber parameter."));
        return;
      }

      if (this.isInPresentationMode || !destArray) {
        this._setCurrentPageNumber(pageNumber, true);

        return;
      }

      var x = 0,
          y = 0;
      var width = 0,
          height = 0,
          widthScale,
          heightScale;
      var changeOrientation = pageView.rotation % 180 !== 0;
      var pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;
      var pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;
      var scale = 0;

      switch (destArray[1].name) {
        case "XYZ":
          x = destArray[2];
          y = destArray[3];
          scale = destArray[4];
          x = x !== null ? x : 0;
          y = y !== null ? y : pageHeight;
          break;

        case "Fit":
        case "FitB":
          scale = "page-fit";
          break;

        case "FitH":
        case "FitBH":
          y = destArray[2];
          scale = "page-width";

          if (y === null && this._location) {
            x = this._location.left;
            y = this._location.top;
          } else if (typeof y !== "number") {
            y = pageHeight;
          }

          break;

        case "FitV":
        case "FitBV":
          x = destArray[2];
          width = pageWidth;
          height = pageHeight;
          scale = "page-height";
          break;

        case "FitR":
          x = destArray[2];
          y = destArray[3];
          width = destArray[4] - x;
          height = destArray[5] - y;
          var hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;
          var vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;
          widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;
          heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;
          scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));
          break;

        default:
          console.error("".concat(this._name, ".scrollPageIntoView: ") + "\"".concat(destArray[1].name, "\" is not a valid destination type."));
          return;
      }

      if (!ignoreDestinationZoom) {
        if (scale && scale !== this._currentScale) {
          this.currentScaleValue = scale;
        } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {
          this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;
        }
      }

      if (scale === "page-fit" && !destArray[4]) {
        this._scrollIntoView({
          pageDiv: pageView.div,
          pageNumber: pageNumber
        });

        return;
      }

      var boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];
      var left = Math.min(boundingRect[0][0], boundingRect[1][0]);
      var top = Math.min(boundingRect[0][1], boundingRect[1][1]);

      if (!allowNegativeOffset) {
        left = Math.max(left, 0);
        top = Math.max(top, 0);
      }

      this._scrollIntoView({
        pageDiv: pageView.div,
        pageSpot: {
          left: left,
          top: top
        },
        pageNumber: pageNumber
      });
    }
  }, {
    key: "_updateLocation",
    value: function _updateLocation(firstPage) {
      var currentScale = this._currentScale;
      var currentScaleValue = this._currentScaleValue;
      var normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;
      var pageNumber = firstPage.id;
      var pdfOpenParams = "#page=" + pageNumber;
      pdfOpenParams += "&zoom=" + normalizedScaleValue;
      var currentPageView = this._pages[pageNumber - 1];
      var container = this.container;
      var topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);
      var intLeft = Math.round(topLeft[0]);
      var intTop = Math.round(topLeft[1]);
      pdfOpenParams += "," + intLeft + "," + intTop;
      this._location = {
        pageNumber: pageNumber,
        scale: normalizedScaleValue,
        top: intTop,
        left: intLeft,
        rotation: this._pagesRotation,
        pdfOpenParams: pdfOpenParams
      };
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {
      throw new Error("Not implemented: _updateHelper");
    }
  }, {
    key: "update",
    value: function update() {
      var visible = this._getVisiblePages();

      var visiblePages = visible.views,
          numVisiblePages = visiblePages.length;

      if (numVisiblePages === 0) {
        return;
      }

      var newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);

      this._buffer.resize(newCacheSize, visiblePages);

      this.renderingQueue.renderHighestPriority(visible);

      this._updateHelper(visiblePages);

      this._updateLocation(visible.first);

      this.eventBus.dispatch("updateviewarea", {
        source: this,
        location: this._location
      });
    }
  }, {
    key: "containsElement",
    value: function containsElement(element) {
      return this.container.contains(element);
    }
  }, {
    key: "focus",
    value: function focus() {
      this.container.focus();
    }
  }, {
    key: "_getCurrentVisiblePage",
    value: function _getCurrentVisiblePage() {
      if (!this.pagesCount) {
        return {
          views: []
        };
      }

      var pageView = this._pages[this._currentPageNumber - 1];
      var element = pageView.div;
      var view = {
        id: pageView.id,
        x: element.offsetLeft + element.clientLeft,
        y: element.offsetTop + element.clientTop,
        view: pageView
      };
      return {
        first: view,
        last: view,
        views: [view]
      };
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      return (0, _ui_utils.getVisibleElements)({
        scrollEl: this.container,
        views: this._pages,
        sortByVisibility: true,
        horizontal: this._isScrollModeHorizontal,
        rtl: this._isScrollModeHorizontal && this._isContainerRtl
      });
    }
  }, {
    key: "isPageVisible",
    value: function isPageVisible(pageNumber) {
      if (!this.pdfDocument) {
        return false;
      }

      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
        console.error("".concat(this._name, ".isPageVisible: \"").concat(pageNumber, "\" is not a valid page."));
        return false;
      }

      return this._getVisiblePages().views.some(function (view) {
        return view.id === pageNumber;
      });
    }
  }, {
    key: "isPageCached",
    value: function isPageCached(pageNumber) {
      if (!this.pdfDocument || !this._buffer) {
        return false;
      }

      if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {
        console.error("".concat(this._name, ".isPageCached: \"").concat(pageNumber, "\" is not a valid page."));
        return false;
      }

      var pageView = this._pages[pageNumber - 1];

      if (!pageView) {
        return false;
      }

      return this._buffer.has(pageView);
    }
  }, {
    key: "cleanup",
    value: function cleanup() {
      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {
          this._pages[i].reset();
        }
      }
    }
  }, {
    key: "_cancelRendering",
    value: function _cancelRendering() {
      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        if (this._pages[i]) {
          this._pages[i].cancelRendering();
        }
      }
    }
  }, {
    key: "_ensurePdfPageLoaded",
    value: function _ensurePdfPageLoaded(pageView) {
      var _this3 = this;

      if (pageView.pdfPage) {
        return Promise.resolve(pageView.pdfPage);
      }

      if (this._pagesRequests.has(pageView)) {
        return this._pagesRequests.get(pageView);
      }

      var promise = this.pdfDocument.getPage(pageView.id).then(function (pdfPage) {
        if (!pageView.pdfPage) {
          pageView.setPdfPage(pdfPage);
        }

        _this3._pagesRequests["delete"](pageView);

        return pdfPage;
      })["catch"](function (reason) {
        console.error("Unable to get page for page view", reason);

        _this3._pagesRequests["delete"](pageView);
      });

      this._pagesRequests.set(pageView, promise);

      return promise;
    }
  }, {
    key: "forceRendering",
    value: function forceRendering(currentlyVisiblePages) {
      var _this4 = this;

      var visiblePages = currentlyVisiblePages || this._getVisiblePages();

      var scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;
      var pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);

      if (pageView) {
        this._ensurePdfPageLoaded(pageView).then(function () {
          _this4.renderingQueue.renderView(pageView);
        });

        return true;
      }

      return false;
    }
  }, {
    key: "createTextLayerBuilder",
    value: function createTextLayerBuilder(textLayerDiv, pageIndex, viewport) {
      var enhanceTextSelection = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
      var eventBus = arguments.length > 4 ? arguments[4] : undefined;
      return new _text_layer_builder.TextLayerBuilder({
        textLayerDiv: textLayerDiv,
        eventBus: eventBus,
        pageIndex: pageIndex,
        viewport: viewport,
        findController: this.isInPresentationMode ? null : this.findController,
        enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection
      });
    }
  }, {
    key: "createAnnotationLayerBuilder",
    value: function createAnnotationLayerBuilder(pageDiv, pdfPage) {
      var _this$pdfDocument, _this$pdfDocument2;

      var annotationStorage = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
      var imageResourcesPath = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : "";
      var renderInteractiveForms = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
      var l10n = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : _ui_utils.NullL10n;
      var enableScripting = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
      var hasJSActionsPromise = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
      var mouseState = arguments.length > 8 && arguments[8] !== undefined ? arguments[8] : null;
      return new _annotation_layer_builder.AnnotationLayerBuilder({
        pageDiv: pageDiv,
        pdfPage: pdfPage,
        annotationStorage: annotationStorage || ((_this$pdfDocument = this.pdfDocument) === null || _this$pdfDocument === void 0 ? void 0 : _this$pdfDocument.annotationStorage),
        imageResourcesPath: imageResourcesPath,
        renderInteractiveForms: renderInteractiveForms,
        linkService: this.linkService,
        downloadManager: this.downloadManager,
        l10n: l10n,
        enableScripting: enableScripting,
        hasJSActionsPromise: hasJSActionsPromise || ((_this$pdfDocument2 = this.pdfDocument) === null || _this$pdfDocument2 === void 0 ? void 0 : _this$pdfDocument2.hasJSActions()),
        mouseState: mouseState || this._mouseState
      });
    }
  }, {
    key: "getPagesOverview",
    value: function getPagesOverview() {
      var pagesOverview = this._pages.map(function (pageView) {
        var viewport = pageView.pdfPage.getViewport({
          scale: 1
        });
        return {
          width: viewport.width,
          height: viewport.height,
          rotation: viewport.rotation
        };
      });

      if (!this.enablePrintAutoRotate) {
        return pagesOverview;
      }

      return pagesOverview.map(function (size) {
        if ((0, _ui_utils.isPortraitOrientation)(size)) {
          return size;
        }

        return {
          width: size.height,
          height: size.width,
          rotation: (size.rotation + 90) % 360
        };
      });
    }
  }, {
    key: "_updateScrollMode",
    value: function _updateScrollMode() {
      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
      var scrollMode = this._scrollMode,
          viewer = this.viewer;
      viewer.classList.toggle("scrollHorizontal", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);
      viewer.classList.toggle("scrollWrapped", scrollMode === _ui_utils.ScrollMode.WRAPPED);

      if (!this.pdfDocument || !pageNumber) {
        return;
      }

      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
        this._setScale(this._currentScaleValue, true);
      }

      this._setCurrentPageNumber(pageNumber, true);

      this.update();
    }
  }, {
    key: "_updateSpreadMode",
    value: function _updateSpreadMode() {
      var pageNumber = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;

      if (!this.pdfDocument) {
        return;
      }

      var viewer = this.viewer,
          pages = this._pages;
      viewer.textContent = "";

      if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
        for (var i = 0, iMax = pages.length; i < iMax; ++i) {
          viewer.appendChild(pages[i].div);
        }
      } else {
        var parity = this._spreadMode - 1;
        var spread = null;

        for (var _i = 0, _iMax = pages.length; _i < _iMax; ++_i) {
          if (spread === null) {
            spread = document.createElement("div");
            spread.className = "spread";
            viewer.appendChild(spread);
          } else if (_i % 2 === parity) {
            spread = spread.cloneNode(false);
            viewer.appendChild(spread);
          }

          spread.appendChild(pages[_i].div);
        }
      }

      if (!pageNumber) {
        return;
      }

      if (this._currentScaleValue && isNaN(this._currentScaleValue)) {
        this._setScale(this._currentScaleValue, true);
      }

      this._setCurrentPageNumber(pageNumber, true);

      this.update();
    }
  }, {
    key: "_getPageAdvance",
    value: function _getPageAdvance(currentPageNumber) {
      var previous = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;

      if (this.isInPresentationMode) {
        return 1;
      }

      switch (this._scrollMode) {
        case _ui_utils.ScrollMode.WRAPPED:
          {
            var _this$_getVisiblePage = this._getVisiblePages(),
                views = _this$_getVisiblePage.views,
                pageLayout = new Map();

            var _iterator = _createForOfIteratorHelper(views),
                _step;

            try {
              for (_iterator.s(); !(_step = _iterator.n()).done;) {
                var _step$value = _step.value,
                    id = _step$value.id,
                    y = _step$value.y,
                    percent = _step$value.percent,
                    widthPercent = _step$value.widthPercent;

                if (percent === 0 || widthPercent < 100) {
                  continue;
                }

                var yArray = pageLayout.get(y);

                if (!yArray) {
                  pageLayout.set(y, yArray || (yArray = []));
                }

                yArray.push(id);
              }
            } catch (err) {
              _iterator.e(err);
            } finally {
              _iterator.f();
            }

            var _iterator2 = _createForOfIteratorHelper(pageLayout.values()),
                _step2;

            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
                var _yArray = _step2.value;

                var currentIndex = _yArray.indexOf(currentPageNumber);

                if (currentIndex === -1) {
                  continue;
                }

                var numPages = _yArray.length;

                if (numPages === 1) {
                  break;
                }

                if (previous) {
                  for (var i = currentIndex - 1, ii = 0; i >= ii; i--) {
                    var currentId = _yArray[i],
                        expectedId = _yArray[i + 1] - 1;

                    if (currentId < expectedId) {
                      return currentPageNumber - expectedId;
                    }
                  }
                } else {
                  for (var _i2 = currentIndex + 1, _ii = numPages; _i2 < _ii; _i2++) {
                    var _currentId = _yArray[_i2],
                        _expectedId = _yArray[_i2 - 1] + 1;

                    if (_currentId > _expectedId) {
                      return _expectedId - currentPageNumber;
                    }
                  }
                }

                if (previous) {
                  var firstId = _yArray[0];

                  if (firstId < currentPageNumber) {
                    return currentPageNumber - firstId + 1;
                  }
                } else {
                  var lastId = _yArray[numPages - 1];

                  if (lastId > currentPageNumber) {
                    return lastId - currentPageNumber + 1;
                  }
                }

                break;
              }
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }

            break;
          }

        case _ui_utils.ScrollMode.HORIZONTAL:
          {
            break;
          }

        case _ui_utils.ScrollMode.VERTICAL:
          {
            if (this._spreadMode === _ui_utils.SpreadMode.NONE) {
              break;
            }

            var parity = this._spreadMode - 1;

            if (previous && currentPageNumber % 2 !== parity) {
              break;
            } else if (!previous && currentPageNumber % 2 === parity) {
              break;
            }

            var _this$_getVisiblePage2 = this._getVisiblePages(),
                _views = _this$_getVisiblePage2.views,
                _expectedId2 = previous ? currentPageNumber - 1 : currentPageNumber + 1;

            var _iterator3 = _createForOfIteratorHelper(_views),
                _step3;

            try {
              for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
                var _step3$value = _step3.value,
                    _id = _step3$value.id,
                    _percent = _step3$value.percent,
                    _widthPercent = _step3$value.widthPercent;

                if (_id !== _expectedId2) {
                  continue;
                }

                if (_percent > 0 && _widthPercent === 100) {
                  return 2;
                }

                break;
              }
            } catch (err) {
              _iterator3.e(err);
            } finally {
              _iterator3.f();
            }

            break;
          }
      }

      return 1;
    }
  }, {
    key: "nextPage",
    value: function nextPage() {
      var currentPageNumber = this._currentPageNumber,
          pagesCount = this.pagesCount;

      if (currentPageNumber >= pagesCount) {
        return false;
      }

      var advance = this._getPageAdvance(currentPageNumber, false) || 1;
      this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);
      return true;
    }
  }, {
    key: "previousPage",
    value: function previousPage() {
      var currentPageNumber = this._currentPageNumber;

      if (currentPageNumber <= 1) {
        return false;
      }

      var advance = this._getPageAdvance(currentPageNumber, true) || 1;
      this.currentPageNumber = Math.max(currentPageNumber - advance, 1);
      return true;
    }
  }, {
    key: "initializeScriptingEvents",
    value: function initializeScriptingEvents() {
      var _this5 = this;

      if (!this.enableScripting || this._pageOpenPendingSet) {
        return;
      }

      var eventBus = this.eventBus,
          pageOpenPendingSet = this._pageOpenPendingSet = new Set(),
          scriptingEvents = this._scriptingEvents || (this._scriptingEvents = Object.create(null));

      var dispatchPageClose = function dispatchPageClose(pageNumber) {
        if (pageOpenPendingSet.has(pageNumber)) {
          return;
        }

        eventBus.dispatch("pageclose", {
          source: _this5,
          pageNumber: pageNumber
        });
      };

      var dispatchPageOpen = function dispatchPageOpen(pageNumber) {
        var pageView = _this5._pages[pageNumber - 1];

        if ((pageView === null || pageView === void 0 ? void 0 : pageView.renderingState) === _pdf_rendering_queue.RenderingStates.FINISHED) {
          var _pageView$pdfPage;

          pageOpenPendingSet["delete"](pageNumber);
          eventBus.dispatch("pageopen", {
            source: _this5,
            pageNumber: pageNumber,
            actionsPromise: (_pageView$pdfPage = pageView.pdfPage) === null || _pageView$pdfPage === void 0 ? void 0 : _pageView$pdfPage.getJSActions()
          });
        } else {
          pageOpenPendingSet.add(pageNumber);
        }
      };

      scriptingEvents.onPageChanging = function (_ref4) {
        var pageNumber = _ref4.pageNumber,
            previous = _ref4.previous;

        if (pageNumber === previous) {
          return;
        }

        dispatchPageClose(previous);
        dispatchPageOpen(pageNumber);
      };

      eventBus._on("pagechanging", scriptingEvents.onPageChanging);

      scriptingEvents.onPageRendered = function (_ref5) {
        var pageNumber = _ref5.pageNumber;

        if (!pageOpenPendingSet.has(pageNumber)) {
          return;
        }

        if (pageNumber !== _this5._currentPageNumber) {
          return;
        }

        dispatchPageOpen(pageNumber);
      };

      eventBus._on("pagerendered", scriptingEvents.onPageRendered);

      scriptingEvents.onPagesDestroy = function () {
        dispatchPageClose(_this5._currentPageNumber);
      };

      eventBus._on("pagesdestroy", scriptingEvents.onPagesDestroy);

      dispatchPageOpen(this._currentPageNumber);
    }
  }, {
    key: "_resetScriptingEvents",
    value: function _resetScriptingEvents() {
      if (!this.enableScripting || !this._pageOpenPendingSet) {
        return;
      }

      var eventBus = this.eventBus,
          scriptingEvents = this._scriptingEvents;

      eventBus._off("pagechanging", scriptingEvents.onPageChanging);

      scriptingEvents.onPageChanging = null;

      eventBus._off("pagerendered", scriptingEvents.onPageRendered);

      scriptingEvents.onPageRendered = null;

      eventBus._off("pagesdestroy", scriptingEvents.onPagesDestroy);

      scriptingEvents.onPagesDestroy = null;
      this._pageOpenPendingSet = null;
    }
  }, {
    key: "pagesCount",
    get: function get() {
      return this._pages.length;
    }
  }, {
    key: "pageViewsReady",
    get: function get() {
      if (!this._pagesCapability.settled) {
        return false;
      }

      return this._pages.every(function (pageView) {
        return pageView && pageView.pdfPage;
      });
    }
  }, {
    key: "currentPageNumber",
    get: function get() {
      return this._currentPageNumber;
    },
    set: function set(val) {
      if (!Number.isInteger(val)) {
        throw new Error("Invalid page number.");
      }

      if (!this.pdfDocument) {
        return;
      }

      if (!this._setCurrentPageNumber(val, true)) {
        console.error("".concat(this._name, ".currentPageNumber: \"").concat(val, "\" is not a valid page."));
      }
    }
  }, {
    key: "currentPageLabel",
    get: function get() {
      return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];
    },
    set: function set(val) {
      if (!this.pdfDocument) {
        return;
      }

      var page = val | 0;

      if (this._pageLabels) {
        var i = this._pageLabels.indexOf(val);

        if (i >= 0) {
          page = i + 1;
        }
      }

      if (!this._setCurrentPageNumber(page, true)) {
        console.error("".concat(this._name, ".currentPageLabel: \"").concat(val, "\" is not a valid page."));
      }
    }
  }, {
    key: "currentScale",
    get: function get() {
      return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;
    },
    set: function set(val) {
      if (isNaN(val)) {
        throw new Error("Invalid numeric scale.");
      }

      if (!this.pdfDocument) {
        return;
      }

      this._setScale(val, false);
    }
  }, {
    key: "currentScaleValue",
    get: function get() {
      return this._currentScaleValue;
    },
    set: function set(val) {
      if (!this.pdfDocument) {
        return;
      }

      this._setScale(val, false);
    }
  }, {
    key: "pagesRotation",
    get: function get() {
      return this._pagesRotation;
    },
    set: function set(rotation) {
      if (!(0, _ui_utils.isValidRotation)(rotation)) {
        throw new Error("Invalid pages rotation angle.");
      }

      if (!this.pdfDocument) {
        return;
      }

      if (this._pagesRotation === rotation) {
        return;
      }

      this._pagesRotation = rotation;
      var pageNumber = this._currentPageNumber;

      for (var i = 0, ii = this._pages.length; i < ii; i++) {
        var pageView = this._pages[i];
        pageView.update(pageView.scale, rotation);
      }

      if (this._currentScaleValue) {
        this._setScale(this._currentScaleValue, true);
      }

      this.eventBus.dispatch("rotationchanging", {
        source: this,
        pagesRotation: rotation,
        pageNumber: pageNumber
      });

      if (this.defaultRenderingQueue) {
        this.update();
      }
    }
  }, {
    key: "firstPagePromise",
    get: function get() {
      return this.pdfDocument ? this._firstPageCapability.promise : null;
    }
  }, {
    key: "onePageRendered",
    get: function get() {
      return this.pdfDocument ? this._onePageRenderedCapability.promise : null;
    }
  }, {
    key: "pagesPromise",
    get: function get() {
      return this.pdfDocument ? this._pagesCapability.promise : null;
    }
  }, {
    key: "_viewerElement",
    get: function get() {
      throw new Error("Not implemented: _viewerElement");
    }
  }, {
    key: "_pageWidthScaleFactor",
    get: function get() {
      if (this.spreadMode !== _ui_utils.SpreadMode.NONE && this.scrollMode !== _ui_utils.ScrollMode.HORIZONTAL && !this.isInPresentationMode) {
        return 2;
      }

      return 1;
    }
  }, {
    key: "_isScrollModeHorizontal",
    get: function get() {
      return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;
    }
  }, {
    key: "_isContainerRtl",
    get: function get() {
      return getComputedStyle(this.container).direction === "rtl";
    }
  }, {
    key: "isInPresentationMode",
    get: function get() {
      return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;
    }
  }, {
    key: "isChangingPresentationMode",
    get: function get() {
      return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;
    }
  }, {
    key: "isHorizontalScrollbarEnabled",
    get: function get() {
      return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;
    }
  }, {
    key: "isVerticalScrollbarEnabled",
    get: function get() {
      return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;
    }
  }, {
    key: "hasEqualPageSizes",
    get: function get() {
      var firstPageView = this._pages[0];

      for (var i = 1, ii = this._pages.length; i < ii; ++i) {
        var pageView = this._pages[i];

        if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {
          return false;
        }
      }

      return true;
    }
  }, {
    key: "optionalContentConfigPromise",
    get: function get() {
      if (!this.pdfDocument) {
        return Promise.resolve(null);
      }

      if (!this._optionalContentConfigPromise) {
        return this.pdfDocument.getOptionalContentConfig();
      }

      return this._optionalContentConfigPromise;
    },
    set: function set(promise) {
      if (!(promise instanceof Promise)) {
        throw new Error("Invalid optionalContentConfigPromise: ".concat(promise));
      }

      if (!this.pdfDocument) {
        return;
      }

      if (!this._optionalContentConfigPromise) {
        return;
      }

      this._optionalContentConfigPromise = promise;

      var _iterator4 = _createForOfIteratorHelper(this._pages),
          _step4;

      try {
        for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
          var pageView = _step4.value;
          pageView.update(pageView.scale, pageView.rotation, promise);
        }
      } catch (err) {
        _iterator4.e(err);
      } finally {
        _iterator4.f();
      }

      this.update();
      this.eventBus.dispatch("optionalcontentconfigchanged", {
        source: this,
        promise: promise
      });
    }
  }, {
    key: "scrollMode",
    get: function get() {
      return this._scrollMode;
    },
    set: function set(mode) {
      if (this._scrollMode === mode) {
        return;
      }

      if (!(0, _ui_utils.isValidScrollMode)(mode)) {
        throw new Error("Invalid scroll mode: ".concat(mode));
      }

      this._scrollMode = mode;
      this.eventBus.dispatch("scrollmodechanged", {
        source: this,
        mode: mode
      });

      this._updateScrollMode(this._currentPageNumber);
    }
  }, {
    key: "spreadMode",
    get: function get() {
      return this._spreadMode;
    },
    set: function set(mode) {
      if (this._spreadMode === mode) {
        return;
      }

      if (!(0, _ui_utils.isValidSpreadMode)(mode)) {
        throw new Error("Invalid spread mode: ".concat(mode));
      }

      this._spreadMode = mode;
      this.eventBus.dispatch("spreadmodechanged", {
        source: this,
        mode: mode
      });

      this._updateSpreadMode(this._currentPageNumber);
    }
  }]);

  return BaseViewer;
}();

exports.BaseViewer = BaseViewer;

/***/ }),
/* 19 */
/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {



function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }

Object.defineProperty(exports, "__esModule", ({
  value: true
}));
exports.PDFViewer = void 0;

var _ui_utils = __w_pdfjs_require__(3);

var _base_viewer = __w_pdfjs_require__(18);

var _pdfjsLib = __w_pdfjs_require__(2);

function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }

function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }

function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }

function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }

function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }

function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }

function _get(target, property, receiver) { if (typeof Reflect !== "undefined" && Reflect.get) { _get = Reflect.get; } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(receiver); } return desc.value; }; } return _get(target, property, receiver || target); }

function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }

function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }

function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }

function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }

function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }

function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }

function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }

function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }

var PDFViewer = /*#__PURE__*/function (_BaseViewer) {
  _inherits(PDFViewer, _BaseViewer);

  var _super = _createSuper(PDFViewer);

  function PDFViewer() {
    _classCallCheck(this, PDFViewer);

    return _super.apply(this, arguments);
  }

  _createClass(PDFViewer, [{
    key: "_scrollIntoView",
    value: function _scrollIntoView(_ref) {
      var pageDiv = _ref.pageDiv,
          _ref$pageSpot = _ref.pageSpot,
          pageSpot = _ref$pageSpot === void 0 ? null : _ref$pageSpot,
          _ref$pageNumber = _ref.pageNumber,
          pageNumber = _ref$pageNumber === void 0 ? null : _ref$pageNumber;

      if (!pageSpot && !this.isInPresentationMode) {
        var left = pageDiv.offsetLeft + pageDiv.clientLeft;
        var right = left + pageDiv.clientWidth;
        var _this$container = this.container,
            scrollLeft = _this$container.scrollLeft,
            clientWidth = _this$container.clientWidth;

        if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {
          pageSpot = {
            left: 0,
            top: 0
          };
        }
      }

      _get(_getPrototypeOf(PDFViewer.prototype), "_scrollIntoView", this).call(this, {
        pageDiv: pageDiv,
        pageSpot: pageSpot,
        pageNumber: pageNumber
      });
    }
  }, {
    key: "_getVisiblePages",
    value: function _getVisiblePages() {
      if (this.isInPresentationMode) {
        return this._getCurrentVisiblePage();
      }

      return _get(_getPrototypeOf(PDFViewer.prototype), "_getVisiblePages", this).call(this);
    }
  }, {
    key: "_updateHelper",
    value: function _updateHelper(visiblePages) {
      if (this.isInPresentationMode) {
        return;
      }

      var currentId = this._currentPageNumber;
      var stillFullyVisible = false;

      var _iterator = _createForOfIteratorHelper(visiblePages),
          _step;

      try {
        for (_iterator.s(); !(_step = _iterator.n()).done;) {
          var page = _step.value;

          if (page.percent < 100) {
            break;
          }

          if (page.id === currentId && this._scrollMode === _ui_utils.ScrollMode.VERTICAL && this._spreadMode === _ui_utils.SpreadMode.NONE) {
            stillFullyVisible = true;
            break;
          }
        }
      } catch (err) {
        _iterator.e(err);
      } finally {
        _iterator.f();
      }

      if (!stillFullyVisible) {
        currentId = visiblePages[0].id;
      }

      this._setCurrentPageNumber(currentId);
    }
  }, {
    key: "_viewerElement",
    get: function get() {
      return (0, _pdfjsLib.shadow)(this, "_viewerElement", this.viewer);
    }
  }]);

  return PDFViewer;
}(_base_viewer.BaseViewer);

exports.PDFViewer = PDFViewer;

/***/ })
/******/ 	]);
/************************************************************************/
/******/ 	// The module cache
/******/ 	var __webpack_module_cache__ = {};
/******/ 	
/******/ 	// The require function
/******/ 	function __w_pdfjs_require__(moduleId) {
/******/ 		// Check if module is in cache
/******/ 		if(__webpack_module_cache__[moduleId]) {
/******/ 			return __webpack_module_cache__[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = __webpack_module_cache__[moduleId] = {
/******/ 			id: moduleId,
/******/ 			loaded: false,
/******/ 			exports: {}
/******/ 		};
/******/ 	
/******/ 		// Execute the module function
/******/ 		__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);
/******/ 	
/******/ 		// Flag the module as loaded
/******/ 		module.loaded = true;
/******/ 	
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/ 	
/************************************************************************/
/******/ 	/* webpack/runtime/node module decorator */
/******/ 	(() => {
/******/ 		__w_pdfjs_require__.nmd = (module) => {
/******/ 			module.paths = [];
/******/ 			if (!module.children) module.children = [];
/******/ 			return module;
/******/ 		};
/******/ 	})();
/******/ 	
/************************************************************************/
/******/ 	// module exports must be returned from runtime so entry inlining is disabled
/******/ 	// startup
/******/ 	// Load entry module and return exports
/******/ 	return __w_pdfjs_require__(0);
/******/ })()
;
});
//# sourceMappingURL=pdf_viewer.js.map

/***/ }),

/***/ "f8eb":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "f9a3":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("67be");
/* harmony import */ var _mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_css_loader_dist_cjs_js_ref_6_oneOf_1_1_vue_loader_lib_loaders_stylePostLoader_js_postcss_loader_src_index_js_ref_6_oneOf_1_2_annotationLayer_css_vue_type_style_index_0_lang_css___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "f9d2":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "fb15":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js
// This file is imported into lib/wc client bundles.

if (typeof window !== 'undefined') {
  var currentScript = window.document.currentScript
  if (true) {
    var getCurrentScript = __webpack_require__("8875")
    currentScript = getCurrentScript()

    // for backward compatibility, because previously we directly included the polyfill
    if (!('currentScript' in document)) {
      Object.defineProperty(document, 'currentScript', { get: getCurrentScript })
    }
  }

  var src = currentScript && currentScript.src.match(/(.+\/)[^/]+\.js(\?.*)?$/)
  if (src) {
    __webpack_require__.p = src[1] // eslint-disable-line
  }
}

// Indicate to webpack that this file can be concatenated
/* harmony default export */ var setPublicPath = (null);

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.to-string.js
var es_object_to_string = __webpack_require__("d3b7");

// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.for-each.js
var web_dom_collections_for_each = __webpack_require__("159b");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.function.name.js
var es_function_name = __webpack_require__("b0c0");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.slice.js
var es_array_slice = __webpack_require__("fb6a");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.keys.js
var es_object_keys = __webpack_require__("b64b");

// EXTERNAL MODULE: ./packages/css/base.css
var base = __webpack_require__("8f37");

// EXTERNAL MODULE: ./packages/css/index.scss
var css = __webpack_require__("84b3");

// EXTERNAL MODULE: ./packages/css/iconfont/iconfont.css
var iconfont = __webpack_require__("6661");

// EXTERNAL MODULE: ./packages/css/iconfont/iconfont2.scss
var iconfont2 = __webpack_require__("d31b");

// EXTERNAL MODULE: ./node_modules/dayjs/dayjs.min.js
var dayjs_min = __webpack_require__("5a0c");
var dayjs_min_default = /*#__PURE__*/__webpack_require__.n(dayjs_min);

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
function _arrayLikeToArray(arr, len) {
  if (len == null || len > arr.length) len = arr.length;

  for (var i = 0, arr2 = new Array(len); i < len; i++) {
    arr2[i] = arr[i];
  }

  return arr2;
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js

function _arrayWithoutHoles(arr) {
  if (Array.isArray(arr)) return _arrayLikeToArray(arr);
}
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.js
var es_symbol = __webpack_require__("a4d3");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.description.js
var es_symbol_description = __webpack_require__("e01a");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.symbol.iterator.js
var es_symbol_iterator = __webpack_require__("d28b");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.iterator.js
var es_array_iterator = __webpack_require__("e260");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.iterator.js
var es_string_iterator = __webpack_require__("3ca3");

// EXTERNAL MODULE: ./node_modules/core-js/modules/web.dom-collections.iterator.js
var web_dom_collections_iterator = __webpack_require__("ddb0");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.from.js
var es_array_from = __webpack_require__("a630");

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js








function _iterableToArray(iter) {
  if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
}
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.exec.js
var es_regexp_exec = __webpack_require__("ac1f");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.test.js
var es_regexp_test = __webpack_require__("00b4");

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js








function _unsupportedIterableToArray(o, minLen) {
  if (!o) return;
  if (typeof o === "string") return _arrayLikeToArray(o, minLen);
  var n = Object.prototype.toString.call(o).slice(8, -1);
  if (n === "Object" && o.constructor) n = o.constructor.name;
  if (n === "Map" || n === "Set") return Array.from(o);
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
}
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.error.cause.js
var es_error_cause = __webpack_require__("d9e2");

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js

function _nonIterableSpread() {
  throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js




function _toConsumableArray(arr) {
  return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
var esm_typeof = __webpack_require__("53ca");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.filter.js
var es_array_filter = __webpack_require__("4de4");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptor.js
var es_object_get_own_property_descriptor = __webpack_require__("e439");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.get-own-property-descriptors.js
var es_object_get_own_property_descriptors = __webpack_require__("dbb4");

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
function _defineProperty(obj, key, value) {
  if (key in obj) {
    Object.defineProperty(obj, key, {
      value: value,
      enumerable: true,
      configurable: true,
      writable: true
    });
  } else {
    obj[key] = value;
  }

  return obj;
}
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js









function ownKeys(object, enumerableOnly) {
  var keys = Object.keys(object);

  if (Object.getOwnPropertySymbols) {
    var symbols = Object.getOwnPropertySymbols(object);
    enumerableOnly && (symbols = symbols.filter(function (sym) {
      return Object.getOwnPropertyDescriptor(object, sym).enumerable;
    })), keys.push.apply(keys, symbols);
  }

  return keys;
}

function _objectSpread2(target) {
  for (var i = 1; i < arguments.length; i++) {
    var source = null != arguments[i] ? arguments[i] : {};
    i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
      _defineProperty(target, key, source[key]);
    }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
      Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
    });
  }

  return target;
}
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.split.js
var es_string_split = __webpack_require__("1276");

// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url.js
var web_url = __webpack_require__("2b3d");

// EXTERNAL MODULE: ./node_modules/core-js/modules/web.url-search-params.js
var web_url_search_params = __webpack_require__("9861");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.concat.js
var es_array_concat = __webpack_require__("99af");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.constructor.js
var es_regexp_constructor = __webpack_require__("4d63");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.dot-all.js
var es_regexp_dot_all = __webpack_require__("c607");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.sticky.js
var es_regexp_sticky = __webpack_require__("2c3e");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.regexp.to-string.js
var es_regexp_to_string = __webpack_require__("25f0");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.join.js
var es_array_join = __webpack_require__("a15b");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace.js
var es_string_replace = __webpack_require__("5319");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.object.values.js
var es_object_values = __webpack_require__("07ac");

// CONCATENATED MODULE: ./packages/js/china-region.js
/* harmony default export */ var china_region = ({
  '410000000000': {
    'code': '410000000000',
    'children': {
      '410900000000': {
        'code': '410900000000',
        'name': '濮阳市',
        'children': {
          '410971000000': {
            'code': '410971000000',
            'name': '河南濮阳工业园区'
          },
          '410922000000': {
            'code': '410922000000',
            'name': '清丰县'
          },
          '410928000000': {
            'code': '410928000000',
            'name': '濮阳县'
          },
          '410926000000': {
            'code': '410926000000',
            'name': '范县'
          },
          '410972000000': {
            'code': '410972000000',
            'name': '濮阳经济技术开发区'
          },
          '410902000000': {
            'code': '410902000000',
            'name': '华龙区'
          },
          '410927000000': {
            'code': '410927000000',
            'name': '台前县'
          },
          '410923000000': {
            'code': '410923000000',
            'name': '南乐县'
          }
        }
      },
      '411600000000': {
        'code': '411600000000',
        'name': '周口市',
        'children': {
          '411671000000': {
            'code': '411671000000',
            'name': '河南周口经济开发区'
          },
          '411623000000': {
            'code': '411623000000',
            'name': '商水县'
          },
          '411625000000': {
            'code': '411625000000',
            'name': '郸城县'
          },
          '411621000000': {
            'code': '411621000000',
            'name': '扶沟县'
          },
          '411624000000': {
            'code': '411624000000',
            'name': '沈丘县'
          },
          '411602000000': {
            'code': '411602000000',
            'name': '川汇区'
          },
          '411627000000': {
            'code': '411627000000',
            'name': '太康县'
          },
          '411681000000': {
            'code': '411681000000',
            'name': '项城市'
          },
          '411622000000': {
            'code': '411622000000',
            'name': '西华县'
          },
          '411628000000': {
            'code': '411628000000',
            'name': '鹿邑县'
          },
          '411626000000': {
            'code': '411626000000',
            'name': '淮阳县'
          }
        }
      },
      '410800000000': {
        'code': '410800000000',
        'name': '焦作市',
        'children': {
          '410804000000': {
            'code': '410804000000',
            'name': '马村区'
          },
          '410871000000': {
            'code': '410871000000',
            'name': '焦作城乡一体化示范区'
          },
          '410811000000': {
            'code': '410811000000',
            'name': '山阳区'
          },
          '410823000000': {
            'code': '410823000000',
            'name': '武陟县'
          },
          '410825000000': {
            'code': '410825000000',
            'name': '温县'
          },
          '410882000000': {
            'code': '410882000000',
            'name': '沁阳市'
          },
          '410822000000': {
            'code': '410822000000',
            'name': '博爱县'
          },
          '410802000000': {
            'code': '410802000000',
            'name': '解放区'
          },
          '410803000000': {
            'code': '410803000000',
            'name': '中站区'
          },
          '410821000000': {
            'code': '410821000000',
            'name': '修武县'
          },
          '410883000000': {
            'code': '410883000000',
            'name': '孟州市'
          }
        }
      },
      '419000000000': {
        'code': '419000000000',
        'name': '省直辖县级行政区划',
        'children': {
          '419001000000': {
            'code': '419001000000',
            'name': '济源市'
          }
        }
      },
      '411700000000': {
        'code': '411700000000',
        'name': '驻马店市',
        'children': {
          '411725000000': {
            'code': '411725000000',
            'name': '确山县'
          },
          '411728000000': {
            'code': '411728000000',
            'name': '遂平县'
          },
          '411702000000': {
            'code': '411702000000',
            'name': '驿城区'
          },
          '411724000000': {
            'code': '411724000000',
            'name': '正阳县'
          },
          '411729000000': {
            'code': '411729000000',
            'name': '新蔡县'
          },
          '411722000000': {
            'code': '411722000000',
            'name': '上蔡县'
          },
          '411726000000': {
            'code': '411726000000',
            'name': '泌阳县'
          },
          '411727000000': {
            'code': '411727000000',
            'name': '汝南县'
          },
          '411723000000': {
            'code': '411723000000',
            'name': '平舆县'
          },
          '411771000000': {
            'code': '411771000000',
            'name': '河南驻马店经济开发区'
          },
          '411721000000': {
            'code': '411721000000',
            'name': '西平县'
          }
        }
      },
      '410300000000': {
        'code': '410300000000',
        'name': '洛阳市',
        'children': {
          '410381000000': {
            'code': '410381000000',
            'name': '偃师市'
          },
          '410371000000': {
            'code': '410371000000',
            'name': '洛阳高新技术产业开发区'
          },
          '410329000000': {
            'code': '410329000000',
            'name': '伊川县'
          },
          '410304000000': {
            'code': '410304000000',
            'name': '瀍河回族区'
          },
          '410324000000': {
            'code': '410324000000',
            'name': '栾川县'
          },
          '410325000000': {
            'code': '410325000000',
            'name': '嵩县'
          },
          '410306000000': {
            'code': '410306000000',
            'name': '吉利区'
          },
          '410305000000': {
            'code': '410305000000',
            'name': '涧西区'
          },
          '410311000000': {
            'code': '410311000000',
            'name': '洛龙区'
          },
          '410302000000': {
            'code': '410302000000',
            'name': '老城区'
          },
          '410326000000': {
            'code': '410326000000',
            'name': '汝阳县'
          },
          '410328000000': {
            'code': '410328000000',
            'name': '洛宁县'
          },
          '410322000000': {
            'code': '410322000000',
            'name': '孟津县'
          },
          '410327000000': {
            'code': '410327000000',
            'name': '宜阳县'
          },
          '410323000000': {
            'code': '410323000000',
            'name': '新安县'
          },
          '410303000000': {
            'code': '410303000000',
            'name': '西工区'
          }
        }
      },
      '411300000000': {
        'code': '411300000000',
        'name': '南阳市',
        'children': {
          '411302000000': {
            'code': '411302000000',
            'name': '宛城区'
          },
          '411321000000': {
            'code': '411321000000',
            'name': '南召县'
          },
          '411328000000': {
            'code': '411328000000',
            'name': '唐河县'
          },
          '411303000000': {
            'code': '411303000000',
            'name': '卧龙区'
          },
          '411327000000': {
            'code': '411327000000',
            'name': '社旗县'
          },
          '411323000000': {
            'code': '411323000000',
            'name': '西峡县'
          },
          '411329000000': {
            'code': '411329000000',
            'name': '新野县'
          },
          '411330000000': {
            'code': '411330000000',
            'name': '桐柏县'
          },
          '411324000000': {
            'code': '411324000000',
            'name': '镇平县'
          },
          '411372000000': {
            'code': '411372000000',
            'name': '南阳市城乡一体化示范区'
          },
          '411325000000': {
            'code': '411325000000',
            'name': '内乡县'
          },
          '411326000000': {
            'code': '411326000000',
            'name': '淅川县'
          },
          '411371000000': {
            'code': '411371000000',
            'name': '南阳高新技术产业开发区'
          },
          '411381000000': {
            'code': '411381000000',
            'name': '邓州市'
          },
          '411322000000': {
            'code': '411322000000',
            'name': '方城县'
          }
        }
      },
      '410400000000': {
        'code': '410400000000',
        'name': '平顶山市',
        'children': {
          '410423000000': {
            'code': '410423000000',
            'name': '鲁山县'
          },
          '410404000000': {
            'code': '410404000000',
            'name': '石龙区'
          },
          '410425000000': {
            'code': '410425000000',
            'name': '郏县'
          },
          '410481000000': {
            'code': '410481000000',
            'name': '舞钢市'
          },
          '410403000000': {
            'code': '410403000000',
            'name': '卫东区'
          },
          '410471000000': {
            'code': '410471000000',
            'name': '平顶山高新技术产业开发区'
          },
          '410411000000': {
            'code': '410411000000',
            'name': '湛河区'
          },
          '410421000000': {
            'code': '410421000000',
            'name': '宝丰县'
          },
          '410402000000': {
            'code': '410402000000',
            'name': '新华区'
          },
          '410422000000': {
            'code': '410422000000',
            'name': '叶县'
          },
          '410472000000': {
            'code': '410472000000',
            'name': '平顶山市新城区'
          },
          '410482000000': {
            'code': '410482000000',
            'name': '汝州市'
          }
        }
      },
      '410500000000': {
        'code': '410500000000',
        'name': '安阳市',
        'children': {
          '410503000000': {
            'code': '410503000000',
            'name': '北关区'
          },
          '410506000000': {
            'code': '410506000000',
            'name': '龙安区'
          },
          '410522000000': {
            'code': '410522000000',
            'name': '安阳县'
          },
          '410505000000': {
            'code': '410505000000',
            'name': '殷都区'
          },
          '410527000000': {
            'code': '410527000000',
            'name': '内黄县'
          },
          '410581000000': {
            'code': '410581000000',
            'name': '林州市'
          },
          '410502000000': {
            'code': '410502000000',
            'name': '文峰区'
          },
          '410523000000': {
            'code': '410523000000',
            'name': '汤阴县'
          },
          '410526000000': {
            'code': '410526000000',
            'name': '滑县'
          },
          '410571000000': {
            'code': '410571000000',
            'name': '安阳高新技术产业开发区'
          }
        }
      },
      '411200000000': {
        'code': '411200000000',
        'name': '三门峡市',
        'children': {
          '411203000000': {
            'code': '411203000000',
            'name': '陕州区'
          },
          '411271000000': {
            'code': '411271000000',
            'name': '河南三门峡经济开发区'
          },
          '411281000000': {
            'code': '411281000000',
            'name': '义马市'
          },
          '411221000000': {
            'code': '411221000000',
            'name': '渑池县'
          },
          '411224000000': {
            'code': '411224000000',
            'name': '卢氏县'
          },
          '411202000000': {
            'code': '411202000000',
            'name': '湖滨区'
          },
          '411282000000': {
            'code': '411282000000',
            'name': '灵宝市'
          }
        }
      },
      '410600000000': {
        'code': '410600000000',
        'name': '鹤壁市',
        'children': {
          '410621000000': {
            'code': '410621000000',
            'name': '浚县'
          },
          '410622000000': {
            'code': '410622000000',
            'name': '淇县'
          },
          '410602000000': {
            'code': '410602000000',
            'name': '鹤山区'
          },
          '410671000000': {
            'code': '410671000000',
            'name': '鹤壁经济技术开发区'
          },
          '410603000000': {
            'code': '410603000000',
            'name': '山城区'
          },
          '410611000000': {
            'code': '410611000000',
            'name': '淇滨区'
          }
        }
      },
      '411100000000': {
        'code': '411100000000',
        'name': '漯河市',
        'children': {
          '411104000000': {
            'code': '411104000000',
            'name': '召陵区'
          },
          '411122000000': {
            'code': '411122000000',
            'name': '临颍县'
          },
          '411102000000': {
            'code': '411102000000',
            'name': '源汇区'
          },
          '411103000000': {
            'code': '411103000000',
            'name': '郾城区'
          },
          '411171000000': {
            'code': '411171000000',
            'name': '漯河经济技术开发区'
          },
          '411121000000': {
            'code': '411121000000',
            'name': '舞阳县'
          }
        }
      },
      '411400000000': {
        'code': '411400000000',
        'name': '商丘市',
        'children': {
          '411424000000': {
            'code': '411424000000',
            'name': '柘城县'
          },
          '411402000000': {
            'code': '411402000000',
            'name': '梁园区'
          },
          '411422000000': {
            'code': '411422000000',
            'name': '睢县'
          },
          '411472000000': {
            'code': '411472000000',
            'name': '河南商丘经济开发区'
          },
          '411403000000': {
            'code': '411403000000',
            'name': '睢阳区'
          },
          '411425000000': {
            'code': '411425000000',
            'name': '虞城县'
          },
          '411426000000': {
            'code': '411426000000',
            'name': '夏邑县'
          },
          '411423000000': {
            'code': '411423000000',
            'name': '宁陵县'
          },
          '411471000000': {
            'code': '411471000000',
            'name': '豫东综合物流产业聚集区'
          },
          '411481000000': {
            'code': '411481000000',
            'name': '永城市'
          },
          '411421000000': {
            'code': '411421000000',
            'name': '民权县'
          }
        }
      },
      '410200000000': {
        'code': '410200000000',
        'name': '开封市',
        'children': {
          '410205000000': {
            'code': '410205000000',
            'name': '禹王台区'
          },
          '410221000000': {
            'code': '410221000000',
            'name': '杞县'
          },
          '410202000000': {
            'code': '410202000000',
            'name': '龙亭区'
          },
          '410212000000': {
            'code': '410212000000',
            'name': '祥符区'
          },
          '410225000000': {
            'code': '410225000000',
            'name': '兰考县'
          },
          '410203000000': {
            'code': '410203000000',
            'name': '顺河回族区'
          },
          '410223000000': {
            'code': '410223000000',
            'name': '尉氏县'
          },
          '410222000000': {
            'code': '410222000000',
            'name': '通许县'
          },
          '410204000000': {
            'code': '410204000000',
            'name': '鼓楼区'
          }
        }
      },
      '411000000000': {
        'code': '411000000000',
        'name': '许昌市',
        'children': {
          '411081000000': {
            'code': '411081000000',
            'name': '禹州市'
          },
          '411071000000': {
            'code': '411071000000',
            'name': '许昌经济技术开发区'
          },
          '411003000000': {
            'code': '411003000000',
            'name': '建安区'
          },
          '411025000000': {
            'code': '411025000000',
            'name': '襄城县'
          },
          '411082000000': {
            'code': '411082000000',
            'name': '长葛市'
          },
          '411002000000': {
            'code': '411002000000',
            'name': '魏都区'
          },
          '411024000000': {
            'code': '411024000000',
            'name': '鄢陵县'
          }
        }
      },
      '411500000000': {
        'code': '411500000000',
        'name': '信阳市',
        'children': {
          '411526000000': {
            'code': '411526000000',
            'name': '潢川县'
          },
          '411571000000': {
            'code': '411571000000',
            'name': '信阳高新技术产业开发区'
          },
          '411523000000': {
            'code': '411523000000',
            'name': '新县'
          },
          '411524000000': {
            'code': '411524000000',
            'name': '商城县'
          },
          '411521000000': {
            'code': '411521000000',
            'name': '罗山县'
          },
          '411528000000': {
            'code': '411528000000',
            'name': '息县'
          },
          '411522000000': {
            'code': '411522000000',
            'name': '光山县'
          },
          '411525000000': {
            'code': '411525000000',
            'name': '固始县'
          },
          '411502000000': {
            'code': '411502000000',
            'name': '浉河区'
          },
          '411503000000': {
            'code': '411503000000',
            'name': '平桥区'
          },
          '411527000000': {
            'code': '411527000000',
            'name': '淮滨县'
          }
        }
      },
      '410100000000': {
        'code': '410100000000',
        'name': '郑州市',
        'children': {
          '410106000000': {
            'code': '410106000000',
            'name': '上街区'
          },
          '410105000000': {
            'code': '410105000000',
            'name': '金水区'
          },
          '410183000000': {
            'code': '410183000000',
            'name': '新密市'
          },
          '410173000000': {
            'code': '410173000000',
            'name': '郑州航空港经济综合实验区'
          },
          '410181000000': {
            'code': '410181000000',
            'name': '巩义市'
          },
          '410102000000': {
            'code': '410102000000',
            'name': '中原区'
          },
          '410122000000': {
            'code': '410122000000',
            'name': '中牟县'
          },
          '410172000000': {
            'code': '410172000000',
            'name': '郑州高新技术产业开发区'
          },
          '410182000000': {
            'code': '410182000000',
            'name': '荥阳市'
          },
          '410185000000': {
            'code': '410185000000',
            'name': '登封市'
          },
          '410103000000': {
            'code': '410103000000',
            'name': '二七区'
          },
          '410108000000': {
            'code': '410108000000',
            'name': '惠济区'
          },
          '410171000000': {
            'code': '410171000000',
            'name': '郑州经济技术开发区'
          },
          '410104000000': {
            'code': '410104000000',
            'name': '管城回族区'
          },
          '410184000000': {
            'code': '410184000000',
            'name': '新郑市'
          }
        }
      },
      '410700000000': {
        'code': '410700000000',
        'name': '新乡市',
        'children': {
          '410727000000': {
            'code': '410727000000',
            'name': '封丘县'
          },
          '410711000000': {
            'code': '410711000000',
            'name': '牧野区'
          },
          '410721000000': {
            'code': '410721000000',
            'name': '新乡县'
          },
          '410703000000': {
            'code': '410703000000',
            'name': '卫滨区'
          },
          '410726000000': {
            'code': '410726000000',
            'name': '延津县'
          },
          '410702000000': {
            'code': '410702000000',
            'name': '红旗区'
          },
          '410772000000': {
            'code': '410772000000',
            'name': '新乡经济技术开发区'
          },
          '410782000000': {
            'code': '410782000000',
            'name': '辉县市'
          },
          '410724000000': {
            'code': '410724000000',
            'name': '获嘉县'
          },
          '410771000000': {
            'code': '410771000000',
            'name': '新乡高新技术产业开发区'
          },
          '410773000000': {
            'code': '410773000000',
            'name': '新乡市平原城乡一体化示范区'
          },
          '410781000000': {
            'code': '410781000000',
            'name': '卫辉市'
          },
          '410725000000': {
            'code': '410725000000',
            'name': '原阳县'
          },
          '410728000000': {
            'code': '410728000000',
            'name': '长垣县'
          },
          '410704000000': {
            'code': '410704000000',
            'name': '凤泉区'
          }
        }
      }
    },
    'name': '河南省'
  },
  '370000000000': {
    'code': '370000000000',
    'children': {
      '370900000000': {
        'code': '370900000000',
        'name': '泰安市',
        'children': {
          '370982000000': {
            'code': '370982000000',
            'name': '新泰市'
          },
          '370983000000': {
            'code': '370983000000',
            'name': '肥城市'
          },
          '370902000000': {
            'code': '370902000000',
            'name': '泰山区'
          },
          '370923000000': {
            'code': '370923000000',
            'name': '东平县'
          },
          '370911000000': {
            'code': '370911000000',
            'name': '岱岳区'
          },
          '370921000000': {
            'code': '370921000000',
            'name': '宁阳县'
          }
        }
      },
      '371600000000': {
        'code': '371600000000',
        'name': '滨州市',
        'children': {
          '371625000000': {
            'code': '371625000000',
            'name': '博兴县'
          },
          '371603000000': {
            'code': '371603000000',
            'name': '沾化区'
          },
          '371622000000': {
            'code': '371622000000',
            'name': '阳信县'
          },
          '371681000000': {
            'code': '371681000000',
            'name': '邹平市'
          },
          '371623000000': {
            'code': '371623000000',
            'name': '无棣县'
          },
          '371602000000': {
            'code': '371602000000',
            'name': '滨城区'
          },
          '371621000000': {
            'code': '371621000000',
            'name': '惠民县'
          }
        }
      },
      '371400000000': {
        'code': '371400000000',
        'name': '德州市',
        'children': {
          '371426000000': {
            'code': '371426000000',
            'name': '平原县'
          },
          '371402000000': {
            'code': '371402000000',
            'name': '德城区'
          },
          '371425000000': {
            'code': '371425000000',
            'name': '齐河县'
          },
          '371471000000': {
            'code': '371471000000',
            'name': '德州经济技术开发区'
          },
          '371481000000': {
            'code': '371481000000',
            'name': '乐陵市'
          },
          '371424000000': {
            'code': '371424000000',
            'name': '临邑县'
          },
          '371472000000': {
            'code': '371472000000',
            'name': '德州运河经济开发区'
          },
          '371422000000': {
            'code': '371422000000',
            'name': '宁津县'
          },
          '371482000000': {
            'code': '371482000000',
            'name': '禹城市'
          },
          '371428000000': {
            'code': '371428000000',
            'name': '武城县'
          },
          '371427000000': {
            'code': '371427000000',
            'name': '夏津县'
          },
          '371403000000': {
            'code': '371403000000',
            'name': '陵城区'
          },
          '371423000000': {
            'code': '371423000000',
            'name': '庆云县'
          }
        }
      },
      '371700000000': {
        'code': '371700000000',
        'name': '菏泽市',
        'children': {
          '371702000000': {
            'code': '371702000000',
            'name': '牡丹区'
          },
          '371721000000': {
            'code': '371721000000',
            'name': '曹县'
          },
          '371772000000': {
            'code': '371772000000',
            'name': '菏泽高新技术开发区'
          },
          '371722000000': {
            'code': '371722000000',
            'name': '单县'
          },
          '371728000000': {
            'code': '371728000000',
            'name': '东明县'
          },
          '371724000000': {
            'code': '371724000000',
            'name': '巨野县'
          },
          '371726000000': {
            'code': '371726000000',
            'name': '鄄城县'
          },
          '371771000000': {
            'code': '371771000000',
            'name': '菏泽经济技术开发区'
          },
          '371725000000': {
            'code': '371725000000',
            'name': '郓城县'
          },
          '371703000000': {
            'code': '371703000000',
            'name': '定陶区'
          },
          '371723000000': {
            'code': '371723000000',
            'name': '成武县'
          }
        }
      },
      '370800000000': {
        'code': '370800000000',
        'name': '济宁市',
        'children': {
          '370883000000': {
            'code': '370883000000',
            'name': '邹城市'
          },
          '370832000000': {
            'code': '370832000000',
            'name': '梁山县'
          },
          '370826000000': {
            'code': '370826000000',
            'name': '微山县'
          },
          '370812000000': {
            'code': '370812000000',
            'name': '兖州区'
          },
          '370829000000': {
            'code': '370829000000',
            'name': '嘉祥县'
          },
          '370830000000': {
            'code': '370830000000',
            'name': '汶上县'
          },
          '370827000000': {
            'code': '370827000000',
            'name': '鱼台县'
          },
          '370828000000': {
            'code': '370828000000',
            'name': '金乡县'
          },
          '370811000000': {
            'code': '370811000000',
            'name': '任城区'
          },
          '370831000000': {
            'code': '370831000000',
            'name': '泗水县'
          },
          '370871000000': {
            'code': '370871000000',
            'name': '济宁高新技术产业开发区'
          },
          '370881000000': {
            'code': '370881000000',
            'name': '曲阜市'
          }
        }
      },
      '370600000000': {
        'code': '370600000000',
        'name': '烟台市',
        'children': {
          '370602000000': {
            'code': '370602000000',
            'name': '芝罘区'
          },
          '370684000000': {
            'code': '370684000000',
            'name': '蓬莱市'
          },
          '370611000000': {
            'code': '370611000000',
            'name': '福山区'
          },
          '370612000000': {
            'code': '370612000000',
            'name': '牟平区'
          },
          '370685000000': {
            'code': '370685000000',
            'name': '招远市'
          },
          '370681000000': {
            'code': '370681000000',
            'name': '龙口市'
          },
          '370672000000': {
            'code': '370672000000',
            'name': '烟台经济技术开发区'
          },
          '370682000000': {
            'code': '370682000000',
            'name': '莱阳市'
          },
          '370671000000': {
            'code': '370671000000',
            'name': '烟台高新技术产业开发区'
          },
          '370634000000': {
            'code': '370634000000',
            'name': '长岛县'
          },
          '370686000000': {
            'code': '370686000000',
            'name': '栖霞市'
          },
          '370613000000': {
            'code': '370613000000',
            'name': '莱山区'
          },
          '370683000000': {
            'code': '370683000000',
            'name': '莱州市'
          },
          '370687000000': {
            'code': '370687000000',
            'name': '海阳市'
          }
        }
      },
      '370700000000': {
        'code': '370700000000',
        'name': '潍坊市',
        'children': {
          '370783000000': {
            'code': '370783000000',
            'name': '寿光市'
          },
          '370725000000': {
            'code': '370725000000',
            'name': '昌乐县'
          },
          '370785000000': {
            'code': '370785000000',
            'name': '高密市'
          },
          '370724000000': {
            'code': '370724000000',
            'name': '临朐县'
          },
          '370784000000': {
            'code': '370784000000',
            'name': '安丘市'
          },
          '370704000000': {
            'code': '370704000000',
            'name': '坊子区'
          },
          '370781000000': {
            'code': '370781000000',
            'name': '青州市'
          },
          '370705000000': {
            'code': '370705000000',
            'name': '奎文区'
          },
          '370703000000': {
            'code': '370703000000',
            'name': '寒亭区'
          },
          '370782000000': {
            'code': '370782000000',
            'name': '诸城市'
          },
          '370786000000': {
            'code': '370786000000',
            'name': '昌邑市'
          },
          '370772000000': {
            'code': '370772000000',
            'name': '潍坊滨海经济技术开发区'
          },
          '370702000000': {
            'code': '370702000000',
            'name': '潍城区'
          }
        }
      },
      '370100000000': {
        'code': '370100000000',
        'name': '济南市',
        'children': {
          '370124000000': {
            'code': '370124000000',
            'name': '平阴县'
          },
          '370105000000': {
            'code': '370105000000',
            'name': '天桥区'
          },
          '370115000000': {
            'code': '370115000000',
            'name': '济阳区'
          },
          '370171000000': {
            'code': '370171000000',
            'name': '济南高新技术产业开发区'
          },
          '370103000000': {
            'code': '370103000000',
            'name': '市中区'
          },
          '370113000000': {
            'code': '370113000000',
            'name': '长清区'
          },
          '370126000000': {
            'code': '370126000000',
            'name': '商河县'
          },
          '370104000000': {
            'code': '370104000000',
            'name': '槐荫区'
          },
          '370114000000': {
            'code': '370114000000',
            'name': '章丘区'
          },
          '370102000000': {
            'code': '370102000000',
            'name': '历下区'
          },
          '370112000000': {
            'code': '370112000000',
            'name': '历城区'
          }
        }
      },
      '371500000000': {
        'code': '371500000000',
        'name': '聊城市',
        'children': {
          '371526000000': {
            'code': '371526000000',
            'name': '高唐县'
          },
          '371525000000': {
            'code': '371525000000',
            'name': '冠县'
          },
          '371523000000': {
            'code': '371523000000',
            'name': '茌平县'
          },
          '371581000000': {
            'code': '371581000000',
            'name': '临清市'
          },
          '371521000000': {
            'code': '371521000000',
            'name': '阳谷县'
          },
          '371524000000': {
            'code': '371524000000',
            'name': '东阿县'
          },
          '371502000000': {
            'code': '371502000000',
            'name': '东昌府区'
          },
          '371522000000': {
            'code': '371522000000',
            'name': '莘县'
          }
        }
      },
      '370400000000': {
        'code': '370400000000',
        'name': '枣庄市',
        'children': {
          '370403000000': {
            'code': '370403000000',
            'name': '薛城区'
          },
          '370406000000': {
            'code': '370406000000',
            'name': '山亭区'
          },
          '370405000000': {
            'code': '370405000000',
            'name': '台儿庄区'
          },
          '370481000000': {
            'code': '370481000000',
            'name': '滕州市'
          },
          '370404000000': {
            'code': '370404000000',
            'name': '峄城区'
          },
          '370402000000': {
            'code': '370402000000',
            'name': '市中区'
          }
        }
      },
      '371100000000': {
        'code': '371100000000',
        'name': '日照市',
        'children': {
          '371122000000': {
            'code': '371122000000',
            'name': '莒县'
          },
          '371102000000': {
            'code': '371102000000',
            'name': '东港区'
          },
          '371171000000': {
            'code': '371171000000',
            'name': '日照经济技术开发区'
          },
          '371121000000': {
            'code': '371121000000',
            'name': '五莲县'
          },
          '371103000000': {
            'code': '371103000000',
            'name': '岚山区'
          }
        }
      },
      '370300000000': {
        'code': '370300000000',
        'name': '淄博市',
        'children': {
          '370323000000': {
            'code': '370323000000',
            'name': '沂源县'
          },
          '370322000000': {
            'code': '370322000000',
            'name': '高青县'
          },
          '370304000000': {
            'code': '370304000000',
            'name': '博山区'
          },
          '370306000000': {
            'code': '370306000000',
            'name': '周村区'
          },
          '370302000000': {
            'code': '370302000000',
            'name': '淄川区'
          },
          '370321000000': {
            'code': '370321000000',
            'name': '桓台县'
          },
          '370303000000': {
            'code': '370303000000',
            'name': '张店区'
          },
          '370305000000': {
            'code': '370305000000',
            'name': '临淄区'
          }
        }
      },
      '371000000000': {
        'code': '371000000000',
        'name': '威海市',
        'children': {
          '371071000000': {
            'code': '371071000000',
            'name': '威海火炬高技术产业开发区'
          },
          '371083000000': {
            'code': '371083000000',
            'name': '乳山市'
          },
          '371073000000': {
            'code': '371073000000',
            'name': '威海临港经济技术开发区'
          },
          '371003000000': {
            'code': '371003000000',
            'name': '文登区'
          },
          '371002000000': {
            'code': '371002000000',
            'name': '环翠区'
          },
          '371072000000': {
            'code': '371072000000',
            'name': '威海经济技术开发区'
          },
          '371082000000': {
            'code': '371082000000',
            'name': '荣成市'
          }
        }
      },
      '370500000000': {
        'code': '370500000000',
        'name': '东营市',
        'children': {
          '370502000000': {
            'code': '370502000000',
            'name': '东营区'
          },
          '370505000000': {
            'code': '370505000000',
            'name': '垦利区'
          },
          '370522000000': {
            'code': '370522000000',
            'name': '利津县'
          },
          '370572000000': {
            'code': '370572000000',
            'name': '东营港经济开发区'
          },
          '370523000000': {
            'code': '370523000000',
            'name': '广饶县'
          },
          '370503000000': {
            'code': '370503000000',
            'name': '河口区'
          },
          '370571000000': {
            'code': '370571000000',
            'name': '东营经济技术开发区'
          }
        }
      },
      '370200000000': {
        'code': '370200000000',
        'name': '青岛市',
        'children': {
          '370281000000': {
            'code': '370281000000',
            'name': '胶州市'
          },
          '370211000000': {
            'code': '370211000000',
            'name': '黄岛区'
          },
          '370214000000': {
            'code': '370214000000',
            'name': '城阳区'
          },
          '370202000000': {
            'code': '370202000000',
            'name': '市南区'
          },
          '370203000000': {
            'code': '370203000000',
            'name': '市北区'
          },
          '370212000000': {
            'code': '370212000000',
            'name': '崂山区'
          },
          '370215000000': {
            'code': '370215000000',
            'name': '即墨区'
          },
          '370285000000': {
            'code': '370285000000',
            'name': '莱西市'
          },
          '370213000000': {
            'code': '370213000000',
            'name': '李沧区'
          },
          '370283000000': {
            'code': '370283000000',
            'name': '平度市'
          },
          '370271000000': {
            'code': '370271000000',
            'name': '青岛高新技术产业开发区'
          }
        }
      },
      '371300000000': {
        'code': '371300000000',
        'name': '临沂市',
        'children': {
          '371302000000': {
            'code': '371302000000',
            'name': '兰山区'
          },
          '371311000000': {
            'code': '371311000000',
            'name': '罗庄区'
          },
          '371321000000': {
            'code': '371321000000',
            'name': '沂南县'
          },
          '371327000000': {
            'code': '371327000000',
            'name': '莒南县'
          },
          '371322000000': {
            'code': '371322000000',
            'name': '郯城县'
          },
          '371312000000': {
            'code': '371312000000',
            'name': '河东区'
          },
          '371371000000': {
            'code': '371371000000',
            'name': '临沂高新技术产业开发区'
          },
          '371326000000': {
            'code': '371326000000',
            'name': '平邑县'
          },
          '371324000000': {
            'code': '371324000000',
            'name': '兰陵县'
          },
          '371372000000': {
            'code': '371372000000',
            'name': '临沂经济技术开发区'
          },
          '371323000000': {
            'code': '371323000000',
            'name': '沂水县'
          },
          '371329000000': {
            'code': '371329000000',
            'name': '临沭县'
          },
          '371325000000': {
            'code': '371325000000',
            'name': '费县'
          },
          '371373000000': {
            'code': '371373000000',
            'name': '临沂临港经济开发区'
          },
          '371328000000': {
            'code': '371328000000',
            'name': '蒙阴县'
          }
        }
      },
      '371200000000': {
        'code': '371200000000',
        'name': '莱芜市',
        'children': {
          '371202000000': {
            'code': '371202000000',
            'name': '莱城区'
          },
          '371203000000': {
            'code': '371203000000',
            'name': '钢城区'
          }
        }
      }
    },
    'name': '山东省'
  },
  '540000000000': {
    'code': '540000000000',
    'children': {
      '540100000000': {
        'code': '540100000000',
        'name': '拉萨市',
        'children': {
          '540103000000': {
            'code': '540103000000',
            'name': '堆龙德庆区'
          },
          '540173000000': {
            'code': '540173000000',
            'name': '西藏文化旅游创意园区'
          },
          '540171000000': {
            'code': '540171000000',
            'name': '格尔木藏青工业园区'
          },
          '540121000000': {
            'code': '540121000000',
            'name': '林周县'
          },
          '540123000000': {
            'code': '540123000000',
            'name': '尼木县'
          },
          '540127000000': {
            'code': '540127000000',
            'name': '墨竹工卡县'
          },
          '540104000000': {
            'code': '540104000000',
            'name': '达孜区'
          },
          '540124000000': {
            'code': '540124000000',
            'name': '曲水县'
          },
          '540172000000': {
            'code': '540172000000',
            'name': '拉萨经济技术开发区'
          },
          '540102000000': {
            'code': '540102000000',
            'name': '城关区'
          },
          '540122000000': {
            'code': '540122000000',
            'name': '当雄县'
          },
          '540174000000': {
            'code': '540174000000',
            'name': '达孜工业园区'
          }
        }
      },
      '540600000000': {
        'code': '540600000000',
        'name': '那曲市',
        'children': {
          '540625000000': {
            'code': '540625000000',
            'name': '申扎县'
          },
          '540628000000': {
            'code': '540628000000',
            'name': '巴青县'
          },
          '540622000000': {
            'code': '540622000000',
            'name': '比如县'
          },
          '540602000000': {
            'code': '540602000000',
            'name': '色尼区'
          },
          '540624000000': {
            'code': '540624000000',
            'name': '安多县'
          },
          '540626000000': {
            'code': '540626000000',
            'name': '索县'
          },
          '540630000000': {
            'code': '540630000000',
            'name': '双湖县'
          },
          '540623000000': {
            'code': '540623000000',
            'name': '聂荣县'
          },
          '540621000000': {
            'code': '540621000000',
            'name': '嘉黎县'
          },
          '540629000000': {
            'code': '540629000000',
            'name': '尼玛县'
          },
          '540627000000': {
            'code': '540627000000',
            'name': '班戈县'
          }
        }
      },
      '540200000000': {
        'code': '540200000000',
        'name': '日喀则市',
        'children': {
          '540224000000': {
            'code': '540224000000',
            'name': '萨迦县'
          },
          '540225000000': {
            'code': '540225000000',
            'name': '拉孜县'
          },
          '540234000000': {
            'code': '540234000000',
            'name': '吉隆县'
          },
          '540226000000': {
            'code': '540226000000',
            'name': '昂仁县'
          },
          '540236000000': {
            'code': '540236000000',
            'name': '萨嘎县'
          },
          '540235000000': {
            'code': '540235000000',
            'name': '聂拉木县'
          },
          '540221000000': {
            'code': '540221000000',
            'name': '南木林县'
          },
          '540231000000': {
            'code': '540231000000',
            'name': '定结县'
          },
          '540237000000': {
            'code': '540237000000',
            'name': '岗巴县'
          },
          '540202000000': {
            'code': '540202000000',
            'name': '桑珠孜区'
          },
          '540222000000': {
            'code': '540222000000',
            'name': '江孜县'
          },
          '540227000000': {
            'code': '540227000000',
            'name': '谢通门县'
          },
          '540232000000': {
            'code': '540232000000',
            'name': '仲巴县'
          },
          '540229000000': {
            'code': '540229000000',
            'name': '仁布县'
          },
          '540230000000': {
            'code': '540230000000',
            'name': '康马县'
          },
          '540223000000': {
            'code': '540223000000',
            'name': '定日县'
          },
          '540233000000': {
            'code': '540233000000',
            'name': '亚东县'
          },
          '540228000000': {
            'code': '540228000000',
            'name': '白朗县'
          }
        }
      },
      '540500000000': {
        'code': '540500000000',
        'name': '山南市',
        'children': {
          '540523000000': {
            'code': '540523000000',
            'name': '桑日县'
          },
          '540526000000': {
            'code': '540526000000',
            'name': '措美县'
          },
          '540525000000': {
            'code': '540525000000',
            'name': '曲松县'
          },
          '540522000000': {
            'code': '540522000000',
            'name': '贡嘎县'
          },
          '540529000000': {
            'code': '540529000000',
            'name': '隆子县'
          },
          '540530000000': {
            'code': '540530000000',
            'name': '错那县'
          },
          '540521000000': {
            'code': '540521000000',
            'name': '扎囊县'
          },
          '540524000000': {
            'code': '540524000000',
            'name': '琼结县'
          },
          '540502000000': {
            'code': '540502000000',
            'name': '乃东区'
          },
          '540527000000': {
            'code': '540527000000',
            'name': '洛扎县'
          },
          '540528000000': {
            'code': '540528000000',
            'name': '加查县'
          },
          '540531000000': {
            'code': '540531000000',
            'name': '浪卡子县'
          }
        }
      },
      '542500000000': {
        'code': '542500000000',
        'name': '阿里地区',
        'children': {
          '542525000000': {
            'code': '542525000000',
            'name': '革吉县'
          },
          '542524000000': {
            'code': '542524000000',
            'name': '日土县'
          },
          '542527000000': {
            'code': '542527000000',
            'name': '措勤县'
          },
          '542522000000': {
            'code': '542522000000',
            'name': '札达县'
          },
          '542523000000': {
            'code': '542523000000',
            'name': '噶尔县'
          },
          '542526000000': {
            'code': '542526000000',
            'name': '改则县'
          },
          '542521000000': {
            'code': '542521000000',
            'name': '普兰县'
          }
        }
      },
      '540300000000': {
        'code': '540300000000',
        'name': '昌都市',
        'children': {
          '540327000000': {
            'code': '540327000000',
            'name': '左贡县'
          },
          '540324000000': {
            'code': '540324000000',
            'name': '丁青县'
          },
          '540302000000': {
            'code': '540302000000',
            'name': '卡若区'
          },
          '540330000000': {
            'code': '540330000000',
            'name': '边坝县'
          },
          '540321000000': {
            'code': '540321000000',
            'name': '江达县'
          },
          '540328000000': {
            'code': '540328000000',
            'name': '芒康县'
          },
          '540326000000': {
            'code': '540326000000',
            'name': '八宿县'
          },
          '540322000000': {
            'code': '540322000000',
            'name': '贡觉县'
          },
          '540323000000': {
            'code': '540323000000',
            'name': '类乌齐县'
          },
          '540329000000': {
            'code': '540329000000',
            'name': '洛隆县'
          },
          '540325000000': {
            'code': '540325000000',
            'name': '察雅县'
          }
        }
      },
      '540400000000': {
        'code': '540400000000',
        'name': '林芝市',
        'children': {
          '540426000000': {
            'code': '540426000000',
            'name': '朗县'
          },
          '540421000000': {
            'code': '540421000000',
            'name': '工布江达县'
          },
          '540423000000': {
            'code': '540423000000',
            'name': '墨脱县'
          },
          '540425000000': {
            'code': '540425000000',
            'name': '察隅县'
          },
          '540424000000': {
            'code': '540424000000',
            'name': '波密县'
          },
          '540422000000': {
            'code': '540422000000',
            'name': '米林县'
          },
          '540402000000': {
            'code': '540402000000',
            'name': '巴宜区'
          }
        }
      }
    },
    'name': '西藏自治区'
  },
  '110000000000': {
    'code': '110000000000',
    'children': {
      '110100000000': {
        'code': '110100000000',
        'name': '市辖区',
        'children': {
          '110114000000': {
            'code': '110114000000',
            'name': '昌平区'
          },
          '110113000000': {
            'code': '110113000000',
            'name': '顺义区'
          },
          '110115000000': {
            'code': '110115000000',
            'name': '大兴区'
          },
          '110119000000': {
            'code': '110119000000',
            'name': '延庆区'
          },
          '110105000000': {
            'code': '110105000000',
            'name': '朝阳区'
          },
          '110109000000': {
            'code': '110109000000',
            'name': '门头沟区'
          },
          '110101000000': {
            'code': '110101000000',
            'name': '东城区'
          },
          '110107000000': {
            'code': '110107000000',
            'name': '石景山区'
          },
          '110111000000': {
            'code': '110111000000',
            'name': '房山区'
          },
          '110116000000': {
            'code': '110116000000',
            'name': '怀柔区'
          },
          '110106000000': {
            'code': '110106000000',
            'name': '丰台区'
          },
          '110108000000': {
            'code': '110108000000',
            'name': '海淀区'
          },
          '110118000000': {
            'code': '110118000000',
            'name': '密云区'
          },
          '110112000000': {
            'code': '110112000000',
            'name': '通州区'
          },
          '110102000000': {
            'code': '110102000000',
            'name': '西城区'
          },
          '110117000000': {
            'code': '110117000000',
            'name': '平谷区'
          }
        }
      }
    },
    'name': '北京市'
  },
  '650000000000': {
    'code': '650000000000',
    'children': {
      '652700000000': {
        'code': '652700000000',
        'name': '博尔塔拉蒙古自治州',
        'children': {
          '652702000000': {
            'code': '652702000000',
            'name': '阿拉山口市'
          },
          '652722000000': {
            'code': '652722000000',
            'name': '精河县'
          },
          '652723000000': {
            'code': '652723000000',
            'name': '温泉县'
          },
          '652701000000': {
            'code': '652701000000',
            'name': '博乐市'
          }
        }
      },
      '654000000000': {
        'code': '654000000000',
        'name': '伊犁哈萨克自治州',
        'children': {
          '654023000000': {
            'code': '654023000000',
            'name': '霍城县'
          },
          '654025000000': {
            'code': '654025000000',
            'name': '新源县'
          },
          '654003000000': {
            'code': '654003000000',
            'name': '奎屯市'
          },
          '654027000000': {
            'code': '654027000000',
            'name': '特克斯县'
          },
          '654002000000': {
            'code': '654002000000',
            'name': '伊宁市'
          },
          '654024000000': {
            'code': '654024000000',
            'name': '巩留县'
          },
          '654021000000': {
            'code': '654021000000',
            'name': '伊宁县'
          },
          '654022000000': {
            'code': '654022000000',
            'name': '察布查尔锡伯自治县'
          },
          '654028000000': {
            'code': '654028000000',
            'name': '尼勒克县'
          },
          '654004000000': {
            'code': '654004000000',
            'name': '霍尔果斯市'
          },
          '654026000000': {
            'code': '654026000000',
            'name': '昭苏县'
          }
        }
      },
      '653200000000': {
        'code': '653200000000',
        'name': '和田地区',
        'children': {
          '653201000000': {
            'code': '653201000000',
            'name': '和田市'
          },
          '653223000000': {
            'code': '653223000000',
            'name': '皮山县'
          },
          '653224000000': {
            'code': '653224000000',
            'name': '洛浦县'
          },
          '653227000000': {
            'code': '653227000000',
            'name': '民丰县'
          },
          '653225000000': {
            'code': '653225000000',
            'name': '策勒县'
          },
          '653222000000': {
            'code': '653222000000',
            'name': '墨玉县'
          },
          '653221000000': {
            'code': '653221000000',
            'name': '和田县'
          },
          '653226000000': {
            'code': '653226000000',
            'name': '于田县'
          }
        }
      },
      '650400000000': {
        'code': '650400000000',
        'name': '吐鲁番市',
        'children': {
          '650422000000': {
            'code': '650422000000',
            'name': '托克逊县'
          },
          '650402000000': {
            'code': '650402000000',
            'name': '高昌区'
          },
          '650421000000': {
            'code': '650421000000',
            'name': '鄯善县'
          }
        }
      },
      '652900000000': {
        'code': '652900000000',
        'name': '阿克苏地区',
        'children': {
          '652927000000': {
            'code': '652927000000',
            'name': '乌什县'
          },
          '652924000000': {
            'code': '652924000000',
            'name': '沙雅县'
          },
          '652901000000': {
            'code': '652901000000',
            'name': '阿克苏市'
          },
          '652923000000': {
            'code': '652923000000',
            'name': '库车县'
          },
          '652929000000': {
            'code': '652929000000',
            'name': '柯坪县'
          },
          '652925000000': {
            'code': '652925000000',
            'name': '新和县'
          },
          '652922000000': {
            'code': '652922000000',
            'name': '温宿县'
          },
          '652928000000': {
            'code': '652928000000',
            'name': '阿瓦提县'
          },
          '652926000000': {
            'code': '652926000000',
            'name': '拜城县'
          }
        }
      },
      '652800000000': {
        'code': '652800000000',
        'name': '巴音郭楞蒙古自治州',
        'children': {
          '652825000000': {
            'code': '652825000000',
            'name': '且末县'
          },
          '652824000000': {
            'code': '652824000000',
            'name': '若羌县'
          },
          '652828000000': {
            'code': '652828000000',
            'name': '和硕县'
          },
          '652823000000': {
            'code': '652823000000',
            'name': '尉犁县'
          },
          '652826000000': {
            'code': '652826000000',
            'name': '焉耆回族自治县'
          },
          '652871000000': {
            'code': '652871000000',
            'name': '库尔勒经济技术开发区'
          },
          '652801000000': {
            'code': '652801000000',
            'name': '库尔勒市'
          },
          '652822000000': {
            'code': '652822000000',
            'name': '轮台县'
          },
          '652827000000': {
            'code': '652827000000',
            'name': '和静县'
          },
          '652829000000': {
            'code': '652829000000',
            'name': '博湖县'
          }
        }
      },
      '650500000000': {
        'code': '650500000000',
        'name': '哈密市',
        'children': {
          '650521000000': {
            'code': '650521000000',
            'name': '巴里坤哈萨克自治县'
          },
          '650502000000': {
            'code': '650502000000',
            'name': '伊州区'
          },
          '650522000000': {
            'code': '650522000000',
            'name': '伊吾县'
          }
        }
      },
      '653100000000': {
        'code': '653100000000',
        'name': '喀什地区',
        'children': {
          '653121000000': {
            'code': '653121000000',
            'name': '疏附县'
          },
          '653124000000': {
            'code': '653124000000',
            'name': '泽普县'
          },
          '653127000000': {
            'code': '653127000000',
            'name': '麦盖提县'
          },
          '653128000000': {
            'code': '653128000000',
            'name': '岳普湖县'
          },
          '653125000000': {
            'code': '653125000000',
            'name': '莎车县'
          },
          '653123000000': {
            'code': '653123000000',
            'name': '英吉沙县'
          },
          '653131000000': {
            'code': '653131000000',
            'name': '塔什库尔干塔吉克自治县'
          },
          '653101000000': {
            'code': '653101000000',
            'name': '喀什市'
          },
          '653126000000': {
            'code': '653126000000',
            'name': '叶城县'
          },
          '653129000000': {
            'code': '653129000000',
            'name': '伽师县'
          },
          '653130000000': {
            'code': '653130000000',
            'name': '巴楚县'
          },
          '653122000000': {
            'code': '653122000000',
            'name': '疏勒县'
          }
        }
      },
      '659000000000': {
        'code': '659000000000',
        'name': '自治区直辖县级行政区划',
        'children': {
          '659006000000': {
            'code': '659006000000',
            'name': '铁门关市'
          },
          '659003000000': {
            'code': '659003000000',
            'name': '图木舒克市'
          },
          '659001000000': {
            'code': '659001000000',
            'name': '石河子市'
          },
          '659004000000': {
            'code': '659004000000',
            'name': '五家渠市'
          },
          '659002000000': {
            'code': '659002000000',
            'name': '阿拉尔市'
          }
        }
      },
      '652300000000': {
        'code': '652300000000',
        'name': '昌吉回族自治州',
        'children': {
          '652328000000': {
            'code': '652328000000',
            'name': '木垒哈萨克自治县'
          },
          '652327000000': {
            'code': '652327000000',
            'name': '吉木萨尔县'
          },
          '652325000000': {
            'code': '652325000000',
            'name': '奇台县'
          },
          '652301000000': {
            'code': '652301000000',
            'name': '昌吉市'
          },
          '652323000000': {
            'code': '652323000000',
            'name': '呼图壁县'
          },
          '652324000000': {
            'code': '652324000000',
            'name': '玛纳斯县'
          },
          '652302000000': {
            'code': '652302000000',
            'name': '阜康市'
          }
        }
      },
      '653000000000': {
        'code': '653000000000',
        'name': '克孜勒苏柯尔克孜自治州',
        'children': {
          '653022000000': {
            'code': '653022000000',
            'name': '阿克陶县'
          },
          '653024000000': {
            'code': '653024000000',
            'name': '乌恰县'
          },
          '653001000000': {
            'code': '653001000000',
            'name': '阿图什市'
          },
          '653023000000': {
            'code': '653023000000',
            'name': '阿合奇县'
          }
        }
      },
      '650100000000': {
        'code': '650100000000',
        'name': '乌鲁木齐市',
        'children': {
          '650102000000': {
            'code': '650102000000',
            'name': '天山区'
          },
          '650105000000': {
            'code': '650105000000',
            'name': '水磨沟区'
          },
          '650104000000': {
            'code': '650104000000',
            'name': '新市区'
          },
          '650107000000': {
            'code': '650107000000',
            'name': '达坂城区'
          },
          '650109000000': {
            'code': '650109000000',
            'name': '米东区'
          },
          '650172000000': {
            'code': '650172000000',
            'name': '乌鲁木齐高新技术产业开发区'
          },
          '650103000000': {
            'code': '650103000000',
            'name': '沙依巴克区'
          },
          '650106000000': {
            'code': '650106000000',
            'name': '头屯河区'
          },
          '650121000000': {
            'code': '650121000000',
            'name': '乌鲁木齐县'
          },
          '650171000000': {
            'code': '650171000000',
            'name': '乌鲁木齐经济技术开发区'
          }
        }
      },
      '654300000000': {
        'code': '654300000000',
        'name': '阿勒泰地区',
        'children': {
          '654324000000': {
            'code': '654324000000',
            'name': '哈巴河县'
          },
          '654301000000': {
            'code': '654301000000',
            'name': '阿勒泰市'
          },
          '654321000000': {
            'code': '654321000000',
            'name': '布尔津县'
          },
          '654323000000': {
            'code': '654323000000',
            'name': '福海县'
          },
          '654325000000': {
            'code': '654325000000',
            'name': '青河县'
          },
          '654322000000': {
            'code': '654322000000',
            'name': '富蕴县'
          },
          '654326000000': {
            'code': '654326000000',
            'name': '吉木乃县'
          }
        }
      },
      '650200000000': {
        'code': '650200000000',
        'name': '克拉玛依市',
        'children': {
          '650204000000': {
            'code': '650204000000',
            'name': '白碱滩区'
          },
          '650203000000': {
            'code': '650203000000',
            'name': '克拉玛依区'
          },
          '650202000000': {
            'code': '650202000000',
            'name': '独山子区'
          },
          '650205000000': {
            'code': '650205000000',
            'name': '乌尔禾区'
          }
        }
      },
      '654200000000': {
        'code': '654200000000',
        'name': '塔城地区',
        'children': {
          '654202000000': {
            'code': '654202000000',
            'name': '乌苏市'
          },
          '654224000000': {
            'code': '654224000000',
            'name': '托里县'
          },
          '654225000000': {
            'code': '654225000000',
            'name': '裕民县'
          },
          '654221000000': {
            'code': '654221000000',
            'name': '额敏县'
          },
          '654223000000': {
            'code': '654223000000',
            'name': '沙湾县'
          },
          '654226000000': {
            'code': '654226000000',
            'name': '和布克赛尔蒙古自治县'
          },
          '654201000000': {
            'code': '654201000000',
            'name': '塔城市'
          }
        }
      }
    },
    'name': '新疆维吾尔自治区'
  },
  '450000000000': {
    'code': '450000000000',
    'children': {
      '451200000000': {
        'code': '451200000000',
        'name': '河池市',
        'children': {
          '451203000000': {
            'code': '451203000000',
            'name': '宜州区'
          },
          '451222000000': {
            'code': '451222000000',
            'name': '天峨县'
          },
          '451223000000': {
            'code': '451223000000',
            'name': '凤山县'
          },
          '451229000000': {
            'code': '451229000000',
            'name': '大化瑶族自治县'
          },
          '451225000000': {
            'code': '451225000000',
            'name': '罗城仫佬族自治县'
          },
          '451227000000': {
            'code': '451227000000',
            'name': '巴马瑶族自治县'
          },
          '451224000000': {
            'code': '451224000000',
            'name': '东兰县'
          },
          '451202000000': {
            'code': '451202000000',
            'name': '金城江区'
          },
          '451221000000': {
            'code': '451221000000',
            'name': '南丹县'
          },
          '451228000000': {
            'code': '451228000000',
            'name': '都安瑶族自治县'
          },
          '451226000000': {
            'code': '451226000000',
            'name': '环江毛南族自治县'
          }
        }
      },
      '450500000000': {
        'code': '450500000000',
        'name': '北海市',
        'children': {
          '450503000000': {
            'code': '450503000000',
            'name': '银海区'
          },
          '450512000000': {
            'code': '450512000000',
            'name': '铁山港区'
          },
          '450502000000': {
            'code': '450502000000',
            'name': '海城区'
          },
          '450521000000': {
            'code': '450521000000',
            'name': '合浦县'
          }
        }
      },
      '450400000000': {
        'code': '450400000000',
        'name': '梧州市',
        'children': {
          '450423000000': {
            'code': '450423000000',
            'name': '蒙山县'
          },
          '450422000000': {
            'code': '450422000000',
            'name': '藤县'
          },
          '450405000000': {
            'code': '450405000000',
            'name': '长洲区'
          },
          '450403000000': {
            'code': '450403000000',
            'name': '万秀区'
          },
          '450406000000': {
            'code': '450406000000',
            'name': '龙圩区'
          },
          '450421000000': {
            'code': '450421000000',
            'name': '苍梧县'
          },
          '450481000000': {
            'code': '450481000000',
            'name': '岑溪市'
          }
        }
      },
      '451300000000': {
        'code': '451300000000',
        'name': '来宾市',
        'children': {
          '451324000000': {
            'code': '451324000000',
            'name': '金秀瑶族自治县'
          },
          '451322000000': {
            'code': '451322000000',
            'name': '象州县'
          },
          '451302000000': {
            'code': '451302000000',
            'name': '兴宾区'
          },
          '451381000000': {
            'code': '451381000000',
            'name': '合山市'
          },
          '451321000000': {
            'code': '451321000000',
            'name': '忻城县'
          },
          '451323000000': {
            'code': '451323000000',
            'name': '武宣县'
          }
        }
      },
      '450700000000': {
        'code': '450700000000',
        'name': '钦州市',
        'children': {
          '450721000000': {
            'code': '450721000000',
            'name': '灵山县'
          },
          '450702000000': {
            'code': '450702000000',
            'name': '钦南区'
          },
          '450722000000': {
            'code': '450722000000',
            'name': '浦北县'
          },
          '450703000000': {
            'code': '450703000000',
            'name': '钦北区'
          }
        }
      },
      '450600000000': {
        'code': '450600000000',
        'name': '防城港市',
        'children': {
          '450621000000': {
            'code': '450621000000',
            'name': '上思县'
          },
          '450603000000': {
            'code': '450603000000',
            'name': '防城区'
          },
          '450681000000': {
            'code': '450681000000',
            'name': '东兴市'
          },
          '450602000000': {
            'code': '450602000000',
            'name': '港口区'
          }
        }
      },
      '451400000000': {
        'code': '451400000000',
        'name': '崇左市',
        'children': {
          '451421000000': {
            'code': '451421000000',
            'name': '扶绥县'
          },
          '451424000000': {
            'code': '451424000000',
            'name': '大新县'
          },
          '451402000000': {
            'code': '451402000000',
            'name': '江州区'
          },
          '451481000000': {
            'code': '451481000000',
            'name': '凭祥市'
          },
          '451423000000': {
            'code': '451423000000',
            'name': '龙州县'
          },
          '451425000000': {
            'code': '451425000000',
            'name': '天等县'
          },
          '451422000000': {
            'code': '451422000000',
            'name': '宁明县'
          }
        }
      },
      '450100000000': {
        'code': '450100000000',
        'name': '南宁市',
        'children': {
          '450125000000': {
            'code': '450125000000',
            'name': '上林县'
          },
          '450103000000': {
            'code': '450103000000',
            'name': '青秀区'
          },
          '450102000000': {
            'code': '450102000000',
            'name': '兴宁区'
          },
          '450105000000': {
            'code': '450105000000',
            'name': '江南区'
          },
          '450110000000': {
            'code': '450110000000',
            'name': '武鸣区'
          },
          '450127000000': {
            'code': '450127000000',
            'name': '横县'
          },
          '450107000000': {
            'code': '450107000000',
            'name': '西乡塘区'
          },
          '450109000000': {
            'code': '450109000000',
            'name': '邕宁区'
          },
          '450123000000': {
            'code': '450123000000',
            'name': '隆安县'
          },
          '450124000000': {
            'code': '450124000000',
            'name': '马山县'
          },
          '450108000000': {
            'code': '450108000000',
            'name': '良庆区'
          },
          '450126000000': {
            'code': '450126000000',
            'name': '宾阳县'
          }
        }
      },
      '450300000000': {
        'code': '450300000000',
        'name': '桂林市',
        'children': {
          '450311000000': {
            'code': '450311000000',
            'name': '雁山区'
          },
          '450330000000': {
            'code': '450330000000',
            'name': '平乐县'
          },
          '450327000000': {
            'code': '450327000000',
            'name': '灌阳县'
          },
          '450321000000': {
            'code': '450321000000',
            'name': '阳朔县'
          },
          '450303000000': {
            'code': '450303000000',
            'name': '叠彩区'
          },
          '450326000000': {
            'code': '450326000000',
            'name': '永福县'
          },
          '450332000000': {
            'code': '450332000000',
            'name': '恭城瑶族自治县'
          },
          '450302000000': {
            'code': '450302000000',
            'name': '秀峰区'
          },
          '450312000000': {
            'code': '450312000000',
            'name': '临桂区'
          },
          '450381000000': {
            'code': '450381000000',
            'name': '荔浦市'
          },
          '450305000000': {
            'code': '450305000000',
            'name': '七星区'
          },
          '450323000000': {
            'code': '450323000000',
            'name': '灵川县'
          },
          '450325000000': {
            'code': '450325000000',
            'name': '兴安县'
          },
          '450328000000': {
            'code': '450328000000',
            'name': '龙胜各族自治县'
          },
          '450329000000': {
            'code': '450329000000',
            'name': '资源县'
          },
          '450304000000': {
            'code': '450304000000',
            'name': '象山区'
          },
          '450324000000': {
            'code': '450324000000',
            'name': '全州县'
          }
        }
      },
      '451000000000': {
        'code': '451000000000',
        'name': '百色市',
        'children': {
          '451030000000': {
            'code': '451030000000',
            'name': '西林县'
          },
          '451081000000': {
            'code': '451081000000',
            'name': '靖西市'
          },
          '451027000000': {
            'code': '451027000000',
            'name': '凌云县'
          },
          '451026000000': {
            'code': '451026000000',
            'name': '那坡县'
          },
          '451029000000': {
            'code': '451029000000',
            'name': '田林县'
          },
          '451024000000': {
            'code': '451024000000',
            'name': '德保县'
          },
          '451002000000': {
            'code': '451002000000',
            'name': '右江区'
          },
          '451022000000': {
            'code': '451022000000',
            'name': '田东县'
          },
          '451028000000': {
            'code': '451028000000',
            'name': '乐业县'
          },
          '451031000000': {
            'code': '451031000000',
            'name': '隆林各族自治县'
          },
          '451021000000': {
            'code': '451021000000',
            'name': '田阳县'
          },
          '451023000000': {
            'code': '451023000000',
            'name': '平果县'
          }
        }
      },
      '450800000000': {
        'code': '450800000000',
        'name': '贵港市',
        'children': {
          '450881000000': {
            'code': '450881000000',
            'name': '桂平市'
          },
          '450804000000': {
            'code': '450804000000',
            'name': '覃塘区'
          },
          '450821000000': {
            'code': '450821000000',
            'name': '平南县'
          },
          '450802000000': {
            'code': '450802000000',
            'name': '港北区'
          },
          '450803000000': {
            'code': '450803000000',
            'name': '港南区'
          }
        }
      },
      '450200000000': {
        'code': '450200000000',
        'name': '柳州市',
        'children': {
          '450202000000': {
            'code': '450202000000',
            'name': '城中区'
          },
          '450206000000': {
            'code': '450206000000',
            'name': '柳江区'
          },
          '450222000000': {
            'code': '450222000000',
            'name': '柳城县'
          },
          '450204000000': {
            'code': '450204000000',
            'name': '柳南区'
          },
          '450224000000': {
            'code': '450224000000',
            'name': '融安县'
          },
          '450226000000': {
            'code': '450226000000',
            'name': '三江侗族自治县'
          },
          '450223000000': {
            'code': '450223000000',
            'name': '鹿寨县'
          },
          '450225000000': {
            'code': '450225000000',
            'name': '融水苗族自治县'
          },
          '450203000000': {
            'code': '450203000000',
            'name': '鱼峰区'
          },
          '450205000000': {
            'code': '450205000000',
            'name': '柳北区'
          }
        }
      },
      '451100000000': {
        'code': '451100000000',
        'name': '贺州市',
        'children': {
          '451123000000': {
            'code': '451123000000',
            'name': '富川瑶族自治县'
          },
          '451103000000': {
            'code': '451103000000',
            'name': '平桂区'
          },
          '451121000000': {
            'code': '451121000000',
            'name': '昭平县'
          },
          '451102000000': {
            'code': '451102000000',
            'name': '八步区'
          },
          '451122000000': {
            'code': '451122000000',
            'name': '钟山县'
          }
        }
      },
      '450900000000': {
        'code': '450900000000',
        'name': '玉林市',
        'children': {
          '450981000000': {
            'code': '450981000000',
            'name': '北流市'
          },
          '450903000000': {
            'code': '450903000000',
            'name': '福绵区'
          },
          '450923000000': {
            'code': '450923000000',
            'name': '博白县'
          },
          '450902000000': {
            'code': '450902000000',
            'name': '玉州区'
          },
          '450921000000': {
            'code': '450921000000',
            'name': '容县'
          },
          '450922000000': {
            'code': '450922000000',
            'name': '陆川县'
          },
          '450924000000': {
            'code': '450924000000',
            'name': '兴业县'
          }
        }
      }
    },
    'name': '广西壮族自治区'
  },
  '520000000000': {
    'code': '520000000000',
    'children': {
      '520300000000': {
        'code': '520300000000',
        'name': '遵义市',
        'children': {
          '520325000000': {
            'code': '520325000000',
            'name': '道真仡佬族苗族自治县'
          },
          '520381000000': {
            'code': '520381000000',
            'name': '赤水市'
          },
          '520327000000': {
            'code': '520327000000',
            'name': '凤冈县'
          },
          '520326000000': {
            'code': '520326000000',
            'name': '务川仡佬族苗族自治县'
          },
          '520382000000': {
            'code': '520382000000',
            'name': '仁怀市'
          },
          '520302000000': {
            'code': '520302000000',
            'name': '红花岗区'
          },
          '520322000000': {
            'code': '520322000000',
            'name': '桐梓县'
          },
          '520303000000': {
            'code': '520303000000',
            'name': '汇川区'
          },
          '520328000000': {
            'code': '520328000000',
            'name': '湄潭县'
          },
          '520323000000': {
            'code': '520323000000',
            'name': '绥阳县'
          },
          '520324000000': {
            'code': '520324000000',
            'name': '正安县'
          },
          '520330000000': {
            'code': '520330000000',
            'name': '习水县'
          },
          '520329000000': {
            'code': '520329000000',
            'name': '余庆县'
          },
          '520304000000': {
            'code': '520304000000',
            'name': '播州区'
          }
        }
      },
      '522600000000': {
        'code': '522600000000',
        'name': '黔东南苗族侗族自治州',
        'children': {
          '522635000000': {
            'code': '522635000000',
            'name': '麻江县'
          },
          '522601000000': {
            'code': '522601000000',
            'name': '凯里市'
          },
          '522625000000': {
            'code': '522625000000',
            'name': '镇远县'
          },
          '522627000000': {
            'code': '522627000000',
            'name': '天柱县'
          },
          '522626000000': {
            'code': '522626000000',
            'name': '岑巩县'
          },
          '522636000000': {
            'code': '522636000000',
            'name': '丹寨县'
          },
          '522622000000': {
            'code': '522622000000',
            'name': '黄平县'
          },
          '522632000000': {
            'code': '522632000000',
            'name': '榕江县'
          },
          '522628000000': {
            'code': '522628000000',
            'name': '锦屏县'
          },
          '522629000000': {
            'code': '522629000000',
            'name': '剑河县'
          },
          '522631000000': {
            'code': '522631000000',
            'name': '黎平县'
          },
          '522623000000': {
            'code': '522623000000',
            'name': '施秉县'
          },
          '522633000000': {
            'code': '522633000000',
            'name': '从江县'
          },
          '522630000000': {
            'code': '522630000000',
            'name': '台江县'
          },
          '522624000000': {
            'code': '522624000000',
            'name': '三穗县'
          },
          '522634000000': {
            'code': '522634000000',
            'name': '雷山县'
          }
        }
      },
      '520200000000': {
        'code': '520200000000',
        'name': '六盘水市',
        'children': {
          '520201000000': {
            'code': '520201000000',
            'name': '钟山区'
          },
          '520281000000': {
            'code': '520281000000',
            'name': '盘州市'
          },
          '520221000000': {
            'code': '520221000000',
            'name': '水城县'
          },
          '520203000000': {
            'code': '520203000000',
            'name': '六枝特区'
          }
        }
      },
      '520400000000': {
        'code': '520400000000',
        'name': '安顺市',
        'children': {
          '520402000000': {
            'code': '520402000000',
            'name': '西秀区'
          },
          '520422000000': {
            'code': '520422000000',
            'name': '普定县'
          },
          '520425000000': {
            'code': '520425000000',
            'name': '紫云苗族布依族自治县'
          },
          '520403000000': {
            'code': '520403000000',
            'name': '平坝区'
          },
          '520424000000': {
            'code': '520424000000',
            'name': '关岭布依族苗族自治县'
          },
          '520423000000': {
            'code': '520423000000',
            'name': '镇宁布依族苗族自治县'
          }
        }
      },
      '522700000000': {
        'code': '522700000000',
        'name': '黔南布依族苗族自治州',
        'children': {
          '522722000000': {
            'code': '522722000000',
            'name': '荔波县'
          },
          '522728000000': {
            'code': '522728000000',
            'name': '罗甸县'
          },
          '522725000000': {
            'code': '522725000000',
            'name': '瓮安县'
          },
          '522727000000': {
            'code': '522727000000',
            'name': '平塘县'
          },
          '522732000000': {
            'code': '522732000000',
            'name': '三都水族自治县'
          },
          '522702000000': {
            'code': '522702000000',
            'name': '福泉市'
          },
          '522729000000': {
            'code': '522729000000',
            'name': '长顺县'
          },
          '522730000000': {
            'code': '522730000000',
            'name': '龙里县'
          },
          '522701000000': {
            'code': '522701000000',
            'name': '都匀市'
          },
          '522723000000': {
            'code': '522723000000',
            'name': '贵定县'
          },
          '522726000000': {
            'code': '522726000000',
            'name': '独山县'
          },
          '522731000000': {
            'code': '522731000000',
            'name': '惠水县'
          }
        }
      },
      '520100000000': {
        'code': '520100000000',
        'name': '贵阳市',
        'children': {
          '520181000000': {
            'code': '520181000000',
            'name': '清镇市'
          },
          '520111000000': {
            'code': '520111000000',
            'name': '花溪区'
          },
          '520123000000': {
            'code': '520123000000',
            'name': '修文县'
          },
          '520102000000': {
            'code': '520102000000',
            'name': '南明区'
          },
          '520122000000': {
            'code': '520122000000',
            'name': '息烽县'
          },
          '520112000000': {
            'code': '520112000000',
            'name': '乌当区'
          },
          '520115000000': {
            'code': '520115000000',
            'name': '观山湖区'
          },
          '520103000000': {
            'code': '520103000000',
            'name': '云岩区'
          },
          '520113000000': {
            'code': '520113000000',
            'name': '白云区'
          },
          '520121000000': {
            'code': '520121000000',
            'name': '开阳县'
          }
        }
      },
      '520500000000': {
        'code': '520500000000',
        'name': '毕节市',
        'children': {
          '520524000000': {
            'code': '520524000000',
            'name': '织金县'
          },
          '520527000000': {
            'code': '520527000000',
            'name': '赫章县'
          },
          '520502000000': {
            'code': '520502000000',
            'name': '七星关区'
          },
          '520521000000': {
            'code': '520521000000',
            'name': '大方县'
          },
          '520526000000': {
            'code': '520526000000',
            'name': '威宁彝族回族苗族自治县'
          },
          '520522000000': {
            'code': '520522000000',
            'name': '黔西县'
          },
          '520523000000': {
            'code': '520523000000',
            'name': '金沙县'
          },
          '520525000000': {
            'code': '520525000000',
            'name': '纳雍县'
          }
        }
      },
      '522300000000': {
        'code': '522300000000',
        'name': '黔西南布依族苗族自治州',
        'children': {
          '522327000000': {
            'code': '522327000000',
            'name': '册亨县'
          },
          '522328000000': {
            'code': '522328000000',
            'name': '安龙县'
          },
          '522325000000': {
            'code': '522325000000',
            'name': '贞丰县'
          },
          '522301000000': {
            'code': '522301000000',
            'name': '兴义市'
          },
          '522323000000': {
            'code': '522323000000',
            'name': '普安县'
          },
          '522326000000': {
            'code': '522326000000',
            'name': '望谟县'
          },
          '522324000000': {
            'code': '522324000000',
            'name': '晴隆县'
          },
          '522302000000': {
            'code': '522302000000',
            'name': '兴仁市'
          }
        }
      },
      '520600000000': {
        'code': '520600000000',
        'name': '铜仁市',
        'children': {
          '520626000000': {
            'code': '520626000000',
            'name': '德江县'
          },
          '520627000000': {
            'code': '520627000000',
            'name': '沿河土家族自治县'
          },
          '520621000000': {
            'code': '520621000000',
            'name': '江口县'
          },
          '520603000000': {
            'code': '520603000000',
            'name': '万山区'
          },
          '520623000000': {
            'code': '520623000000',
            'name': '石阡县'
          },
          '520625000000': {
            'code': '520625000000',
            'name': '印江土家族苗族自治县'
          },
          '520628000000': {
            'code': '520628000000',
            'name': '松桃苗族自治县'
          },
          '520624000000': {
            'code': '520624000000',
            'name': '思南县'
          },
          '520602000000': {
            'code': '520602000000',
            'name': '碧江区'
          },
          '520622000000': {
            'code': '520622000000',
            'name': '玉屏侗族自治县'
          }
        }
      }
    },
    'name': '贵州省'
  },
  '500000000000': {
    'code': '500000000000',
    'children': {
      '500100000000': {
        'code': '500100000000',
        'name': '市辖区',
        'children': {
          '500109000000': {
            'code': '500109000000',
            'name': '北碚区'
          },
          '500119000000': {
            'code': '500119000000',
            'name': '南川区'
          },
          '500102000000': {
            'code': '500102000000',
            'name': '涪陵区'
          },
          '500112000000': {
            'code': '500112000000',
            'name': '渝北区'
          },
          '500104000000': {
            'code': '500104000000',
            'name': '大渡口区'
          },
          '500120000000': {
            'code': '500120000000',
            'name': '璧山区'
          },
          '500155000000': {
            'code': '500155000000',
            'name': '梁平区'
          },
          '500106000000': {
            'code': '500106000000',
            'name': '沙坪坝区'
          },
          '500110000000': {
            'code': '500110000000',
            'name': '綦江区'
          },
          '500116000000': {
            'code': '500116000000',
            'name': '江津区'
          },
          '500113000000': {
            'code': '500113000000',
            'name': '巴南区'
          },
          '500153000000': {
            'code': '500153000000',
            'name': '荣昌区'
          },
          '500103000000': {
            'code': '500103000000',
            'name': '渝中区'
          },
          '500118000000': {
            'code': '500118000000',
            'name': '永川区'
          },
          '500151000000': {
            'code': '500151000000',
            'name': '铜梁区'
          },
          '500108000000': {
            'code': '500108000000',
            'name': '南岸区'
          },
          '500156000000': {
            'code': '500156000000',
            'name': '武隆区'
          },
          '500101000000': {
            'code': '500101000000',
            'name': '万州区'
          },
          '500111000000': {
            'code': '500111000000',
            'name': '大足区'
          },
          '500105000000': {
            'code': '500105000000',
            'name': '江北区'
          },
          '500115000000': {
            'code': '500115000000',
            'name': '长寿区'
          },
          '500154000000': {
            'code': '500154000000',
            'name': '开州区'
          },
          '500114000000': {
            'code': '500114000000',
            'name': '黔江区'
          },
          '500117000000': {
            'code': '500117000000',
            'name': '合川区'
          },
          '500152000000': {
            'code': '500152000000',
            'name': '潼南区'
          },
          '500107000000': {
            'code': '500107000000',
            'name': '九龙坡区'
          }
        }
      },
      '500200000000': {
        'code': '500200000000',
        'name': '县',
        'children': {
          '500237000000': {
            'code': '500237000000',
            'name': '巫山县'
          },
          '500233000000': {
            'code': '500233000000',
            'name': '忠县'
          },
          '500243000000': {
            'code': '500243000000',
            'name': '彭水苗族土家族自治县'
          },
          '500231000000': {
            'code': '500231000000',
            'name': '垫江县'
          },
          '500241000000': {
            'code': '500241000000',
            'name': '秀山土家族苗族自治县'
          },
          '500242000000': {
            'code': '500242000000',
            'name': '酉阳土家族苗族自治县'
          },
          '500229000000': {
            'code': '500229000000',
            'name': '城口县'
          },
          '500235000000': {
            'code': '500235000000',
            'name': '云阳县'
          },
          '500238000000': {
            'code': '500238000000',
            'name': '巫溪县'
          },
          '500236000000': {
            'code': '500236000000',
            'name': '奉节县'
          },
          '500230000000': {
            'code': '500230000000',
            'name': '丰都县'
          },
          '500240000000': {
            'code': '500240000000',
            'name': '石柱土家族自治县'
          }
        }
      }
    },
    'name': '重庆市'
  },
  '130000000000': {
    'code': '130000000000',
    'children': {
      '130500000000': {
        'code': '130500000000',
        'name': '邢台市',
        'children': {
          '130525000000': {
            'code': '130525000000',
            'name': '隆尧县'
          },
          '130535000000': {
            'code': '130535000000',
            'name': '临西县'
          },
          '130526000000': {
            'code': '130526000000',
            'name': '任县'
          },
          '130524000000': {
            'code': '130524000000',
            'name': '柏乡县'
          },
          '130534000000': {
            'code': '130534000000',
            'name': '清河县'
          },
          '130529000000': {
            'code': '130529000000',
            'name': '巨鹿县'
          },
          '130530000000': {
            'code': '130530000000',
            'name': '新河县'
          },
          '130503000000': {
            'code': '130503000000',
            'name': '桥西区'
          },
          '130522000000': {
            'code': '130522000000',
            'name': '临城县'
          },
          '130532000000': {
            'code': '130532000000',
            'name': '平乡县'
          },
          '130523000000': {
            'code': '130523000000',
            'name': '内丘县'
          },
          '130531000000': {
            'code': '130531000000',
            'name': '广宗县'
          },
          '130521000000': {
            'code': '130521000000',
            'name': '邢台县'
          },
          '130528000000': {
            'code': '130528000000',
            'name': '宁晋县'
          },
          '130571000000': {
            'code': '130571000000',
            'name': '河北邢台经济开发区'
          },
          '130581000000': {
            'code': '130581000000',
            'name': '南宫市'
          },
          '130527000000': {
            'code': '130527000000',
            'name': '南和县'
          },
          '130533000000': {
            'code': '130533000000',
            'name': '威县'
          },
          '130582000000': {
            'code': '130582000000',
            'name': '沙河市'
          },
          '130502000000': {
            'code': '130502000000',
            'name': '桥东区'
          }
        }
      },
      '130900000000': {
        'code': '130900000000',
        'name': '沧州市',
        'children': {
          '130929000000': {
            'code': '130929000000',
            'name': '献县'
          },
          '130923000000': {
            'code': '130923000000',
            'name': '东光县'
          },
          '130971000000': {
            'code': '130971000000',
            'name': '河北沧州经济开发区'
          },
          '130922000000': {
            'code': '130922000000',
            'name': '青县'
          },
          '130903000000': {
            'code': '130903000000',
            'name': '运河区'
          },
          '130902000000': {
            'code': '130902000000',
            'name': '新华区'
          },
          '130982000000': {
            'code': '130982000000',
            'name': '任丘市'
          },
          '130921000000': {
            'code': '130921000000',
            'name': '沧县'
          },
          '130972000000': {
            'code': '130972000000',
            'name': '沧州高新技术产业开发区'
          },
          '130981000000': {
            'code': '130981000000',
            'name': '泊头市'
          },
          '130926000000': {
            'code': '130926000000',
            'name': '肃宁县'
          },
          '130973000000': {
            'code': '130973000000',
            'name': '沧州渤海新区'
          },
          '130983000000': {
            'code': '130983000000',
            'name': '黄骅市'
          },
          '130925000000': {
            'code': '130925000000',
            'name': '盐山县'
          },
          '130930000000': {
            'code': '130930000000',
            'name': '孟村回族自治县'
          },
          '130927000000': {
            'code': '130927000000',
            'name': '南皮县'
          },
          '130924000000': {
            'code': '130924000000',
            'name': '海兴县'
          },
          '130928000000': {
            'code': '130928000000',
            'name': '吴桥县'
          },
          '130984000000': {
            'code': '130984000000',
            'name': '河间市'
          }
        }
      },
      '130600000000': {
        'code': '130600000000',
        'name': '保定市',
        'children': {
          '130634000000': {
            'code': '130634000000',
            'name': '曲阳县'
          },
          '130672000000': {
            'code': '130672000000',
            'name': '保定白沟新城'
          },
          '130682000000': {
            'code': '130682000000',
            'name': '定州市'
          },
          '130629000000': {
            'code': '130629000000',
            'name': '容城县'
          },
          '130684000000': {
            'code': '130684000000',
            'name': '高碑店市'
          },
          '130608000000': {
            'code': '130608000000',
            'name': '清苑区'
          },
          '130624000000': {
            'code': '130624000000',
            'name': '阜平县'
          },
          '130631000000': {
            'code': '130631000000',
            'name': '望都县'
          },
          '130609000000': {
            'code': '130609000000',
            'name': '徐水区'
          },
          '130671000000': {
            'code': '130671000000',
            'name': '保定高新技术产业开发区'
          },
          '130681000000': {
            'code': '130681000000',
            'name': '涿州市'
          },
          '130606000000': {
            'code': '130606000000',
            'name': '莲池区'
          },
          '130626000000': {
            'code': '130626000000',
            'name': '定兴县'
          },
          '130636000000': {
            'code': '130636000000',
            'name': '顺平县'
          },
          '130635000000': {
            'code': '130635000000',
            'name': '蠡县'
          },
          '130623000000': {
            'code': '130623000000',
            'name': '涞水县'
          },
          '130630000000': {
            'code': '130630000000',
            'name': '涞源县'
          },
          '130633000000': {
            'code': '130633000000',
            'name': '易县'
          },
          '130683000000': {
            'code': '130683000000',
            'name': '安国市'
          },
          '130638000000': {
            'code': '130638000000',
            'name': '雄县'
          },
          '130628000000': {
            'code': '130628000000',
            'name': '高阳县'
          },
          '130602000000': {
            'code': '130602000000',
            'name': '竞秀区'
          },
          '130627000000': {
            'code': '130627000000',
            'name': '唐县'
          },
          '130637000000': {
            'code': '130637000000',
            'name': '博野县'
          },
          '130607000000': {
            'code': '130607000000',
            'name': '满城区'
          },
          '130632000000': {
            'code': '130632000000',
            'name': '安新县'
          }
        }
      },
      '130400000000': {
        'code': '130400000000',
        'name': '邯郸市',
        'children': {
          '130426000000': {
            'code': '130426000000',
            'name': '涉县'
          },
          '130407000000': {
            'code': '130407000000',
            'name': '肥乡区'
          },
          '130406000000': {
            'code': '130406000000',
            'name': '峰峰矿区'
          },
          '130430000000': {
            'code': '130430000000',
            'name': '邱县'
          },
          '130402000000': {
            'code': '130402000000',
            'name': '邯山区'
          },
          '130431000000': {
            'code': '130431000000',
            'name': '鸡泽县'
          },
          '130425000000': {
            'code': '130425000000',
            'name': '大名县'
          },
          '130435000000': {
            'code': '130435000000',
            'name': '曲周县'
          },
          '130481000000': {
            'code': '130481000000',
            'name': '武安市'
          },
          '130471000000': {
            'code': '130471000000',
            'name': '邯郸经济技术开发区'
          },
          '130404000000': {
            'code': '130404000000',
            'name': '复兴区'
          },
          '130424000000': {
            'code': '130424000000',
            'name': '成安县'
          },
          '130432000000': {
            'code': '130432000000',
            'name': '广平县'
          },
          '130434000000': {
            'code': '130434000000',
            'name': '魏县'
          },
          '130408000000': {
            'code': '130408000000',
            'name': '永年区'
          },
          '130427000000': {
            'code': '130427000000',
            'name': '磁县'
          },
          '130403000000': {
            'code': '130403000000',
            'name': '丛台区'
          },
          '130473000000': {
            'code': '130473000000',
            'name': '邯郸冀南新区'
          },
          '130423000000': {
            'code': '130423000000',
            'name': '临漳县'
          },
          '130433000000': {
            'code': '130433000000',
            'name': '馆陶县'
          }
        }
      },
      '130100000000': {
        'code': '130100000000',
        'name': '石家庄市',
        'children': {
          '130109000000': {
            'code': '130109000000',
            'name': '藁城区'
          },
          '130128000000': {
            'code': '130128000000',
            'name': '深泽县'
          },
          '130102000000': {
            'code': '130102000000',
            'name': '长安区'
          },
          '130132000000': {
            'code': '130132000000',
            'name': '元氏县'
          },
          '130184000000': {
            'code': '130184000000',
            'name': '新乐市'
          },
          '130104000000': {
            'code': '130104000000',
            'name': '桥西区'
          },
          '130107000000': {
            'code': '130107000000',
            'name': '井陉矿区'
          },
          '130127000000': {
            'code': '130127000000',
            'name': '高邑县'
          },
          '130108000000': {
            'code': '130108000000',
            'name': '裕华区'
          },
          '130123000000': {
            'code': '130123000000',
            'name': '正定县'
          },
          '130133000000': {
            'code': '130133000000',
            'name': '赵县'
          },
          '130183000000': {
            'code': '130183000000',
            'name': '晋州市'
          },
          '130125000000': {
            'code': '130125000000',
            'name': '行唐县'
          },
          '130110000000': {
            'code': '130110000000',
            'name': '鹿泉区'
          },
          '130172000000': {
            'code': '130172000000',
            'name': '石家庄循环化工园区'
          },
          '130130000000': {
            'code': '130130000000',
            'name': '无极县'
          },
          '130171000000': {
            'code': '130171000000',
            'name': '石家庄高新技术产业开发区'
          },
          '130181000000': {
            'code': '130181000000',
            'name': '辛集市'
          },
          '130126000000': {
            'code': '130126000000',
            'name': '灵寿县'
          },
          '130129000000': {
            'code': '130129000000',
            'name': '赞皇县'
          },
          '130105000000': {
            'code': '130105000000',
            'name': '新华区'
          },
          '130121000000': {
            'code': '130121000000',
            'name': '井陉县'
          },
          '130111000000': {
            'code': '130111000000',
            'name': '栾城区'
          },
          '130131000000': {
            'code': '130131000000',
            'name': '平山县'
          }
        }
      },
      '130700000000': {
        'code': '130700000000',
        'name': '张家口市',
        'children': {
          '130724000000': {
            'code': '130724000000',
            'name': '沽源县'
          },
          '130705000000': {
            'code': '130705000000',
            'name': '宣化区'
          },
          '130772000000': {
            'code': '130772000000',
            'name': '张家口市察北管理区'
          },
          '130732000000': {
            'code': '130732000000',
            'name': '赤城县'
          },
          '130728000000': {
            'code': '130728000000',
            'name': '怀安县'
          },
          '130773000000': {
            'code': '130773000000',
            'name': '张家口市塞北管理区'
          },
          '130703000000': {
            'code': '130703000000',
            'name': '桥西区'
          },
          '130723000000': {
            'code': '130723000000',
            'name': '康保县'
          },
          '130727000000': {
            'code': '130727000000',
            'name': '阳原县'
          },
          '130708000000': {
            'code': '130708000000',
            'name': '万全区'
          },
          '130726000000': {
            'code': '130726000000',
            'name': '蔚县'
          },
          '130730000000': {
            'code': '130730000000',
            'name': '怀来县'
          },
          '130722000000': {
            'code': '130722000000',
            'name': '张北县'
          },
          '130702000000': {
            'code': '130702000000',
            'name': '桥东区'
          },
          '130706000000': {
            'code': '130706000000',
            'name': '下花园区'
          },
          '130709000000': {
            'code': '130709000000',
            'name': '崇礼区'
          },
          '130725000000': {
            'code': '130725000000',
            'name': '尚义县'
          },
          '130731000000': {
            'code': '130731000000',
            'name': '涿鹿县'
          },
          '130771000000': {
            'code': '130771000000',
            'name': '张家口市高新技术产业开发区'
          }
        }
      },
      '130300000000': {
        'code': '130300000000',
        'name': '秦皇岛市',
        'children': {
          '130371000000': {
            'code': '130371000000',
            'name': '秦皇岛市经济技术开发区'
          },
          '130321000000': {
            'code': '130321000000',
            'name': '青龙满族自治县'
          },
          '130372000000': {
            'code': '130372000000',
            'name': '北戴河新区'
          },
          '130322000000': {
            'code': '130322000000',
            'name': '昌黎县'
          },
          '130303000000': {
            'code': '130303000000',
            'name': '山海关区'
          },
          '130302000000': {
            'code': '130302000000',
            'name': '海港区'
          },
          '130304000000': {
            'code': '130304000000',
            'name': '北戴河区'
          },
          '130324000000': {
            'code': '130324000000',
            'name': '卢龙县'
          },
          '130306000000': {
            'code': '130306000000',
            'name': '抚宁区'
          }
        }
      },
      '131000000000': {
        'code': '131000000000',
        'name': '廊坊市',
        'children': {
          '131081000000': {
            'code': '131081000000',
            'name': '霸州市'
          },
          '131071000000': {
            'code': '131071000000',
            'name': '廊坊经济技术开发区'
          },
          '131002000000': {
            'code': '131002000000',
            'name': '安次区'
          },
          '131024000000': {
            'code': '131024000000',
            'name': '香河县'
          },
          '131026000000': {
            'code': '131026000000',
            'name': '文安县'
          },
          '131022000000': {
            'code': '131022000000',
            'name': '固安县'
          },
          '131025000000': {
            'code': '131025000000',
            'name': '大城县'
          },
          '131028000000': {
            'code': '131028000000',
            'name': '大厂回族自治县'
          },
          '131003000000': {
            'code': '131003000000',
            'name': '广阳区'
          },
          '131082000000': {
            'code': '131082000000',
            'name': '三河市'
          },
          '131023000000': {
            'code': '131023000000',
            'name': '永清县'
          }
        }
      },
      '131100000000': {
        'code': '131100000000',
        'name': '衡水市',
        'children': {
          '131126000000': {
            'code': '131126000000',
            'name': '故城县'
          },
          '131125000000': {
            'code': '131125000000',
            'name': '安平县'
          },
          '131121000000': {
            'code': '131121000000',
            'name': '枣强县'
          },
          '131182000000': {
            'code': '131182000000',
            'name': '深州市'
          },
          '131127000000': {
            'code': '131127000000',
            'name': '景县'
          },
          '131122000000': {
            'code': '131122000000',
            'name': '武邑县'
          },
          '131172000000': {
            'code': '131172000000',
            'name': '衡水滨湖新区'
          },
          '131102000000': {
            'code': '131102000000',
            'name': '桃城区'
          },
          '131171000000': {
            'code': '131171000000',
            'name': '河北衡水高新技术产业开发区'
          },
          '131103000000': {
            'code': '131103000000',
            'name': '冀州区'
          },
          '131123000000': {
            'code': '131123000000',
            'name': '武强县'
          },
          '131128000000': {
            'code': '131128000000',
            'name': '阜城县'
          },
          '131124000000': {
            'code': '131124000000',
            'name': '饶阳县'
          }
        }
      },
      '130200000000': {
        'code': '130200000000',
        'name': '唐山市',
        'children': {
          '130202000000': {
            'code': '130202000000',
            'name': '路南区'
          },
          '130208000000': {
            'code': '130208000000',
            'name': '丰润区'
          },
          '130227000000': {
            'code': '130227000000',
            'name': '迁西县'
          },
          '130283000000': {
            'code': '130283000000',
            'name': '迁安市'
          },
          '130203000000': {
            'code': '130203000000',
            'name': '路北区'
          },
          '130207000000': {
            'code': '130207000000',
            'name': '丰南区'
          },
          '130205000000': {
            'code': '130205000000',
            'name': '开平区'
          },
          '130272000000': {
            'code': '130272000000',
            'name': '唐山市汉沽管理区'
          },
          '130224000000': {
            'code': '130224000000',
            'name': '滦南县'
          },
          '130281000000': {
            'code': '130281000000',
            'name': '遵化市'
          },
          '130273000000': {
            'code': '130273000000',
            'name': '唐山高新技术产业开发区'
          },
          '130271000000': {
            'code': '130271000000',
            'name': '唐山市芦台经济技术开发区'
          },
          '130274000000': {
            'code': '130274000000',
            'name': '河北唐山海港经济开发区'
          },
          '130204000000': {
            'code': '130204000000',
            'name': '古冶区'
          },
          '130225000000': {
            'code': '130225000000',
            'name': '乐亭县'
          },
          '130284000000': {
            'code': '130284000000',
            'name': '滦州市'
          },
          '130209000000': {
            'code': '130209000000',
            'name': '曹妃甸区'
          },
          '130229000000': {
            'code': '130229000000',
            'name': '玉田县'
          }
        }
      },
      '130800000000': {
        'code': '130800000000',
        'name': '承德市',
        'children': {
          '130826000000': {
            'code': '130826000000',
            'name': '丰宁满族自治县'
          },
          '130804000000': {
            'code': '130804000000',
            'name': '鹰手营子矿区'
          },
          '130821000000': {
            'code': '130821000000',
            'name': '承德县'
          },
          '130871000000': {
            'code': '130871000000',
            'name': '承德高新技术产业开发区'
          },
          '130881000000': {
            'code': '130881000000',
            'name': '平泉市'
          },
          '130822000000': {
            'code': '130822000000',
            'name': '兴隆县'
          },
          '130828000000': {
            'code': '130828000000',
            'name': '围场满族蒙古族自治县'
          },
          '130803000000': {
            'code': '130803000000',
            'name': '双滦区'
          },
          '130825000000': {
            'code': '130825000000',
            'name': '隆化县'
          },
          '130824000000': {
            'code': '130824000000',
            'name': '滦平县'
          },
          '130802000000': {
            'code': '130802000000',
            'name': '双桥区'
          },
          '130827000000': {
            'code': '130827000000',
            'name': '宽城满族自治县'
          }
        }
      }
    },
    'name': '河北省'
  },
  '630000000000': {
    'code': '630000000000',
    'children': {
      '630100000000': {
        'code': '630100000000',
        'name': '西宁市',
        'children': {
          '630103000000': {
            'code': '630103000000',
            'name': '城中区'
          },
          '630122000000': {
            'code': '630122000000',
            'name': '湟中县'
          },
          '630104000000': {
            'code': '630104000000',
            'name': '城西区'
          },
          '630102000000': {
            'code': '630102000000',
            'name': '城东区'
          },
          '630121000000': {
            'code': '630121000000',
            'name': '大通回族土族自治县'
          },
          '630123000000': {
            'code': '630123000000',
            'name': '湟源县'
          },
          '630105000000': {
            'code': '630105000000',
            'name': '城北区'
          }
        }
      },
      '632500000000': {
        'code': '632500000000',
        'name': '海南藏族自治州',
        'children': {
          '632522000000': {
            'code': '632522000000',
            'name': '同德县'
          },
          '632521000000': {
            'code': '632521000000',
            'name': '共和县'
          },
          '632523000000': {
            'code': '632523000000',
            'name': '贵德县'
          },
          '632525000000': {
            'code': '632525000000',
            'name': '贵南县'
          },
          '632524000000': {
            'code': '632524000000',
            'name': '兴海县'
          }
        }
      },
      '632600000000': {
        'code': '632600000000',
        'name': '果洛藏族自治州',
        'children': {
          '632624000000': {
            'code': '632624000000',
            'name': '达日县'
          },
          '632622000000': {
            'code': '632622000000',
            'name': '班玛县'
          },
          '632626000000': {
            'code': '632626000000',
            'name': '玛多县'
          },
          '632625000000': {
            'code': '632625000000',
            'name': '久治县'
          },
          '632623000000': {
            'code': '632623000000',
            'name': '甘德县'
          },
          '632621000000': {
            'code': '632621000000',
            'name': '玛沁县'
          }
        }
      },
      '632300000000': {
        'code': '632300000000',
        'name': '黄南藏族自治州',
        'children': {
          '632323000000': {
            'code': '632323000000',
            'name': '泽库县'
          },
          '632324000000': {
            'code': '632324000000',
            'name': '河南蒙古族自治县'
          },
          '632322000000': {
            'code': '632322000000',
            'name': '尖扎县'
          },
          '632321000000': {
            'code': '632321000000',
            'name': '同仁县'
          }
        }
      },
      '632200000000': {
        'code': '632200000000',
        'name': '海北藏族自治州',
        'children': {
          '632221000000': {
            'code': '632221000000',
            'name': '门源回族自治县'
          },
          '632223000000': {
            'code': '632223000000',
            'name': '海晏县'
          },
          '632222000000': {
            'code': '632222000000',
            'name': '祁连县'
          },
          '632224000000': {
            'code': '632224000000',
            'name': '刚察县'
          }
        }
      },
      '632700000000': {
        'code': '632700000000',
        'name': '玉树藏族自治州',
        'children': {
          '632701000000': {
            'code': '632701000000',
            'name': '玉树市'
          },
          '632724000000': {
            'code': '632724000000',
            'name': '治多县'
          },
          '632723000000': {
            'code': '632723000000',
            'name': '称多县'
          },
          '632726000000': {
            'code': '632726000000',
            'name': '曲麻莱县'
          },
          '632722000000': {
            'code': '632722000000',
            'name': '杂多县'
          },
          '632725000000': {
            'code': '632725000000',
            'name': '囊谦县'
          }
        }
      },
      '632800000000': {
        'code': '632800000000',
        'name': '海西蒙古族藏族自治州',
        'children': {
          '632823000000': {
            'code': '632823000000',
            'name': '天峻县'
          },
          '632801000000': {
            'code': '632801000000',
            'name': '格尔木市'
          },
          '632803000000': {
            'code': '632803000000',
            'name': '茫崖市'
          },
          '632857000000': {
            'code': '632857000000',
            'name': '大柴旦行政委员会'
          },
          '632802000000': {
            'code': '632802000000',
            'name': '德令哈市'
          },
          '632821000000': {
            'code': '632821000000',
            'name': '乌兰县'
          },
          '632822000000': {
            'code': '632822000000',
            'name': '都兰县'
          }
        }
      },
      '630200000000': {
        'code': '630200000000',
        'name': '海东市',
        'children': {
          '630225000000': {
            'code': '630225000000',
            'name': '循化撒拉族自治县'
          },
          '630203000000': {
            'code': '630203000000',
            'name': '平安区'
          },
          '630223000000': {
            'code': '630223000000',
            'name': '互助土族自治县'
          },
          '630224000000': {
            'code': '630224000000',
            'name': '化隆回族自治县'
          },
          '630222000000': {
            'code': '630222000000',
            'name': '民和回族土族自治县'
          },
          '630202000000': {
            'code': '630202000000',
            'name': '乐都区'
          }
        }
      }
    },
    'name': '青海省'
  },
  '310000000000': {
    'code': '310000000000',
    'children': {
      '310100000000': {
        'code': '310100000000',
        'name': '市辖区',
        'children': {
          '310151000000': {
            'code': '310151000000',
            'name': '崇明区'
          },
          '310113000000': {
            'code': '310113000000',
            'name': '宝山区'
          },
          '310118000000': {
            'code': '310118000000',
            'name': '青浦区'
          },
          '310105000000': {
            'code': '310105000000',
            'name': '长宁区'
          },
          '310104000000': {
            'code': '310104000000',
            'name': '徐汇区'
          },
          '310114000000': {
            'code': '310114000000',
            'name': '嘉定区'
          },
          '310110000000': {
            'code': '310110000000',
            'name': '杨浦区'
          },
          '310109000000': {
            'code': '310109000000',
            'name': '虹口区'
          },
          '310120000000': {
            'code': '310120000000',
            'name': '奉贤区'
          },
          '310106000000': {
            'code': '310106000000',
            'name': '静安区'
          },
          '310116000000': {
            'code': '310116000000',
            'name': '金山区'
          },
          '310115000000': {
            'code': '310115000000',
            'name': '浦东新区'
          },
          '310101000000': {
            'code': '310101000000',
            'name': '黄浦区'
          },
          '310117000000': {
            'code': '310117000000',
            'name': '松江区'
          },
          '310107000000': {
            'code': '310107000000',
            'name': '普陀区'
          },
          '310112000000': {
            'code': '310112000000',
            'name': '闵行区'
          }
        }
      }
    },
    'name': '上海市'
  },
  '340000000000': {
    'code': '340000000000',
    'children': {
      '340200000000': {
        'code': '340200000000',
        'name': '芜湖市',
        'children': {
          '340203000000': {
            'code': '340203000000',
            'name': '弋江区'
          },
          '340222000000': {
            'code': '340222000000',
            'name': '繁昌县'
          },
          '340223000000': {
            'code': '340223000000',
            'name': '南陵县'
          },
          '340225000000': {
            'code': '340225000000',
            'name': '无为县'
          },
          '340207000000': {
            'code': '340207000000',
            'name': '鸠江区'
          },
          '340221000000': {
            'code': '340221000000',
            'name': '芜湖县'
          },
          '340272000000': {
            'code': '340272000000',
            'name': '安徽芜湖长江大桥经济开发区'
          },
          '340202000000': {
            'code': '340202000000',
            'name': '镜湖区'
          },
          '340271000000': {
            'code': '340271000000',
            'name': '芜湖经济技术开发区'
          },
          '340208000000': {
            'code': '340208000000',
            'name': '三山区'
          }
        }
      },
      '340300000000': {
        'code': '340300000000',
        'name': '蚌埠市',
        'children': {
          '340322000000': {
            'code': '340322000000',
            'name': '五河县'
          },
          '340372000000': {
            'code': '340372000000',
            'name': '蚌埠市经济开发区'
          },
          '340302000000': {
            'code': '340302000000',
            'name': '龙子湖区'
          },
          '340304000000': {
            'code': '340304000000',
            'name': '禹会区'
          },
          '340311000000': {
            'code': '340311000000',
            'name': '淮上区'
          },
          '340371000000': {
            'code': '340371000000',
            'name': '蚌埠市高新技术开发区'
          },
          '340321000000': {
            'code': '340321000000',
            'name': '怀远县'
          },
          '340303000000': {
            'code': '340303000000',
            'name': '蚌山区'
          },
          '340323000000': {
            'code': '340323000000',
            'name': '固镇县'
          }
        }
      },
      '341000000000': {
        'code': '341000000000',
        'name': '黄山市',
        'children': {
          '341022000000': {
            'code': '341022000000',
            'name': '休宁县'
          },
          '341021000000': {
            'code': '341021000000',
            'name': '歙县'
          },
          '341003000000': {
            'code': '341003000000',
            'name': '黄山区'
          },
          '341023000000': {
            'code': '341023000000',
            'name': '黟县'
          },
          '341024000000': {
            'code': '341024000000',
            'name': '祁门县'
          },
          '341002000000': {
            'code': '341002000000',
            'name': '屯溪区'
          },
          '341004000000': {
            'code': '341004000000',
            'name': '徽州区'
          }
        }
      },
      '341100000000': {
        'code': '341100000000',
        'name': '滁州市',
        'children': {
          '341102000000': {
            'code': '341102000000',
            'name': '琅琊区'
          },
          '341124000000': {
            'code': '341124000000',
            'name': '全椒县'
          },
          '341182000000': {
            'code': '341182000000',
            'name': '明光市'
          },
          '341122000000': {
            'code': '341122000000',
            'name': '来安县'
          },
          '341172000000': {
            'code': '341172000000',
            'name': '滁州经济技术开发区'
          },
          '341126000000': {
            'code': '341126000000',
            'name': '凤阳县'
          },
          '341125000000': {
            'code': '341125000000',
            'name': '定远县'
          },
          '341181000000': {
            'code': '341181000000',
            'name': '天长市'
          },
          '341103000000': {
            'code': '341103000000',
            'name': '南谯区'
          },
          '341171000000': {
            'code': '341171000000',
            'name': '苏滁现代产业园'
          }
        }
      },
      '341700000000': {
        'code': '341700000000',
        'name': '池州市',
        'children': {
          '341702000000': {
            'code': '341702000000',
            'name': '贵池区'
          },
          '341722000000': {
            'code': '341722000000',
            'name': '石台县'
          },
          '341721000000': {
            'code': '341721000000',
            'name': '东至县'
          },
          '341723000000': {
            'code': '341723000000',
            'name': '青阳县'
          }
        }
      },
      '340500000000': {
        'code': '340500000000',
        'name': '马鞍山市',
        'children': {
          '340504000000': {
            'code': '340504000000',
            'name': '雨山区'
          },
          '340523000000': {
            'code': '340523000000',
            'name': '和县'
          },
          '340506000000': {
            'code': '340506000000',
            'name': '博望区'
          },
          '340522000000': {
            'code': '340522000000',
            'name': '含山县'
          },
          '340503000000': {
            'code': '340503000000',
            'name': '花山区'
          },
          '340521000000': {
            'code': '340521000000',
            'name': '当涂县'
          }
        }
      },
      '341200000000': {
        'code': '341200000000',
        'name': '阜阳市',
        'children': {
          '341204000000': {
            'code': '341204000000',
            'name': '颍泉区'
          },
          '341221000000': {
            'code': '341221000000',
            'name': '临泉县'
          },
          '341226000000': {
            'code': '341226000000',
            'name': '颍上县'
          },
          '341271000000': {
            'code': '341271000000',
            'name': '阜阳合肥现代产业园区'
          },
          '341222000000': {
            'code': '341222000000',
            'name': '太和县'
          },
          '341225000000': {
            'code': '341225000000',
            'name': '阜南县'
          },
          '341203000000': {
            'code': '341203000000',
            'name': '颍东区'
          },
          '341202000000': {
            'code': '341202000000',
            'name': '颍州区'
          },
          '341272000000': {
            'code': '341272000000',
            'name': '阜阳经济技术开发区'
          },
          '341282000000': {
            'code': '341282000000',
            'name': '界首市'
          }
        }
      },
      '340400000000': {
        'code': '340400000000',
        'name': '淮南市',
        'children': {
          '340402000000': {
            'code': '340402000000',
            'name': '大通区'
          },
          '340405000000': {
            'code': '340405000000',
            'name': '八公山区'
          },
          '340403000000': {
            'code': '340403000000',
            'name': '田家庵区'
          },
          '340421000000': {
            'code': '340421000000',
            'name': '凤台县'
          },
          '340406000000': {
            'code': '340406000000',
            'name': '潘集区'
          },
          '340422000000': {
            'code': '340422000000',
            'name': '寿县'
          },
          '340404000000': {
            'code': '340404000000',
            'name': '谢家集区'
          }
        }
      },
      '341800000000': {
        'code': '341800000000',
        'name': '宣城市',
        'children': {
          '341823000000': {
            'code': '341823000000',
            'name': '泾县'
          },
          '341881000000': {
            'code': '341881000000',
            'name': '宁国市'
          },
          '341871000000': {
            'code': '341871000000',
            'name': '宣城市经济开发区'
          },
          '341802000000': {
            'code': '341802000000',
            'name': '宣州区'
          },
          '341821000000': {
            'code': '341821000000',
            'name': '郎溪县'
          },
          '341824000000': {
            'code': '341824000000',
            'name': '绩溪县'
          },
          '341825000000': {
            'code': '341825000000',
            'name': '旌德县'
          },
          '341822000000': {
            'code': '341822000000',
            'name': '广德县'
          }
        }
      },
      '340700000000': {
        'code': '340700000000',
        'name': '铜陵市',
        'children': {
          '340706000000': {
            'code': '340706000000',
            'name': '义安区'
          },
          '340711000000': {
            'code': '340711000000',
            'name': '郊区'
          },
          '340705000000': {
            'code': '340705000000',
            'name': '铜官区'
          },
          '340722000000': {
            'code': '340722000000',
            'name': '枞阳县'
          }
        }
      },
      '341300000000': {
        'code': '341300000000',
        'name': '宿州市',
        'children': {
          '341323000000': {
            'code': '341323000000',
            'name': '灵璧县'
          },
          '341371000000': {
            'code': '341371000000',
            'name': '宿州马鞍山现代产业园区'
          },
          '341302000000': {
            'code': '341302000000',
            'name': '埇桥区'
          },
          '341321000000': {
            'code': '341321000000',
            'name': '砀山县'
          },
          '341372000000': {
            'code': '341372000000',
            'name': '宿州经济技术开发区'
          },
          '341322000000': {
            'code': '341322000000',
            'name': '萧县'
          },
          '341324000000': {
            'code': '341324000000',
            'name': '泗县'
          }
        }
      },
      '340600000000': {
        'code': '340600000000',
        'name': '淮北市',
        'children': {
          '340604000000': {
            'code': '340604000000',
            'name': '烈山区'
          },
          '340602000000': {
            'code': '340602000000',
            'name': '杜集区'
          },
          '340621000000': {
            'code': '340621000000',
            'name': '濉溪县'
          },
          '340603000000': {
            'code': '340603000000',
            'name': '相山区'
          }
        }
      },
      '340800000000': {
        'code': '340800000000',
        'name': '安庆市',
        'children': {
          '340882000000': {
            'code': '340882000000',
            'name': '潜山市'
          },
          '340802000000': {
            'code': '340802000000',
            'name': '迎江区'
          },
          '340822000000': {
            'code': '340822000000',
            'name': '怀宁县'
          },
          '340825000000': {
            'code': '340825000000',
            'name': '太湖县'
          },
          '340803000000': {
            'code': '340803000000',
            'name': '大观区'
          },
          '340827000000': {
            'code': '340827000000',
            'name': '望江县'
          },
          '340871000000': {
            'code': '340871000000',
            'name': '安徽安庆经济开发区'
          },
          '340826000000': {
            'code': '340826000000',
            'name': '宿松县'
          },
          '340811000000': {
            'code': '340811000000',
            'name': '宜秀区'
          },
          '340828000000': {
            'code': '340828000000',
            'name': '岳西县'
          },
          '340881000000': {
            'code': '340881000000',
            'name': '桐城市'
          }
        }
      },
      '341600000000': {
        'code': '341600000000',
        'name': '亳州市',
        'children': {
          '341621000000': {
            'code': '341621000000',
            'name': '涡阳县'
          },
          '341602000000': {
            'code': '341602000000',
            'name': '谯城区'
          },
          '341623000000': {
            'code': '341623000000',
            'name': '利辛县'
          },
          '341622000000': {
            'code': '341622000000',
            'name': '蒙城县'
          }
        }
      },
      '341500000000': {
        'code': '341500000000',
        'name': '六安市',
        'children': {
          '341502000000': {
            'code': '341502000000',
            'name': '金安区'
          },
          '341522000000': {
            'code': '341522000000',
            'name': '霍邱县'
          },
          '341525000000': {
            'code': '341525000000',
            'name': '霍山县'
          },
          '341503000000': {
            'code': '341503000000',
            'name': '裕安区'
          },
          '341524000000': {
            'code': '341524000000',
            'name': '金寨县'
          },
          '341504000000': {
            'code': '341504000000',
            'name': '叶集区'
          },
          '341523000000': {
            'code': '341523000000',
            'name': '舒城县'
          }
        }
      },
      '340100000000': {
        'code': '340100000000',
        'name': '合肥市',
        'children': {
          '340104000000': {
            'code': '340104000000',
            'name': '蜀山区'
          },
          '340171000000': {
            'code': '340171000000',
            'name': '合肥高新技术产业开发区'
          },
          '340123000000': {
            'code': '340123000000',
            'name': '肥西县'
          },
          '340103000000': {
            'code': '340103000000',
            'name': '庐阳区'
          },
          '340173000000': {
            'code': '340173000000',
            'name': '合肥新站高新技术产业开发区'
          },
          '340181000000': {
            'code': '340181000000',
            'name': '巢湖市'
          },
          '340111000000': {
            'code': '340111000000',
            'name': '包河区'
          },
          '340121000000': {
            'code': '340121000000',
            'name': '长丰县'
          },
          '340124000000': {
            'code': '340124000000',
            'name': '庐江县'
          },
          '340102000000': {
            'code': '340102000000',
            'name': '瑶海区'
          },
          '340122000000': {
            'code': '340122000000',
            'name': '肥东县'
          },
          '340172000000': {
            'code': '340172000000',
            'name': '合肥经济技术开发区'
          }
        }
      }
    },
    'name': '安徽省'
  },
  '610000000000': {
    'code': '610000000000',
    'children': {
      '610800000000': {
        'code': '610800000000',
        'name': '榆林市',
        'children': {
          '610803000000': {
            'code': '610803000000',
            'name': '横山区'
          },
          '610822000000': {
            'code': '610822000000',
            'name': '府谷县'
          },
          '610825000000': {
            'code': '610825000000',
            'name': '定边县'
          },
          '610829000000': {
            'code': '610829000000',
            'name': '吴堡县'
          },
          '610802000000': {
            'code': '610802000000',
            'name': '榆阳区'
          },
          '610830000000': {
            'code': '610830000000',
            'name': '清涧县'
          },
          '610827000000': {
            'code': '610827000000',
            'name': '米脂县'
          },
          '610824000000': {
            'code': '610824000000',
            'name': '靖边县'
          },
          '610826000000': {
            'code': '610826000000',
            'name': '绥德县'
          },
          '610831000000': {
            'code': '610831000000',
            'name': '子洲县'
          },
          '610828000000': {
            'code': '610828000000',
            'name': '佳县'
          },
          '610881000000': {
            'code': '610881000000',
            'name': '神木市'
          }
        }
      },
      '610300000000': {
        'code': '610300000000',
        'name': '宝鸡市',
        'children': {
          '610303000000': {
            'code': '610303000000',
            'name': '金台区'
          },
          '610322000000': {
            'code': '610322000000',
            'name': '凤翔县'
          },
          '610329000000': {
            'code': '610329000000',
            'name': '麟游县'
          },
          '610304000000': {
            'code': '610304000000',
            'name': '陈仓区'
          },
          '610328000000': {
            'code': '610328000000',
            'name': '千阳县'
          },
          '610326000000': {
            'code': '610326000000',
            'name': '眉县'
          },
          '610324000000': {
            'code': '610324000000',
            'name': '扶风县'
          },
          '610327000000': {
            'code': '610327000000',
            'name': '陇县'
          },
          '610302000000': {
            'code': '610302000000',
            'name': '渭滨区'
          },
          '610330000000': {
            'code': '610330000000',
            'name': '凤县'
          },
          '610331000000': {
            'code': '610331000000',
            'name': '太白县'
          },
          '610323000000': {
            'code': '610323000000',
            'name': '岐山县'
          }
        }
      },
      '611000000000': {
        'code': '611000000000',
        'name': '商洛市',
        'children': {
          '611022000000': {
            'code': '611022000000',
            'name': '丹凤县'
          },
          '611023000000': {
            'code': '611023000000',
            'name': '商南县'
          },
          '611025000000': {
            'code': '611025000000',
            'name': '镇安县'
          },
          '611024000000': {
            'code': '611024000000',
            'name': '山阳县'
          },
          '611002000000': {
            'code': '611002000000',
            'name': '商州区'
          },
          '611021000000': {
            'code': '611021000000',
            'name': '洛南县'
          },
          '611026000000': {
            'code': '611026000000',
            'name': '柞水县'
          }
        }
      },
      '610200000000': {
        'code': '610200000000',
        'name': '铜川市',
        'children': {
          '610204000000': {
            'code': '610204000000',
            'name': '耀州区'
          },
          '610202000000': {
            'code': '610202000000',
            'name': '王益区'
          },
          '610222000000': {
            'code': '610222000000',
            'name': '宜君县'
          },
          '610203000000': {
            'code': '610203000000',
            'name': '印台区'
          }
        }
      },
      '610500000000': {
        'code': '610500000000',
        'name': '渭南市',
        'children': {
          '610502000000': {
            'code': '610502000000',
            'name': '临渭区'
          },
          '610527000000': {
            'code': '610527000000',
            'name': '白水县'
          },
          '610524000000': {
            'code': '610524000000',
            'name': '合阳县'
          },
          '610525000000': {
            'code': '610525000000',
            'name': '澄城县'
          },
          '610522000000': {
            'code': '610522000000',
            'name': '潼关县'
          },
          '610582000000': {
            'code': '610582000000',
            'name': '华阴市'
          },
          '610503000000': {
            'code': '610503000000',
            'name': '华州区'
          },
          '610523000000': {
            'code': '610523000000',
            'name': '大荔县'
          },
          '610526000000': {
            'code': '610526000000',
            'name': '蒲城县'
          },
          '610528000000': {
            'code': '610528000000',
            'name': '富平县'
          },
          '610581000000': {
            'code': '610581000000',
            'name': '韩城市'
          }
        }
      },
      '610100000000': {
        'code': '610100000000',
        'name': '西安市',
        'children': {
          '610114000000': {
            'code': '610114000000',
            'name': '阎良区'
          },
          '610124000000': {
            'code': '610124000000',
            'name': '周至县'
          },
          '610115000000': {
            'code': '610115000000',
            'name': '临潼区'
          },
          '610113000000': {
            'code': '610113000000',
            'name': '雁塔区'
          },
          '610103000000': {
            'code': '610103000000',
            'name': '碑林区'
          },
          '610116000000': {
            'code': '610116000000',
            'name': '长安区'
          },
          '610102000000': {
            'code': '610102000000',
            'name': '新城区'
          },
          '610112000000': {
            'code': '610112000000',
            'name': '未央区'
          },
          '610122000000': {
            'code': '610122000000',
            'name': '蓝田县'
          },
          '610111000000': {
            'code': '610111000000',
            'name': '灞桥区'
          },
          '610117000000': {
            'code': '610117000000',
            'name': '高陵区'
          },
          '610118000000': {
            'code': '610118000000',
            'name': '鄠邑区'
          },
          '610104000000': {
            'code': '610104000000',
            'name': '莲湖区'
          }
        }
      },
      '610600000000': {
        'code': '610600000000',
        'name': '延安市',
        'children': {
          '610630000000': {
            'code': '610630000000',
            'name': '宜川县'
          },
          '610621000000': {
            'code': '610621000000',
            'name': '延长县'
          },
          '610602000000': {
            'code': '610602000000',
            'name': '宝塔区'
          },
          '610626000000': {
            'code': '610626000000',
            'name': '吴起县'
          },
          '610622000000': {
            'code': '610622000000',
            'name': '延川县'
          },
          '610628000000': {
            'code': '610628000000',
            'name': '富县'
          },
          '610603000000': {
            'code': '610603000000',
            'name': '安塞区'
          },
          '610632000000': {
            'code': '610632000000',
            'name': '黄陵县'
          },
          '610623000000': {
            'code': '610623000000',
            'name': '子长县'
          },
          '610627000000': {
            'code': '610627000000',
            'name': '甘泉县'
          },
          '610625000000': {
            'code': '610625000000',
            'name': '志丹县'
          },
          '610631000000': {
            'code': '610631000000',
            'name': '黄龙县'
          },
          '610629000000': {
            'code': '610629000000',
            'name': '洛川县'
          }
        }
      },
      '610900000000': {
        'code': '610900000000',
        'name': '安康市',
        'children': {
          '610902000000': {
            'code': '610902000000',
            'name': '汉滨区'
          },
          '610922000000': {
            'code': '610922000000',
            'name': '石泉县'
          },
          '610921000000': {
            'code': '610921000000',
            'name': '汉阴县'
          },
          '610924000000': {
            'code': '610924000000',
            'name': '紫阳县'
          },
          '610928000000': {
            'code': '610928000000',
            'name': '旬阳县'
          },
          '610926000000': {
            'code': '610926000000',
            'name': '平利县'
          },
          '610923000000': {
            'code': '610923000000',
            'name': '宁陕县'
          },
          '610929000000': {
            'code': '610929000000',
            'name': '白河县'
          },
          '610925000000': {
            'code': '610925000000',
            'name': '岚皋县'
          },
          '610927000000': {
            'code': '610927000000',
            'name': '镇坪县'
          }
        }
      },
      '610700000000': {
        'code': '610700000000',
        'name': '汉中市',
        'children': {
          '610726000000': {
            'code': '610726000000',
            'name': '宁强县'
          },
          '610729000000': {
            'code': '610729000000',
            'name': '留坝县'
          },
          '610703000000': {
            'code': '610703000000',
            'name': '南郑区'
          },
          '610725000000': {
            'code': '610725000000',
            'name': '勉县'
          },
          '610723000000': {
            'code': '610723000000',
            'name': '洋县'
          },
          '610727000000': {
            'code': '610727000000',
            'name': '略阳县'
          },
          '610728000000': {
            'code': '610728000000',
            'name': '镇巴县'
          },
          '610722000000': {
            'code': '610722000000',
            'name': '城固县'
          },
          '610730000000': {
            'code': '610730000000',
            'name': '佛坪县'
          },
          '610724000000': {
            'code': '610724000000',
            'name': '西乡县'
          },
          '610702000000': {
            'code': '610702000000',
            'name': '汉台区'
          }
        }
      },
      '610400000000': {
        'code': '610400000000',
        'name': '咸阳市',
        'children': {
          '610428000000': {
            'code': '610428000000',
            'name': '长武县'
          },
          '610403000000': {
            'code': '610403000000',
            'name': '杨陵区'
          },
          '610423000000': {
            'code': '610423000000',
            'name': '泾阳县'
          },
          '610431000000': {
            'code': '610431000000',
            'name': '武功县'
          },
          '610404000000': {
            'code': '610404000000',
            'name': '渭城区'
          },
          '610430000000': {
            'code': '610430000000',
            'name': '淳化县'
          },
          '610429000000': {
            'code': '610429000000',
            'name': '旬邑县'
          },
          '610424000000': {
            'code': '610424000000',
            'name': '乾县'
          },
          '610425000000': {
            'code': '610425000000',
            'name': '礼泉县'
          },
          '610481000000': {
            'code': '610481000000',
            'name': '兴平市'
          },
          '610426000000': {
            'code': '610426000000',
            'name': '永寿县'
          },
          '610482000000': {
            'code': '610482000000',
            'name': '彬州市'
          },
          '610402000000': {
            'code': '610402000000',
            'name': '秦都区'
          },
          '610422000000': {
            'code': '610422000000',
            'name': '三原县'
          }
        }
      }
    },
    'name': '陕西省'
  },
  '150000000000': {
    'code': '150000000000',
    'children': {
      '150700000000': {
        'code': '150700000000',
        'name': '呼伦贝尔市',
        'children': {
          '150703000000': {
            'code': '150703000000',
            'name': '扎赉诺尔区'
          },
          '150723000000': {
            'code': '150723000000',
            'name': '鄂伦春自治旗'
          },
          '150722000000': {
            'code': '150722000000',
            'name': '莫力达瓦达斡尔族自治旗'
          },
          '150721000000': {
            'code': '150721000000',
            'name': '阿荣旗'
          },
          '150782000000': {
            'code': '150782000000',
            'name': '牙克石市'
          },
          '150785000000': {
            'code': '150785000000',
            'name': '根河市'
          },
          '150702000000': {
            'code': '150702000000',
            'name': '海拉尔区'
          },
          '150781000000': {
            'code': '150781000000',
            'name': '满洲里市'
          },
          '150726000000': {
            'code': '150726000000',
            'name': '新巴尔虎左旗'
          },
          '150783000000': {
            'code': '150783000000',
            'name': '扎兰屯市'
          },
          '150725000000': {
            'code': '150725000000',
            'name': '陈巴尔虎旗'
          },
          '150727000000': {
            'code': '150727000000',
            'name': '新巴尔虎右旗'
          },
          '150724000000': {
            'code': '150724000000',
            'name': '鄂温克族自治旗'
          },
          '150784000000': {
            'code': '150784000000',
            'name': '额尔古纳市'
          }
        }
      },
      '150800000000': {
        'code': '150800000000',
        'name': '巴彦淖尔市',
        'children': {
          '150825000000': {
            'code': '150825000000',
            'name': '乌拉特后旗'
          },
          '150822000000': {
            'code': '150822000000',
            'name': '磴口县'
          },
          '150802000000': {
            'code': '150802000000',
            'name': '临河区'
          },
          '150826000000': {
            'code': '150826000000',
            'name': '杭锦后旗'
          },
          '150824000000': {
            'code': '150824000000',
            'name': '乌拉特中旗'
          },
          '150821000000': {
            'code': '150821000000',
            'name': '五原县'
          },
          '150823000000': {
            'code': '150823000000',
            'name': '乌拉特前旗'
          }
        }
      },
      '152200000000': {
        'code': '152200000000',
        'name': '兴安盟',
        'children': {
          '152222000000': {
            'code': '152222000000',
            'name': '科尔沁右翼中旗'
          },
          '152202000000': {
            'code': '152202000000',
            'name': '阿尔山市'
          },
          '152224000000': {
            'code': '152224000000',
            'name': '突泉县'
          },
          '152201000000': {
            'code': '152201000000',
            'name': '乌兰浩特市'
          },
          '152221000000': {
            'code': '152221000000',
            'name': '科尔沁右翼前旗'
          },
          '152223000000': {
            'code': '152223000000',
            'name': '扎赉特旗'
          }
        }
      },
      '150400000000': {
        'code': '150400000000',
        'name': '赤峰市',
        'children': {
          '150402000000': {
            'code': '150402000000',
            'name': '红山区'
          },
          '150421000000': {
            'code': '150421000000',
            'name': '阿鲁科尔沁旗'
          },
          '150422000000': {
            'code': '150422000000',
            'name': '巴林左旗'
          },
          '150403000000': {
            'code': '150403000000',
            'name': '元宝山区'
          },
          '150425000000': {
            'code': '150425000000',
            'name': '克什克腾旗'
          },
          '150430000000': {
            'code': '150430000000',
            'name': '敖汉旗'
          },
          '150423000000': {
            'code': '150423000000',
            'name': '巴林右旗'
          },
          '150426000000': {
            'code': '150426000000',
            'name': '翁牛特旗'
          },
          '150404000000': {
            'code': '150404000000',
            'name': '松山区'
          },
          '150429000000': {
            'code': '150429000000',
            'name': '宁城县'
          },
          '150424000000': {
            'code': '150424000000',
            'name': '林西县'
          },
          '150428000000': {
            'code': '150428000000',
            'name': '喀喇沁旗'
          }
        }
      },
      '152500000000': {
        'code': '152500000000',
        'name': '锡林郭勒盟',
        'children': {
          '152526000000': {
            'code': '152526000000',
            'name': '西乌珠穆沁旗'
          },
          '152501000000': {
            'code': '152501000000',
            'name': '二连浩特市'
          },
          '152530000000': {
            'code': '152530000000',
            'name': '正蓝旗'
          },
          '152531000000': {
            'code': '152531000000',
            'name': '多伦县'
          },
          '152525000000': {
            'code': '152525000000',
            'name': '东乌珠穆沁旗'
          },
          '152523000000': {
            'code': '152523000000',
            'name': '苏尼特左旗'
          },
          '152529000000': {
            'code': '152529000000',
            'name': '正镶白旗'
          },
          '152571000000': {
            'code': '152571000000',
            'name': '乌拉盖管委会'
          },
          '152522000000': {
            'code': '152522000000',
            'name': '阿巴嘎旗'
          },
          '152528000000': {
            'code': '152528000000',
            'name': '镶黄旗'
          },
          '152524000000': {
            'code': '152524000000',
            'name': '苏尼特右旗'
          },
          '152502000000': {
            'code': '152502000000',
            'name': '锡林浩特市'
          },
          '152527000000': {
            'code': '152527000000',
            'name': '太仆寺旗'
          }
        }
      },
      '150200000000': {
        'code': '150200000000',
        'name': '包头市',
        'children': {
          '150207000000': {
            'code': '150207000000',
            'name': '九原区'
          },
          '150271000000': {
            'code': '150271000000',
            'name': '包头稀土高新技术产业开发区'
          },
          '150222000000': {
            'code': '150222000000',
            'name': '固阳县'
          },
          '150206000000': {
            'code': '150206000000',
            'name': '白云鄂博矿区'
          },
          '150204000000': {
            'code': '150204000000',
            'name': '青山区'
          },
          '150202000000': {
            'code': '150202000000',
            'name': '东河区'
          },
          '150205000000': {
            'code': '150205000000',
            'name': '石拐区'
          },
          '150221000000': {
            'code': '150221000000',
            'name': '土默特右旗'
          },
          '150203000000': {
            'code': '150203000000',
            'name': '昆都仑区'
          },
          '150223000000': {
            'code': '150223000000',
            'name': '达尔罕茂明安联合旗'
          }
        }
      },
      '150500000000': {
        'code': '150500000000',
        'name': '通辽市',
        'children': {
          '150521000000': {
            'code': '150521000000',
            'name': '科尔沁左翼中旗'
          },
          '150581000000': {
            'code': '150581000000',
            'name': '霍林郭勒市'
          },
          '150526000000': {
            'code': '150526000000',
            'name': '扎鲁特旗'
          },
          '150502000000': {
            'code': '150502000000',
            'name': '科尔沁区'
          },
          '150522000000': {
            'code': '150522000000',
            'name': '科尔沁左翼后旗'
          },
          '150524000000': {
            'code': '150524000000',
            'name': '库伦旗'
          },
          '150571000000': {
            'code': '150571000000',
            'name': '通辽经济技术开发区'
          },
          '150525000000': {
            'code': '150525000000',
            'name': '奈曼旗'
          },
          '150523000000': {
            'code': '150523000000',
            'name': '开鲁县'
          }
        }
      },
      '150100000000': {
        'code': '150100000000',
        'name': '呼和浩特市',
        'children': {
          '150104000000': {
            'code': '150104000000',
            'name': '玉泉区'
          },
          '150123000000': {
            'code': '150123000000',
            'name': '和林格尔县'
          },
          '150171000000': {
            'code': '150171000000',
            'name': '呼和浩特金海工业园区'
          },
          '150121000000': {
            'code': '150121000000',
            'name': '土默特左旗'
          },
          '150172000000': {
            'code': '150172000000',
            'name': '呼和浩特经济技术开发区'
          },
          '150105000000': {
            'code': '150105000000',
            'name': '赛罕区'
          },
          '150125000000': {
            'code': '150125000000',
            'name': '武川县'
          },
          '150103000000': {
            'code': '150103000000',
            'name': '回民区'
          },
          '150122000000': {
            'code': '150122000000',
            'name': '托克托县'
          },
          '150102000000': {
            'code': '150102000000',
            'name': '新城区'
          },
          '150124000000': {
            'code': '150124000000',
            'name': '清水河县'
          }
        }
      },
      '152900000000': {
        'code': '152900000000',
        'name': '阿拉善盟',
        'children': {
          '152971000000': {
            'code': '152971000000',
            'name': '内蒙古阿拉善经济开发区'
          },
          '152921000000': {
            'code': '152921000000',
            'name': '阿拉善左旗'
          },
          '152923000000': {
            'code': '152923000000',
            'name': '额济纳旗'
          },
          '152922000000': {
            'code': '152922000000',
            'name': '阿拉善右旗'
          }
        }
      },
      '150300000000': {
        'code': '150300000000',
        'name': '乌海市',
        'children': {
          '150303000000': {
            'code': '150303000000',
            'name': '海南区'
          },
          '150304000000': {
            'code': '150304000000',
            'name': '乌达区'
          },
          '150302000000': {
            'code': '150302000000',
            'name': '海勃湾区'
          }
        }
      },
      '150600000000': {
        'code': '150600000000',
        'name': '鄂尔多斯市',
        'children': {
          '150623000000': {
            'code': '150623000000',
            'name': '鄂托克前旗'
          },
          '150626000000': {
            'code': '150626000000',
            'name': '乌审旗'
          },
          '150621000000': {
            'code': '150621000000',
            'name': '达拉特旗'
          },
          '150603000000': {
            'code': '150603000000',
            'name': '康巴什区'
          },
          '150625000000': {
            'code': '150625000000',
            'name': '杭锦旗'
          },
          '150624000000': {
            'code': '150624000000',
            'name': '鄂托克旗'
          },
          '150627000000': {
            'code': '150627000000',
            'name': '伊金霍洛旗'
          },
          '150602000000': {
            'code': '150602000000',
            'name': '东胜区'
          },
          '150622000000': {
            'code': '150622000000',
            'name': '准格尔旗'
          }
        }
      },
      '150900000000': {
        'code': '150900000000',
        'name': '乌兰察布市',
        'children': {
          '150902000000': {
            'code': '150902000000',
            'name': '集宁区'
          },
          '150924000000': {
            'code': '150924000000',
            'name': '兴和县'
          },
          '150927000000': {
            'code': '150927000000',
            'name': '察哈尔右翼中旗'
          },
          '150925000000': {
            'code': '150925000000',
            'name': '凉城县'
          },
          '150981000000': {
            'code': '150981000000',
            'name': '丰镇市'
          },
          '150928000000': {
            'code': '150928000000',
            'name': '察哈尔右翼后旗'
          },
          '150921000000': {
            'code': '150921000000',
            'name': '卓资县'
          },
          '150923000000': {
            'code': '150923000000',
            'name': '商都县'
          },
          '150929000000': {
            'code': '150929000000',
            'name': '四子王旗'
          },
          '150926000000': {
            'code': '150926000000',
            'name': '察哈尔右翼前旗'
          },
          '150922000000': {
            'code': '150922000000',
            'name': '化德县'
          }
        }
      }
    },
    'name': '内蒙古自治区'
  },
  '420000000000': {
    'code': '420000000000',
    'children': {
      '420800000000': {
        'code': '420800000000',
        'name': '荆门市',
        'children': {
          '420804000000': {
            'code': '420804000000',
            'name': '掇刀区'
          },
          '420822000000': {
            'code': '420822000000',
            'name': '沙洋县'
          },
          '420802000000': {
            'code': '420802000000',
            'name': '东宝区'
          },
          '420882000000': {
            'code': '420882000000',
            'name': '京山市'
          },
          '420881000000': {
            'code': '420881000000',
            'name': '钟祥市'
          }
        }
      },
      '429000000000': {
        'code': '429000000000',
        'name': '省直辖县级行政区划',
        'children': {
          '429006000000': {
            'code': '429006000000',
            'name': '天门市'
          },
          '429004000000': {
            'code': '429004000000',
            'name': '仙桃市'
          },
          '429021000000': {
            'code': '429021000000',
            'name': '神农架林区'
          },
          '429005000000': {
            'code': '429005000000',
            'name': '潜江市'
          }
        }
      },
      '420700000000': {
        'code': '420700000000',
        'name': '鄂州市',
        'children': {
          '420704000000': {
            'code': '420704000000',
            'name': '鄂城区'
          },
          '420702000000': {
            'code': '420702000000',
            'name': '梁子湖区'
          },
          '420703000000': {
            'code': '420703000000',
            'name': '华容区'
          }
        }
      },
      '420200000000': {
        'code': '420200000000',
        'name': '黄石市',
        'children': {
          '420281000000': {
            'code': '420281000000',
            'name': '大冶市'
          },
          '420202000000': {
            'code': '420202000000',
            'name': '黄石港区'
          },
          '420204000000': {
            'code': '420204000000',
            'name': '下陆区'
          },
          '420222000000': {
            'code': '420222000000',
            'name': '阳新县'
          },
          '420205000000': {
            'code': '420205000000',
            'name': '铁山区'
          },
          '420203000000': {
            'code': '420203000000',
            'name': '西塞山区'
          }
        }
      },
      '421200000000': {
        'code': '421200000000',
        'name': '咸宁市',
        'children': {
          '421202000000': {
            'code': '421202000000',
            'name': '咸安区'
          },
          '421221000000': {
            'code': '421221000000',
            'name': '嘉鱼县'
          },
          '421223000000': {
            'code': '421223000000',
            'name': '崇阳县'
          },
          '421281000000': {
            'code': '421281000000',
            'name': '赤壁市'
          },
          '421222000000': {
            'code': '421222000000',
            'name': '通城县'
          },
          '421224000000': {
            'code': '421224000000',
            'name': '通山县'
          }
        }
      },
      '420900000000': {
        'code': '420900000000',
        'name': '孝感市',
        'children': {
          '420921000000': {
            'code': '420921000000',
            'name': '孝昌县'
          },
          '420923000000': {
            'code': '420923000000',
            'name': '云梦县'
          },
          '420984000000': {
            'code': '420984000000',
            'name': '汉川市'
          },
          '420981000000': {
            'code': '420981000000',
            'name': '应城市'
          },
          '420902000000': {
            'code': '420902000000',
            'name': '孝南区'
          },
          '420982000000': {
            'code': '420982000000',
            'name': '安陆市'
          },
          '420922000000': {
            'code': '420922000000',
            'name': '大悟县'
          }
        }
      },
      '420300000000': {
        'code': '420300000000',
        'name': '十堰市',
        'children': {
          '420323000000': {
            'code': '420323000000',
            'name': '竹山县'
          },
          '420304000000': {
            'code': '420304000000',
            'name': '郧阳区'
          },
          '420325000000': {
            'code': '420325000000',
            'name': '房县'
          },
          '420381000000': {
            'code': '420381000000',
            'name': '丹江口市'
          },
          '420303000000': {
            'code': '420303000000',
            'name': '张湾区'
          },
          '420302000000': {
            'code': '420302000000',
            'name': '茅箭区'
          },
          '420324000000': {
            'code': '420324000000',
            'name': '竹溪县'
          },
          '420322000000': {
            'code': '420322000000',
            'name': '郧西县'
          }
        }
      },
      '421100000000': {
        'code': '421100000000',
        'name': '黄冈市',
        'children': {
          '421122000000': {
            'code': '421122000000',
            'name': '红安县'
          },
          '421125000000': {
            'code': '421125000000',
            'name': '浠水县'
          },
          '421121000000': {
            'code': '421121000000',
            'name': '团风县'
          },
          '421126000000': {
            'code': '421126000000',
            'name': '蕲春县'
          },
          '421171000000': {
            'code': '421171000000',
            'name': '龙感湖管理区'
          },
          '421181000000': {
            'code': '421181000000',
            'name': '麻城市'
          },
          '421124000000': {
            'code': '421124000000',
            'name': '英山县'
          },
          '421102000000': {
            'code': '421102000000',
            'name': '黄州区'
          },
          '421123000000': {
            'code': '421123000000',
            'name': '罗田县'
          },
          '421182000000': {
            'code': '421182000000',
            'name': '武穴市'
          },
          '421127000000': {
            'code': '421127000000',
            'name': '黄梅县'
          }
        }
      },
      '422800000000': {
        'code': '422800000000',
        'name': '恩施土家族苗族自治州',
        'children': {
          '422802000000': {
            'code': '422802000000',
            'name': '利川市'
          },
          '422822000000': {
            'code': '422822000000',
            'name': '建始县'
          },
          '422828000000': {
            'code': '422828000000',
            'name': '鹤峰县'
          },
          '422826000000': {
            'code': '422826000000',
            'name': '咸丰县'
          },
          '422823000000': {
            'code': '422823000000',
            'name': '巴东县'
          },
          '422801000000': {
            'code': '422801000000',
            'name': '恩施市'
          },
          '422827000000': {
            'code': '422827000000',
            'name': '来凤县'
          },
          '422825000000': {
            'code': '422825000000',
            'name': '宣恩县'
          }
        }
      },
      '420500000000': {
        'code': '420500000000',
        'name': '宜昌市',
        'children': {
          '420502000000': {
            'code': '420502000000',
            'name': '西陵区'
          },
          '420528000000': {
            'code': '420528000000',
            'name': '长阳土家族自治县'
          },
          '420503000000': {
            'code': '420503000000',
            'name': '伍家岗区'
          },
          '420527000000': {
            'code': '420527000000',
            'name': '秭归县'
          },
          '420583000000': {
            'code': '420583000000',
            'name': '枝江市'
          },
          '420582000000': {
            'code': '420582000000',
            'name': '当阳市'
          },
          '420506000000': {
            'code': '420506000000',
            'name': '夷陵区'
          },
          '420504000000': {
            'code': '420504000000',
            'name': '点军区'
          },
          '420526000000': {
            'code': '420526000000',
            'name': '兴山县'
          },
          '420529000000': {
            'code': '420529000000',
            'name': '五峰土家族自治县'
          },
          '420581000000': {
            'code': '420581000000',
            'name': '宜都市'
          },
          '420505000000': {
            'code': '420505000000',
            'name': '猇亭区'
          },
          '420525000000': {
            'code': '420525000000',
            'name': '远安县'
          }
        }
      },
      '421000000000': {
        'code': '421000000000',
        'name': '荆州市',
        'children': {
          '421022000000': {
            'code': '421022000000',
            'name': '公安县'
          },
          '421002000000': {
            'code': '421002000000',
            'name': '沙市区'
          },
          '421024000000': {
            'code': '421024000000',
            'name': '江陵县'
          },
          '421081000000': {
            'code': '421081000000',
            'name': '石首市'
          },
          '421087000000': {
            'code': '421087000000',
            'name': '松滋市'
          },
          '421003000000': {
            'code': '421003000000',
            'name': '荆州区'
          },
          '421023000000': {
            'code': '421023000000',
            'name': '监利县'
          },
          '421071000000': {
            'code': '421071000000',
            'name': '荆州经济技术开发区'
          },
          '421083000000': {
            'code': '421083000000',
            'name': '洪湖市'
          }
        }
      },
      '420600000000': {
        'code': '420600000000',
        'name': '襄阳市',
        'children': {
          '420624000000': {
            'code': '420624000000',
            'name': '南漳县'
          },
          '420683000000': {
            'code': '420683000000',
            'name': '枣阳市'
          },
          '420625000000': {
            'code': '420625000000',
            'name': '谷城县'
          },
          '420606000000': {
            'code': '420606000000',
            'name': '樊城区'
          },
          '420626000000': {
            'code': '420626000000',
            'name': '保康县'
          },
          '420607000000': {
            'code': '420607000000',
            'name': '襄州区'
          },
          '420682000000': {
            'code': '420682000000',
            'name': '老河口市'
          },
          '420602000000': {
            'code': '420602000000',
            'name': '襄城区'
          },
          '420684000000': {
            'code': '420684000000',
            'name': '宜城市'
          }
        }
      },
      '421300000000': {
        'code': '421300000000',
        'name': '随州市',
        'children': {
          '421303000000': {
            'code': '421303000000',
            'name': '曾都区'
          },
          '421381000000': {
            'code': '421381000000',
            'name': '广水市'
          },
          '421321000000': {
            'code': '421321000000',
            'name': '随县'
          }
        }
      },
      '420100000000': {
        'code': '420100000000',
        'name': '武汉市',
        'children': {
          '420105000000': {
            'code': '420105000000',
            'name': '汉阳区'
          },
          '420114000000': {
            'code': '420114000000',
            'name': '蔡甸区'
          },
          '420115000000': {
            'code': '420115000000',
            'name': '江夏区'
          },
          '420116000000': {
            'code': '420116000000',
            'name': '黄陂区'
          },
          '420106000000': {
            'code': '420106000000',
            'name': '武昌区'
          },
          '420111000000': {
            'code': '420111000000',
            'name': '洪山区'
          },
          '420102000000': {
            'code': '420102000000',
            'name': '江岸区'
          },
          '420112000000': {
            'code': '420112000000',
            'name': '东西湖区'
          },
          '420107000000': {
            'code': '420107000000',
            'name': '青山区'
          },
          '420117000000': {
            'code': '420117000000',
            'name': '新洲区'
          },
          '420113000000': {
            'code': '420113000000',
            'name': '汉南区'
          },
          '420103000000': {
            'code': '420103000000',
            'name': '江汉区'
          },
          '420104000000': {
            'code': '420104000000',
            'name': '硚口区'
          }
        }
      }
    },
    'name': '湖北省'
  },
  '360000000000': {
    'code': '360000000000',
    'children': {
      '360500000000': {
        'code': '360500000000',
        'name': '新余市',
        'children': {
          '360521000000': {
            'code': '360521000000',
            'name': '分宜县'
          },
          '360502000000': {
            'code': '360502000000',
            'name': '渝水区'
          }
        }
      },
      '360100000000': {
        'code': '360100000000',
        'name': '南昌市',
        'children': {
          '360112000000': {
            'code': '360112000000',
            'name': '新建区'
          },
          '360124000000': {
            'code': '360124000000',
            'name': '进贤县'
          },
          '360102000000': {
            'code': '360102000000',
            'name': '东湖区'
          },
          '360104000000': {
            'code': '360104000000',
            'name': '青云谱区'
          },
          '360123000000': {
            'code': '360123000000',
            'name': '安义县'
          },
          '360111000000': {
            'code': '360111000000',
            'name': '青山湖区'
          },
          '360121000000': {
            'code': '360121000000',
            'name': '南昌县'
          },
          '360103000000': {
            'code': '360103000000',
            'name': '西湖区'
          },
          '360105000000': {
            'code': '360105000000',
            'name': '湾里区'
          }
        }
      },
      '360400000000': {
        'code': '360400000000',
        'name': '九江市',
        'children': {
          '360429000000': {
            'code': '360429000000',
            'name': '湖口县'
          },
          '360423000000': {
            'code': '360423000000',
            'name': '武宁县'
          },
          '360481000000': {
            'code': '360481000000',
            'name': '瑞昌市'
          },
          '360428000000': {
            'code': '360428000000',
            'name': '都昌县'
          },
          '360404000000': {
            'code': '360404000000',
            'name': '柴桑区'
          },
          '360424000000': {
            'code': '360424000000',
            'name': '修水县'
          },
          '360402000000': {
            'code': '360402000000',
            'name': '濂溪区'
          },
          '360482000000': {
            'code': '360482000000',
            'name': '共青城市'
          },
          '360403000000': {
            'code': '360403000000',
            'name': '浔阳区'
          },
          '360483000000': {
            'code': '360483000000',
            'name': '庐山市'
          },
          '360426000000': {
            'code': '360426000000',
            'name': '德安县'
          },
          '360425000000': {
            'code': '360425000000',
            'name': '永修县'
          },
          '360430000000': {
            'code': '360430000000',
            'name': '彭泽县'
          }
        }
      },
      '361100000000': {
        'code': '361100000000',
        'name': '上饶市',
        'children': {
          '361123000000': {
            'code': '361123000000',
            'name': '玉山县'
          },
          '361129000000': {
            'code': '361129000000',
            'name': '万年县'
          },
          '361125000000': {
            'code': '361125000000',
            'name': '横峰县'
          },
          '361130000000': {
            'code': '361130000000',
            'name': '婺源县'
          },
          '361103000000': {
            'code': '361103000000',
            'name': '广丰区'
          },
          '361127000000': {
            'code': '361127000000',
            'name': '余干县'
          },
          '361102000000': {
            'code': '361102000000',
            'name': '信州区'
          },
          '361121000000': {
            'code': '361121000000',
            'name': '上饶县'
          },
          '361181000000': {
            'code': '361181000000',
            'name': '德兴市'
          },
          '361128000000': {
            'code': '361128000000',
            'name': '鄱阳县'
          },
          '361124000000': {
            'code': '361124000000',
            'name': '铅山县'
          },
          '361126000000': {
            'code': '361126000000',
            'name': '弋阳县'
          }
        }
      },
      '360600000000': {
        'code': '360600000000',
        'name': '鹰潭市',
        'children': {
          '360602000000': {
            'code': '360602000000',
            'name': '月湖区'
          },
          '360603000000': {
            'code': '360603000000',
            'name': '余江区'
          },
          '360681000000': {
            'code': '360681000000',
            'name': '贵溪市'
          }
        }
      },
      '360300000000': {
        'code': '360300000000',
        'name': '萍乡市',
        'children': {
          '360323000000': {
            'code': '360323000000',
            'name': '芦溪县'
          },
          '360302000000': {
            'code': '360302000000',
            'name': '安源区'
          },
          '360322000000': {
            'code': '360322000000',
            'name': '上栗县'
          },
          '360313000000': {
            'code': '360313000000',
            'name': '湘东区'
          },
          '360321000000': {
            'code': '360321000000',
            'name': '莲花县'
          }
        }
      },
      '360900000000': {
        'code': '360900000000',
        'name': '宜春市',
        'children': {
          '360983000000': {
            'code': '360983000000',
            'name': '高安市'
          },
          '360923000000': {
            'code': '360923000000',
            'name': '上高县'
          },
          '360926000000': {
            'code': '360926000000',
            'name': '铜鼓县'
          },
          '360925000000': {
            'code': '360925000000',
            'name': '靖安县'
          },
          '360922000000': {
            'code': '360922000000',
            'name': '万载县'
          },
          '360982000000': {
            'code': '360982000000',
            'name': '樟树市'
          },
          '360921000000': {
            'code': '360921000000',
            'name': '奉新县'
          },
          '360902000000': {
            'code': '360902000000',
            'name': '袁州区'
          },
          '360924000000': {
            'code': '360924000000',
            'name': '宜丰县'
          },
          '360981000000': {
            'code': '360981000000',
            'name': '丰城市'
          }
        }
      },
      '360700000000': {
        'code': '360700000000',
        'name': '赣州市',
        'children': {
          '360727000000': {
            'code': '360727000000',
            'name': '龙南县'
          },
          '360702000000': {
            'code': '360702000000',
            'name': '章贡区'
          },
          '360730000000': {
            'code': '360730000000',
            'name': '宁都县'
          },
          '360731000000': {
            'code': '360731000000',
            'name': '于都县'
          },
          '360728000000': {
            'code': '360728000000',
            'name': '定南县'
          },
          '360726000000': {
            'code': '360726000000',
            'name': '安远县'
          },
          '360735000000': {
            'code': '360735000000',
            'name': '石城县'
          },
          '360729000000': {
            'code': '360729000000',
            'name': '全南县'
          },
          '360725000000': {
            'code': '360725000000',
            'name': '崇义县'
          },
          '360724000000': {
            'code': '360724000000',
            'name': '上犹县'
          },
          '360733000000': {
            'code': '360733000000',
            'name': '会昌县'
          },
          '360781000000': {
            'code': '360781000000',
            'name': '瑞金市'
          },
          '360704000000': {
            'code': '360704000000',
            'name': '赣县区'
          },
          '360734000000': {
            'code': '360734000000',
            'name': '寻乌县'
          },
          '360732000000': {
            'code': '360732000000',
            'name': '兴国县'
          },
          '360703000000': {
            'code': '360703000000',
            'name': '南康区'
          },
          '360722000000': {
            'code': '360722000000',
            'name': '信丰县'
          },
          '360723000000': {
            'code': '360723000000',
            'name': '大余县'
          }
        }
      },
      '360800000000': {
        'code': '360800000000',
        'name': '吉安市',
        'children': {
          '360830000000': {
            'code': '360830000000',
            'name': '永新县'
          },
          '360826000000': {
            'code': '360826000000',
            'name': '泰和县'
          },
          '360821000000': {
            'code': '360821000000',
            'name': '吉安县'
          },
          '360827000000': {
            'code': '360827000000',
            'name': '遂川县'
          },
          '360825000000': {
            'code': '360825000000',
            'name': '永丰县'
          },
          '360828000000': {
            'code': '360828000000',
            'name': '万安县'
          },
          '360824000000': {
            'code': '360824000000',
            'name': '新干县'
          },
          '360881000000': {
            'code': '360881000000',
            'name': '井冈山市'
          },
          '360829000000': {
            'code': '360829000000',
            'name': '安福县'
          },
          '360803000000': {
            'code': '360803000000',
            'name': '青原区'
          },
          '360823000000': {
            'code': '360823000000',
            'name': '峡江县'
          },
          '360822000000': {
            'code': '360822000000',
            'name': '吉水县'
          },
          '360802000000': {
            'code': '360802000000',
            'name': '吉州区'
          }
        }
      },
      '360200000000': {
        'code': '360200000000',
        'name': '景德镇市',
        'children': {
          '360281000000': {
            'code': '360281000000',
            'name': '乐平市'
          },
          '360203000000': {
            'code': '360203000000',
            'name': '珠山区'
          },
          '360202000000': {
            'code': '360202000000',
            'name': '昌江区'
          },
          '360222000000': {
            'code': '360222000000',
            'name': '浮梁县'
          }
        }
      },
      '361000000000': {
        'code': '361000000000',
        'name': '抚州市',
        'children': {
          '361030000000': {
            'code': '361030000000',
            'name': '广昌县'
          },
          '361023000000': {
            'code': '361023000000',
            'name': '南丰县'
          },
          '361024000000': {
            'code': '361024000000',
            'name': '崇仁县'
          },
          '361021000000': {
            'code': '361021000000',
            'name': '南城县'
          },
          '361026000000': {
            'code': '361026000000',
            'name': '宜黄县'
          },
          '361025000000': {
            'code': '361025000000',
            'name': '乐安县'
          },
          '361028000000': {
            'code': '361028000000',
            'name': '资溪县'
          },
          '361022000000': {
            'code': '361022000000',
            'name': '黎川县'
          },
          '361003000000': {
            'code': '361003000000',
            'name': '东乡区'
          },
          '361002000000': {
            'code': '361002000000',
            'name': '临川区'
          },
          '361027000000': {
            'code': '361027000000',
            'name': '金溪县'
          }
        }
      }
    },
    'name': '江西省'
  },
  '230000000000': {
    'code': '230000000000',
    'children': {
      '230900000000': {
        'code': '230900000000',
        'name': '七台河市',
        'children': {
          '230903000000': {
            'code': '230903000000',
            'name': '桃山区'
          },
          '230921000000': {
            'code': '230921000000',
            'name': '勃利县'
          },
          '230902000000': {
            'code': '230902000000',
            'name': '新兴区'
          },
          '230904000000': {
            'code': '230904000000',
            'name': '茄子河区'
          }
        }
      },
      '230100000000': {
        'code': '230100000000',
        'name': '哈尔滨市',
        'children': {
          '230104000000': {
            'code': '230104000000',
            'name': '道外区'
          },
          '230124000000': {
            'code': '230124000000',
            'name': '方正县'
          },
          '230129000000': {
            'code': '230129000000',
            'name': '延寿县'
          },
          '230110000000': {
            'code': '230110000000',
            'name': '香坊区'
          },
          '230126000000': {
            'code': '230126000000',
            'name': '巴彦县'
          },
          '230111000000': {
            'code': '230111000000',
            'name': '呼兰区'
          },
          '230125000000': {
            'code': '230125000000',
            'name': '宾县'
          },
          '230127000000': {
            'code': '230127000000',
            'name': '木兰县'
          },
          '230108000000': {
            'code': '230108000000',
            'name': '平房区'
          },
          '230128000000': {
            'code': '230128000000',
            'name': '通河县'
          },
          '230109000000': {
            'code': '230109000000',
            'name': '松北区'
          },
          '230112000000': {
            'code': '230112000000',
            'name': '阿城区'
          },
          '230102000000': {
            'code': '230102000000',
            'name': '道里区'
          },
          '230184000000': {
            'code': '230184000000',
            'name': '五常市'
          },
          '230183000000': {
            'code': '230183000000',
            'name': '尚志市'
          },
          '230103000000': {
            'code': '230103000000',
            'name': '南岗区'
          },
          '230113000000': {
            'code': '230113000000',
            'name': '双城区'
          },
          '230123000000': {
            'code': '230123000000',
            'name': '依兰县'
          }
        }
      },
      '230200000000': {
        'code': '230200000000',
        'name': '齐齐哈尔市',
        'children': {
          '230224000000': {
            'code': '230224000000',
            'name': '泰来县'
          },
          '230204000000': {
            'code': '230204000000',
            'name': '铁锋区'
          },
          '230205000000': {
            'code': '230205000000',
            'name': '昂昂溪区'
          },
          '230223000000': {
            'code': '230223000000',
            'name': '依安县'
          },
          '230281000000': {
            'code': '230281000000',
            'name': '讷河市'
          },
          '230225000000': {
            'code': '230225000000',
            'name': '甘南县'
          },
          '230229000000': {
            'code': '230229000000',
            'name': '克山县'
          },
          '230230000000': {
            'code': '230230000000',
            'name': '克东县'
          },
          '230227000000': {
            'code': '230227000000',
            'name': '富裕县'
          },
          '230231000000': {
            'code': '230231000000',
            'name': '拜泉县'
          },
          '230208000000': {
            'code': '230208000000',
            'name': '梅里斯达斡尔族区'
          },
          '230221000000': {
            'code': '230221000000',
            'name': '龙江县'
          },
          '230203000000': {
            'code': '230203000000',
            'name': '建华区'
          },
          '230206000000': {
            'code': '230206000000',
            'name': '富拉尔基区'
          },
          '230202000000': {
            'code': '230202000000',
            'name': '龙沙区'
          },
          '230207000000': {
            'code': '230207000000',
            'name': '碾子山区'
          }
        }
      },
      '230700000000': {
        'code': '230700000000',
        'name': '伊春市',
        'children': {
          '230711000000': {
            'code': '230711000000',
            'name': '乌马河区'
          },
          '230707000000': {
            'code': '230707000000',
            'name': '新青区'
          },
          '230708000000': {
            'code': '230708000000',
            'name': '美溪区'
          },
          '230702000000': {
            'code': '230702000000',
            'name': '伊春区'
          },
          '230710000000': {
            'code': '230710000000',
            'name': '五营区'
          },
          '230716000000': {
            'code': '230716000000',
            'name': '上甘岭区'
          },
          '230712000000': {
            'code': '230712000000',
            'name': '汤旺河区'
          },
          '230706000000': {
            'code': '230706000000',
            'name': '翠峦区'
          },
          '230709000000': {
            'code': '230709000000',
            'name': '金山屯区'
          },
          '230705000000': {
            'code': '230705000000',
            'name': '西林区'
          },
          '230715000000': {
            'code': '230715000000',
            'name': '红星区'
          },
          '230781000000': {
            'code': '230781000000',
            'name': '铁力市'
          },
          '230704000000': {
            'code': '230704000000',
            'name': '友好区'
          },
          '230714000000': {
            'code': '230714000000',
            'name': '乌伊岭区'
          },
          '230722000000': {
            'code': '230722000000',
            'name': '嘉荫县'
          },
          '230703000000': {
            'code': '230703000000',
            'name': '南岔区'
          },
          '230713000000': {
            'code': '230713000000',
            'name': '带岭区'
          }
        }
      },
      '231000000000': {
        'code': '231000000000',
        'name': '牡丹江市',
        'children': {
          '231071000000': {
            'code': '231071000000',
            'name': '牡丹江经济技术开发区'
          },
          '231004000000': {
            'code': '231004000000',
            'name': '爱民区'
          },
          '231084000000': {
            'code': '231084000000',
            'name': '宁安市'
          },
          '231083000000': {
            'code': '231083000000',
            'name': '海林市'
          },
          '231081000000': {
            'code': '231081000000',
            'name': '绥芬河市'
          },
          '231086000000': {
            'code': '231086000000',
            'name': '东宁市'
          },
          '231085000000': {
            'code': '231085000000',
            'name': '穆棱市'
          },
          '231002000000': {
            'code': '231002000000',
            'name': '东安区'
          },
          '231003000000': {
            'code': '231003000000',
            'name': '阳明区'
          },
          '231005000000': {
            'code': '231005000000',
            'name': '西安区'
          },
          '231025000000': {
            'code': '231025000000',
            'name': '林口县'
          }
        }
      },
      '230800000000': {
        'code': '230800000000',
        'name': '佳木斯市',
        'children': {
          '230804000000': {
            'code': '230804000000',
            'name': '前进区'
          },
          '230826000000': {
            'code': '230826000000',
            'name': '桦川县'
          },
          '230811000000': {
            'code': '230811000000',
            'name': '郊区'
          },
          '230881000000': {
            'code': '230881000000',
            'name': '同江市'
          },
          '230803000000': {
            'code': '230803000000',
            'name': '向阳区'
          },
          '230828000000': {
            'code': '230828000000',
            'name': '汤原县'
          },
          '230883000000': {
            'code': '230883000000',
            'name': '抚远市'
          },
          '230805000000': {
            'code': '230805000000',
            'name': '东风区'
          },
          '230822000000': {
            'code': '230822000000',
            'name': '桦南县'
          },
          '230882000000': {
            'code': '230882000000',
            'name': '富锦市'
          }
        }
      },
      '230400000000': {
        'code': '230400000000',
        'name': '鹤岗市',
        'children': {
          '230406000000': {
            'code': '230406000000',
            'name': '东山区'
          },
          '230404000000': {
            'code': '230404000000',
            'name': '南山区'
          },
          '230402000000': {
            'code': '230402000000',
            'name': '向阳区'
          },
          '230422000000': {
            'code': '230422000000',
            'name': '绥滨县'
          },
          '230405000000': {
            'code': '230405000000',
            'name': '兴安区'
          },
          '230421000000': {
            'code': '230421000000',
            'name': '萝北县'
          },
          '230407000000': {
            'code': '230407000000',
            'name': '兴山区'
          },
          '230403000000': {
            'code': '230403000000',
            'name': '工农区'
          }
        }
      },
      '231100000000': {
        'code': '231100000000',
        'name': '黑河市',
        'children': {
          '231123000000': {
            'code': '231123000000',
            'name': '逊克县'
          },
          '231121000000': {
            'code': '231121000000',
            'name': '嫩江县'
          },
          '231181000000': {
            'code': '231181000000',
            'name': '北安市'
          },
          '231182000000': {
            'code': '231182000000',
            'name': '五大连池市'
          },
          '231102000000': {
            'code': '231102000000',
            'name': '爱辉区'
          },
          '231124000000': {
            'code': '231124000000',
            'name': '孙吴县'
          }
        }
      },
      '232700000000': {
        'code': '232700000000',
        'name': '大兴安岭地区',
        'children': {
          '232764000000': {
            'code': '232764000000',
            'name': '呼中区'
          },
          '232761000000': {
            'code': '232761000000',
            'name': '加格达奇区'
          },
          '232722000000': {
            'code': '232722000000',
            'name': '塔河县'
          },
          '232721000000': {
            'code': '232721000000',
            'name': '呼玛县'
          },
          '232762000000': {
            'code': '232762000000',
            'name': '松岭区'
          },
          '232701000000': {
            'code': '232701000000',
            'name': '漠河市'
          },
          '232763000000': {
            'code': '232763000000',
            'name': '新林区'
          }
        }
      },
      '230300000000': {
        'code': '230300000000',
        'name': '鸡西市',
        'children': {
          '230307000000': {
            'code': '230307000000',
            'name': '麻山区'
          },
          '230304000000': {
            'code': '230304000000',
            'name': '滴道区'
          },
          '230381000000': {
            'code': '230381000000',
            'name': '虎林市'
          },
          '230303000000': {
            'code': '230303000000',
            'name': '恒山区'
          },
          '230305000000': {
            'code': '230305000000',
            'name': '梨树区'
          },
          '230382000000': {
            'code': '230382000000',
            'name': '密山市'
          },
          '230302000000': {
            'code': '230302000000',
            'name': '鸡冠区'
          },
          '230321000000': {
            'code': '230321000000',
            'name': '鸡东县'
          },
          '230306000000': {
            'code': '230306000000',
            'name': '城子河区'
          }
        }
      },
      '231200000000': {
        'code': '231200000000',
        'name': '绥化市',
        'children': {
          '231225000000': {
            'code': '231225000000',
            'name': '明水县'
          },
          '231224000000': {
            'code': '231224000000',
            'name': '庆安县'
          },
          '231202000000': {
            'code': '231202000000',
            'name': '北林区'
          },
          '231222000000': {
            'code': '231222000000',
            'name': '兰西县'
          },
          '231282000000': {
            'code': '231282000000',
            'name': '肇东市'
          },
          '231223000000': {
            'code': '231223000000',
            'name': '青冈县'
          },
          '231226000000': {
            'code': '231226000000',
            'name': '绥棱县'
          },
          '231221000000': {
            'code': '231221000000',
            'name': '望奎县'
          },
          '231283000000': {
            'code': '231283000000',
            'name': '海伦市'
          },
          '231281000000': {
            'code': '231281000000',
            'name': '安达市'
          }
        }
      },
      '230600000000': {
        'code': '230600000000',
        'name': '大庆市',
        'children': {
          '230605000000': {
            'code': '230605000000',
            'name': '红岗区'
          },
          '230621000000': {
            'code': '230621000000',
            'name': '肇州县'
          },
          '230624000000': {
            'code': '230624000000',
            'name': '杜尔伯特蒙古族自治县'
          },
          '230602000000': {
            'code': '230602000000',
            'name': '萨尔图区'
          },
          '230603000000': {
            'code': '230603000000',
            'name': '龙凤区'
          },
          '230623000000': {
            'code': '230623000000',
            'name': '林甸县'
          },
          '230622000000': {
            'code': '230622000000',
            'name': '肇源县'
          },
          '230604000000': {
            'code': '230604000000',
            'name': '让胡路区'
          },
          '230671000000': {
            'code': '230671000000',
            'name': '大庆高新技术产业开发区'
          },
          '230606000000': {
            'code': '230606000000',
            'name': '大同区'
          }
        }
      },
      '230500000000': {
        'code': '230500000000',
        'name': '双鸭山市',
        'children': {
          '230503000000': {
            'code': '230503000000',
            'name': '岭东区'
          },
          '230506000000': {
            'code': '230506000000',
            'name': '宝山区'
          },
          '230505000000': {
            'code': '230505000000',
            'name': '四方台区'
          },
          '230521000000': {
            'code': '230521000000',
            'name': '集贤县'
          },
          '230523000000': {
            'code': '230523000000',
            'name': '宝清县'
          },
          '230524000000': {
            'code': '230524000000',
            'name': '饶河县'
          },
          '230502000000': {
            'code': '230502000000',
            'name': '尖山区'
          },
          '230522000000': {
            'code': '230522000000',
            'name': '友谊县'
          }
        }
      }
    },
    'name': '黑龙江省'
  },
  '210000000000': {
    'code': '210000000000',
    'children': {
      '210200000000': {
        'code': '210200000000',
        'name': '大连市',
        'children': {
          '210203000000': {
            'code': '210203000000',
            'name': '西岗区'
          },
          '210212000000': {
            'code': '210212000000',
            'name': '旅顺口区'
          },
          '210283000000': {
            'code': '210283000000',
            'name': '庄河市'
          },
          '210213000000': {
            'code': '210213000000',
            'name': '金州区'
          },
          '210211000000': {
            'code': '210211000000',
            'name': '甘井子区'
          },
          '210214000000': {
            'code': '210214000000',
            'name': '普兰店区'
          },
          '210281000000': {
            'code': '210281000000',
            'name': '瓦房店市'
          },
          '210202000000': {
            'code': '210202000000',
            'name': '中山区'
          },
          '210204000000': {
            'code': '210204000000',
            'name': '沙河口区'
          },
          '210224000000': {
            'code': '210224000000',
            'name': '长海县'
          }
        }
      },
      '210300000000': {
        'code': '210300000000',
        'name': '鞍山市',
        'children': {
          '210302000000': {
            'code': '210302000000',
            'name': '铁东区'
          },
          '210323000000': {
            'code': '210323000000',
            'name': '岫岩满族自治县'
          },
          '210304000000': {
            'code': '210304000000',
            'name': '立山区'
          },
          '210303000000': {
            'code': '210303000000',
            'name': '铁西区'
          },
          '210311000000': {
            'code': '210311000000',
            'name': '千山区'
          },
          '210381000000': {
            'code': '210381000000',
            'name': '海城市'
          },
          '210321000000': {
            'code': '210321000000',
            'name': '台安县'
          }
        }
      },
      '210400000000': {
        'code': '210400000000',
        'name': '抚顺市',
        'children': {
          '210411000000': {
            'code': '210411000000',
            'name': '顺城区'
          },
          '210421000000': {
            'code': '210421000000',
            'name': '抚顺县'
          },
          '210402000000': {
            'code': '210402000000',
            'name': '新抚区'
          },
          '210404000000': {
            'code': '210404000000',
            'name': '望花区'
          },
          '210423000000': {
            'code': '210423000000',
            'name': '清原满族自治县'
          },
          '210403000000': {
            'code': '210403000000',
            'name': '东洲区'
          },
          '210422000000': {
            'code': '210422000000',
            'name': '新宾满族自治县'
          }
        }
      },
      '210900000000': {
        'code': '210900000000',
        'name': '阜新市',
        'children': {
          '210911000000': {
            'code': '210911000000',
            'name': '细河区'
          },
          '210904000000': {
            'code': '210904000000',
            'name': '太平区'
          },
          '210902000000': {
            'code': '210902000000',
            'name': '海州区'
          },
          '210922000000': {
            'code': '210922000000',
            'name': '彰武县'
          },
          '210905000000': {
            'code': '210905000000',
            'name': '清河门区'
          },
          '210921000000': {
            'code': '210921000000',
            'name': '阜新蒙古族自治县'
          },
          '210903000000': {
            'code': '210903000000',
            'name': '新邱区'
          }
        }
      },
      '210500000000': {
        'code': '210500000000',
        'name': '本溪市',
        'children': {
          '210504000000': {
            'code': '210504000000',
            'name': '明山区'
          },
          '210503000000': {
            'code': '210503000000',
            'name': '溪湖区'
          },
          '210505000000': {
            'code': '210505000000',
            'name': '南芬区'
          },
          '210502000000': {
            'code': '210502000000',
            'name': '平山区'
          },
          '210522000000': {
            'code': '210522000000',
            'name': '桓仁满族自治县'
          },
          '210521000000': {
            'code': '210521000000',
            'name': '本溪满族自治县'
          }
        }
      },
      '211200000000': {
        'code': '211200000000',
        'name': '铁岭市',
        'children': {
          '211204000000': {
            'code': '211204000000',
            'name': '清河区'
          },
          '211223000000': {
            'code': '211223000000',
            'name': '西丰县'
          },
          '211281000000': {
            'code': '211281000000',
            'name': '调兵山市'
          },
          '211224000000': {
            'code': '211224000000',
            'name': '昌图县'
          },
          '211202000000': {
            'code': '211202000000',
            'name': '银州区'
          },
          '211221000000': {
            'code': '211221000000',
            'name': '铁岭县'
          },
          '211282000000': {
            'code': '211282000000',
            'name': '开原市'
          }
        }
      },
      '210600000000': {
        'code': '210600000000',
        'name': '丹东市',
        'children': {
          '210604000000': {
            'code': '210604000000',
            'name': '振安区'
          },
          '210682000000': {
            'code': '210682000000',
            'name': '凤城市'
          },
          '210602000000': {
            'code': '210602000000',
            'name': '元宝区'
          },
          '210624000000': {
            'code': '210624000000',
            'name': '宽甸满族自治县'
          },
          '210681000000': {
            'code': '210681000000',
            'name': '东港市'
          },
          '210603000000': {
            'code': '210603000000',
            'name': '振兴区'
          }
        }
      },
      '211300000000': {
        'code': '211300000000',
        'name': '朝阳市',
        'children': {
          '211303000000': {
            'code': '211303000000',
            'name': '龙城区'
          },
          '211321000000': {
            'code': '211321000000',
            'name': '朝阳县'
          },
          '211324000000': {
            'code': '211324000000',
            'name': '喀喇沁左翼蒙古族自治县'
          },
          '211381000000': {
            'code': '211381000000',
            'name': '北票市'
          },
          '211382000000': {
            'code': '211382000000',
            'name': '凌源市'
          },
          '211322000000': {
            'code': '211322000000',
            'name': '建平县'
          },
          '211302000000': {
            'code': '211302000000',
            'name': '双塔区'
          }
        }
      },
      '211400000000': {
        'code': '211400000000',
        'name': '葫芦岛市',
        'children': {
          '211422000000': {
            'code': '211422000000',
            'name': '建昌县'
          },
          '211403000000': {
            'code': '211403000000',
            'name': '龙港区'
          },
          '211402000000': {
            'code': '211402000000',
            'name': '连山区'
          },
          '211404000000': {
            'code': '211404000000',
            'name': '南票区'
          },
          '211421000000': {
            'code': '211421000000',
            'name': '绥中县'
          },
          '211481000000': {
            'code': '211481000000',
            'name': '兴城市'
          }
        }
      },
      '211100000000': {
        'code': '211100000000',
        'name': '盘锦市',
        'children': {
          '211102000000': {
            'code': '211102000000',
            'name': '双台子区'
          },
          '211104000000': {
            'code': '211104000000',
            'name': '大洼区'
          },
          '211103000000': {
            'code': '211103000000',
            'name': '兴隆台区'
          },
          '211122000000': {
            'code': '211122000000',
            'name': '盘山县'
          }
        }
      },
      '210800000000': {
        'code': '210800000000',
        'name': '营口市',
        'children': {
          '210802000000': {
            'code': '210802000000',
            'name': '站前区'
          },
          '210811000000': {
            'code': '210811000000',
            'name': '老边区'
          },
          '210882000000': {
            'code': '210882000000',
            'name': '大石桥市'
          },
          '210803000000': {
            'code': '210803000000',
            'name': '西市区'
          },
          '210881000000': {
            'code': '210881000000',
            'name': '盖州市'
          },
          '210804000000': {
            'code': '210804000000',
            'name': '鲅鱼圈区'
          }
        }
      },
      '211000000000': {
        'code': '211000000000',
        'name': '辽阳市',
        'children': {
          '211005000000': {
            'code': '211005000000',
            'name': '弓长岭区'
          },
          '211003000000': {
            'code': '211003000000',
            'name': '文圣区'
          },
          '211011000000': {
            'code': '211011000000',
            'name': '太子河区'
          },
          '211081000000': {
            'code': '211081000000',
            'name': '灯塔市'
          },
          '211021000000': {
            'code': '211021000000',
            'name': '辽阳县'
          },
          '211004000000': {
            'code': '211004000000',
            'name': '宏伟区'
          },
          '211002000000': {
            'code': '211002000000',
            'name': '白塔区'
          }
        }
      },
      '210100000000': {
        'code': '210100000000',
        'name': '沈阳市',
        'children': {
          '210106000000': {
            'code': '210106000000',
            'name': '铁西区'
          },
          '210111000000': {
            'code': '210111000000',
            'name': '苏家屯区'
          },
          '210102000000': {
            'code': '210102000000',
            'name': '和平区'
          },
          '210112000000': {
            'code': '210112000000',
            'name': '浑南区'
          },
          '210104000000': {
            'code': '210104000000',
            'name': '大东区'
          },
          '210123000000': {
            'code': '210123000000',
            'name': '康平县'
          },
          '210103000000': {
            'code': '210103000000',
            'name': '沈河区'
          },
          '210113000000': {
            'code': '210113000000',
            'name': '沈北新区'
          },
          '210181000000': {
            'code': '210181000000',
            'name': '新民市'
          },
          '210105000000': {
            'code': '210105000000',
            'name': '皇姑区'
          },
          '210115000000': {
            'code': '210115000000',
            'name': '辽中区'
          },
          '210114000000': {
            'code': '210114000000',
            'name': '于洪区'
          },
          '210124000000': {
            'code': '210124000000',
            'name': '法库县'
          }
        }
      },
      '210700000000': {
        'code': '210700000000',
        'name': '锦州市',
        'children': {
          '210703000000': {
            'code': '210703000000',
            'name': '凌河区'
          },
          '210711000000': {
            'code': '210711000000',
            'name': '太和区'
          },
          '210781000000': {
            'code': '210781000000',
            'name': '凌海市'
          },
          '210726000000': {
            'code': '210726000000',
            'name': '黑山县'
          },
          '210702000000': {
            'code': '210702000000',
            'name': '古塔区'
          },
          '210727000000': {
            'code': '210727000000',
            'name': '义县'
          },
          '210782000000': {
            'code': '210782000000',
            'name': '北镇市'
          }
        }
      }
    },
    'name': '辽宁省'
  },
  '530000000000': {
    'code': '530000000000',
    'children': {
      '532500000000': {
        'code': '532500000000',
        'name': '红河哈尼族彝族自治州',
        'children': {
          '532501000000': {
            'code': '532501000000',
            'name': '个旧市'
          },
          '532525000000': {
            'code': '532525000000',
            'name': '石屏县'
          },
          '532527000000': {
            'code': '532527000000',
            'name': '泸西县'
          },
          '532502000000': {
            'code': '532502000000',
            'name': '开远市'
          },
          '532532000000': {
            'code': '532532000000',
            'name': '河口瑶族自治县'
          },
          '532528000000': {
            'code': '532528000000',
            'name': '元阳县'
          },
          '532529000000': {
            'code': '532529000000',
            'name': '红河县'
          },
          '532523000000': {
            'code': '532523000000',
            'name': '屏边苗族自治县'
          },
          '532531000000': {
            'code': '532531000000',
            'name': '绿春县'
          },
          '532503000000': {
            'code': '532503000000',
            'name': '蒙自市'
          },
          '532530000000': {
            'code': '532530000000',
            'name': '金平苗族瑶族傣族自治县'
          },
          '532504000000': {
            'code': '532504000000',
            'name': '弥勒市'
          },
          '532524000000': {
            'code': '532524000000',
            'name': '建水县'
          }
        }
      },
      '530100000000': {
        'code': '530100000000',
        'name': '昆明市',
        'children': {
          '530126000000': {
            'code': '530126000000',
            'name': '石林彝族自治县'
          },
          '530102000000': {
            'code': '530102000000',
            'name': '五华区'
          },
          '530112000000': {
            'code': '530112000000',
            'name': '西山区'
          },
          '530103000000': {
            'code': '530103000000',
            'name': '盘龙区'
          },
          '530127000000': {
            'code': '530127000000',
            'name': '嵩明县'
          },
          '530129000000': {
            'code': '530129000000',
            'name': '寻甸回族彝族自治县'
          },
          '530113000000': {
            'code': '530113000000',
            'name': '东川区'
          },
          '530114000000': {
            'code': '530114000000',
            'name': '呈贡区'
          },
          '530181000000': {
            'code': '530181000000',
            'name': '安宁市'
          },
          '530128000000': {
            'code': '530128000000',
            'name': '禄劝彝族苗族自治县'
          },
          '530124000000': {
            'code': '530124000000',
            'name': '富民县'
          },
          '530111000000': {
            'code': '530111000000',
            'name': '官渡区'
          },
          '530115000000': {
            'code': '530115000000',
            'name': '晋宁区'
          },
          '530125000000': {
            'code': '530125000000',
            'name': '宜良县'
          }
        }
      },
      '530300000000': {
        'code': '530300000000',
        'name': '曲靖市',
        'children': {
          '530302000000': {
            'code': '530302000000',
            'name': '麒麟区'
          },
          '530325000000': {
            'code': '530325000000',
            'name': '富源县'
          },
          '530303000000': {
            'code': '530303000000',
            'name': '沾益区'
          },
          '530324000000': {
            'code': '530324000000',
            'name': '罗平县'
          },
          '530322000000': {
            'code': '530322000000',
            'name': '陆良县'
          },
          '530323000000': {
            'code': '530323000000',
            'name': '师宗县'
          },
          '530326000000': {
            'code': '530326000000',
            'name': '会泽县'
          },
          '530304000000': {
            'code': '530304000000',
            'name': '马龙区'
          },
          '530381000000': {
            'code': '530381000000',
            'name': '宣威市'
          }
        }
      },
      '533100000000': {
        'code': '533100000000',
        'name': '德宏傣族景颇族自治州',
        'children': {
          '533123000000': {
            'code': '533123000000',
            'name': '盈江县'
          },
          '533103000000': {
            'code': '533103000000',
            'name': '芒市'
          },
          '533124000000': {
            'code': '533124000000',
            'name': '陇川县'
          },
          '533102000000': {
            'code': '533102000000',
            'name': '瑞丽市'
          },
          '533122000000': {
            'code': '533122000000',
            'name': '梁河县'
          }
        }
      },
      '532300000000': {
        'code': '532300000000',
        'name': '楚雄彝族自治州',
        'children': {
          '532324000000': {
            'code': '532324000000',
            'name': '南华县'
          },
          '532327000000': {
            'code': '532327000000',
            'name': '永仁县'
          },
          '532329000000': {
            'code': '532329000000',
            'name': '武定县'
          },
          '532322000000': {
            'code': '532322000000',
            'name': '双柏县'
          },
          '532328000000': {
            'code': '532328000000',
            'name': '元谋县'
          },
          '532325000000': {
            'code': '532325000000',
            'name': '姚安县'
          },
          '532326000000': {
            'code': '532326000000',
            'name': '大姚县'
          },
          '532331000000': {
            'code': '532331000000',
            'name': '禄丰县'
          },
          '532323000000': {
            'code': '532323000000',
            'name': '牟定县'
          },
          '532301000000': {
            'code': '532301000000',
            'name': '楚雄市'
          }
        }
      },
      '532600000000': {
        'code': '532600000000',
        'name': '文山壮族苗族自治州',
        'children': {
          '532628000000': {
            'code': '532628000000',
            'name': '富宁县'
          },
          '532625000000': {
            'code': '532625000000',
            'name': '马关县'
          },
          '532624000000': {
            'code': '532624000000',
            'name': '麻栗坡县'
          },
          '532627000000': {
            'code': '532627000000',
            'name': '广南县'
          },
          '532622000000': {
            'code': '532622000000',
            'name': '砚山县'
          },
          '532601000000': {
            'code': '532601000000',
            'name': '文山市'
          },
          '532623000000': {
            'code': '532623000000',
            'name': '西畴县'
          },
          '532626000000': {
            'code': '532626000000',
            'name': '丘北县'
          }
        }
      },
      '532800000000': {
        'code': '532800000000',
        'name': '西双版纳傣族自治州',
        'children': {
          '532801000000': {
            'code': '532801000000',
            'name': '景洪市'
          },
          '532823000000': {
            'code': '532823000000',
            'name': '勐腊县'
          },
          '532822000000': {
            'code': '532822000000',
            'name': '勐海县'
          }
        }
      },
      '530400000000': {
        'code': '530400000000',
        'name': '玉溪市',
        'children': {
          '530424000000': {
            'code': '530424000000',
            'name': '华宁县'
          },
          '530427000000': {
            'code': '530427000000',
            'name': '新平彝族傣族自治县'
          },
          '530402000000': {
            'code': '530402000000',
            'name': '红塔区'
          },
          '530428000000': {
            'code': '530428000000',
            'name': '元江哈尼族彝族傣族自治县'
          },
          '530426000000': {
            'code': '530426000000',
            'name': '峨山彝族自治县'
          },
          '530403000000': {
            'code': '530403000000',
            'name': '江川区'
          },
          '530422000000': {
            'code': '530422000000',
            'name': '澄江县'
          },
          '530423000000': {
            'code': '530423000000',
            'name': '通海县'
          },
          '530425000000': {
            'code': '530425000000',
            'name': '易门县'
          }
        }
      },
      '530500000000': {
        'code': '530500000000',
        'name': '保山市',
        'children': {
          '530581000000': {
            'code': '530581000000',
            'name': '腾冲市'
          },
          '530521000000': {
            'code': '530521000000',
            'name': '施甸县'
          },
          '530523000000': {
            'code': '530523000000',
            'name': '龙陵县'
          },
          '530524000000': {
            'code': '530524000000',
            'name': '昌宁县'
          },
          '530502000000': {
            'code': '530502000000',
            'name': '隆阳区'
          }
        }
      },
      '530700000000': {
        'code': '530700000000',
        'name': '丽江市',
        'children': {
          '530722000000': {
            'code': '530722000000',
            'name': '永胜县'
          },
          '530702000000': {
            'code': '530702000000',
            'name': '古城区'
          },
          '530724000000': {
            'code': '530724000000',
            'name': '宁蒗彝族自治县'
          },
          '530723000000': {
            'code': '530723000000',
            'name': '华坪县'
          },
          '530721000000': {
            'code': '530721000000',
            'name': '玉龙纳西族自治县'
          }
        }
      },
      '530600000000': {
        'code': '530600000000',
        'name': '昭通市',
        'children': {
          '530623000000': {
            'code': '530623000000',
            'name': '盐津县'
          },
          '530626000000': {
            'code': '530626000000',
            'name': '绥江县'
          },
          '530625000000': {
            'code': '530625000000',
            'name': '永善县'
          },
          '530622000000': {
            'code': '530622000000',
            'name': '巧家县'
          },
          '530629000000': {
            'code': '530629000000',
            'name': '威信县'
          },
          '530621000000': {
            'code': '530621000000',
            'name': '鲁甸县'
          },
          '530602000000': {
            'code': '530602000000',
            'name': '昭阳区'
          },
          '530627000000': {
            'code': '530627000000',
            'name': '镇雄县'
          },
          '530624000000': {
            'code': '530624000000',
            'name': '大关县'
          },
          '530628000000': {
            'code': '530628000000',
            'name': '彝良县'
          },
          '530681000000': {
            'code': '530681000000',
            'name': '水富市'
          }
        }
      },
      '532900000000': {
        'code': '532900000000',
        'name': '大理白族自治州',
        'children': {
          '532923000000': {
            'code': '532923000000',
            'name': '祥云县'
          },
          '532929000000': {
            'code': '532929000000',
            'name': '云龙县'
          },
          '532926000000': {
            'code': '532926000000',
            'name': '南涧彝族自治县'
          },
          '532922000000': {
            'code': '532922000000',
            'name': '漾濞彝族自治县'
          },
          '532930000000': {
            'code': '532930000000',
            'name': '洱源县'
          },
          '532932000000': {
            'code': '532932000000',
            'name': '鹤庆县'
          },
          '532924000000': {
            'code': '532924000000',
            'name': '宾川县'
          },
          '532927000000': {
            'code': '532927000000',
            'name': '巍山彝族回族自治县'
          },
          '532925000000': {
            'code': '532925000000',
            'name': '弥渡县'
          },
          '532928000000': {
            'code': '532928000000',
            'name': '永平县'
          },
          '532901000000': {
            'code': '532901000000',
            'name': '大理市'
          },
          '532931000000': {
            'code': '532931000000',
            'name': '剑川县'
          }
        }
      },
      '530900000000': {
        'code': '530900000000',
        'name': '临沧市',
        'children': {
          '530927000000': {
            'code': '530927000000',
            'name': '沧源佤族自治县'
          },
          '530924000000': {
            'code': '530924000000',
            'name': '镇康县'
          },
          '530902000000': {
            'code': '530902000000',
            'name': '临翔区'
          },
          '530922000000': {
            'code': '530922000000',
            'name': '云县'
          },
          '530925000000': {
            'code': '530925000000',
            'name': '双江拉祜族佤族布朗族傣族自治县'
          },
          '530923000000': {
            'code': '530923000000',
            'name': '永德县'
          },
          '530926000000': {
            'code': '530926000000',
            'name': '耿马傣族佤族自治县'
          },
          '530921000000': {
            'code': '530921000000',
            'name': '凤庆县'
          }
        }
      },
      '533400000000': {
        'code': '533400000000',
        'name': '迪庆藏族自治州',
        'children': {
          '533422000000': {
            'code': '533422000000',
            'name': '德钦县'
          },
          '533423000000': {
            'code': '533423000000',
            'name': '维西傈僳族自治县'
          },
          '533401000000': {
            'code': '533401000000',
            'name': '香格里拉市'
          }
        }
      },
      '530800000000': {
        'code': '530800000000',
        'name': '普洱市',
        'children': {
          '530821000000': {
            'code': '530821000000',
            'name': '宁洱哈尼族彝族自治县'
          },
          '530827000000': {
            'code': '530827000000',
            'name': '孟连傣族拉祜族佤族自治县'
          },
          '530828000000': {
            'code': '530828000000',
            'name': '澜沧拉祜族自治县'
          },
          '530825000000': {
            'code': '530825000000',
            'name': '镇沅彝族哈尼族拉祜族自治县'
          },
          '530823000000': {
            'code': '530823000000',
            'name': '景东彝族自治县'
          },
          '530829000000': {
            'code': '530829000000',
            'name': '西盟佤族自治县'
          },
          '530826000000': {
            'code': '530826000000',
            'name': '江城哈尼族彝族自治县'
          },
          '530822000000': {
            'code': '530822000000',
            'name': '墨江哈尼族自治县'
          },
          '530824000000': {
            'code': '530824000000',
            'name': '景谷傣族彝族自治县'
          },
          '530802000000': {
            'code': '530802000000',
            'name': '思茅区'
          }
        }
      },
      '533300000000': {
        'code': '533300000000',
        'name': '怒江傈僳族自治州',
        'children': {
          '533325000000': {
            'code': '533325000000',
            'name': '兰坪白族普米族自治县'
          },
          '533301000000': {
            'code': '533301000000',
            'name': '泸水市'
          },
          '533323000000': {
            'code': '533323000000',
            'name': '福贡县'
          },
          '533324000000': {
            'code': '533324000000',
            'name': '贡山独龙族怒族自治县'
          }
        }
      }
    },
    'name': '云南省'
  },
  '440000000000': {
    'code': '440000000000',
    'children': {
      '445100000000': {
        'code': '445100000000',
        'name': '潮州市',
        'children': {
          '445122000000': {
            'code': '445122000000',
            'name': '饶平县'
          },
          '445102000000': {
            'code': '445102000000',
            'name': '湘桥区'
          },
          '445103000000': {
            'code': '445103000000',
            'name': '潮安区'
          }
        }
      },
      '440600000000': {
        'code': '440600000000',
        'name': '佛山市',
        'children': {
          '440604000000': {
            'code': '440604000000',
            'name': '禅城区'
          },
          '440606000000': {
            'code': '440606000000',
            'name': '顺德区'
          },
          '440608000000': {
            'code': '440608000000',
            'name': '高明区'
          },
          '440607000000': {
            'code': '440607000000',
            'name': '三水区'
          },
          '440605000000': {
            'code': '440605000000',
            'name': '南海区'
          }
        }
      },
      '441300000000': {
        'code': '441300000000',
        'name': '惠州市',
        'children': {
          '441303000000': {
            'code': '441303000000',
            'name': '惠阳区'
          },
          '441322000000': {
            'code': '441322000000',
            'name': '博罗县'
          },
          '441323000000': {
            'code': '441323000000',
            'name': '惠东县'
          },
          '441324000000': {
            'code': '441324000000',
            'name': '龙门县'
          },
          '441302000000': {
            'code': '441302000000',
            'name': '惠城区'
          }
        }
      },
      '442000000000': {
        'code': '442000000000',
        'name': '中山市',
        'children': {
          '442000002000': {
            'code': '442000002000',
            'name': '东区街道办事处'
          },
          '442000106000': {
            'code': '442000106000',
            'name': '沙溪镇'
          },
          '442000109000': {
            'code': '442000109000',
            'name': '三角镇'
          },
          '442000001000': {
            'code': '442000001000',
            'name': '石岐区街道办事处'
          },
          '442000107000': {
            'code': '442000107000',
            'name': '坦洲镇'
          },
          '442000108000': {
            'code': '442000108000',
            'name': '港口镇'
          },
          '442000003000': {
            'code': '442000003000',
            'name': '火炬开发区街道办事处'
          },
          '442000004000': {
            'code': '442000004000',
            'name': '西区街道办事处'
          },
          '442000102000': {
            'code': '442000102000',
            'name': '民众镇'
          },
          '442000104000': {
            'code': '442000104000',
            'name': '东升镇'
          },
          '442000105000': {
            'code': '442000105000',
            'name': '古镇镇'
          },
          '442000103000': {
            'code': '442000103000',
            'name': '东凤镇'
          },
          '442000100000': {
            'code': '442000100000',
            'name': '小榄镇'
          },
          '442000101000': {
            'code': '442000101000',
            'name': '黄圃镇'
          },
          '442000117000': {
            'code': '442000117000',
            'name': '神湾镇'
          },
          '442000006000': {
            'code': '442000006000',
            'name': '五桂山街道办事处'
          },
          '442000114000': {
            'code': '442000114000',
            'name': '三乡镇'
          },
          '442000005000': {
            'code': '442000005000',
            'name': '南区街道办事处'
          },
          '442000113000': {
            'code': '442000113000',
            'name': '南朗镇'
          },
          '442000115000': {
            'code': '442000115000',
            'name': '板芙镇'
          },
          '442000116000': {
            'code': '442000116000',
            'name': '大涌镇'
          },
          '442000111000': {
            'code': '442000111000',
            'name': '南头镇'
          },
          '442000112000': {
            'code': '442000112000',
            'name': '阜沙镇'
          },
          '442000110000': {
            'code': '442000110000',
            'name': '横栏镇'
          }
        }
      },
      '440500000000': {
        'code': '440500000000',
        'name': '汕头市',
        'children': {
          '440507000000': {
            'code': '440507000000',
            'name': '龙湖区'
          },
          '440523000000': {
            'code': '440523000000',
            'name': '南澳县'
          },
          '440513000000': {
            'code': '440513000000',
            'name': '潮阳区'
          },
          '440514000000': {
            'code': '440514000000',
            'name': '潮南区'
          },
          '440512000000': {
            'code': '440512000000',
            'name': '濠江区'
          },
          '440515000000': {
            'code': '440515000000',
            'name': '澄海区'
          },
          '440511000000': {
            'code': '440511000000',
            'name': '金平区'
          }
        }
      },
      '441400000000': {
        'code': '441400000000',
        'name': '梅州市',
        'children': {
          '441424000000': {
            'code': '441424000000',
            'name': '五华县'
          },
          '441422000000': {
            'code': '441422000000',
            'name': '大埔县'
          },
          '441402000000': {
            'code': '441402000000',
            'name': '梅江区'
          },
          '441481000000': {
            'code': '441481000000',
            'name': '兴宁市'
          },
          '441426000000': {
            'code': '441426000000',
            'name': '平远县'
          },
          '441427000000': {
            'code': '441427000000',
            'name': '蕉岭县'
          },
          '441403000000': {
            'code': '441403000000',
            'name': '梅县区'
          },
          '441423000000': {
            'code': '441423000000',
            'name': '丰顺县'
          }
        }
      },
      '440800000000': {
        'code': '440800000000',
        'name': '湛江市',
        'children': {
          '440802000000': {
            'code': '440802000000',
            'name': '赤坎区'
          },
          '440825000000': {
            'code': '440825000000',
            'name': '徐闻县'
          },
          '440882000000': {
            'code': '440882000000',
            'name': '雷州市'
          },
          '440883000000': {
            'code': '440883000000',
            'name': '吴川市'
          },
          '440803000000': {
            'code': '440803000000',
            'name': '霞山区'
          },
          '440823000000': {
            'code': '440823000000',
            'name': '遂溪县'
          },
          '440804000000': {
            'code': '440804000000',
            'name': '坡头区'
          },
          '440811000000': {
            'code': '440811000000',
            'name': '麻章区'
          },
          '440881000000': {
            'code': '440881000000',
            'name': '廉江市'
          }
        }
      },
      '441600000000': {
        'code': '441600000000',
        'name': '河源市',
        'children': {
          '441623000000': {
            'code': '441623000000',
            'name': '连平县'
          },
          '441621000000': {
            'code': '441621000000',
            'name': '紫金县'
          },
          '441622000000': {
            'code': '441622000000',
            'name': '龙川县'
          },
          '441625000000': {
            'code': '441625000000',
            'name': '东源县'
          },
          '441602000000': {
            'code': '441602000000',
            'name': '源城区'
          },
          '441624000000': {
            'code': '441624000000',
            'name': '和平县'
          }
        }
      },
      '440700000000': {
        'code': '440700000000',
        'name': '江门市',
        'children': {
          '440783000000': {
            'code': '440783000000',
            'name': '开平市'
          },
          '440705000000': {
            'code': '440705000000',
            'name': '新会区'
          },
          '440703000000': {
            'code': '440703000000',
            'name': '蓬江区'
          },
          '440785000000': {
            'code': '440785000000',
            'name': '恩平市'
          },
          '440704000000': {
            'code': '440704000000',
            'name': '江海区'
          },
          '440781000000': {
            'code': '440781000000',
            'name': '台山市'
          },
          '440784000000': {
            'code': '440784000000',
            'name': '鹤山市'
          }
        }
      },
      '440100000000': {
        'code': '440100000000',
        'name': '广州市',
        'children': {
          '440113000000': {
            'code': '440113000000',
            'name': '番禺区'
          },
          '440106000000': {
            'code': '440106000000',
            'name': '天河区'
          },
          '440103000000': {
            'code': '440103000000',
            'name': '荔湾区'
          },
          '440111000000': {
            'code': '440111000000',
            'name': '白云区'
          },
          '440105000000': {
            'code': '440105000000',
            'name': '海珠区'
          },
          '440115000000': {
            'code': '440115000000',
            'name': '南沙区'
          },
          '440118000000': {
            'code': '440118000000',
            'name': '增城区'
          },
          '440117000000': {
            'code': '440117000000',
            'name': '从化区'
          },
          '440104000000': {
            'code': '440104000000',
            'name': '越秀区'
          },
          '440114000000': {
            'code': '440114000000',
            'name': '花都区'
          },
          '440112000000': {
            'code': '440112000000',
            'name': '黄埔区'
          }
        }
      },
      '441500000000': {
        'code': '441500000000',
        'name': '汕尾市',
        'children': {
          '441521000000': {
            'code': '441521000000',
            'name': '海丰县'
          },
          '441502000000': {
            'code': '441502000000',
            'name': '城区'
          },
          '441581000000': {
            'code': '441581000000',
            'name': '陆丰市'
          },
          '441523000000': {
            'code': '441523000000',
            'name': '陆河县'
          }
        }
      },
      '441800000000': {
        'code': '441800000000',
        'name': '清远市',
        'children': {
          '441803000000': {
            'code': '441803000000',
            'name': '清新区'
          },
          '441825000000': {
            'code': '441825000000',
            'name': '连山壮族瑶族自治县'
          },
          '441823000000': {
            'code': '441823000000',
            'name': '阳山县'
          },
          '441826000000': {
            'code': '441826000000',
            'name': '连南瑶族自治县'
          },
          '441821000000': {
            'code': '441821000000',
            'name': '佛冈县'
          },
          '441881000000': {
            'code': '441881000000',
            'name': '英德市'
          },
          '441882000000': {
            'code': '441882000000',
            'name': '连州市'
          },
          '441802000000': {
            'code': '441802000000',
            'name': '清城区'
          }
        }
      },
      '440200000000': {
        'code': '440200000000',
        'name': '韶关市',
        'children': {
          '440222000000': {
            'code': '440222000000',
            'name': '始兴县'
          },
          '440232000000': {
            'code': '440232000000',
            'name': '乳源瑶族自治县'
          },
          '440203000000': {
            'code': '440203000000',
            'name': '武江区'
          },
          '440205000000': {
            'code': '440205000000',
            'name': '曲江区'
          },
          '440282000000': {
            'code': '440282000000',
            'name': '南雄市'
          },
          '440229000000': {
            'code': '440229000000',
            'name': '翁源县'
          },
          '440233000000': {
            'code': '440233000000',
            'name': '新丰县'
          },
          '440281000000': {
            'code': '440281000000',
            'name': '乐昌市'
          },
          '440204000000': {
            'code': '440204000000',
            'name': '浈江区'
          },
          '440224000000': {
            'code': '440224000000',
            'name': '仁化县'
          }
        }
      },
      '441900000000': {
        'code': '441900000000',
        'name': '东莞市',
        'children': {
          '441900115000': {
            'code': '441900115000',
            'name': '清溪镇'
          },
          '441900117000': {
            'code': '441900117000',
            'name': '凤岗镇'
          },
          '441900113000': {
            'code': '441900113000',
            'name': '大朗镇'
          },
          '441900121000': {
            'code': '441900121000',
            'name': '虎门镇'
          },
          '441900123000': {
            'code': '441900123000',
            'name': '沙田镇'
          },
          '441900109000': {
            'code': '441900109000',
            'name': '东坑镇'
          },
          '441900125000': {
            'code': '441900125000',
            'name': '洪梅镇'
          },
          '441900104000': {
            'code': '441900104000',
            'name': '石排镇'
          },
          '441900129000': {
            'code': '441900129000',
            'name': '高埗镇'
          },
          '441900106000': {
            'code': '441900106000',
            'name': '横沥镇'
          },
          '441900127000': {
            'code': '441900127000',
            'name': '望牛墩镇'
          },
          '441900402000': {
            'code': '441900402000',
            'name': '东莞港'
          },
          '441900102000': {
            'code': '441900102000',
            'name': '石龙镇'
          },
          '441900110000': {
            'code': '441900110000',
            'name': '常平镇'
          },
          '441900003000': {
            'code': '441900003000',
            'name': '东城街道办事处'
          },
          '441900005000': {
            'code': '441900005000',
            'name': '万江街道办事处'
          },
          '441900116000': {
            'code': '441900116000',
            'name': '塘厦镇'
          },
          '441900118000': {
            'code': '441900118000',
            'name': '大岭山镇'
          },
          '441900114000': {
            'code': '441900114000',
            'name': '黄江镇'
          },
          '441900112000': {
            'code': '441900112000',
            'name': '樟木头镇'
          },
          '441900122000': {
            'code': '441900122000',
            'name': '厚街镇'
          },
          '441900124000': {
            'code': '441900124000',
            'name': '道滘镇'
          },
          '441900108000': {
            'code': '441900108000',
            'name': '谢岗镇'
          },
          '441900128000': {
            'code': '441900128000',
            'name': '中堂镇'
          },
          '441900403000': {
            'code': '441900403000',
            'name': '东莞生态园'
          },
          '441900105000': {
            'code': '441900105000',
            'name': '企石镇'
          },
          '441900126000': {
            'code': '441900126000',
            'name': '麻涌镇'
          },
          '441900401000': {
            'code': '441900401000',
            'name': '松山湖管委会'
          },
          '441900107000': {
            'code': '441900107000',
            'name': '桥头镇'
          },
          '441900103000': {
            'code': '441900103000',
            'name': '茶山镇'
          },
          '441900101000': {
            'code': '441900101000',
            'name': '石碣镇'
          },
          '441900111000': {
            'code': '441900111000',
            'name': '寮步镇'
          },
          '441900004000': {
            'code': '441900004000',
            'name': '南城街道办事处'
          },
          '441900119000': {
            'code': '441900119000',
            'name': '长安镇'
          },
          '441900006000': {
            'code': '441900006000',
            'name': '莞城街道办事处'
          }
        }
      },
      '441700000000': {
        'code': '441700000000',
        'name': '阳江市',
        'children': {
          '441704000000': {
            'code': '441704000000',
            'name': '阳东区'
          },
          '441702000000': {
            'code': '441702000000',
            'name': '江城区'
          },
          '441721000000': {
            'code': '441721000000',
            'name': '阳西县'
          },
          '441781000000': {
            'code': '441781000000',
            'name': '阳春市'
          }
        }
      },
      '440400000000': {
        'code': '440400000000',
        'name': '珠海市',
        'children': {
          '440403000000': {
            'code': '440403000000',
            'name': '斗门区'
          },
          '440404000000': {
            'code': '440404000000',
            'name': '金湾区'
          },
          '440402000000': {
            'code': '440402000000',
            'name': '香洲区'
          }
        }
      },
      '445300000000': {
        'code': '445300000000',
        'name': '云浮市',
        'children': {
          '445381000000': {
            'code': '445381000000',
            'name': '罗定市'
          },
          '445302000000': {
            'code': '445302000000',
            'name': '云城区'
          },
          '445322000000': {
            'code': '445322000000',
            'name': '郁南县'
          },
          '445303000000': {
            'code': '445303000000',
            'name': '云安区'
          },
          '445321000000': {
            'code': '445321000000',
            'name': '新兴县'
          }
        }
      },
      '440300000000': {
        'code': '440300000000',
        'name': '深圳市',
        'children': {
          '440308000000': {
            'code': '440308000000',
            'name': '盐田区'
          },
          '440306000000': {
            'code': '440306000000',
            'name': '宝安区'
          },
          '440304000000': {
            'code': '440304000000',
            'name': '福田区'
          },
          '440307000000': {
            'code': '440307000000',
            'name': '龙岗区'
          },
          '440310000000': {
            'code': '440310000000',
            'name': '坪山区'
          },
          '440309000000': {
            'code': '440309000000',
            'name': '龙华区'
          },
          '440311000000': {
            'code': '440311000000',
            'name': '光明区'
          },
          '440303000000': {
            'code': '440303000000',
            'name': '罗湖区'
          },
          '440305000000': {
            'code': '440305000000',
            'name': '南山区'
          }
        }
      },
      '440900000000': {
        'code': '440900000000',
        'name': '茂名市',
        'children': {
          '440981000000': {
            'code': '440981000000',
            'name': '高州市'
          },
          '440902000000': {
            'code': '440902000000',
            'name': '茂南区'
          },
          '440904000000': {
            'code': '440904000000',
            'name': '电白区'
          },
          '440982000000': {
            'code': '440982000000',
            'name': '化州市'
          },
          '440983000000': {
            'code': '440983000000',
            'name': '信宜市'
          }
        }
      },
      '441200000000': {
        'code': '441200000000',
        'name': '肇庆市',
        'children': {
          '441223000000': {
            'code': '441223000000',
            'name': '广宁县'
          },
          '441226000000': {
            'code': '441226000000',
            'name': '德庆县'
          },
          '441284000000': {
            'code': '441284000000',
            'name': '四会市'
          },
          '441204000000': {
            'code': '441204000000',
            'name': '高要区'
          },
          '441203000000': {
            'code': '441203000000',
            'name': '鼎湖区'
          },
          '441202000000': {
            'code': '441202000000',
            'name': '端州区'
          },
          '441225000000': {
            'code': '441225000000',
            'name': '封开县'
          },
          '441224000000': {
            'code': '441224000000',
            'name': '怀集县'
          }
        }
      },
      '445200000000': {
        'code': '445200000000',
        'name': '揭阳市',
        'children': {
          '445202000000': {
            'code': '445202000000',
            'name': '榕城区'
          },
          '445224000000': {
            'code': '445224000000',
            'name': '惠来县'
          },
          '445281000000': {
            'code': '445281000000',
            'name': '普宁市'
          },
          '445203000000': {
            'code': '445203000000',
            'name': '揭东区'
          },
          '445222000000': {
            'code': '445222000000',
            'name': '揭西县'
          }
        }
      }
    },
    'name': '广东省'
  },
  '120000000000': {
    'code': '120000000000',
    'children': {
      '120100000000': {
        'code': '120100000000',
        'name': '市辖区',
        'children': {
          '120113000000': {
            'code': '120113000000',
            'name': '北辰区'
          },
          '120119000000': {
            'code': '120119000000',
            'name': '蓟州区'
          },
          '120103000000': {
            'code': '120103000000',
            'name': '河西区'
          },
          '120104000000': {
            'code': '120104000000',
            'name': '南开区'
          },
          '120118000000': {
            'code': '120118000000',
            'name': '静海区'
          },
          '120114000000': {
            'code': '120114000000',
            'name': '武清区'
          },
          '120116000000': {
            'code': '120116000000',
            'name': '滨海新区'
          },
          '120110000000': {
            'code': '120110000000',
            'name': '东丽区'
          },
          '120101000000': {
            'code': '120101000000',
            'name': '和平区'
          },
          '120117000000': {
            'code': '120117000000',
            'name': '宁河区'
          },
          '120105000000': {
            'code': '120105000000',
            'name': '河北区'
          },
          '120115000000': {
            'code': '120115000000',
            'name': '宝坻区'
          },
          '120102000000': {
            'code': '120102000000',
            'name': '河东区'
          },
          '120111000000': {
            'code': '120111000000',
            'name': '西青区'
          },
          '120112000000': {
            'code': '120112000000',
            'name': '津南区'
          },
          '120106000000': {
            'code': '120106000000',
            'name': '红桥区'
          }
        }
      }
    },
    'name': '天津市'
  },
  '320000000000': {
    'code': '320000000000',
    'children': {
      '320400000000': {
        'code': '320400000000',
        'name': '常州市',
        'children': {
          '320413000000': {
            'code': '320413000000',
            'name': '金坛区'
          },
          '320411000000': {
            'code': '320411000000',
            'name': '新北区'
          },
          '320402000000': {
            'code': '320402000000',
            'name': '天宁区'
          },
          '320412000000': {
            'code': '320412000000',
            'name': '武进区'
          },
          '320404000000': {
            'code': '320404000000',
            'name': '钟楼区'
          },
          '320481000000': {
            'code': '320481000000',
            'name': '溧阳市'
          }
        }
      },
      '320500000000': {
        'code': '320500000000',
        'name': '苏州市',
        'children': {
          '320506000000': {
            'code': '320506000000',
            'name': '吴中区'
          },
          '320582000000': {
            'code': '320582000000',
            'name': '张家港市'
          },
          '320509000000': {
            'code': '320509000000',
            'name': '吴江区'
          },
          '320581000000': {
            'code': '320581000000',
            'name': '常熟市'
          },
          '320507000000': {
            'code': '320507000000',
            'name': '相城区'
          },
          '320571000000': {
            'code': '320571000000',
            'name': '苏州工业园区'
          },
          '320508000000': {
            'code': '320508000000',
            'name': '姑苏区'
          },
          '320505000000': {
            'code': '320505000000',
            'name': '虎丘区'
          },
          '320583000000': {
            'code': '320583000000',
            'name': '昆山市'
          },
          '320585000000': {
            'code': '320585000000',
            'name': '太仓市'
          }
        }
      },
      '321100000000': {
        'code': '321100000000',
        'name': '镇江市',
        'children': {
          '321183000000': {
            'code': '321183000000',
            'name': '句容市'
          },
          '321171000000': {
            'code': '321171000000',
            'name': '镇江新区'
          },
          '321181000000': {
            'code': '321181000000',
            'name': '丹阳市'
          },
          '321111000000': {
            'code': '321111000000',
            'name': '润州区'
          },
          '321182000000': {
            'code': '321182000000',
            'name': '扬中市'
          },
          '321102000000': {
            'code': '321102000000',
            'name': '京口区'
          },
          '321112000000': {
            'code': '321112000000',
            'name': '丹徒区'
          }
        }
      },
      '321200000000': {
        'code': '321200000000',
        'name': '泰州市',
        'children': {
          '321282000000': {
            'code': '321282000000',
            'name': '靖江市'
          },
          '321283000000': {
            'code': '321283000000',
            'name': '泰兴市'
          },
          '321203000000': {
            'code': '321203000000',
            'name': '高港区'
          },
          '321281000000': {
            'code': '321281000000',
            'name': '兴化市'
          },
          '321271000000': {
            'code': '321271000000',
            'name': '泰州医药高新技术产业开发区'
          },
          '321202000000': {
            'code': '321202000000',
            'name': '海陵区'
          },
          '321204000000': {
            'code': '321204000000',
            'name': '姜堰区'
          }
        }
      },
      '321000000000': {
        'code': '321000000000',
        'name': '扬州市',
        'children': {
          '321023000000': {
            'code': '321023000000',
            'name': '宝应县'
          },
          '321084000000': {
            'code': '321084000000',
            'name': '高邮市'
          },
          '321002000000': {
            'code': '321002000000',
            'name': '广陵区'
          },
          '321012000000': {
            'code': '321012000000',
            'name': '江都区'
          },
          '321003000000': {
            'code': '321003000000',
            'name': '邗江区'
          },
          '321081000000': {
            'code': '321081000000',
            'name': '仪征市'
          },
          '321071000000': {
            'code': '321071000000',
            'name': '扬州经济技术开发区'
          }
        }
      },
      '321300000000': {
        'code': '321300000000',
        'name': '宿迁市',
        'children': {
          '321302000000': {
            'code': '321302000000',
            'name': '宿城区'
          },
          '321324000000': {
            'code': '321324000000',
            'name': '泗洪县'
          },
          '321322000000': {
            'code': '321322000000',
            'name': '沭阳县'
          },
          '321323000000': {
            'code': '321323000000',
            'name': '泗阳县'
          },
          '321371000000': {
            'code': '321371000000',
            'name': '宿迁经济技术开发区'
          },
          '321311000000': {
            'code': '321311000000',
            'name': '宿豫区'
          }
        }
      },
      '320700000000': {
        'code': '320700000000',
        'name': '连云港市',
        'children': {
          '320724000000': {
            'code': '320724000000',
            'name': '灌南县'
          },
          '320772000000': {
            'code': '320772000000',
            'name': '连云港高新技术产业开发区'
          },
          '320723000000': {
            'code': '320723000000',
            'name': '灌云县'
          },
          '320707000000': {
            'code': '320707000000',
            'name': '赣榆区'
          },
          '320703000000': {
            'code': '320703000000',
            'name': '连云区'
          },
          '320706000000': {
            'code': '320706000000',
            'name': '海州区'
          },
          '320722000000': {
            'code': '320722000000',
            'name': '东海县'
          },
          '320771000000': {
            'code': '320771000000',
            'name': '连云港经济技术开发区'
          }
        }
      },
      '320600000000': {
        'code': '320600000000',
        'name': '南通市',
        'children': {
          '320602000000': {
            'code': '320602000000',
            'name': '崇川区'
          },
          '320685000000': {
            'code': '320685000000',
            'name': '海安市'
          },
          '320611000000': {
            'code': '320611000000',
            'name': '港闸区'
          },
          '320681000000': {
            'code': '320681000000',
            'name': '启东市'
          },
          '320671000000': {
            'code': '320671000000',
            'name': '南通经济技术开发区'
          },
          '320623000000': {
            'code': '320623000000',
            'name': '如东县'
          },
          '320684000000': {
            'code': '320684000000',
            'name': '海门市'
          },
          '320612000000': {
            'code': '320612000000',
            'name': '通州区'
          },
          '320682000000': {
            'code': '320682000000',
            'name': '如皋市'
          }
        }
      },
      '320100000000': {
        'code': '320100000000',
        'name': '南京市',
        'children': {
          '320115000000': {
            'code': '320115000000',
            'name': '江宁区'
          },
          '320118000000': {
            'code': '320118000000',
            'name': '高淳区'
          },
          '320102000000': {
            'code': '320102000000',
            'name': '玄武区'
          },
          '320105000000': {
            'code': '320105000000',
            'name': '建邺区'
          },
          '320117000000': {
            'code': '320117000000',
            'name': '溧水区'
          },
          '320104000000': {
            'code': '320104000000',
            'name': '秦淮区'
          },
          '320113000000': {
            'code': '320113000000',
            'name': '栖霞区'
          },
          '320111000000': {
            'code': '320111000000',
            'name': '浦口区'
          },
          '320114000000': {
            'code': '320114000000',
            'name': '雨花台区'
          },
          '320106000000': {
            'code': '320106000000',
            'name': '鼓楼区'
          },
          '320116000000': {
            'code': '320116000000',
            'name': '六合区'
          }
        }
      },
      '320800000000': {
        'code': '320800000000',
        'name': '淮安市',
        'children': {
          '320826000000': {
            'code': '320826000000',
            'name': '涟水县'
          },
          '320871000000': {
            'code': '320871000000',
            'name': '淮安经济技术开发区'
          },
          '320830000000': {
            'code': '320830000000',
            'name': '盱眙县'
          },
          '320804000000': {
            'code': '320804000000',
            'name': '淮阴区'
          },
          '320831000000': {
            'code': '320831000000',
            'name': '金湖县'
          },
          '320812000000': {
            'code': '320812000000',
            'name': '清江浦区'
          },
          '320803000000': {
            'code': '320803000000',
            'name': '淮安区'
          },
          '320813000000': {
            'code': '320813000000',
            'name': '洪泽区'
          }
        }
      },
      '320200000000': {
        'code': '320200000000',
        'name': '无锡市',
        'children': {
          '320205000000': {
            'code': '320205000000',
            'name': '锡山区'
          },
          '320211000000': {
            'code': '320211000000',
            'name': '滨湖区'
          },
          '320281000000': {
            'code': '320281000000',
            'name': '江阴市'
          },
          '320282000000': {
            'code': '320282000000',
            'name': '宜兴市'
          },
          '320214000000': {
            'code': '320214000000',
            'name': '新吴区'
          },
          '320206000000': {
            'code': '320206000000',
            'name': '惠山区'
          },
          '320213000000': {
            'code': '320213000000',
            'name': '梁溪区'
          }
        }
      },
      '320300000000': {
        'code': '320300000000',
        'name': '徐州市',
        'children': {
          '320321000000': {
            'code': '320321000000',
            'name': '丰县'
          },
          '320311000000': {
            'code': '320311000000',
            'name': '泉山区'
          },
          '320371000000': {
            'code': '320371000000',
            'name': '徐州经济技术开发区'
          },
          '320381000000': {
            'code': '320381000000',
            'name': '新沂市'
          },
          '320312000000': {
            'code': '320312000000',
            'name': '铜山区'
          },
          '320303000000': {
            'code': '320303000000',
            'name': '云龙区'
          },
          '320305000000': {
            'code': '320305000000',
            'name': '贾汪区'
          },
          '320324000000': {
            'code': '320324000000',
            'name': '睢宁县'
          },
          '320302000000': {
            'code': '320302000000',
            'name': '鼓楼区'
          },
          '320322000000': {
            'code': '320322000000',
            'name': '沛县'
          },
          '320382000000': {
            'code': '320382000000',
            'name': '邳州市'
          }
        }
      },
      '320900000000': {
        'code': '320900000000',
        'name': '盐城市',
        'children': {
          '320903000000': {
            'code': '320903000000',
            'name': '盐都区'
          },
          '320925000000': {
            'code': '320925000000',
            'name': '建湖县'
          },
          '320971000000': {
            'code': '320971000000',
            'name': '盐城经济技术开发区'
          },
          '320923000000': {
            'code': '320923000000',
            'name': '阜宁县'
          },
          '320981000000': {
            'code': '320981000000',
            'name': '东台市'
          },
          '320921000000': {
            'code': '320921000000',
            'name': '响水县'
          },
          '320924000000': {
            'code': '320924000000',
            'name': '射阳县'
          },
          '320904000000': {
            'code': '320904000000',
            'name': '大丰区'
          },
          '320902000000': {
            'code': '320902000000',
            'name': '亭湖区'
          },
          '320922000000': {
            'code': '320922000000',
            'name': '滨海县'
          }
        }
      }
    },
    'name': '江苏省'
  },
  '640000000000': {
    'code': '640000000000',
    'children': {
      '640400000000': {
        'code': '640400000000',
        'name': '固原市',
        'children': {
          '640425000000': {
            'code': '640425000000',
            'name': '彭阳县'
          },
          '640423000000': {
            'code': '640423000000',
            'name': '隆德县'
          },
          '640402000000': {
            'code': '640402000000',
            'name': '原州区'
          },
          '640422000000': {
            'code': '640422000000',
            'name': '西吉县'
          },
          '640424000000': {
            'code': '640424000000',
            'name': '泾源县'
          }
        }
      },
      '640200000000': {
        'code': '640200000000',
        'name': '石嘴山市',
        'children': {
          '640221000000': {
            'code': '640221000000',
            'name': '平罗县'
          },
          '640202000000': {
            'code': '640202000000',
            'name': '大武口区'
          },
          '640205000000': {
            'code': '640205000000',
            'name': '惠农区'
          }
        }
      },
      '640500000000': {
        'code': '640500000000',
        'name': '中卫市',
        'children': {
          '640522000000': {
            'code': '640522000000',
            'name': '海原县'
          },
          '640502000000': {
            'code': '640502000000',
            'name': '沙坡头区'
          },
          '640521000000': {
            'code': '640521000000',
            'name': '中宁县'
          }
        }
      },
      '640300000000': {
        'code': '640300000000',
        'name': '吴忠市',
        'children': {
          '640381000000': {
            'code': '640381000000',
            'name': '青铜峡市'
          },
          '640323000000': {
            'code': '640323000000',
            'name': '盐池县'
          },
          '640324000000': {
            'code': '640324000000',
            'name': '同心县'
          },
          '640303000000': {
            'code': '640303000000',
            'name': '红寺堡区'
          },
          '640302000000': {
            'code': '640302000000',
            'name': '利通区'
          }
        }
      },
      '640100000000': {
        'code': '640100000000',
        'name': '银川市',
        'children': {
          '640105000000': {
            'code': '640105000000',
            'name': '西夏区'
          },
          '640121000000': {
            'code': '640121000000',
            'name': '永宁县'
          },
          '640104000000': {
            'code': '640104000000',
            'name': '兴庆区'
          },
          '640181000000': {
            'code': '640181000000',
            'name': '灵武市'
          },
          '640106000000': {
            'code': '640106000000',
            'name': '金凤区'
          },
          '640122000000': {
            'code': '640122000000',
            'name': '贺兰县'
          }
        }
      }
    },
    'name': '宁夏回族自治区'
  },
  '510000000000': {
    'code': '510000000000',
    'children': {
      '510400000000': {
        'code': '510400000000',
        'name': '攀枝花市',
        'children': {
          '510403000000': {
            'code': '510403000000',
            'name': '西区'
          },
          '510411000000': {
            'code': '510411000000',
            'name': '仁和区'
          },
          '510421000000': {
            'code': '510421000000',
            'name': '米易县'
          },
          '510402000000': {
            'code': '510402000000',
            'name': '东区'
          },
          '510422000000': {
            'code': '510422000000',
            'name': '盐边县'
          }
        }
      },
      '511100000000': {
        'code': '511100000000',
        'name': '乐山市',
        'children': {
          '511126000000': {
            'code': '511126000000',
            'name': '夹江县'
          },
          '511129000000': {
            'code': '511129000000',
            'name': '沐川县'
          },
          '511102000000': {
            'code': '511102000000',
            'name': '市中区'
          },
          '511112000000': {
            'code': '511112000000',
            'name': '五通桥区'
          },
          '511132000000': {
            'code': '511132000000',
            'name': '峨边彝族自治县'
          },
          '511124000000': {
            'code': '511124000000',
            'name': '井研县'
          },
          '511181000000': {
            'code': '511181000000',
            'name': '峨眉山市'
          },
          '511123000000': {
            'code': '511123000000',
            'name': '犍为县'
          },
          '511113000000': {
            'code': '511113000000',
            'name': '金口河区'
          },
          '511133000000': {
            'code': '511133000000',
            'name': '马边彝族自治县'
          },
          '511111000000': {
            'code': '511111000000',
            'name': '沙湾区'
          }
        }
      },
      '513400000000': {
        'code': '513400000000',
        'name': '凉山彝族自治州',
        'children': {
          '513435000000': {
            'code': '513435000000',
            'name': '甘洛县'
          },
          '513426000000': {
            'code': '513426000000',
            'name': '会东县'
          },
          '513436000000': {
            'code': '513436000000',
            'name': '美姑县'
          },
          '513434000000': {
            'code': '513434000000',
            'name': '越西县'
          },
          '513424000000': {
            'code': '513424000000',
            'name': '德昌县'
          },
          '513427000000': {
            'code': '513427000000',
            'name': '宁南县'
          },
          '513437000000': {
            'code': '513437000000',
            'name': '雷波县'
          },
          '513423000000': {
            'code': '513423000000',
            'name': '盐源县'
          },
          '513433000000': {
            'code': '513433000000',
            'name': '冕宁县'
          },
          '513432000000': {
            'code': '513432000000',
            'name': '喜德县'
          },
          '513428000000': {
            'code': '513428000000',
            'name': '普格县'
          },
          '513429000000': {
            'code': '513429000000',
            'name': '布拖县'
          },
          '513422000000': {
            'code': '513422000000',
            'name': '木里藏族自治县'
          },
          '513430000000': {
            'code': '513430000000',
            'name': '金阳县'
          },
          '513401000000': {
            'code': '513401000000',
            'name': '西昌市'
          },
          '513431000000': {
            'code': '513431000000',
            'name': '昭觉县'
          },
          '513425000000': {
            'code': '513425000000',
            'name': '会理县'
          }
        }
      },
      '511000000000': {
        'code': '511000000000',
        'name': '内江市',
        'children': {
          '511083000000': {
            'code': '511083000000',
            'name': '隆昌市'
          },
          '511071000000': {
            'code': '511071000000',
            'name': '内江经济开发区'
          },
          '511011000000': {
            'code': '511011000000',
            'name': '东兴区'
          },
          '511025000000': {
            'code': '511025000000',
            'name': '资中县'
          },
          '511002000000': {
            'code': '511002000000',
            'name': '市中区'
          },
          '511024000000': {
            'code': '511024000000',
            'name': '威远县'
          }
        }
      },
      '510300000000': {
        'code': '510300000000',
        'name': '自贡市',
        'children': {
          '510322000000': {
            'code': '510322000000',
            'name': '富顺县'
          },
          '510304000000': {
            'code': '510304000000',
            'name': '大安区'
          },
          '510302000000': {
            'code': '510302000000',
            'name': '自流井区'
          },
          '510321000000': {
            'code': '510321000000',
            'name': '荣县'
          },
          '510303000000': {
            'code': '510303000000',
            'name': '贡井区'
          },
          '510311000000': {
            'code': '510311000000',
            'name': '沿滩区'
          }
        }
      },
      '513300000000': {
        'code': '513300000000',
        'name': '甘孜藏族自治州',
        'children': {
          '513330000000': {
            'code': '513330000000',
            'name': '德格县'
          },
          '513301000000': {
            'code': '513301000000',
            'name': '康定市'
          },
          '513335000000': {
            'code': '513335000000',
            'name': '巴塘县'
          },
          '513325000000': {
            'code': '513325000000',
            'name': '雅江县'
          },
          '513327000000': {
            'code': '513327000000',
            'name': '炉霍县'
          },
          '513337000000': {
            'code': '513337000000',
            'name': '稻城县'
          },
          '513334000000': {
            'code': '513334000000',
            'name': '理塘县'
          },
          '513338000000': {
            'code': '513338000000',
            'name': '得荣县'
          },
          '513324000000': {
            'code': '513324000000',
            'name': '九龙县'
          },
          '513328000000': {
            'code': '513328000000',
            'name': '甘孜县'
          },
          '513323000000': {
            'code': '513323000000',
            'name': '丹巴县'
          },
          '513329000000': {
            'code': '513329000000',
            'name': '新龙县'
          },
          '513333000000': {
            'code': '513333000000',
            'name': '色达县'
          },
          '513332000000': {
            'code': '513332000000',
            'name': '石渠县'
          },
          '513322000000': {
            'code': '513322000000',
            'name': '泸定县'
          },
          '513331000000': {
            'code': '513331000000',
            'name': '白玉县'
          },
          '513336000000': {
            'code': '513336000000',
            'name': '乡城县'
          },
          '513326000000': {
            'code': '513326000000',
            'name': '道孚县'
          }
        }
      },
      '510500000000': {
        'code': '510500000000',
        'name': '泸州市',
        'children': {
          '510502000000': {
            'code': '510502000000',
            'name': '江阳区'
          },
          '510522000000': {
            'code': '510522000000',
            'name': '合江县'
          },
          '510525000000': {
            'code': '510525000000',
            'name': '古蔺县'
          },
          '510503000000': {
            'code': '510503000000',
            'name': '纳溪区'
          },
          '510524000000': {
            'code': '510524000000',
            'name': '叙永县'
          },
          '510504000000': {
            'code': '510504000000',
            'name': '龙马潭区'
          },
          '510521000000': {
            'code': '510521000000',
            'name': '泸县'
          }
        }
      },
      '513200000000': {
        'code': '513200000000',
        'name': '阿坝藏族羌族自治州',
        'children': {
          '513227000000': {
            'code': '513227000000',
            'name': '小金县'
          },
          '513226000000': {
            'code': '513226000000',
            'name': '金川县'
          },
          '513231000000': {
            'code': '513231000000',
            'name': '阿坝县'
          },
          '513201000000': {
            'code': '513201000000',
            'name': '马尔康市'
          },
          '513221000000': {
            'code': '513221000000',
            'name': '汶川县'
          },
          '513228000000': {
            'code': '513228000000',
            'name': '黑水县'
          },
          '513225000000': {
            'code': '513225000000',
            'name': '九寨沟县'
          },
          '513230000000': {
            'code': '513230000000',
            'name': '壤塘县'
          },
          '513224000000': {
            'code': '513224000000',
            'name': '松潘县'
          },
          '513233000000': {
            'code': '513233000000',
            'name': '红原县'
          },
          '513223000000': {
            'code': '513223000000',
            'name': '茂县'
          },
          '513222000000': {
            'code': '513222000000',
            'name': '理县'
          },
          '513232000000': {
            'code': '513232000000',
            'name': '若尔盖县'
          }
        }
      },
      '510600000000': {
        'code': '510600000000',
        'name': '德阳市',
        'children': {
          '510681000000': {
            'code': '510681000000',
            'name': '广汉市'
          },
          '510682000000': {
            'code': '510682000000',
            'name': '什邡市'
          },
          '510604000000': {
            'code': '510604000000',
            'name': '罗江区'
          },
          '510683000000': {
            'code': '510683000000',
            'name': '绵竹市'
          },
          '510623000000': {
            'code': '510623000000',
            'name': '中江县'
          },
          '510603000000': {
            'code': '510603000000',
            'name': '旌阳区'
          }
        }
      },
      '510100000000': {
        'code': '510100000000',
        'name': '成都市',
        'children': {
          '510108000000': {
            'code': '510108000000',
            'name': '成华区'
          },
          '510185000000': {
            'code': '510185000000',
            'name': '简阳市'
          },
          '510121000000': {
            'code': '510121000000',
            'name': '金堂县'
          },
          '510131000000': {
            'code': '510131000000',
            'name': '蒲江县'
          },
          '510129000000': {
            'code': '510129000000',
            'name': '大邑县'
          },
          '510104000000': {
            'code': '510104000000',
            'name': '锦江区'
          },
          '510184000000': {
            'code': '510184000000',
            'name': '崇州市'
          },
          '510114000000': {
            'code': '510114000000',
            'name': '新都区'
          },
          '510105000000': {
            'code': '510105000000',
            'name': '青羊区'
          },
          '510115000000': {
            'code': '510115000000',
            'name': '温江区'
          },
          '510181000000': {
            'code': '510181000000',
            'name': '都江堰市'
          },
          '510183000000': {
            'code': '510183000000',
            'name': '邛崃市'
          },
          '510113000000': {
            'code': '510113000000',
            'name': '青白江区'
          },
          '510107000000': {
            'code': '510107000000',
            'name': '武侯区'
          },
          '510106000000': {
            'code': '510106000000',
            'name': '金牛区'
          },
          '510116000000': {
            'code': '510116000000',
            'name': '双流区'
          },
          '510117000000': {
            'code': '510117000000',
            'name': '郫都区'
          },
          '510112000000': {
            'code': '510112000000',
            'name': '龙泉驿区'
          },
          '510132000000': {
            'code': '510132000000',
            'name': '新津县'
          },
          '510182000000': {
            'code': '510182000000',
            'name': '彭州市'
          }
        }
      },
      '510700000000': {
        'code': '510700000000',
        'name': '绵阳市',
        'children': {
          '510704000000': {
            'code': '510704000000',
            'name': '游仙区'
          },
          '510781000000': {
            'code': '510781000000',
            'name': '江油市'
          },
          '510726000000': {
            'code': '510726000000',
            'name': '北川羌族自治县'
          },
          '510727000000': {
            'code': '510727000000',
            'name': '平武县'
          },
          '510705000000': {
            'code': '510705000000',
            'name': '安州区'
          },
          '510703000000': {
            'code': '510703000000',
            'name': '涪城区'
          },
          '510723000000': {
            'code': '510723000000',
            'name': '盐亭县'
          },
          '510725000000': {
            'code': '510725000000',
            'name': '梓潼县'
          },
          '510722000000': {
            'code': '510722000000',
            'name': '三台县'
          }
        }
      },
      '511500000000': {
        'code': '511500000000',
        'name': '宜宾市',
        'children': {
          '511526000000': {
            'code': '511526000000',
            'name': '珙县'
          },
          '511523000000': {
            'code': '511523000000',
            'name': '江安县'
          },
          '511503000000': {
            'code': '511503000000',
            'name': '南溪区'
          },
          '511504000000': {
            'code': '511504000000',
            'name': '叙州区'
          },
          '511528000000': {
            'code': '511528000000',
            'name': '兴文县'
          },
          '511502000000': {
            'code': '511502000000',
            'name': '翠屏区'
          },
          '511527000000': {
            'code': '511527000000',
            'name': '筠连县'
          },
          '511524000000': {
            'code': '511524000000',
            'name': '长宁县'
          },
          '511525000000': {
            'code': '511525000000',
            'name': '高县'
          },
          '511529000000': {
            'code': '511529000000',
            'name': '屏山县'
          }
        }
      },
      '510900000000': {
        'code': '510900000000',
        'name': '遂宁市',
        'children': {
          '510922000000': {
            'code': '510922000000',
            'name': '射洪县'
          },
          '510903000000': {
            'code': '510903000000',
            'name': '船山区'
          },
          '510904000000': {
            'code': '510904000000',
            'name': '安居区'
          },
          '510921000000': {
            'code': '510921000000',
            'name': '蓬溪县'
          },
          '510923000000': {
            'code': '510923000000',
            'name': '大英县'
          }
        }
      },
      '511600000000': {
        'code': '511600000000',
        'name': '广安市',
        'children': {
          '511622000000': {
            'code': '511622000000',
            'name': '武胜县'
          },
          '511603000000': {
            'code': '511603000000',
            'name': '前锋区'
          },
          '511623000000': {
            'code': '511623000000',
            'name': '邻水县'
          },
          '511681000000': {
            'code': '511681000000',
            'name': '华蓥市'
          },
          '511621000000': {
            'code': '511621000000',
            'name': '岳池县'
          },
          '511602000000': {
            'code': '511602000000',
            'name': '广安区'
          }
        }
      },
      '511700000000': {
        'code': '511700000000',
        'name': '达州市',
        'children': {
          '511724000000': {
            'code': '511724000000',
            'name': '大竹县'
          },
          '511702000000': {
            'code': '511702000000',
            'name': '通川区'
          },
          '511722000000': {
            'code': '511722000000',
            'name': '宣汉县'
          },
          '511771000000': {
            'code': '511771000000',
            'name': '达州经济开发区'
          },
          '511703000000': {
            'code': '511703000000',
            'name': '达川区'
          },
          '511725000000': {
            'code': '511725000000',
            'name': '渠县'
          },
          '511781000000': {
            'code': '511781000000',
            'name': '万源市'
          },
          '511723000000': {
            'code': '511723000000',
            'name': '开江县'
          }
        }
      },
      '510800000000': {
        'code': '510800000000',
        'name': '广元市',
        'children': {
          '510823000000': {
            'code': '510823000000',
            'name': '剑阁县'
          },
          '510822000000': {
            'code': '510822000000',
            'name': '青川县'
          },
          '510802000000': {
            'code': '510802000000',
            'name': '利州区'
          },
          '510821000000': {
            'code': '510821000000',
            'name': '旺苍县'
          },
          '510812000000': {
            'code': '510812000000',
            'name': '朝天区'
          },
          '510824000000': {
            'code': '510824000000',
            'name': '苍溪县'
          },
          '510811000000': {
            'code': '510811000000',
            'name': '昭化区'
          }
        }
      },
      '511400000000': {
        'code': '511400000000',
        'name': '眉山市',
        'children': {
          '511424000000': {
            'code': '511424000000',
            'name': '丹棱县'
          },
          '511402000000': {
            'code': '511402000000',
            'name': '东坡区'
          },
          '511425000000': {
            'code': '511425000000',
            'name': '青神县'
          },
          '511421000000': {
            'code': '511421000000',
            'name': '仁寿县'
          },
          '511403000000': {
            'code': '511403000000',
            'name': '彭山区'
          },
          '511423000000': {
            'code': '511423000000',
            'name': '洪雅县'
          }
        }
      },
      '511800000000': {
        'code': '511800000000',
        'name': '雅安市',
        'children': {
          '511827000000': {
            'code': '511827000000',
            'name': '宝兴县'
          },
          '511802000000': {
            'code': '511802000000',
            'name': '雨城区'
          },
          '511824000000': {
            'code': '511824000000',
            'name': '石棉县'
          },
          '511823000000': {
            'code': '511823000000',
            'name': '汉源县'
          },
          '511826000000': {
            'code': '511826000000',
            'name': '芦山县'
          },
          '511803000000': {
            'code': '511803000000',
            'name': '名山区'
          },
          '511822000000': {
            'code': '511822000000',
            'name': '荥经县'
          },
          '511825000000': {
            'code': '511825000000',
            'name': '天全县'
          }
        }
      },
      '511300000000': {
        'code': '511300000000',
        'name': '南充市',
        'children': {
          '511321000000': {
            'code': '511321000000',
            'name': '南部县'
          },
          '511324000000': {
            'code': '511324000000',
            'name': '仪陇县'
          },
          '511302000000': {
            'code': '511302000000',
            'name': '顺庆区'
          },
          '511381000000': {
            'code': '511381000000',
            'name': '阆中市'
          },
          '511323000000': {
            'code': '511323000000',
            'name': '蓬安县'
          },
          '511325000000': {
            'code': '511325000000',
            'name': '西充县'
          },
          '511303000000': {
            'code': '511303000000',
            'name': '高坪区'
          },
          '511322000000': {
            'code': '511322000000',
            'name': '营山县'
          },
          '511304000000': {
            'code': '511304000000',
            'name': '嘉陵区'
          }
        }
      },
      '511900000000': {
        'code': '511900000000',
        'name': '巴中市',
        'children': {
          '511971000000': {
            'code': '511971000000',
            'name': '巴中经济开发区'
          },
          '511923000000': {
            'code': '511923000000',
            'name': '平昌县'
          },
          '511903000000': {
            'code': '511903000000',
            'name': '恩阳区'
          },
          '511902000000': {
            'code': '511902000000',
            'name': '巴州区'
          },
          '511922000000': {
            'code': '511922000000',
            'name': '南江县'
          },
          '511921000000': {
            'code': '511921000000',
            'name': '通江县'
          }
        }
      },
      '512000000000': {
        'code': '512000000000',
        'name': '资阳市',
        'children': {
          '512002000000': {
            'code': '512002000000',
            'name': '雁江区'
          },
          '512021000000': {
            'code': '512021000000',
            'name': '安岳县'
          },
          '512022000000': {
            'code': '512022000000',
            'name': '乐至县'
          }
        }
      }
    },
    'name': '四川省'
  },
  '330000000000': {
    'code': '330000000000',
    'children': {
      '330800000000': {
        'code': '330800000000',
        'name': '衢州市',
        'children': {
          '330803000000': {
            'code': '330803000000',
            'name': '衢江区'
          },
          '330825000000': {
            'code': '330825000000',
            'name': '龙游县'
          },
          '330881000000': {
            'code': '330881000000',
            'name': '江山市'
          },
          '330824000000': {
            'code': '330824000000',
            'name': '开化县'
          },
          '330802000000': {
            'code': '330802000000',
            'name': '柯城区'
          },
          '330822000000': {
            'code': '330822000000',
            'name': '常山县'
          }
        }
      },
      '331000000000': {
        'code': '331000000000',
        'name': '台州市',
        'children': {
          '331083000000': {
            'code': '331083000000',
            'name': '玉环市'
          },
          '331003000000': {
            'code': '331003000000',
            'name': '黄岩区'
          },
          '331022000000': {
            'code': '331022000000',
            'name': '三门县'
          },
          '331023000000': {
            'code': '331023000000',
            'name': '天台县'
          },
          '331004000000': {
            'code': '331004000000',
            'name': '路桥区'
          },
          '331081000000': {
            'code': '331081000000',
            'name': '温岭市'
          },
          '331024000000': {
            'code': '331024000000',
            'name': '仙居县'
          },
          '331082000000': {
            'code': '331082000000',
            'name': '临海市'
          },
          '331002000000': {
            'code': '331002000000',
            'name': '椒江区'
          }
        }
      },
      '330300000000': {
        'code': '330300000000',
        'name': '温州市',
        'children': {
          '330303000000': {
            'code': '330303000000',
            'name': '龙湾区'
          },
          '330329000000': {
            'code': '330329000000',
            'name': '泰顺县'
          },
          '330327000000': {
            'code': '330327000000',
            'name': '苍南县'
          },
          '330324000000': {
            'code': '330324000000',
            'name': '永嘉县'
          },
          '330305000000': {
            'code': '330305000000',
            'name': '洞头区'
          },
          '330382000000': {
            'code': '330382000000',
            'name': '乐清市'
          },
          '330302000000': {
            'code': '330302000000',
            'name': '鹿城区'
          },
          '330304000000': {
            'code': '330304000000',
            'name': '瓯海区'
          },
          '330371000000': {
            'code': '330371000000',
            'name': '温州经济技术开发区'
          },
          '330381000000': {
            'code': '330381000000',
            'name': '瑞安市'
          },
          '330326000000': {
            'code': '330326000000',
            'name': '平阳县'
          },
          '330328000000': {
            'code': '330328000000',
            'name': '文成县'
          }
        }
      },
      '330400000000': {
        'code': '330400000000',
        'name': '嘉兴市',
        'children': {
          '330482000000': {
            'code': '330482000000',
            'name': '平湖市'
          },
          '330402000000': {
            'code': '330402000000',
            'name': '南湖区'
          },
          '330424000000': {
            'code': '330424000000',
            'name': '海盐县'
          },
          '330411000000': {
            'code': '330411000000',
            'name': '秀洲区'
          },
          '330481000000': {
            'code': '330481000000',
            'name': '海宁市'
          },
          '330421000000': {
            'code': '330421000000',
            'name': '嘉善县'
          },
          '330483000000': {
            'code': '330483000000',
            'name': '桐乡市'
          }
        }
      },
      '331100000000': {
        'code': '331100000000',
        'name': '丽水市',
        'children': {
          '331122000000': {
            'code': '331122000000',
            'name': '缙云县'
          },
          '331121000000': {
            'code': '331121000000',
            'name': '青田县'
          },
          '331127000000': {
            'code': '331127000000',
            'name': '景宁畲族自治县'
          },
          '331123000000': {
            'code': '331123000000',
            'name': '遂昌县'
          },
          '331125000000': {
            'code': '331125000000',
            'name': '云和县'
          },
          '331181000000': {
            'code': '331181000000',
            'name': '龙泉市'
          },
          '331102000000': {
            'code': '331102000000',
            'name': '莲都区'
          },
          '331126000000': {
            'code': '331126000000',
            'name': '庆元县'
          },
          '331124000000': {
            'code': '331124000000',
            'name': '松阳县'
          }
        }
      },
      '330700000000': {
        'code': '330700000000',
        'name': '金华市',
        'children': {
          '330723000000': {
            'code': '330723000000',
            'name': '武义县'
          },
          '330726000000': {
            'code': '330726000000',
            'name': '浦江县'
          },
          '330781000000': {
            'code': '330781000000',
            'name': '兰溪市'
          },
          '330784000000': {
            'code': '330784000000',
            'name': '永康市'
          },
          '330782000000': {
            'code': '330782000000',
            'name': '义乌市'
          },
          '330702000000': {
            'code': '330702000000',
            'name': '婺城区'
          },
          '330703000000': {
            'code': '330703000000',
            'name': '金东区'
          },
          '330727000000': {
            'code': '330727000000',
            'name': '磐安县'
          },
          '330783000000': {
            'code': '330783000000',
            'name': '东阳市'
          }
        }
      },
      '330900000000': {
        'code': '330900000000',
        'name': '舟山市',
        'children': {
          '330902000000': {
            'code': '330902000000',
            'name': '定海区'
          },
          '330922000000': {
            'code': '330922000000',
            'name': '嵊泗县'
          },
          '330903000000': {
            'code': '330903000000',
            'name': '普陀区'
          },
          '330921000000': {
            'code': '330921000000',
            'name': '岱山县'
          }
        }
      },
      '330100000000': {
        'code': '330100000000',
        'name': '杭州市',
        'children': {
          '330111000000': {
            'code': '330111000000',
            'name': '富阳区'
          },
          '330127000000': {
            'code': '330127000000',
            'name': '淳安县'
          },
          '330108000000': {
            'code': '330108000000',
            'name': '滨江区'
          },
          '330112000000': {
            'code': '330112000000',
            'name': '临安区'
          },
          '330102000000': {
            'code': '330102000000',
            'name': '上城区'
          },
          '330122000000': {
            'code': '330122000000',
            'name': '桐庐县'
          },
          '330103000000': {
            'code': '330103000000',
            'name': '下城区'
          },
          '330182000000': {
            'code': '330182000000',
            'name': '建德市'
          },
          '330104000000': {
            'code': '330104000000',
            'name': '江干区'
          },
          '330106000000': {
            'code': '330106000000',
            'name': '西湖区'
          },
          '330110000000': {
            'code': '330110000000',
            'name': '余杭区'
          },
          '330109000000': {
            'code': '330109000000',
            'name': '萧山区'
          },
          '330105000000': {
            'code': '330105000000',
            'name': '拱墅区'
          }
        }
      },
      '330600000000': {
        'code': '330600000000',
        'name': '绍兴市',
        'children': {
          '330681000000': {
            'code': '330681000000',
            'name': '诸暨市'
          },
          '330604000000': {
            'code': '330604000000',
            'name': '上虞区'
          },
          '330624000000': {
            'code': '330624000000',
            'name': '新昌县'
          },
          '330602000000': {
            'code': '330602000000',
            'name': '越城区'
          },
          '330603000000': {
            'code': '330603000000',
            'name': '柯桥区'
          },
          '330683000000': {
            'code': '330683000000',
            'name': '嵊州市'
          }
        }
      },
      '330200000000': {
        'code': '330200000000',
        'name': '宁波市',
        'children': {
          '330226000000': {
            'code': '330226000000',
            'name': '宁海县'
          },
          '330203000000': {
            'code': '330203000000',
            'name': '海曙区'
          },
          '330213000000': {
            'code': '330213000000',
            'name': '奉化区'
          },
          '330211000000': {
            'code': '330211000000',
            'name': '镇海区'
          },
          '330281000000': {
            'code': '330281000000',
            'name': '余姚市'
          },
          '330212000000': {
            'code': '330212000000',
            'name': '鄞州区'
          },
          '330206000000': {
            'code': '330206000000',
            'name': '北仑区'
          },
          '330225000000': {
            'code': '330225000000',
            'name': '象山县'
          },
          '330205000000': {
            'code': '330205000000',
            'name': '江北区'
          },
          '330282000000': {
            'code': '330282000000',
            'name': '慈溪市'
          }
        }
      },
      '330500000000': {
        'code': '330500000000',
        'name': '湖州市',
        'children': {
          '330502000000': {
            'code': '330502000000',
            'name': '吴兴区'
          },
          '330503000000': {
            'code': '330503000000',
            'name': '南浔区'
          },
          '330521000000': {
            'code': '330521000000',
            'name': '德清县'
          },
          '330523000000': {
            'code': '330523000000',
            'name': '安吉县'
          },
          '330522000000': {
            'code': '330522000000',
            'name': '长兴县'
          }
        }
      }
    },
    'name': '浙江省'
  },
  '140000000000': {
    'code': '140000000000',
    'children': {
      '140400000000': {
        'code': '140400000000',
        'name': '长治市',
        'children': {
          '140406000000': {
            'code': '140406000000',
            'name': '潞城区'
          },
          '140425000000': {
            'code': '140425000000',
            'name': '平顺县'
          },
          '140426000000': {
            'code': '140426000000',
            'name': '黎城县'
          },
          '140405000000': {
            'code': '140405000000',
            'name': '屯留区'
          },
          '140404000000': {
            'code': '140404000000',
            'name': '上党区'
          },
          '140429000000': {
            'code': '140429000000',
            'name': '武乡县'
          },
          '140430000000': {
            'code': '140430000000',
            'name': '沁县'
          },
          '140403000000': {
            'code': '140403000000',
            'name': '潞州区'
          },
          '140428000000': {
            'code': '140428000000',
            'name': '长子县'
          },
          '140423000000': {
            'code': '140423000000',
            'name': '襄垣县'
          },
          '140431000000': {
            'code': '140431000000',
            'name': '沁源县'
          },
          '140471000000': {
            'code': '140471000000',
            'name': '山西长治高新技术产业园区'
          },
          '140427000000': {
            'code': '140427000000',
            'name': '壶关县'
          }
        }
      },
      '141100000000': {
        'code': '141100000000',
        'name': '吕梁市',
        'children': {
          '141125000000': {
            'code': '141125000000',
            'name': '柳林县'
          },
          '141182000000': {
            'code': '141182000000',
            'name': '汾阳市'
          },
          '141130000000': {
            'code': '141130000000',
            'name': '交口县'
          },
          '141126000000': {
            'code': '141126000000',
            'name': '石楼县'
          },
          '141121000000': {
            'code': '141121000000',
            'name': '文水县'
          },
          '141181000000': {
            'code': '141181000000',
            'name': '孝义市'
          },
          '141122000000': {
            'code': '141122000000',
            'name': '交城县'
          },
          '141128000000': {
            'code': '141128000000',
            'name': '方山县'
          },
          '141129000000': {
            'code': '141129000000',
            'name': '中阳县'
          },
          '141102000000': {
            'code': '141102000000',
            'name': '离石区'
          },
          '141127000000': {
            'code': '141127000000',
            'name': '岚县'
          },
          '141124000000': {
            'code': '141124000000',
            'name': '临县'
          },
          '141123000000': {
            'code': '141123000000',
            'name': '兴县'
          }
        }
      },
      '140900000000': {
        'code': '140900000000',
        'name': '忻州市',
        'children': {
          '140922000000': {
            'code': '140922000000',
            'name': '五台县'
          },
          '140928000000': {
            'code': '140928000000',
            'name': '五寨县'
          },
          '140902000000': {
            'code': '140902000000',
            'name': '忻府区'
          },
          '140932000000': {
            'code': '140932000000',
            'name': '偏关县'
          },
          '140930000000': {
            'code': '140930000000',
            'name': '河曲县'
          },
          '140981000000': {
            'code': '140981000000',
            'name': '原平市'
          },
          '140971000000': {
            'code': '140971000000',
            'name': '五台山风景名胜区'
          },
          '140929000000': {
            'code': '140929000000',
            'name': '岢岚县'
          },
          '140921000000': {
            'code': '140921000000',
            'name': '定襄县'
          },
          '140931000000': {
            'code': '140931000000',
            'name': '保德县'
          },
          '140925000000': {
            'code': '140925000000',
            'name': '宁武县'
          },
          '140926000000': {
            'code': '140926000000',
            'name': '静乐县'
          },
          '140924000000': {
            'code': '140924000000',
            'name': '繁峙县'
          },
          '140927000000': {
            'code': '140927000000',
            'name': '神池县'
          },
          '140923000000': {
            'code': '140923000000',
            'name': '代县'
          }
        }
      },
      '140800000000': {
        'code': '140800000000',
        'name': '运城市',
        'children': {
          '140829000000': {
            'code': '140829000000',
            'name': '平陆县'
          },
          '140823000000': {
            'code': '140823000000',
            'name': '闻喜县'
          },
          '140822000000': {
            'code': '140822000000',
            'name': '万荣县'
          },
          '140821000000': {
            'code': '140821000000',
            'name': '临猗县'
          },
          '140882000000': {
            'code': '140882000000',
            'name': '河津市'
          },
          '140802000000': {
            'code': '140802000000',
            'name': '盐湖区'
          },
          '140881000000': {
            'code': '140881000000',
            'name': '永济市'
          },
          '140826000000': {
            'code': '140826000000',
            'name': '绛县'
          },
          '140825000000': {
            'code': '140825000000',
            'name': '新绛县'
          },
          '140830000000': {
            'code': '140830000000',
            'name': '芮城县'
          },
          '140827000000': {
            'code': '140827000000',
            'name': '垣曲县'
          },
          '140824000000': {
            'code': '140824000000',
            'name': '稷山县'
          },
          '140828000000': {
            'code': '140828000000',
            'name': '夏县'
          }
        }
      },
      '140500000000': {
        'code': '140500000000',
        'name': '晋城市',
        'children': {
          '140502000000': {
            'code': '140502000000',
            'name': '城区'
          },
          '140521000000': {
            'code': '140521000000',
            'name': '沁水县'
          },
          '140522000000': {
            'code': '140522000000',
            'name': '阳城县'
          },
          '140525000000': {
            'code': '140525000000',
            'name': '泽州县'
          },
          '140581000000': {
            'code': '140581000000',
            'name': '高平市'
          },
          '140524000000': {
            'code': '140524000000',
            'name': '陵川县'
          }
        }
      },
      '140300000000': {
        'code': '140300000000',
        'name': '阳泉市',
        'children': {
          '140322000000': {
            'code': '140322000000',
            'name': '盂县'
          },
          '140302000000': {
            'code': '140302000000',
            'name': '城区'
          },
          '140311000000': {
            'code': '140311000000',
            'name': '郊区'
          },
          '140321000000': {
            'code': '140321000000',
            'name': '平定县'
          },
          '140303000000': {
            'code': '140303000000',
            'name': '矿区'
          }
        }
      },
      '140600000000': {
        'code': '140600000000',
        'name': '朔州市',
        'children': {
          '140621000000': {
            'code': '140621000000',
            'name': '山阴县'
          },
          '140681000000': {
            'code': '140681000000',
            'name': '怀仁市'
          },
          '140602000000': {
            'code': '140602000000',
            'name': '朔城区'
          },
          '140622000000': {
            'code': '140622000000',
            'name': '应县'
          },
          '140671000000': {
            'code': '140671000000',
            'name': '山西朔州经济开发区'
          },
          '140603000000': {
            'code': '140603000000',
            'name': '平鲁区'
          },
          '140623000000': {
            'code': '140623000000',
            'name': '右玉县'
          }
        }
      },
      '140200000000': {
        'code': '140200000000',
        'name': '大同市',
        'children': {
          '140214000000': {
            'code': '140214000000',
            'name': '云冈区'
          },
          '140271000000': {
            'code': '140271000000',
            'name': '山西大同经济开发区'
          },
          '140221000000': {
            'code': '140221000000',
            'name': '阳高县'
          },
          '140213000000': {
            'code': '140213000000',
            'name': '平城区'
          },
          '140223000000': {
            'code': '140223000000',
            'name': '广灵县'
          },
          '140215000000': {
            'code': '140215000000',
            'name': '云州区'
          },
          '140222000000': {
            'code': '140222000000',
            'name': '天镇县'
          },
          '140225000000': {
            'code': '140225000000',
            'name': '浑源县'
          },
          '140212000000': {
            'code': '140212000000',
            'name': '新荣区'
          },
          '140224000000': {
            'code': '140224000000',
            'name': '灵丘县'
          },
          '140226000000': {
            'code': '140226000000',
            'name': '左云县'
          }
        }
      },
      '141000000000': {
        'code': '141000000000',
        'name': '临汾市',
        'children': {
          '141026000000': {
            'code': '141026000000',
            'name': '安泽县'
          },
          '141025000000': {
            'code': '141025000000',
            'name': '古县'
          },
          '141021000000': {
            'code': '141021000000',
            'name': '曲沃县'
          },
          '141031000000': {
            'code': '141031000000',
            'name': '隰县'
          },
          '141082000000': {
            'code': '141082000000',
            'name': '霍州市'
          },
          '141027000000': {
            'code': '141027000000',
            'name': '浮山县'
          },
          '141022000000': {
            'code': '141022000000',
            'name': '翼城县'
          },
          '141032000000': {
            'code': '141032000000',
            'name': '永和县'
          },
          '141002000000': {
            'code': '141002000000',
            'name': '尧都区'
          },
          '141029000000': {
            'code': '141029000000',
            'name': '乡宁县'
          },
          '141081000000': {
            'code': '141081000000',
            'name': '侯马市'
          },
          '141023000000': {
            'code': '141023000000',
            'name': '襄汾县'
          },
          '141033000000': {
            'code': '141033000000',
            'name': '蒲县'
          },
          '141034000000': {
            'code': '141034000000',
            'name': '汾西县'
          },
          '141028000000': {
            'code': '141028000000',
            'name': '吉县'
          },
          '141030000000': {
            'code': '141030000000',
            'name': '大宁县'
          },
          '141024000000': {
            'code': '141024000000',
            'name': '洪洞县'
          }
        }
      },
      '140100000000': {
        'code': '140100000000',
        'name': '太原市',
        'children': {
          '140105000000': {
            'code': '140105000000',
            'name': '小店区'
          },
          '140108000000': {
            'code': '140108000000',
            'name': '尖草坪区'
          },
          '140121000000': {
            'code': '140121000000',
            'name': '清徐县'
          },
          '140106000000': {
            'code': '140106000000',
            'name': '迎泽区'
          },
          '140171000000': {
            'code': '140171000000',
            'name': '山西转型综合改革示范区'
          },
          '140181000000': {
            'code': '140181000000',
            'name': '古交市'
          },
          '140110000000': {
            'code': '140110000000',
            'name': '晋源区'
          },
          '140123000000': {
            'code': '140123000000',
            'name': '娄烦县'
          },
          '140107000000': {
            'code': '140107000000',
            'name': '杏花岭区'
          },
          '140122000000': {
            'code': '140122000000',
            'name': '阳曲县'
          },
          '140109000000': {
            'code': '140109000000',
            'name': '万柏林区'
          }
        }
      },
      '140700000000': {
        'code': '140700000000',
        'name': '晋中市',
        'children': {
          '140723000000': {
            'code': '140723000000',
            'name': '和顺县'
          },
          '140726000000': {
            'code': '140726000000',
            'name': '太谷县'
          },
          '140721000000': {
            'code': '140721000000',
            'name': '榆社县'
          },
          '140781000000': {
            'code': '140781000000',
            'name': '介休市'
          },
          '140722000000': {
            'code': '140722000000',
            'name': '左权县'
          },
          '140728000000': {
            'code': '140728000000',
            'name': '平遥县'
          },
          '140725000000': {
            'code': '140725000000',
            'name': '寿阳县'
          },
          '140724000000': {
            'code': '140724000000',
            'name': '昔阳县'
          },
          '140727000000': {
            'code': '140727000000',
            'name': '祁县'
          },
          '140702000000': {
            'code': '140702000000',
            'name': '榆次区'
          },
          '140729000000': {
            'code': '140729000000',
            'name': '灵石县'
          }
        }
      }
    },
    'name': '山西省'
  },
  '460000000000': {
    'code': '460000000000',
    'children': {
      '460400000000': {
        'code': '460400000000',
        'name': '儋州市',
        'children': {
          '460400107000': {
            'code': '460400107000',
            'name': '木棠镇'
          },
          '460400106000': {
            'code': '460400106000',
            'name': '光村镇'
          },
          '460400108000': {
            'code': '460400108000',
            'name': '海头镇'
          },
          '460400109000': {
            'code': '460400109000',
            'name': '峨蔓镇'
          },
          '460400114000': {
            'code': '460400114000',
            'name': '排浦镇'
          },
          '460400113000': {
            'code': '460400113000',
            'name': '中和镇'
          },
          '460400115000': {
            'code': '460400115000',
            'name': '东成镇'
          },
          '460400116000': {
            'code': '460400116000',
            'name': '新州镇'
          },
          '460400111000': {
            'code': '460400111000',
            'name': '王五镇'
          },
          '460400112000': {
            'code': '460400112000',
            'name': '白马井镇'
          },
          '460400500000': {
            'code': '460400500000',
            'name': '华南热作学院'
          },
          '460400102000': {
            'code': '460400102000',
            'name': '南丰镇'
          },
          '460400104000': {
            'code': '460400104000',
            'name': '雅星镇'
          },
          '460400105000': {
            'code': '460400105000',
            'name': '兰洋镇'
          },
          '460400103000': {
            'code': '460400103000',
            'name': '大成镇'
          },
          '460400499000': {
            'code': '460400499000',
            'name': '洋浦经济开发区'
          },
          '460400100000': {
            'code': '460400100000',
            'name': '那大镇'
          },
          '460400101000': {
            'code': '460400101000',
            'name': '和庆镇'
          }
        }
      },
      '469000000000': {
        'code': '469000000000',
        'name': '省直辖县级行政区划',
        'children': {
          '469022000000': {
            'code': '469022000000',
            'name': '屯昌县'
          },
          '469028000000': {
            'code': '469028000000',
            'name': '陵水黎族自治县'
          },
          '469029000000': {
            'code': '469029000000',
            'name': '保亭黎族苗族自治县'
          },
          '469023000000': {
            'code': '469023000000',
            'name': '澄迈县'
          },
          '469021000000': {
            'code': '469021000000',
            'name': '定安县'
          },
          '469027000000': {
            'code': '469027000000',
            'name': '乐东黎族自治县'
          },
          '469026000000': {
            'code': '469026000000',
            'name': '昌江黎族自治县'
          },
          '469002000000': {
            'code': '469002000000',
            'name': '琼海市'
          },
          '469006000000': {
            'code': '469006000000',
            'name': '万宁市'
          },
          '469001000000': {
            'code': '469001000000',
            'name': '五指山市'
          },
          '469007000000': {
            'code': '469007000000',
            'name': '东方市'
          },
          '469005000000': {
            'code': '469005000000',
            'name': '文昌市'
          },
          '469025000000': {
            'code': '469025000000',
            'name': '白沙黎族自治县'
          },
          '469030000000': {
            'code': '469030000000',
            'name': '琼中黎族苗族自治县'
          },
          '469024000000': {
            'code': '469024000000',
            'name': '临高县'
          }
        }
      },
      '460300000000': {
        'code': '460300000000',
        'name': '三沙市',
        'children': {
          '460323000000': {
            'code': '460323000000',
            'name': '中沙群岛的岛礁及其海域'
          },
          '460322000000': {
            'code': '460322000000',
            'name': '南沙群岛'
          },
          '460321000000': {
            'code': '460321000000',
            'name': '西沙群岛'
          }
        }
      },
      '460200000000': {
        'code': '460200000000',
        'name': '三亚市',
        'children': {
          '460205000000': {
            'code': '460205000000',
            'name': '崖州区'
          },
          '460203000000': {
            'code': '460203000000',
            'name': '吉阳区'
          },
          '460204000000': {
            'code': '460204000000',
            'name': '天涯区'
          },
          '460202000000': {
            'code': '460202000000',
            'name': '海棠区'
          }
        }
      },
      '460100000000': {
        'code': '460100000000',
        'name': '海口市',
        'children': {
          '460105000000': {
            'code': '460105000000',
            'name': '秀英区'
          },
          '460108000000': {
            'code': '460108000000',
            'name': '美兰区'
          },
          '460106000000': {
            'code': '460106000000',
            'name': '龙华区'
          },
          '460107000000': {
            'code': '460107000000',
            'name': '琼山区'
          }
        }
      }
    },
    'name': '海南省'
  },
  '620000000000': {
    'code': '620000000000',
    'children': {
      '620700000000': {
        'code': '620700000000',
        'name': '张掖市',
        'children': {
          '620722000000': {
            'code': '620722000000',
            'name': '民乐县'
          },
          '620725000000': {
            'code': '620725000000',
            'name': '山丹县'
          },
          '620702000000': {
            'code': '620702000000',
            'name': '甘州区'
          },
          '620724000000': {
            'code': '620724000000',
            'name': '高台县'
          },
          '620723000000': {
            'code': '620723000000',
            'name': '临泽县'
          },
          '620721000000': {
            'code': '620721000000',
            'name': '肃南裕固族自治县'
          }
        }
      },
      '620900000000': {
        'code': '620900000000',
        'name': '酒泉市',
        'children': {
          '620921000000': {
            'code': '620921000000',
            'name': '金塔县'
          },
          '620981000000': {
            'code': '620981000000',
            'name': '玉门市'
          },
          '620923000000': {
            'code': '620923000000',
            'name': '肃北蒙古族自治县'
          },
          '620982000000': {
            'code': '620982000000',
            'name': '敦煌市'
          },
          '620902000000': {
            'code': '620902000000',
            'name': '肃州区'
          },
          '620922000000': {
            'code': '620922000000',
            'name': '瓜州县'
          },
          '620924000000': {
            'code': '620924000000',
            'name': '阿克塞哈萨克族自治县'
          }
        }
      },
      '621200000000': {
        'code': '621200000000',
        'name': '陇南市',
        'children': {
          '621223000000': {
            'code': '621223000000',
            'name': '宕昌县'
          },
          '621221000000': {
            'code': '621221000000',
            'name': '成县'
          },
          '621227000000': {
            'code': '621227000000',
            'name': '徽县'
          },
          '621225000000': {
            'code': '621225000000',
            'name': '西和县'
          },
          '621228000000': {
            'code': '621228000000',
            'name': '两当县'
          },
          '621222000000': {
            'code': '621222000000',
            'name': '文县'
          },
          '621202000000': {
            'code': '621202000000',
            'name': '武都区'
          },
          '621224000000': {
            'code': '621224000000',
            'name': '康县'
          },
          '621226000000': {
            'code': '621226000000',
            'name': '礼县'
          }
        }
      },
      '620800000000': {
        'code': '620800000000',
        'name': '平凉市',
        'children': {
          '620802000000': {
            'code': '620802000000',
            'name': '崆峒区'
          },
          '620821000000': {
            'code': '620821000000',
            'name': '泾川县'
          },
          '620822000000': {
            'code': '620822000000',
            'name': '灵台县'
          },
          '620881000000': {
            'code': '620881000000',
            'name': '华亭市'
          },
          '620823000000': {
            'code': '620823000000',
            'name': '崇信县'
          },
          '620826000000': {
            'code': '620826000000',
            'name': '静宁县'
          },
          '620825000000': {
            'code': '620825000000',
            'name': '庄浪县'
          }
        }
      },
      '620300000000': {
        'code': '620300000000',
        'name': '金昌市',
        'children': {
          '620321000000': {
            'code': '620321000000',
            'name': '永昌县'
          },
          '620302000000': {
            'code': '620302000000',
            'name': '金川区'
          }
        }
      },
      '621100000000': {
        'code': '621100000000',
        'name': '定西市',
        'children': {
          '621121000000': {
            'code': '621121000000',
            'name': '通渭县'
          },
          '621124000000': {
            'code': '621124000000',
            'name': '临洮县'
          },
          '621102000000': {
            'code': '621102000000',
            'name': '安定区'
          },
          '621123000000': {
            'code': '621123000000',
            'name': '渭源县'
          },
          '621126000000': {
            'code': '621126000000',
            'name': '岷县'
          },
          '621125000000': {
            'code': '621125000000',
            'name': '漳县'
          },
          '621122000000': {
            'code': '621122000000',
            'name': '陇西县'
          }
        }
      },
      '620200000000': {
        'code': '620200000000',
        'name': '嘉峪关市',
        'children': {
          '620201000000': {
            'code': '620201000000',
            'name': '市辖区'
          }
        }
      },
      '620100000000': {
        'code': '620100000000',
        'name': '兰州市',
        'children': {
          '620123000000': {
            'code': '620123000000',
            'name': '榆中县'
          },
          '620171000000': {
            'code': '620171000000',
            'name': '兰州新区'
          },
          '620104000000': {
            'code': '620104000000',
            'name': '西固区'
          },
          '620122000000': {
            'code': '620122000000',
            'name': '皋兰县'
          },
          '620102000000': {
            'code': '620102000000',
            'name': '城关区'
          },
          '620105000000': {
            'code': '620105000000',
            'name': '安宁区'
          },
          '620103000000': {
            'code': '620103000000',
            'name': '七里河区'
          },
          '620111000000': {
            'code': '620111000000',
            'name': '红古区'
          },
          '620121000000': {
            'code': '620121000000',
            'name': '永登县'
          }
        }
      },
      '621000000000': {
        'code': '621000000000',
        'name': '庆阳市',
        'children': {
          '621025000000': {
            'code': '621025000000',
            'name': '正宁县'
          },
          '621024000000': {
            'code': '621024000000',
            'name': '合水县'
          },
          '621022000000': {
            'code': '621022000000',
            'name': '环县'
          },
          '621002000000': {
            'code': '621002000000',
            'name': '西峰区'
          },
          '621026000000': {
            'code': '621026000000',
            'name': '宁县'
          },
          '621021000000': {
            'code': '621021000000',
            'name': '庆城县'
          },
          '621027000000': {
            'code': '621027000000',
            'name': '镇原县'
          },
          '621023000000': {
            'code': '621023000000',
            'name': '华池县'
          }
        }
      },
      '620400000000': {
        'code': '620400000000',
        'name': '白银市',
        'children': {
          '620421000000': {
            'code': '620421000000',
            'name': '靖远县'
          },
          '620402000000': {
            'code': '620402000000',
            'name': '白银区'
          },
          '620422000000': {
            'code': '620422000000',
            'name': '会宁县'
          },
          '620403000000': {
            'code': '620403000000',
            'name': '平川区'
          },
          '620423000000': {
            'code': '620423000000',
            'name': '景泰县'
          }
        }
      },
      '623000000000': {
        'code': '623000000000',
        'name': '甘南藏族自治州',
        'children': {
          '623021000000': {
            'code': '623021000000',
            'name': '临潭县'
          },
          '623027000000': {
            'code': '623027000000',
            'name': '夏河县'
          },
          '623026000000': {
            'code': '623026000000',
            'name': '碌曲县'
          },
          '623024000000': {
            'code': '623024000000',
            'name': '迭部县'
          },
          '623022000000': {
            'code': '623022000000',
            'name': '卓尼县'
          },
          '623023000000': {
            'code': '623023000000',
            'name': '舟曲县'
          },
          '623001000000': {
            'code': '623001000000',
            'name': '合作市'
          },
          '623025000000': {
            'code': '623025000000',
            'name': '玛曲县'
          }
        }
      },
      '620500000000': {
        'code': '620500000000',
        'name': '天水市',
        'children': {
          '620523000000': {
            'code': '620523000000',
            'name': '甘谷县'
          },
          '620521000000': {
            'code': '620521000000',
            'name': '清水县'
          },
          '620502000000': {
            'code': '620502000000',
            'name': '秦州区'
          },
          '620524000000': {
            'code': '620524000000',
            'name': '武山县'
          },
          '620522000000': {
            'code': '620522000000',
            'name': '秦安县'
          },
          '620525000000': {
            'code': '620525000000',
            'name': '张家川回族自治县'
          },
          '620503000000': {
            'code': '620503000000',
            'name': '麦积区'
          }
        }
      },
      '622900000000': {
        'code': '622900000000',
        'name': '临夏回族自治州',
        'children': {
          '622923000000': {
            'code': '622923000000',
            'name': '永靖县'
          },
          '622926000000': {
            'code': '622926000000',
            'name': '东乡族自治县'
          },
          '622901000000': {
            'code': '622901000000',
            'name': '临夏市'
          },
          '622927000000': {
            'code': '622927000000',
            'name': '积石山保安族东乡族撒拉族自治县'
          },
          '622925000000': {
            'code': '622925000000',
            'name': '和政县'
          },
          '622921000000': {
            'code': '622921000000',
            'name': '临夏县'
          },
          '622922000000': {
            'code': '622922000000',
            'name': '康乐县'
          },
          '622924000000': {
            'code': '622924000000',
            'name': '广河县'
          }
        }
      },
      '620600000000': {
        'code': '620600000000',
        'name': '武威市',
        'children': {
          '620623000000': {
            'code': '620623000000',
            'name': '天祝藏族自治县'
          },
          '620621000000': {
            'code': '620621000000',
            'name': '民勤县'
          },
          '620622000000': {
            'code': '620622000000',
            'name': '古浪县'
          },
          '620602000000': {
            'code': '620602000000',
            'name': '凉州区'
          }
        }
      }
    },
    'name': '甘肃省'
  },
  '430000000000': {
    'code': '430000000000',
    'children': {
      '430700000000': {
        'code': '430700000000',
        'name': '常德市',
        'children': {
          '430703000000': {
            'code': '430703000000',
            'name': '鼎城区'
          },
          '430722000000': {
            'code': '430722000000',
            'name': '汉寿县'
          },
          '430771000000': {
            'code': '430771000000',
            'name': '常德市西洞庭管理区'
          },
          '430726000000': {
            'code': '430726000000',
            'name': '石门县'
          },
          '430721000000': {
            'code': '430721000000',
            'name': '安乡县'
          },
          '430724000000': {
            'code': '430724000000',
            'name': '临澧县'
          },
          '430702000000': {
            'code': '430702000000',
            'name': '武陵区'
          },
          '430781000000': {
            'code': '430781000000',
            'name': '津市市'
          },
          '430723000000': {
            'code': '430723000000',
            'name': '澧县'
          },
          '430725000000': {
            'code': '430725000000',
            'name': '桃源县'
          }
        }
      },
      '430600000000': {
        'code': '430600000000',
        'name': '岳阳市',
        'children': {
          '430671000000': {
            'code': '430671000000',
            'name': '岳阳市屈原管理区'
          },
          '430626000000': {
            'code': '430626000000',
            'name': '平江县'
          },
          '430623000000': {
            'code': '430623000000',
            'name': '华容县'
          },
          '430682000000': {
            'code': '430682000000',
            'name': '临湘市'
          },
          '430602000000': {
            'code': '430602000000',
            'name': '岳阳楼区'
          },
          '430603000000': {
            'code': '430603000000',
            'name': '云溪区'
          },
          '430624000000': {
            'code': '430624000000',
            'name': '湘阴县'
          },
          '430611000000': {
            'code': '430611000000',
            'name': '君山区'
          },
          '430621000000': {
            'code': '430621000000',
            'name': '岳阳县'
          },
          '430681000000': {
            'code': '430681000000',
            'name': '汨罗市'
          }
        }
      },
      '430900000000': {
        'code': '430900000000',
        'name': '益阳市',
        'children': {
          '430902000000': {
            'code': '430902000000',
            'name': '资阳区'
          },
          '430921000000': {
            'code': '430921000000',
            'name': '南县'
          },
          '430972000000': {
            'code': '430972000000',
            'name': '湖南益阳高新技术产业园区'
          },
          '430922000000': {
            'code': '430922000000',
            'name': '桃江县'
          },
          '430923000000': {
            'code': '430923000000',
            'name': '安化县'
          },
          '430903000000': {
            'code': '430903000000',
            'name': '赫山区'
          },
          '430981000000': {
            'code': '430981000000',
            'name': '沅江市'
          },
          '430971000000': {
            'code': '430971000000',
            'name': '益阳市大通湖管理区'
          }
        }
      },
      '430100000000': {
        'code': '430100000000',
        'name': '长沙市',
        'children': {
          '430111000000': {
            'code': '430111000000',
            'name': '雨花区'
          },
          '430181000000': {
            'code': '430181000000',
            'name': '浏阳市'
          },
          '430102000000': {
            'code': '430102000000',
            'name': '芙蓉区'
          },
          '430104000000': {
            'code': '430104000000',
            'name': '岳麓区'
          },
          '430112000000': {
            'code': '430112000000',
            'name': '望城区'
          },
          '430182000000': {
            'code': '430182000000',
            'name': '宁乡市'
          },
          '430105000000': {
            'code': '430105000000',
            'name': '开福区'
          },
          '430121000000': {
            'code': '430121000000',
            'name': '长沙县'
          },
          '430103000000': {
            'code': '430103000000',
            'name': '天心区'
          }
        }
      },
      '431100000000': {
        'code': '431100000000',
        'name': '永州市',
        'children': {
          '431102000000': {
            'code': '431102000000',
            'name': '零陵区'
          },
          '431121000000': {
            'code': '431121000000',
            'name': '祁阳县'
          },
          '431103000000': {
            'code': '431103000000',
            'name': '冷水滩区'
          },
          '431127000000': {
            'code': '431127000000',
            'name': '蓝山县'
          },
          '431129000000': {
            'code': '431129000000',
            'name': '江华瑶族自治县'
          },
          '431123000000': {
            'code': '431123000000',
            'name': '双牌县'
          },
          '431128000000': {
            'code': '431128000000',
            'name': '新田县'
          },
          '431124000000': {
            'code': '431124000000',
            'name': '道县'
          },
          '431172000000': {
            'code': '431172000000',
            'name': '永州市金洞管理区'
          },
          '431173000000': {
            'code': '431173000000',
            'name': '永州市回龙圩管理区'
          },
          '431125000000': {
            'code': '431125000000',
            'name': '江永县'
          },
          '431126000000': {
            'code': '431126000000',
            'name': '宁远县'
          },
          '431171000000': {
            'code': '431171000000',
            'name': '永州经济技术开发区'
          },
          '431122000000': {
            'code': '431122000000',
            'name': '东安县'
          }
        }
      },
      '430200000000': {
        'code': '430200000000',
        'name': '株洲市',
        'children': {
          '430225000000': {
            'code': '430225000000',
            'name': '炎陵县'
          },
          '430281000000': {
            'code': '430281000000',
            'name': '醴陵市'
          },
          '430203000000': {
            'code': '430203000000',
            'name': '芦淞区'
          },
          '430223000000': {
            'code': '430223000000',
            'name': '攸县'
          },
          '430271000000': {
            'code': '430271000000',
            'name': '云龙示范区'
          },
          '430211000000': {
            'code': '430211000000',
            'name': '天元区'
          },
          '430202000000': {
            'code': '430202000000',
            'name': '荷塘区'
          },
          '430224000000': {
            'code': '430224000000',
            'name': '茶陵县'
          },
          '430204000000': {
            'code': '430204000000',
            'name': '石峰区'
          },
          '430212000000': {
            'code': '430212000000',
            'name': '渌口区'
          }
        }
      },
      '430800000000': {
        'code': '430800000000',
        'name': '张家界市',
        'children': {
          '430821000000': {
            'code': '430821000000',
            'name': '慈利县'
          },
          '430811000000': {
            'code': '430811000000',
            'name': '武陵源区'
          },
          '430802000000': {
            'code': '430802000000',
            'name': '永定区'
          },
          '430822000000': {
            'code': '430822000000',
            'name': '桑植县'
          }
        }
      },
      '430300000000': {
        'code': '430300000000',
        'name': '湘潭市',
        'children': {
          '430373000000': {
            'code': '430373000000',
            'name': '湘潭九华示范区'
          },
          '430302000000': {
            'code': '430302000000',
            'name': '雨湖区'
          },
          '430372000000': {
            'code': '430372000000',
            'name': '湘潭昭山示范区'
          },
          '430382000000': {
            'code': '430382000000',
            'name': '韶山市'
          },
          '430381000000': {
            'code': '430381000000',
            'name': '湘乡市'
          },
          '430304000000': {
            'code': '430304000000',
            'name': '岳塘区'
          },
          '430321000000': {
            'code': '430321000000',
            'name': '湘潭县'
          },
          '430371000000': {
            'code': '430371000000',
            'name': '湖南湘潭高新技术产业园区'
          }
        }
      },
      '431000000000': {
        'code': '431000000000',
        'name': '郴州市',
        'children': {
          '431022000000': {
            'code': '431022000000',
            'name': '宜章县'
          },
          '431025000000': {
            'code': '431025000000',
            'name': '临武县'
          },
          '431003000000': {
            'code': '431003000000',
            'name': '苏仙区'
          },
          '431021000000': {
            'code': '431021000000',
            'name': '桂阳县'
          },
          '431026000000': {
            'code': '431026000000',
            'name': '汝城县'
          },
          '431028000000': {
            'code': '431028000000',
            'name': '安仁县'
          },
          '431081000000': {
            'code': '431081000000',
            'name': '资兴市'
          },
          '431023000000': {
            'code': '431023000000',
            'name': '永兴县'
          },
          '431024000000': {
            'code': '431024000000',
            'name': '嘉禾县'
          },
          '431002000000': {
            'code': '431002000000',
            'name': '北湖区'
          },
          '431027000000': {
            'code': '431027000000',
            'name': '桂东县'
          }
        }
      },
      '430500000000': {
        'code': '430500000000',
        'name': '邵阳市',
        'children': {
          '430524000000': {
            'code': '430524000000',
            'name': '隆回县'
          },
          '430581000000': {
            'code': '430581000000',
            'name': '武冈市'
          },
          '430527000000': {
            'code': '430527000000',
            'name': '绥宁县'
          },
          '430523000000': {
            'code': '430523000000',
            'name': '邵阳县'
          },
          '430521000000': {
            'code': '430521000000',
            'name': '邵东县'
          },
          '430511000000': {
            'code': '430511000000',
            'name': '北塔区'
          },
          '430503000000': {
            'code': '430503000000',
            'name': '大祥区'
          },
          '430525000000': {
            'code': '430525000000',
            'name': '洞口县'
          },
          '430528000000': {
            'code': '430528000000',
            'name': '新宁县'
          },
          '430529000000': {
            'code': '430529000000',
            'name': '城步苗族自治县'
          },
          '430502000000': {
            'code': '430502000000',
            'name': '双清区'
          },
          '430522000000': {
            'code': '430522000000',
            'name': '新邵县'
          }
        }
      },
      '431200000000': {
        'code': '431200000000',
        'name': '怀化市',
        'children': {
          '431230000000': {
            'code': '431230000000',
            'name': '通道侗族自治县'
          },
          '431227000000': {
            'code': '431227000000',
            'name': '新晃侗族自治县'
          },
          '431226000000': {
            'code': '431226000000',
            'name': '麻阳苗族自治县'
          },
          '431202000000': {
            'code': '431202000000',
            'name': '鹤城区'
          },
          '431222000000': {
            'code': '431222000000',
            'name': '沅陵县'
          },
          '431228000000': {
            'code': '431228000000',
            'name': '芷江侗族自治县'
          },
          '431223000000': {
            'code': '431223000000',
            'name': '辰溪县'
          },
          '431224000000': {
            'code': '431224000000',
            'name': '溆浦县'
          },
          '431281000000': {
            'code': '431281000000',
            'name': '洪江市'
          },
          '431229000000': {
            'code': '431229000000',
            'name': '靖州苗族侗族自治县'
          },
          '431225000000': {
            'code': '431225000000',
            'name': '会同县'
          },
          '431271000000': {
            'code': '431271000000',
            'name': '怀化市洪江管理区'
          },
          '431221000000': {
            'code': '431221000000',
            'name': '中方县'
          }
        }
      },
      '433100000000': {
        'code': '433100000000',
        'name': '湘西土家族苗族自治州',
        'children': {
          '433130000000': {
            'code': '433130000000',
            'name': '龙山县'
          },
          '433123000000': {
            'code': '433123000000',
            'name': '凤凰县'
          },
          '433101000000': {
            'code': '433101000000',
            'name': '吉首市'
          },
          '433172000000': {
            'code': '433172000000',
            'name': '湖南吉首经济开发区'
          },
          '433127000000': {
            'code': '433127000000',
            'name': '永顺县'
          },
          '433122000000': {
            'code': '433122000000',
            'name': '泸溪县'
          },
          '433125000000': {
            'code': '433125000000',
            'name': '保靖县'
          },
          '433173000000': {
            'code': '433173000000',
            'name': '湖南永顺经济开发区'
          },
          '433124000000': {
            'code': '433124000000',
            'name': '花垣县'
          },
          '433126000000': {
            'code': '433126000000',
            'name': '古丈县'
          }
        }
      },
      '430400000000': {
        'code': '430400000000',
        'name': '衡阳市',
        'children': {
          '430412000000': {
            'code': '430412000000',
            'name': '南岳区'
          },
          '430408000000': {
            'code': '430408000000',
            'name': '蒸湘区'
          },
          '430421000000': {
            'code': '430421000000',
            'name': '衡阳县'
          },
          '430422000000': {
            'code': '430422000000',
            'name': '衡南县'
          },
          '430407000000': {
            'code': '430407000000',
            'name': '石鼓区'
          },
          '430423000000': {
            'code': '430423000000',
            'name': '衡山县'
          },
          '430473000000': {
            'code': '430473000000',
            'name': '湖南衡阳松木经济开发区'
          },
          '430482000000': {
            'code': '430482000000',
            'name': '常宁市'
          },
          '430472000000': {
            'code': '430472000000',
            'name': '湖南衡阳高新技术产业园区'
          },
          '430406000000': {
            'code': '430406000000',
            'name': '雁峰区'
          },
          '430424000000': {
            'code': '430424000000',
            'name': '衡东县'
          },
          '430426000000': {
            'code': '430426000000',
            'name': '祁东县'
          },
          '430471000000': {
            'code': '430471000000',
            'name': '衡阳综合保税区'
          },
          '430481000000': {
            'code': '430481000000',
            'name': '耒阳市'
          },
          '430405000000': {
            'code': '430405000000',
            'name': '珠晖区'
          }
        }
      },
      '431300000000': {
        'code': '431300000000',
        'name': '娄底市',
        'children': {
          '431321000000': {
            'code': '431321000000',
            'name': '双峰县'
          },
          '431381000000': {
            'code': '431381000000',
            'name': '冷水江市'
          },
          '431382000000': {
            'code': '431382000000',
            'name': '涟源市'
          },
          '431302000000': {
            'code': '431302000000',
            'name': '娄星区'
          },
          '431322000000': {
            'code': '431322000000',
            'name': '新化县'
          }
        }
      }
    },
    'name': '湖南省'
  },
  '350000000000': {
    'code': '350000000000',
    'children': {
      '350600000000': {
        'code': '350600000000',
        'name': '漳州市',
        'children': {
          '350603000000': {
            'code': '350603000000',
            'name': '龙文区'
          },
          '350625000000': {
            'code': '350625000000',
            'name': '长泰县'
          },
          '350628000000': {
            'code': '350628000000',
            'name': '平和县'
          },
          '350623000000': {
            'code': '350623000000',
            'name': '漳浦县'
          },
          '350624000000': {
            'code': '350624000000',
            'name': '诏安县'
          },
          '350681000000': {
            'code': '350681000000',
            'name': '龙海市'
          },
          '350627000000': {
            'code': '350627000000',
            'name': '南靖县'
          },
          '350626000000': {
            'code': '350626000000',
            'name': '东山县'
          },
          '350629000000': {
            'code': '350629000000',
            'name': '华安县'
          },
          '350602000000': {
            'code': '350602000000',
            'name': '芗城区'
          },
          '350622000000': {
            'code': '350622000000',
            'name': '云霄县'
          }
        }
      },
      '350100000000': {
        'code': '350100000000',
        'name': '福州市',
        'children': {
          '350125000000': {
            'code': '350125000000',
            'name': '永泰县'
          },
          '350105000000': {
            'code': '350105000000',
            'name': '马尾区'
          },
          '350121000000': {
            'code': '350121000000',
            'name': '闽侯县'
          },
          '350111000000': {
            'code': '350111000000',
            'name': '晋安区'
          },
          '350102000000': {
            'code': '350102000000',
            'name': '鼓楼区'
          },
          '350181000000': {
            'code': '350181000000',
            'name': '福清市'
          },
          '350122000000': {
            'code': '350122000000',
            'name': '连江县'
          },
          '350103000000': {
            'code': '350103000000',
            'name': '台江区'
          },
          '350123000000': {
            'code': '350123000000',
            'name': '罗源县'
          },
          '350112000000': {
            'code': '350112000000',
            'name': '长乐区'
          },
          '350124000000': {
            'code': '350124000000',
            'name': '闽清县'
          },
          '350104000000': {
            'code': '350104000000',
            'name': '仓山区'
          },
          '350128000000': {
            'code': '350128000000',
            'name': '平潭县'
          }
        }
      },
      '350200000000': {
        'code': '350200000000',
        'name': '厦门市',
        'children': {
          '350212000000': {
            'code': '350212000000',
            'name': '同安区'
          },
          '350206000000': {
            'code': '350206000000',
            'name': '湖里区'
          },
          '350211000000': {
            'code': '350211000000',
            'name': '集美区'
          },
          '350213000000': {
            'code': '350213000000',
            'name': '翔安区'
          },
          '350203000000': {
            'code': '350203000000',
            'name': '思明区'
          },
          '350205000000': {
            'code': '350205000000',
            'name': '海沧区'
          }
        }
      },
      '350500000000': {
        'code': '350500000000',
        'name': '泉州市',
        'children': {
          '350526000000': {
            'code': '350526000000',
            'name': '德化县'
          },
          '350583000000': {
            'code': '350583000000',
            'name': '南安市'
          },
          '350581000000': {
            'code': '350581000000',
            'name': '石狮市'
          },
          '350504000000': {
            'code': '350504000000',
            'name': '洛江区'
          },
          '350524000000': {
            'code': '350524000000',
            'name': '安溪县'
          },
          '350502000000': {
            'code': '350502000000',
            'name': '鲤城区'
          },
          '350521000000': {
            'code': '350521000000',
            'name': '惠安县'
          },
          '350582000000': {
            'code': '350582000000',
            'name': '晋江市'
          },
          '350503000000': {
            'code': '350503000000',
            'name': '丰泽区'
          },
          '350527000000': {
            'code': '350527000000',
            'name': '金门县'
          },
          '350505000000': {
            'code': '350505000000',
            'name': '泉港区'
          },
          '350525000000': {
            'code': '350525000000',
            'name': '永春县'
          }
        }
      },
      '350700000000': {
        'code': '350700000000',
        'name': '南平市',
        'children': {
          '350782000000': {
            'code': '350782000000',
            'name': '武夷山市'
          },
          '350702000000': {
            'code': '350702000000',
            'name': '延平区'
          },
          '350722000000': {
            'code': '350722000000',
            'name': '浦城县'
          },
          '350725000000': {
            'code': '350725000000',
            'name': '政和县'
          },
          '350703000000': {
            'code': '350703000000',
            'name': '建阳区'
          },
          '350724000000': {
            'code': '350724000000',
            'name': '松溪县'
          },
          '350723000000': {
            'code': '350723000000',
            'name': '光泽县'
          },
          '350721000000': {
            'code': '350721000000',
            'name': '顺昌县'
          },
          '350783000000': {
            'code': '350783000000',
            'name': '建瓯市'
          },
          '350781000000': {
            'code': '350781000000',
            'name': '邵武市'
          }
        }
      },
      '350400000000': {
        'code': '350400000000',
        'name': '三明市',
        'children': {
          '350430000000': {
            'code': '350430000000',
            'name': '建宁县'
          },
          '350481000000': {
            'code': '350481000000',
            'name': '永安市'
          },
          '350423000000': {
            'code': '350423000000',
            'name': '清流县'
          },
          '350424000000': {
            'code': '350424000000',
            'name': '宁化县'
          },
          '350402000000': {
            'code': '350402000000',
            'name': '梅列区'
          },
          '350427000000': {
            'code': '350427000000',
            'name': '沙县'
          },
          '350429000000': {
            'code': '350429000000',
            'name': '泰宁县'
          },
          '350425000000': {
            'code': '350425000000',
            'name': '大田县'
          },
          '350428000000': {
            'code': '350428000000',
            'name': '将乐县'
          },
          '350403000000': {
            'code': '350403000000',
            'name': '三元区'
          },
          '350421000000': {
            'code': '350421000000',
            'name': '明溪县'
          },
          '350426000000': {
            'code': '350426000000',
            'name': '尤溪县'
          }
        }
      },
      '350800000000': {
        'code': '350800000000',
        'name': '龙岩市',
        'children': {
          '350824000000': {
            'code': '350824000000',
            'name': '武平县'
          },
          '350802000000': {
            'code': '350802000000',
            'name': '新罗区'
          },
          '350881000000': {
            'code': '350881000000',
            'name': '漳平市'
          },
          '350821000000': {
            'code': '350821000000',
            'name': '长汀县'
          },
          '350803000000': {
            'code': '350803000000',
            'name': '永定区'
          },
          '350823000000': {
            'code': '350823000000',
            'name': '上杭县'
          },
          '350825000000': {
            'code': '350825000000',
            'name': '连城县'
          }
        }
      },
      '350300000000': {
        'code': '350300000000',
        'name': '莆田市',
        'children': {
          '350302000000': {
            'code': '350302000000',
            'name': '城厢区'
          },
          '350305000000': {
            'code': '350305000000',
            'name': '秀屿区'
          },
          '350303000000': {
            'code': '350303000000',
            'name': '涵江区'
          },
          '350304000000': {
            'code': '350304000000',
            'name': '荔城区'
          },
          '350322000000': {
            'code': '350322000000',
            'name': '仙游县'
          }
        }
      },
      '350900000000': {
        'code': '350900000000',
        'name': '宁德市',
        'children': {
          '350981000000': {
            'code': '350981000000',
            'name': '福安市'
          },
          '350926000000': {
            'code': '350926000000',
            'name': '柘荣县'
          },
          '350921000000': {
            'code': '350921000000',
            'name': '霞浦县'
          },
          '350923000000': {
            'code': '350923000000',
            'name': '屏南县'
          },
          '350925000000': {
            'code': '350925000000',
            'name': '周宁县'
          },
          '350924000000': {
            'code': '350924000000',
            'name': '寿宁县'
          },
          '350982000000': {
            'code': '350982000000',
            'name': '福鼎市'
          },
          '350902000000': {
            'code': '350902000000',
            'name': '蕉城区'
          },
          '350922000000': {
            'code': '350922000000',
            'name': '古田县'
          }
        }
      }
    },
    'name': '福建省'
  },
  '220000000000': {
    'code': '220000000000',
    'children': {
      '222400000000': {
        'code': '222400000000',
        'name': '延边朝鲜族自治州',
        'children': {
          '222403000000': {
            'code': '222403000000',
            'name': '敦化市'
          },
          '222406000000': {
            'code': '222406000000',
            'name': '和龙市'
          },
          '222405000000': {
            'code': '222405000000',
            'name': '龙井市'
          },
          '222401000000': {
            'code': '222401000000',
            'name': '延吉市'
          },
          '222424000000': {
            'code': '222424000000',
            'name': '汪清县'
          },
          '222402000000': {
            'code': '222402000000',
            'name': '图们市'
          },
          '222426000000': {
            'code': '222426000000',
            'name': '安图县'
          },
          '222404000000': {
            'code': '222404000000',
            'name': '珲春市'
          }
        }
      },
      '220500000000': {
        'code': '220500000000',
        'name': '通化市',
        'children': {
          '220582000000': {
            'code': '220582000000',
            'name': '集安市'
          },
          '220502000000': {
            'code': '220502000000',
            'name': '东昌区'
          },
          '220524000000': {
            'code': '220524000000',
            'name': '柳河县'
          },
          '220521000000': {
            'code': '220521000000',
            'name': '通化县'
          },
          '220581000000': {
            'code': '220581000000',
            'name': '梅河口市'
          },
          '220503000000': {
            'code': '220503000000',
            'name': '二道江区'
          },
          '220523000000': {
            'code': '220523000000',
            'name': '辉南县'
          }
        }
      },
      '220100000000': {
        'code': '220100000000',
        'name': '长春市',
        'children': {
          '220173000000': {
            'code': '220173000000',
            'name': '长春高新技术产业开发区'
          },
          '220183000000': {
            'code': '220183000000',
            'name': '德惠市'
          },
          '220182000000': {
            'code': '220182000000',
            'name': '榆树市'
          },
          '220105000000': {
            'code': '220105000000',
            'name': '二道区'
          },
          '220171000000': {
            'code': '220171000000',
            'name': '长春经济技术开发区'
          },
          '220172000000': {
            'code': '220172000000',
            'name': '长春净月高新技术产业开发区'
          },
          '220102000000': {
            'code': '220102000000',
            'name': '南关区'
          },
          '220106000000': {
            'code': '220106000000',
            'name': '绿园区'
          },
          '220122000000': {
            'code': '220122000000',
            'name': '农安县'
          },
          '220103000000': {
            'code': '220103000000',
            'name': '宽城区'
          },
          '220112000000': {
            'code': '220112000000',
            'name': '双阳区'
          },
          '220113000000': {
            'code': '220113000000',
            'name': '九台区'
          },
          '220174000000': {
            'code': '220174000000',
            'name': '长春汽车经济技术开发区'
          },
          '220104000000': {
            'code': '220104000000',
            'name': '朝阳区'
          }
        }
      },
      '220400000000': {
        'code': '220400000000',
        'name': '辽源市',
        'children': {
          '220403000000': {
            'code': '220403000000',
            'name': '西安区'
          },
          '220402000000': {
            'code': '220402000000',
            'name': '龙山区'
          },
          '220422000000': {
            'code': '220422000000',
            'name': '东辽县'
          },
          '220421000000': {
            'code': '220421000000',
            'name': '东丰县'
          }
        }
      },
      '220200000000': {
        'code': '220200000000',
        'name': '吉林市',
        'children': {
          '220282000000': {
            'code': '220282000000',
            'name': '桦甸市'
          },
          '220204000000': {
            'code': '220204000000',
            'name': '船营区'
          },
          '220272000000': {
            'code': '220272000000',
            'name': '吉林高新技术产业开发区'
          },
          '220202000000': {
            'code': '220202000000',
            'name': '昌邑区'
          },
          '220284000000': {
            'code': '220284000000',
            'name': '磐石市'
          },
          '220271000000': {
            'code': '220271000000',
            'name': '吉林经济开发区'
          },
          '220203000000': {
            'code': '220203000000',
            'name': '龙潭区'
          },
          '220211000000': {
            'code': '220211000000',
            'name': '丰满区'
          },
          '220273000000': {
            'code': '220273000000',
            'name': '吉林中国新加坡食品区'
          },
          '220281000000': {
            'code': '220281000000',
            'name': '蛟河市'
          },
          '220221000000': {
            'code': '220221000000',
            'name': '永吉县'
          },
          '220283000000': {
            'code': '220283000000',
            'name': '舒兰市'
          }
        }
      },
      '220300000000': {
        'code': '220300000000',
        'name': '四平市',
        'children': {
          '220323000000': {
            'code': '220323000000',
            'name': '伊通满族自治县'
          },
          '220381000000': {
            'code': '220381000000',
            'name': '公主岭市'
          },
          '220303000000': {
            'code': '220303000000',
            'name': '铁东区'
          },
          '220322000000': {
            'code': '220322000000',
            'name': '梨树县'
          },
          '220382000000': {
            'code': '220382000000',
            'name': '双辽市'
          },
          '220302000000': {
            'code': '220302000000',
            'name': '铁西区'
          }
        }
      },
      '220800000000': {
        'code': '220800000000',
        'name': '白城市',
        'children': {
          '220881000000': {
            'code': '220881000000',
            'name': '洮南市'
          },
          '220871000000': {
            'code': '220871000000',
            'name': '吉林白城经济开发区'
          },
          '220802000000': {
            'code': '220802000000',
            'name': '洮北区'
          },
          '220882000000': {
            'code': '220882000000',
            'name': '大安市'
          },
          '220822000000': {
            'code': '220822000000',
            'name': '通榆县'
          },
          '220821000000': {
            'code': '220821000000',
            'name': '镇赉县'
          }
        }
      },
      '220700000000': {
        'code': '220700000000',
        'name': '松原市',
        'children': {
          '220702000000': {
            'code': '220702000000',
            'name': '宁江区'
          },
          '220721000000': {
            'code': '220721000000',
            'name': '前郭尔罗斯蒙古族自治县'
          },
          '220723000000': {
            'code': '220723000000',
            'name': '乾安县'
          },
          '220771000000': {
            'code': '220771000000',
            'name': '吉林松原经济开发区'
          },
          '220722000000': {
            'code': '220722000000',
            'name': '长岭县'
          },
          '220781000000': {
            'code': '220781000000',
            'name': '扶余市'
          }
        }
      },
      '220600000000': {
        'code': '220600000000',
        'name': '白山市',
        'children': {
          '220622000000': {
            'code': '220622000000',
            'name': '靖宇县'
          },
          '220605000000': {
            'code': '220605000000',
            'name': '江源区'
          },
          '220621000000': {
            'code': '220621000000',
            'name': '抚松县'
          },
          '220681000000': {
            'code': '220681000000',
            'name': '临江市'
          },
          '220623000000': {
            'code': '220623000000',
            'name': '长白朝鲜族自治县'
          },
          '220602000000': {
            'code': '220602000000',
            'name': '浑江区'
          }
        }
      }
    },
    'name': '吉林省'
  }
});
// CONCATENATED MODULE: ./packages/js/common.js
























/**
 * 删除信息
 * @param {String} api 接口
 * @param {Object} param 接口入参
 * @param {function} callback 成功回调
 */

var deleteInfo = function deleteInfo(api, param, title, callback) {
  var _this2 = this;

  if (!title) {
    title = '确认删除，删除后不可恢复?';
  }

  this.$confirm(title, '提示', {
    confirmButtonText: '确定',
    cancelButtonText: '取消',
    type: 'warning'
  }).then(function () {
    _this2.$store.state.fullscreenLoading = true;

    _this2.$post(api, param, function (data) {
      _this2.$message.success(data.msg);

      callback ? callback() : '';
      _this2.$store.state.fullscreenLoading = false;
    }, function (error) {
      _this2.$message.error(error.msg);

      _this2.$store.state.fullscreenLoading = false;
    });
  }).catch(function () {});
};
/**
 * 解构对象给另一个对象
 * @param {Oject} obj 赋值对象
 * @param {Oject} data 解构对象
 * @param {Array} arr 解构参数
 */


var parseObj = function parseObj(obj, data, arr) {
  // let obj = {}
  arr.forEach(function (item) {
    data[item] ? obj[item] = data[item] : '';
  });
};
/**
 * 通过code查询省市区名称
 * @param {String} provinceCode 省code
 * @param {String} cityCode 市code
 * @param {String} areaCode 市code
 */


var common_getRegionName = function getRegionName(provinceCode, cityCode, areaCode) {
  var list = _objectSpread2({}, china_region);

  if (!list[provinceCode]) return '';
  var provinceName = list[provinceCode].name;
  if (!list[provinceCode].children[cityCode]) return provinceName;
  var cityName = list[provinceCode].children[cityCode].name;
  if (!list[provinceCode].children[cityCode].children[areaCode]) return provinceName + cityName;
  var areaName = list[provinceCode].children[cityCode].children[areaCode].name;
  return provinceName + cityName + areaName;
};
/**
 * 闭包，避免多次遍历
 * @param {String} code 资源code
 */


var getResourceCode = function getResourceCode(codeArr) {
  var user = JSON.parse(sessionStorage.getItem('user'));
  var resourceCode = [];

  if (codeArr) {
    resourceCode = codeArr;
  } else if (user && user.permissionResources && user.permissionResources != null) {
    resourceCode = user.permissionResources;
  }

  var obj = {};
  resourceCode.forEach(function (item) {
    obj[item] = true;
  });
  return function (code) {
    return !!obj[code];
  };
};
/**
 * 判断资源code是否存在
 * @param {String} code 资源code
 */


var isCode = getResourceCode();
/**
 * 闭包，避免多次遍历
 * @param {String} url url
 */

var getResourceRouter = function getResourceRouter(url) {
  var user = JSON.parse(sessionStorage.getItem('user'));
  var obj = {};

  if (user && user.pcPermissionMenu && user.pcPermissionMenu != null) {
    obj = getResourceSubRouter(user.pcPermissionMenu);
  }

  return function (url) {
    return !!obj[url];
  };
};

function getResourceSubRouter(list) {
  var obj = {};
  list.forEach(function (items) {
    var url = items.url.split('?')[0];
    obj[url] = true;

    if (items.children) {
      obj = _objectSpread2(_objectSpread2({}, obj), getResourceSubRouter(items.children));
    }
  });
  return obj;
}
/**
 * 判断资源路由是否存在
 * @param {String} url 路由
 */


var isRouter = getResourceRouter();
/**
 * 下载文件
 * @param {String} api 接口
 * @param {Object} params 请求参数
 *
 * @param {String} fileName 文件名
 */

var downloadFile = function downloadFile(api, params, fileName) {
  var _this3 = this;

  var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'get';
  this.$store.state.fullscreenLoading = true;
  axios({
    method: type,
    url: api,
    responseType: 'blob',
    // 接收返回的类型
    params: params
  }).then(function (res) {
    var str = res.headers['content-disposition'];

    if (!res || !str) {
      return;
    }

    var suffix = ''; // 截取文件名和文件类型

    if (str.lastIndexOf('.')) {
      fileName ? '' : fileName = decodeURI(str.substring(str.indexOf('=') + 1, str.lastIndexOf('.')));
      suffix = str.substring(str.lastIndexOf('.'), str.length);
    } //  如果支持微软的文件下载方式(ie10+浏览器)


    if (window.navigator.msSaveBlob) {
      try {
        var blobObject = new Blob([res.data]);
        window.navigator.msSaveBlob(blobObject, fileName + suffix);
      } catch (e) {
        console.log(e);
      }
    } else {
      //  其他浏览器
      var url = window.URL.createObjectURL(res.data);
      var link = document.createElement('a');
      link.style.display = 'none';
      link.href = url;
      link.setAttribute('download', fileName + suffix);
      document.body.appendChild(link);
      link.click();
    }

    _this3.$store.state.fullscreenLoading = false;
  }).catch(function (err) {
    console.log(err.message);
    _this3.$store.state.fullscreenLoading = false;
  });
};
/**
 * 退出登录
 */


var logout = function logout(is) {
  var _this4 = this;

  var msg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '登录状态已过期，请重新进行登录';
  // 清理登录信息
  sessionStorage.removeItem('token');
  sessionStorage.removeItem('user');

  if (this.$store) {
    this.$store.commit('token', '');
    this.$store.commit('user', '');
  }

  var location = window.location;
  var redirectUrl = this.$store.state.env.VUE_APP_BASE_URL || location.origin;

  if (is) {
    // 是否要弹提示
    this.$alert(msg, '提示', {
      confirmButtonText: '确定',
      type: 'warning',
      showClose: false,
      callback: function callback() {
        // 重定向登录页
        window.location.href = "".concat(_this4.$store.state.env.VUE_APP_UC_URL, "/usercenter/sys/ucLogout?redirect_uri=").concat(redirectUrl);
      }
    });
  } else {
    // 重定向登录页
    window.location.href = "".concat(this.$store.state.env.VUE_APP_UC_URL, "/usercenter/sys/ucLogout?redirect_uri=").concat(redirectUrl);
  }
};
/**
 * 防抖函数
 * @param {function} fn 函数
 * @param {number} delay 延迟
 */


var debounce = function debounce(fn) {
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
  var timeout = null; // 创建一个标记用来存放定时器的返回值

  return function () {
    var _arguments = arguments,
        _this5 = this;

    clearTimeout(timeout); // 每当用户输入的时候把前一个 setTimeout clear 掉

    timeout = setTimeout(function () {
      // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话，就不会执行 fn 函数
      fn.apply(_this5, _arguments);
    }, delay);
  };
};
/**
 * 节流函数
 * @param {function} fn 函数
 * @param {number} delay 延迟
 */


var throttle = function throttle(fn) {
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
  var canRun = true; // 通过闭包保存一个标记

  return function () {
    var _arguments2 = arguments,
        _this6 = this;

    if (!canRun) return; // 在函数开头判断标记是否为true，不为true则return

    canRun = false; // 立即设置为false

    setTimeout(function () {
      // 将外部传入的函数的执行放在setTimeout中
      fn.apply(_this6, _arguments2); // 最后在setTimeout执行完毕后再把标记设置为true(关键)表示可以执行下一次循环了。当定时器没有执行的时候标记永远是false，在开头被return掉

      canRun = true;
    }, delay);
  };
};
/**
 * 深拷贝对象
 * @param {Object} obj 拷贝对象
 * @retrun Object
 */


var common_deepClone = function deepClone(obj) {
  var _toString = Object.prototype.toString; // null, undefined, non-object, function

  if (!obj || Object(esm_typeof["a" /* default */])(obj) !== 'object') {
    return obj;
  } // DOM Node


  if (obj.nodeType && 'cloneNode' in obj) {
    return obj.cloneNode(true);
  } // Date


  if (_toString.call(obj) === '[object Date]') {
    return new Date(obj.getTime());
  } // RegExp


  if (_toString.call(obj) === '[object RegExp]') {
    var flags = [];

    if (obj.global) {
      flags.push('g');
    }

    if (obj.multiline) {
      flags.push('m');
    }

    if (obj.ignoreCase) {
      flags.push('i');
    }

    return new RegExp(obj.source, flags.join(''));
  }

  var result = Array.isArray(obj) ? [] : obj.constructor ? new obj.constructor() : {};

  for (var key in obj) {
    result[key] = deepClone(obj[key]);
  }

  return result;
};
/**
 * guid 生成唯一标识
 * return id
 */


var guid = function guid() {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
    var r = Math.random() * 16 | 0;
    var v = c === 'x' ? r : r & 0x3 | 0x8;
    return v.toString(16);
  });
};
/**
 * 路由守卫
 */

var beforeRouter = function beforeRouter(to, from, next, env) {
  if (to.path.indexOf('/noDevelop') !== -1) {
    Vue.prototype.$message.warning('功能正在加班开发中...');
    return;
  }

  if (!to.matched.some(function (res) {
    return res.meta.isLogin === false;
  })) {
    // 判断是否需要登录
    if (sessionStorage['token']) {
      // 存在token且有路由权限
      if (to.path === '/' || to.meta.isMenu === false || Vue.prototype.$isRouter(to.path)) {
        next();
      } else {
        next({
          path: '/405'
        });
      }
    } else {
      var param = getUrlParam();

      if (!param.code) {
        var urlList = {
          'jxcloud.3hmis.com': 'https://uc.jianxiecloud.com/usercenter/oauth/authorize?response_type=code&client_id=jxy_client&redirect_uri=http://jxcloud.3hmis.com/',
          'e.jxcloud.3hmis.com': 'https://uc.jianxiecloud.com/usercenter/oauth/authorize?response_type=code&client_id=jxyqy_client&redirect_uri=http://e.jxcloud.3hmis.com/',
          'p.jxcloud.3hmis.com': 'https://uc.jianxiecloud.com/usercenter/oauth/authorize?response_type=code&client_id=jxypt_client&redirect_uri=http://p.jxcloud.3hmis.com/',
          'e.jianxiecloud.com': 'https://uc.jianxiecloud.com/usercenter/oauth/authorize?response_type=code&client_id=ejxy_client&redirect_uri=https://e.jianxiecloud.com/',
          'p.jianxiecloud.com': 'https://uc.jianxiecloud.com/usercenter/oauth/authorize?response_type=code&client_id=pjxy_client&redirect_uri=https://p.jianxiecloud.com/'
        }; // 临使用，用户中心三个登录页跳转

        var host = window.location.host;
        sessionStorage['token'] = '';

        if (urlList[host]) {
          window.location.href = urlList[host];
        } else if (env.VUE_APP_CLIENT_ID) {
          window.location.href = "".concat(env.VUE_APP_UC_URL, "/usercenter/oauth/authorize?response_type=code&client_id=").concat(env.VUE_APP_CLIENT_ID, "&redirect_uri=").concat(env.VUE_APP_BASE_URL || location.origin);
        } else {
          next({
            path: '/login'
          });
        }
      } else {
        to.meta.code = param.code;
        to.meta.loginType = param.loginType || '';
        next();
      }
    }
  } else {
    next();
  }
}; // 获取url参数

function getUrlParam() {
  var url = window.location.href;
  var pattern = /(\w+)=(\w+)/ig;
  var parames = {};
  url.replace(pattern, function (a, b, c) {
    parames[b] = c;
  });
  return parames;
}
/**
 * 打开浏览器弹框
 * @param {String} url 地址||路由
 * @param {Number} width 弹框宽度
 * @param {Number} height 弹框高度
 */


var openBlank = function openBlank(url, width, height) {
  // 转向网页的地址;
  var name = ''; // 网页名称，可为空;

  var iWidth = width || window.screen.width * 0.8; // 弹出窗口的宽度;

  var iHeight = height || window.screen.height * 0.75; // 弹出窗口的高度;
  // window.screen.height获得屏幕的高，window.screen.width获得屏幕的宽

  var iTop = (window.screen.height - 30 - iHeight) / 2; // 获得窗口的垂直位置;

  var iLeft = (window.screen.width - 10 - iWidth) / 2; // 获得窗口的水平位置;

  var fullUrl = '';

  if (url.indexOf('http' !== 0)) {
    // 判断是否是完整路径
    fullUrl = "".concat(this.$store.state.env.VUE_APP_URL, "/#").concat(url, "?code=").concat(this.$store.state.token);
  } else {
    fullUrl = "".concat(url, "?code=").concat(this.$store.state.token);
  }

  window.open(fullUrl, name, "height=".concat(iHeight, ",innerHeight=").concat(iHeight, ",width=").concat(iWidth, ",innerWidth=").concat(iWidth, ",top=").concat(iTop, ",left=").concat(iLeft, ",toolbar=no,menubar=no,scrollbars=auto,resizeable=no,location=no,status=no"));
};
/**
 * 校验数据类型
 * @param {any} any 数据
 * @return {String} 类型
 */

var typeOf = function typeOf(obj) {
  return Object.prototype.toString.call(obj).slice(8, -1).toLowerCase();
};
/**
 * element 表单多个验证不通过，滚动到验证提示的位置
 * { String } object 验证规则
 * 备注：
 *     1.this.$refs.infoList.validate((_, object)=>{})   返回两个参数，第一个参数：验证是否成功，第二个参数：验证规则
 *     2.验证的标签上添加ref属性，名字和prop值一致。例：<el-form-item :prop="'infoData.' + scope.$index + '.coalName'" :ref="'infoData.' + scope.$index + '.coalName'" ></el-form-item>
 */

function scrollToView(_this, object) {
  for (var i in object) {
    var dom = _this.$refs[i];

    if (dom) {
      // 没有配置ref的必填项
      if (Object.prototype.toString.call(dom) !== '[object Object]') {
        // 这里是针对遍历的情况（多个输入框），取值为数组
        dom = dom[0];
      } // 第一种方法（包含动画效果）


      dom.$el.scrollIntoView({
        // 滚动到指定节点
        block: 'center',
        // 值有start,center,end，nearest，当前显示在视图区域中间
        behavior: 'smooth' // 值有auto、instant,smooth，缓动动画（当前是慢速的）

      });
    }

    break; // 因为我们只需要检测一项,所以就可以跳出循环了
  }
}
/**
 * 数组对象根据字段去重
 * @param {Array} arr 原数组
 * @param {Array} arr2 新添加数组
 * @param {String} prop 根据去重的字段名,默认 id
 * @returns {Array} 去重后新数组
 */

var common_removeDuplicate = function removeDuplicate() {
  var arr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
  var arr2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
  var prop = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'id';
  var rawList = [].concat(_toConsumableArray(arr), _toConsumableArray(arr2));
  var list = [];

  if (rawList.length) {
    var map = {};
    rawList.forEach(function (item) {
      if (!map[item[prop]]) {
        map[item[prop]] = item;
      }
    });
    list = Object.values(map);
  }

  return list;
};
/**
 * 金额格式化
 * 参数说明：
 * @param {number} number：要格式化的数字
 * @param {number} decimals：保留几位小数
 * @param {string} dec_point：小数点符号
 * @param {string} thousands_sep：千分位符号
 * */

var moneyFormat = function moneyFormat(number, decimals, dec_point, thousands_sep) {
  number = (number + '').replace(/[^0-9+-Ee.]/g, '');
  var n = !isFinite(+number) ? 0 : +number;
  var prec = !isFinite(+decimals) ? 2 : Math.abs(decimals);
  var sep = typeof thousands_sep === 'undefined' ? ',' : thousands_sep;
  var dec = typeof dec_point === 'undefined' ? '.' : dec_point;
  var s = '';

  var toFixedFix = function toFixedFix(n, prec) {
    var k = Math.pow(10, prec);
    return '' + Math.ceil(n * k) / k;
  };

  s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
  var re = /(-?\d+)(\d{3})/;

  while (re.test(s[0])) {
    s[0] = s[0].replace(re, '$1' + sep + '$2');
  }

  if ((s[1] || '').length < prec) {
    s[1] = s[1] || '';
    s[1] += new Array(prec - s[1].length + 1).join('0');
  }

  return s.join(dec);
};
/* harmony default export */ var common = ({
  deleteInfo: deleteInfo,
  parseObj: parseObj,
  getRegionName: common_getRegionName,
  getResourceCode: getResourceCode,
  isCode: isCode,
  getResourceRouter: getResourceRouter,
  isRouter: isRouter,
  downloadFile: downloadFile,
  logout: logout,
  debounce: debounce,
  throttle: throttle,
  deepClone: common_deepClone,
  guid: guid,
  beforeRouter: beforeRouter,
  openBlank: openBlank,
  typeOf: typeOf,
  scrollToView: scrollToView,
  removeDuplicate: common_removeDuplicate,
  moneyFormat: moneyFormat
});
// EXTERNAL MODULE: ./node_modules/core-js/modules/es.promise.js
var es_promise = __webpack_require__("e6cf");

// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js



function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
  try {
    var info = gen[key](arg);
    var value = info.value;
  } catch (error) {
    reject(error);
    return;
  }

  if (info.done) {
    resolve(value);
  } else {
    Promise.resolve(value).then(_next, _throw);
  }
}

function _asyncToGenerator(fn) {
  return function () {
    var self = this,
        args = arguments;
    return new Promise(function (resolve, reject) {
      var gen = fn.apply(self, args);

      function _next(value) {
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
      }

      function _throw(err) {
        asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
      }

      _next(undefined);
    });
  };
}
// EXTERNAL MODULE: ./node_modules/regenerator-runtime/runtime.js
var runtime = __webpack_require__("96cf");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.includes.js
var es_array_includes = __webpack_require__("caad");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.includes.js
var es_string_includes = __webpack_require__("2532");

// EXTERNAL MODULE: external "axios"
var external_axios_ = __webpack_require__("cebe");
var external_axios_default = /*#__PURE__*/__webpack_require__.n(external_axios_);

// CONCATENATED MODULE: ./packages/js/ajax.js






 // import qs from 'qs'
// axios 配置

external_axios_default.a.defaults.timeout = 30000; // axios.defaults.baseURL = '/api'
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded'

external_axios_default.a.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'; // axios.defaults.transformRequest = [function (data) {
//   return qs.stringify(data)
// }]

external_axios_default.a.defaults.validateStatus = function (status) {
  // 约定200和201为成功
  return status === 200 || status === 201;
};

external_axios_default.a.interceptors.request.use(function (config) {
  // 请求头token
  var token = sessionStorage.getItem('token');

  if (token) {
    config.headers.Authorization = 'Bearer ' + token;
  }

  return config;
}, function (error) {
  window.console.log(0, error); // 对请求错误做些什么

  return Promise.reject(error);
}); // http response 拦截器

external_axios_default.a.interceptors.response.use(function (resp) {
  return resp;
}, function (error) {
  var message = error.message;

  if (message === 'Network Error') {
    message = '服务器开了小差，请稍后重试！';
  } else if (message.includes('timeout')) {
    message = '接口请求超时';
  } else if (message.includes('Request failed with status code')) {
    message = '接口' + message.substr(message.length - 3) + '异常';
  }

  return Promise.reject({
    code: 99,
    msg: message,
    data: error
  });
});

var failureFun = function failureFun(error) {
  Vue.prototype.$message.error(error.msg);
};
/**
 * get请求方法
 * @param {String} url 接口
 * @param {Object} data  请求参数
 * @param {functiong} success 成功回调
 * @param {functiong} failure 失败回调
 * @param {Object} config 配置
 */


var ajax_get = function get(url) {
  var _this = this;

  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  var success = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
  var failure = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : failureFun;
  var config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
  external_axios_default.a.get(url, {
    params: data
  }, config).then(function (_ref) {
    var data = _ref.data;

    if (data.code === 0) {
      success(data);
    } else if (data.code === 2) {
      // 登录过期
      _this.$logout(true);
    } else if (data.code === 4) {
      // 没有权限
      _this.$logout(true, data.msg);
    } else {
      failure(data);
    }
  }).catch(function (error) {
    failure(error);
  });
};

var ajax_post = function post(url) {
  var _this2 = this;

  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  var success = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};
  var failure = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : failureFun;
  var config = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
  external_axios_default.a.post(url, data, config).then(function (_ref2) {
    var data = _ref2.data;

    if (data.code === 0) {
      success(data);
    } else if (data.code === 2) {
      // 登录过期
      _this2.$logout(true);
    } else if (data.code === 4) {
      // 没有权限
      _this2.$logout(true, data.msg);
    } else {
      failure(data);
    }
  }).catch(function (error) {
    failure(error);
  });
};

var postSync = /*#__PURE__*/function () {
  var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(url) {
    var _this3 = this;

    var data,
        msg,
        config,
        _args = arguments;
    return regeneratorRuntime.wrap(function _callee$(_context) {
      while (1) {
        switch (_context.prev = _context.next) {
          case 0:
            data = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
            msg = _args.length > 2 && _args[2] !== undefined ? _args[2] : true;
            config = _args.length > 3 && _args[3] !== undefined ? _args[3] : {};
            return _context.abrupt("return", new Promise(function (resolve, reject) {
              external_axios_default.a.post(url, data, config).then(function (_ref4) {
                var data = _ref4.data;

                if (data.code === 2) {
                  // 登录过期
                  _this3.$logout(true);
                } else if (data.code === 4) {
                  // 没有权限
                  _this3.$logout(true, data.msg);
                } else if (data.code !== 0 && msg) {
                  failureFun(data);
                }

                resolve(data);
              }, function (error) {
                if (msg) {
                  failureFun(error);
                }

                resolve(error);
              });
            }));

          case 4:
          case "end":
            return _context.stop();
        }
      }
    }, _callee);
  }));

  return function postSync(_x) {
    return _ref3.apply(this, arguments);
  };
}();

var getSync = /*#__PURE__*/function () {
  var _ref5 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(url) {
    var _this4 = this;

    var data,
        msg,
        config,
        _args2 = arguments;
    return regeneratorRuntime.wrap(function _callee2$(_context2) {
      while (1) {
        switch (_context2.prev = _context2.next) {
          case 0:
            data = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : {};
            msg = _args2.length > 2 && _args2[2] !== undefined ? _args2[2] : true;
            config = _args2.length > 3 && _args2[3] !== undefined ? _args2[3] : {};
            return _context2.abrupt("return", new Promise(function (resolve, reject) {
              external_axios_default.a.get(url, data, config).then(function (_ref6) {
                var data = _ref6.data;

                if (data.code === 2) {
                  // 登录过期
                  _this4.$logout(true);
                } else if (data.code === 4) {
                  // 没有权限
                  _this4.$logout(true, data.msg);
                } else if (data.code !== 0 && msg) {
                  failureFun(data);
                }

                resolve(data);
              }, function (error) {
                if (msg) {
                  failureFun(error);
                }

                resolve(error);
              });
            }));

          case 4:
          case "end":
            return _context2.stop();
        }
      }
    }, _callee2);
  }));

  return function getSync(_x2) {
    return _ref5.apply(this, arguments);
  };
}();

/* harmony default export */ var ajax = (external_axios_default.a);

// EXTERNAL MODULE: external "ELEMENT"
var external_ELEMENT_ = __webpack_require__("5f72");

// CONCATENATED MODULE: ./packages/js/element.js


var messageInstance = null;

var element_resetMessage = function resetMessage(options, close) {
  // 如果已经存在实例则关闭
  if (messageInstance) {
    messageInstance.close();
  } // 不存在实例则赋予实例


  messageInstance = Object(external_ELEMENT_["Message"])(options); // 当有关闭参数的时候关闭实例,为什么添加close参数后面详细说明

  if (close) {
    messageInstance.close();
  }
};

['error', 'success', 'info', 'warning'].forEach(function (type) {
  element_resetMessage[type] = function (options) {
    if (typeof options === 'string') {
      options = {
        message: options
      };
    }

    options.type = type;
    return element_resetMessage(options);
  };
});
var message = element_resetMessage;
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Form.vue?vue&type=template&id=62bfa550&
var Formvue_type_template_id_62bfa550_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-form',_vm._g(_vm._b({ref:"form",class:_vm.formClassName,attrs:{"label-width":_vm.labelWidth}},'el-form',_vm.$attrs,false),_vm.$listeners),[_c('el-row',{attrs:{"gutter":_vm.gutter}},[_vm._t("default")],2)],1)}
var staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Form.vue?vue&type=template&id=62bfa550&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.constructor.js
var es_number_constructor = __webpack_require__("a9e3");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Form.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
/* harmony default export */ var Formvue_type_script_lang_js_ = ({
  name: 'ShForm',
  props: {
    gutter: {
      type: Number,
      default: 30
    },
    labelWidth: {
      type: String,
      default: '82px'
    },
    isStyle: {
      type: Boolean,
      default: true
    },
    className: String
  },
  computed: {
    formClassName: function formClassName() {
      return this.className || (this.$SANHUI || {}).formClassName;
    }
  },
  methods: {
    // 表单校验
    validate: function validate(callback) {
      this.$refs.form.validate(function (valid, obj) {
        callback(valid, obj);
      });
    },
    validateField: function validateField(props, callback) {
      this.$refs.form.validateField(props, function (valid) {
        callback(valid);
      });
    },
    // 重置表单
    resetFields: function resetFields() {
      this.$refs.form.resetFields();
    },
    // 移除表单项的校验结果
    clearValidate: function clearValidate(props) {
      this.$refs.form.clearValidate(props);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Form.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Formvue_type_script_lang_js_ = (Formvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Form.vue?vue&type=style&index=0&lang=scss&
var Formvue_type_style_index_0_lang_scss_ = __webpack_require__("9bb1");

// CONCATENATED MODULE: ./node_modules/vue-loader/lib/runtime/componentNormalizer.js
/* globals __VUE_SSR_CONTEXT__ */

// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).
// This module is a runtime utility for cleaner component module output and will
// be included in the final webpack user bundle.

function normalizeComponent (
  scriptExports,
  render,
  staticRenderFns,
  functionalTemplate,
  injectStyles,
  scopeId,
  moduleIdentifier, /* server only */
  shadowMode /* vue-cli only */
) {
  // Vue.extend constructor export interop
  var options = typeof scriptExports === 'function'
    ? scriptExports.options
    : scriptExports

  // render functions
  if (render) {
    options.render = render
    options.staticRenderFns = staticRenderFns
    options._compiled = true
  }

  // functional template
  if (functionalTemplate) {
    options.functional = true
  }

  // scopedId
  if (scopeId) {
    options._scopeId = 'data-v-' + scopeId
  }

  var hook
  if (moduleIdentifier) { // server build
    hook = function (context) {
      // 2.3 injection
      context =
        context || // cached call
        (this.$vnode && this.$vnode.ssrContext) || // stateful
        (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
      // 2.2 with runInNewContext: true
      if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
        context = __VUE_SSR_CONTEXT__
      }
      // inject component styles
      if (injectStyles) {
        injectStyles.call(this, context)
      }
      // register component module identifier for async chunk inferrence
      if (context && context._registeredComponents) {
        context._registeredComponents.add(moduleIdentifier)
      }
    }
    // used by ssr in case component is cached and beforeCreate
    // never gets called
    options._ssrRegister = hook
  } else if (injectStyles) {
    hook = shadowMode
      ? function () {
        injectStyles.call(
          this,
          (options.functional ? this.parent : this).$root.$options.shadowRoot
        )
      }
      : injectStyles
  }

  if (hook) {
    if (options.functional) {
      // for template-only hot-reload because in that case the render fn doesn't
      // go through the normalizer
      options._injectStyles = hook
      // register for functional component in vue file
      var originalRender = options.render
      options.render = function renderWithStyleInjection (h, context) {
        hook.call(context)
        return originalRender(h, context)
      }
    } else {
      // inject component registration as beforeCreate hook
      var existing = options.beforeCreate
      options.beforeCreate = existing
        ? [].concat(existing, hook)
        : [hook]
    }
  }

  return {
    exports: scriptExports,
    options: options
  }
}

// CONCATENATED MODULE: ./packages/components/Form.vue






/* normalize component */

var component = normalizeComponent(
  components_Formvue_type_script_lang_js_,
  Formvue_type_template_id_62bfa550_render,
  staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Form = (component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormItem.vue?vue&type=template&id=efa34be6&
var FormItemvue_type_template_id_efa34be6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-col',{staticClass:"sh-col",attrs:{"span":_vm.span,"xs":_vm.isXs,"sm":_vm.isSm,"md":_vm.isMd,"lg":_vm.isLg,"xl":_vm.isXl}},[_c('el-form-item',_vm._b({attrs:{"rules":_vm.rule,"label":_vm.label}},'el-form-item',_vm.$attrs,false),[_vm._t("default"),_c('template',{slot:"label"},[_vm._t("label")],2)],2)],1)}
var FormItemvue_type_template_id_efa34be6_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/FormItem.vue?vue&type=template&id=efa34be6&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.search.js
var es_string_search = __webpack_require__("841c");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormItem.vue?vue&type=script&lang=js&










//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FormItemvue_type_script_lang_js_ = ({
  name: 'ShFormItem',
  inject: ['elForm'],
  props: {
    span: Number,
    xs: Number,
    sm: Number,
    md: Number,
    lg: Number,
    xl: Number,
    rules: {
      type: [String, Array],
      default: ''
    },
    label: String
  },
  computed: {
    isXl: function isXl() {
      return this.xl || this.span || this.elForm.$attrs.xl || (this.elForm.$attrs.responsive ? 6 : undefined);
    },
    isLg: function isLg() {
      return this.lg || this.span || this.elForm.$attrs.lg || (this.elForm.$attrs.responsive ? 8 : undefined);
    },
    isMd: function isMd() {
      return this.md || this.span || this.elForm.$attrs.md || (this.elForm.$attrs.responsive ? 12 : undefined);
    },
    isSm: function isSm() {
      return this.sm || this.span || this.elForm.$attrs.sm || (this.elForm.$attrs.responsive ? 12 : undefined);
    },
    isXs: function isXs() {
      return this.xs || this.span || this.elForm.$attrs.xs || (this.elForm.$attrs.responsive ? 12 : undefined);
    }
  },
  watch: {
    rules: {
      // rules 改变的时候生成校验规则
      handler: function handler(val) {
        var _this = this;

        if (val) {
          var data = val;
          var arr = [];

          if (typeof data === 'string') {
            // 当传入字符串的时候通过||转为数组
            data = data.split('||');
          }

          data.forEach(function (item) {
            if (typeof item === 'string' && _this.ruleObj[item]) {
              var obj = _this.ruleObj[item];
              item === 'required' && _this.label ? obj.message = "".concat(_this.label.replace(':', ''), "\u4E0D\u80FD\u4E3A\u7A7A") : '';
              arr.push(obj);
            } else {
              if (_this.ruleObj[item.type]) {
                arr.push(_this.addRules(item));
              } else {
                arr.push(item);
              }
            }
          });
          this.rule = arr;
        } else {
          this.rule = [];
        }
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      rule: [],
      ruleObj: {
        required: {
          required: true,
          message: '必填项不能为空',
          trigger: 'change'
        },
        number: {
          type: 'number',
          message: '请输入数字',
          trigger: 'blur'
        },
        integer: {
          type: 'integer',
          message: '请输入整数',
          trigger: 'blur'
        },
        email: {
          type: 'email',
          message: '请输入正确的邮箱',
          trigger: 'blur'
        },
        date: {
          type: 'date',
          message: "\u8BF7\u8F93\u5165\u6B63\u786E\u7684\u65E5\u671F",
          trigger: 'blur'
        },
        phone: {
          pattern: /^1[3-9]\d{9}$/,
          message: '请输入正确的手机号',
          trigger: 'blur'
        },
        special: {
          pattern: /^[^`~!#$%^&*+=\\|{};:"',/<>?]*$/,
          message: '不能含有特殊字符！！',
          trigger: 'blur'
        },
        // account: { pattern: /^(?!^\d+$)(?!^[A-Za-z]+$)(?!^_+$)^\w{6,18}$/, message: '6-18位包含数字、字母、下划线中的两种及以上', trigger: 'blur' },
        // password: {
        //   pattern: /((^(?=.*[a-z])(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,25}$)|(^(?=.*\d)(?=.*[A-Z])(?=.*\W)[\da-zA-Z\W]{8,25}$)|(^(?=.*\d)(?=.*[a-z])(?=.*\W)[\da-zA-Z\W]{8,25}$)|(^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[\da-zA-Z\W]{8,25}$))/,
        //   message: '8-25位数字、字母大小写、特殊字符三种及以上',
        //   trigger: 'blur'
        // },
        account: {
          validator: this.checkAccount,
          trigger: 'blur'
        },
        password: {
          validator: this.checkPassword,
          trigger: 'blur'
        },
        identity: {
          pattern: /(^\d{15}$)|(^\d{17}(x|X|\d)$)/,
          message: '请输入正确的身份证号',
          trigger: 'blur'
        },
        unifiedcode: {
          pattern: /^([0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}|[1-9]\d{14})$/,
          message: '请输入正确的统一社会信用代码',
          trigger: 'blur'
        },
        url: {
          pattern: /(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,
          message: '请输入正确的url',
          trigger: 'blur'
        },
        api: {
          validator: this.checkParam,
          trigger: 'blur'
        }
      }
    };
  },
  methods: {
    /**
     * param type 类型
     * param msg 输入框label
     * param message 校验提示信息
     * param trigger 校验触发方式
     * @routrun Object 生成的校验信息
     */
    addRules: function addRules(item) {
      var obj = this.ruleObj[item.type];
      this.$parseObj(obj, item, ['message', 'trigger', 'api', 'param', 'search']);
      return obj;
    },
    checkPasswordStr: function checkPasswordStr(str) {
      // 密码校验规则
      var count = 0;
      if (/\d/.test(str)) count++;
      if (/[a-z]/.test(str)) count++;
      if (/[A-Z]/.test(str)) count++;
      if (/[~!@#$%^&*()_+-]/.test(str)) count++;
      return count;
    },
    checkPassword: function checkPassword(rule, value, callback) {
      var _this2 = this;

      // 校验密码
      var is = false; // 非法字符判断

      value.split('').forEach(function (item) {
        if (_this2.checkPasswordStr(item) === 0) {
          is = true;
        }
      });
      var len = value.length;

      if (is) {
        callback(new Error('密码设置不符合要求'));
      } else if (len < 8 || len > 25) {
        callback(new Error('必须为8-25位'));
      } else if (this.checkPasswordStr(value) < 3) {
        callback(new Error('必须且仅包含数字、字母大小写、特殊字符三种或以上'));
      } else {
        callback();
      }
    },
    checkAccountStr: function checkAccountStr(str) {
      // 账号校验规则
      var count = 0;
      if (/\d/.test(str)) count++;
      if (/[a-zA-Z]/.test(str)) count++;
      if (/[_]/.test(str)) count++;
      return count;
    },
    checkAccount: function checkAccount(rule, value, callback) {
      var _this3 = this;

      // 校验账号
      var is = false; // 非法字符判断

      value.split('').forEach(function (item) {
        if (_this3.checkAccountStr(item) === 0) {
          is = true;
        }
      });
      var len = value.length;

      if (is) {
        // callback(new Error('非法字符'))
        callback(new Error('账号设置不符合要求'));
      } else if (len < 6 || len > 15) {
        callback(new Error('必须为6-15位'));
      } else if (this.checkAccountStr(value) < 2) {
        callback(new Error('必须且仅包含数字、字母、下划线中的两种或以上'));
      } else {
        callback();
      }
    },
    checkParam: function checkParam(rule, value, callback) {
      // 调用接口进行校验
      var search = {};
      search[rule.param] = value;
      rule.search ? search = _objectSpread2(_objectSpread2({}, search), rule.search) : '';
      this.$post(rule.api, search, function (data) {
        callback();
      }, function (error) {
        callback(new Error(error.msg || rule.message));
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/components/FormItem.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_FormItemvue_type_script_lang_js_ = (FormItemvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/FormItem.vue





/* normalize component */

var FormItem_component = normalizeComponent(
  components_FormItemvue_type_script_lang_js_,
  FormItemvue_type_template_id_efa34be6_render,
  FormItemvue_type_template_id_efa34be6_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var FormItem = (FormItem_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Search.vue?vue&type=template&id=8c09caa2&scoped=true&
var Searchvue_type_template_id_8c09caa2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-search"},[_c('div',{ref:"search",staticClass:"sh-search-wrap",style:({height: _vm.searchHeight})},[_c('el-row',{attrs:{"gutter":_vm.btnGutter}},[_c('el-col',{attrs:{"span":24-_vm.btnSpan}},[_c('sh-form',_vm._b({ref:"form",attrs:{"className":"sh-form","gutter":30,"labelWidth":_vm.labelWidth}},'sh-form',_vm.$attrs,false),[_vm._t("default")],2)],1),_c('el-col',{attrs:{"span":_vm.btnSpan}},[(_vm.height > this.itemHeiht + 2)?_c('el-button',{staticClass:"more",attrs:{"type":"text"},on:{"click":function($event){_vm.isUnfold = !_vm.isUnfold}}},[_vm._v(" 更多查询 "),_c('i',{class:_vm.isUnfold ? 'el-icon-arrow-up' : 'el-icon-arrow-down'})]):_vm._e(),_c('div',{staticClass:"btn"},[_vm._t("btn"),(_vm.resetBtn)?_c('el-button',{staticClass:"reset",attrs:{"type":"primary"},on:{"click":function($event){return _vm.resetFields()}}},[_vm._v("重置")]):_vm._e()],2)],1)],1)],1)])}
var Searchvue_type_template_id_8c09caa2_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Search.vue?vue&type=template&id=8c09caa2&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Search.vue?vue&type=script&lang=js&



//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Searchvue_type_script_lang_js_ = ({
  name: 'ShSearch',
  props: {
    btnGutter: {
      type: Number,
      default: 30
    },
    btnSpan: {
      type: Number,
      default: 8
    },
    resetBtn: Boolean,
    labelWidth: {
      type: String,
      default: '72px'
    }
  },
  computed: {
    // 控制是否展开height
    searchHeight: function searchHeight() {
      var str = 'auto';

      if (this.height > this.itemHeiht) {
        str = this.height > this.itemHeiht && this.isUnfold ? "".concat(this.height, "px") : "".concat(this.itemHeiht, "px");
      }

      return str;
    }
  },
  data: function data() {
    return {
      height: 0,
      itemHeiht: 58 * 2,
      // 单行高度
      isUnfold: false // 是否展开

    };
  },
  methods: {
    // 校验方法
    validate: function validate(callback) {
      this.$refs.form.validate(function (valid) {
        callback(valid);
      });
    },
    // 重置表单
    resetFields: function resetFields(formName) {
      this.$refs.form.resetFields();
    },
    getHeight: function getHeight() {
      var _this = this;

      // 获取search的高度
      this.$nextTick(function () {
        _this.height = _this.$refs.search.offsetHeight;
      });
    }
  },
  mounted: function mounted() {
    this.getHeight();
  }
});
// CONCATENATED MODULE: ./packages/components/Search.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Searchvue_type_script_lang_js_ = (Searchvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Search.vue?vue&type=style&index=0&id=8c09caa2&lang=scss&scoped=true&
var Searchvue_type_style_index_0_id_8c09caa2_lang_scss_scoped_true_ = __webpack_require__("21bd");

// CONCATENATED MODULE: ./packages/components/Search.vue






/* normalize component */

var Search_component = normalizeComponent(
  components_Searchvue_type_script_lang_js_,
  Searchvue_type_template_id_8c09caa2_scoped_true_render,
  Searchvue_type_template_id_8c09caa2_scoped_true_staticRenderFns,
  false,
  null,
  "8c09caa2",
  null
  
)

/* harmony default export */ var Search = (Search_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Table.vue?vue&type=template&id=522417c6&
var Tablevue_type_template_id_522417c6_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.tableClassName},[_c('el-table',_vm._g(_vm._b({directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],ref:"table",attrs:{"data":_vm.tableData,"stripe":_vm.stripe,"height":_vm.tableHeight,"border":_vm.showBorder,"tooltip-effect":_vm.light}},'el-table',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_c('template',{slot:"empty"},[(_vm.showEmpty)?_c('span'):(!_vm.$slots.empty && _vm.empty)?_c('sh-empty'):_vm._t("empty")],2)],2),(_vm.showPage)?_c('el-pagination',{staticClass:"sh-page",attrs:{"page-sizes":_vm.pageSizesArr,"layout":_vm.layout,"total":_vm.tableCount,"page-size":_vm.tableLimit,"current-page":_vm.tablePage},on:{"size-change":_vm.handleSizeChange,"current-change":_vm.handleCurrentChange}}):_vm._e()],1)}
var Tablevue_type_template_id_522417c6_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Table.vue?vue&type=template&id=522417c6&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Table.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Tablevue_type_script_lang_js_ = ({
  name: 'ShTable',
  props: {
    api: String,
    layout: String,
    pageSizes: Array,
    param: {
      // 检索内容
      type: Object,
      default: function _default() {
        return {};
      }
    },
    data: Array,
    limit: Number,
    page: Number,
    count: Number,
    border: String,
    showPage: {
      // 是否显示分页
      type: Boolean,
      default: true
    },
    stripe: {
      type: Boolean,
      default: true
    },
    defaultLoad: {
      type: Boolean,
      default: true
    },
    height: String,
    empty: {
      type: Boolean,
      default: true
    },
    className: String
  },
  watch: {
    data: {
      handler: function handler(val) {
        if (val) {
          this.tableData = val;
          this.showEmpty = false;
        }
      },
      immediate: true
    },
    page: {
      handler: function handler(val) {
        if (val) {
          this.tablePage = val;
        }
      },
      immediate: true
    },
    limit: {
      handler: function handler(val) {
        if (val) {
          this.tableLimit = val;
        }
      },
      immediate: true
    },
    count: {
      handler: function handler(val) {
        this.tableCount = val;
      },
      immediate: true
    },
    param: {
      handler: function handler(val) {
        this.tablePage = 1;
      }
    }
  },
  computed: {
    tableHeight: function tableHeight() {
      var h = '534px';

      if (!this.empty) {
        h = undefined;
      } else if (this.tableClassName === 'xy-table') {
        h = '674px';
      }

      return this.height || h;
    },
    tableClassName: function tableClassName() {
      return this.className || (this.$SANHUI || {}).tableClassName;
    },
    pageSizesArr: function pageSizesArr() {
      var arr = [10, 20, 50, 100];

      if (this.tableClassName === 'xy-table') {
        arr = [15, 30, 100];
      }

      return this.pageSizes || arr;
    },
    showBorder: function showBorder() {
      return this.border || this.tableClassName === 'xy-table';
    }
  },
  data: function data() {
    return {
      tablePage: 1,
      tableLimit: 10,
      tableCount: 0,
      tableData: [],
      loading: false,
      showEmpty: true
    };
  },
  methods: {
    // 每页多少条
    handleSizeChange: function handleSizeChange(val) {
      this.tableLimit = val;
      this.$emit('update:limit', val);
      this.loadList();
    },
    // 当前页
    handleCurrentChange: function handleCurrentChange(val) {
      this.tablePage = val;
      this.$emit('update:page', val);
      this.loadList(true);
    },
    // 加载table
    loadList: function loadList() {
      var _this = this;

      if (this.api) {
        this.loading = true;
        this.$post(this.api, _objectSpread2(_objectSpread2({}, this.param), {}, {
          page: this.tablePage,
          limit: this.tableLimit
        }), function (data) {
          _this.tableData = data.data;

          _this.$emit('update:data', _this.tableData);

          _this.tableCount = data.count || 0;
          _this.loading = false;
          _this.showEmpty = false; // 判断如果总页数少于当前页的时候就重置当前页为1

          if (_this.tableCount / _this.tableLimit + 1 < _this.tablePage) {
            _this.tablePage = 1;

            _this.loadList();
          }
        }, function (error) {
          _this.loading = false;
          _this.showEmpty = false;

          _this.$message.error(error.msg);
        });
      } else {
        this.$emit('loadList');
      }
    },
    toggleRowSelection: function toggleRowSelection(row, selected) {
      this.$refs.table.toggleRowSelection(row, selected);
    },
    clearSelection: function clearSelection() {
      this.$refs.table.clearSelection();
    }
  },
  created: function created() {
    if (!this.limit && this.tableClassName === 'xy-table') {
      this.tableLimit = 15;
    }

    if (this.defaultLoad && this.api) {
      this.loadList();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Table.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Tablevue_type_script_lang_js_ = (Tablevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Table.vue?vue&type=style&index=0&lang=scss&
var Tablevue_type_style_index_0_lang_scss_ = __webpack_require__("5f6e");

// CONCATENATED MODULE: ./packages/components/Table.vue






/* normalize component */

var Table_component = normalizeComponent(
  components_Tablevue_type_script_lang_js_,
  Tablevue_type_template_id_522417c6_render,
  Tablevue_type_template_id_522417c6_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Table = (Table_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TableBlock.vue?vue&type=template&id=ca31104a&scoped=true&
var TableBlockvue_type_template_id_ca31104a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-table-block"},[(_vm.tableData && _vm.tableData.length)?_c('div',{class:{body: _vm.height},style:({height: _vm.showPage ? ("calc(" + _vm.height + " - 46px)"): _vm.height})},[_c('el-row',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"list",attrs:{"gutter":20}},_vm._l((_vm.tableData),function(item,index){return _c('el-col',{key:index,attrs:{"span":_vm.span}},[_c('div',{staticClass:"list-item",class:{block: _vm.span != 24}},[_vm._t("default",null,{"row":item,"index":index})],2)])}),1)],1):_vm._e(),(_vm.showEmpty && !(_vm.tableData &&_vm.tableData.length))?_c('sh-empty',{attrs:{"height":_vm.showPage ? ("calc(" + _vm.height + " - 46px)"): _vm.height}}):_vm._e(),(_vm.showPage)?_c('el-pagination',{staticClass:"sh-page",attrs:{"page-sizes":_vm.pageSizes,"layout":_vm.layout,"total":_vm.tableCount,"page-size":_vm.tableLimit,"current-page":_vm.tablePage},on:{"size-change":_vm.handleSizeChange,"current-change":_vm.handleCurrentChange}}):_vm._e()],1)}
var TableBlockvue_type_template_id_ca31104a_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/TableBlock.vue?vue&type=template&id=ca31104a&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TableBlock.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var TableBlockvue_type_script_lang_js_ = ({
  name: 'ShTableBlock',
  props: {
    api: String,
    layout: String,
    pageSizes: Array,
    param: {
      // 检索内容
      type: Object,
      default: function _default() {
        return {};
      }
    },
    data: Array,
    limit: Number,
    page: Number,
    count: Number,
    showPage: {
      // 是否显示分页
      type: Boolean,
      default: true
    },
    defaultLoad: {
      type: Boolean,
      default: true
    },
    empty: {
      type: Boolean,
      default: true
    },
    span: {
      type: Number,
      default: 24
    },
    height: String
  },
  watch: {
    data: {
      handler: function handler(val) {
        this.tableData = val;
      },
      immediate: true
    },
    page: {
      handler: function handler(val) {
        if (val) {
          this.tablePage = val;
        }
      },
      immediate: true
    },
    limit: {
      handler: function handler(val) {
        if (val) {
          this.tableLimit = val;
        }
      },
      immediate: true
    },
    count: {
      handler: function handler(val) {
        this.tableCount = val;
      },
      immediate: true
    },
    param: {
      handler: function handler(val) {
        this.tablePage = 1;
      }
    }
  },
  computed: {
    tableHeight: function tableHeight() {
      var str = this.height;

      if (!this.empty && str === '534px') {
        str = undefined;
      }

      return str;
    }
  },
  data: function data() {
    return {
      tablePage: 1,
      tableLimit: 10,
      tableCount: 0,
      tableData: [],
      loading: false,
      showEmpty: false
    };
  },
  methods: {
    // 每页多少条
    handleSizeChange: function handleSizeChange(val) {
      this.tableLimit = val;
      this.$emit('update:limit', val);
      this.loadList();
    },
    // 当前页
    handleCurrentChange: function handleCurrentChange(val) {
      this.tablePage = val;
      this.$emit('update:page', val);
      this.loadList(true);
    },
    // 加载table
    loadList: function loadList(firstPage) {
      var _this = this;

      if (!firstPage) {
        this.tablePage = 1;
      }

      if (this.api) {
        this.loading = true;
        this.$post(this.api, _objectSpread2(_objectSpread2({}, this.param), {}, {
          page: this.tablePage,
          limit: this.tableLimit
        }), function (data) {
          _this.tableData = data.data;

          _this.$emit('update:data', _this.tableData);

          _this.tableCount = data.count || 0;
          _this.loading = false;
          _this.showEmpty = true;
        }, function (error) {
          _this.loading = false;
          _this.showEmpty = true;

          _this.$message.error(error.msg);
        });
      } else {
        this.$emit('loadList');
      }
    },
    toggleRowSelection: function toggleRowSelection(row, selected) {
      this.$refs.table.toggleRowSelection(row, selected);
    },
    clearSelection: function clearSelection() {
      this.$refs.table.clearSelection();
    }
  },
  created: function created() {
    if (this.defaultLoad && this.api) {
      this.loadList();
    } else {
      this.showEmpty = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/components/TableBlock.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_TableBlockvue_type_script_lang_js_ = (TableBlockvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/TableBlock.vue?vue&type=style&index=0&id=ca31104a&lang=scss&scoped=true&
var TableBlockvue_type_style_index_0_id_ca31104a_lang_scss_scoped_true_ = __webpack_require__("1204");

// CONCATENATED MODULE: ./packages/components/TableBlock.vue






/* normalize component */

var TableBlock_component = normalizeComponent(
  components_TableBlockvue_type_script_lang_js_,
  TableBlockvue_type_template_id_ca31104a_scoped_true_render,
  TableBlockvue_type_template_id_ca31104a_scoped_true_staticRenderFns,
  false,
  null,
  "ca31104a",
  null
  
)

/* harmony default export */ var TableBlock = (TableBlock_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectSearch.vue?vue&type=template&id=374841c4&
var SelectSearchvue_type_template_id_374841c4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',_vm._b({attrs:{"filterable":"","remote":"","reserve-keyword":"","remote-method":_vm.loadList,"loading":_vm.loading},on:{"blur":_vm.blur,"change":_vm.change},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:"input"}},'el-select',_vm.$attrs,false),_vm._l((_vm.options),function(item,index){return _c('el-option',{key:index,attrs:{"label":item.label,"value":item.value}})}),1)}
var SelectSearchvue_type_template_id_374841c4_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SelectSearch.vue?vue&type=template&id=374841c4&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectSearch.vue?vue&type=script&lang=js&




//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SelectSearchvue_type_script_lang_js_ = ({
  name: 'ShSelectSearch',
  props: {
    api: String,
    value: String,
    defaultProps: {
      type: Object,
      default: function _default() {
        return {
          label: 'label',
          value: 'value'
        };
      }
    },
    page: {
      type: Number,
      default: 1
    },
    limit: {
      type: Number,
      default: 10
    },
    param: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    defaultLoad: {
      type: Boolean,
      default: true
    }
  },
  watch: {
    input: function input(val) {
      this.$emit('input', val);
    },
    value: {
      handler: function handler(val) {
        this.input = val;
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      input: '',
      loading: false,
      options: [],
      list: []
    };
  },
  methods: {
    change: function change(val) {
      var _this = this;

      this.list.forEach(function (item) {
        if (val === item[_this.defaultProps.value]) {
          _this.$emit('change', item);
        }
      });
    },
    blur: function blur() {
      if (this.options.length === 0) {
        this.loadList();
      }
    },
    loadList: function loadList(value) {
      var _this2 = this;

      this.loading = true;

      var obj = _objectSpread2({}, this.param);

      obj[this.defaultProps.label] = value || '';
      obj.page = this.page;
      obj.limit = this.limit;
      this.$post(this.api, obj, function (data) {
        _this2.options = [];
        _this2.list = data.data;
        data.data.forEach(function (item) {
          _this2.options.push({
            label: item[_this2.defaultProps.label],
            value: item[_this2.defaultProps.value]
          });
        });
        _this2.loading = false;
      }, function (error) {
        _this2.$message.error(error.msg);

        _this2.loading = false;
      });
    }
  },
  mounted: function mounted() {
    this.loadList();
  }
});
// CONCATENATED MODULE: ./packages/components/SelectSearch.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SelectSearchvue_type_script_lang_js_ = (SelectSearchvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/SelectSearch.vue





/* normalize component */

var SelectSearch_component = normalizeComponent(
  components_SelectSearchvue_type_script_lang_js_,
  SelectSearchvue_type_template_id_374841c4_render,
  SelectSearchvue_type_template_id_374841c4_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var SelectSearch = (SelectSearch_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SearchArea.vue?vue&type=template&id=f73d3bde&scoped=true&
var SearchAreavue_type_template_id_f73d3bde_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"search sh-search-area"},[_c('div',{staticClass:"clearfix"},[_c('div',{staticClass:"search-left"},[_vm._t("btn")],2),_c('div',{staticClass:"search-right"},[(_vm.dropdownList && _vm.dropdownList.length > 1)?_c('el-dropdown',{attrs:{"trigger":"click"}},[_c('span',{staticClass:"el-dropdown-link"},[_c('el-input',{ref:"input",staticClass:"search-input",attrs:{"size":"small","placeholder":"请输入","value":_vm.isFocus ? _vm.value: _vm.valueName},on:{"input":_vm.input,"focus":_vm.focus,"blur":_vm.blur}})],1),_c('el-dropdown-menu',{style:({ 'min-width': _vm.minWidth }),attrs:{"slot":"dropdown"},slot:"dropdown"},_vm._l((_vm.dropdownList),function(item){return _c('el-dropdown-item',{key:item.code,attrs:{"command":item.code},nativeOn:{"click":function($event){return _vm.handleCommand(item)}}},[_vm._v(_vm._s(((item.label) + "：" + _vm.value)))])}),1)],1):_c('el-input',{ref:"input",staticClass:"search-input",attrs:{"size":"small","placeholder":("请输入" + (_vm.dropdownList[0].label)),"value":_vm.value},on:{"input":_vm.input}}),(_vm.$slots.default)?_c('el-button',{staticClass:"more btn",attrs:{"type":"primary","size":"small"},on:{"click":function($event){$event.stopPropagation();_vm.isMore = !_vm.isMore}}},[_vm._v(" 更多查询 "),_c('i',{class:_vm.isMore ? 'el-icon-arrow-down' : 'el-icon-arrow-up'})]):_vm._e(),_c('el-button',{staticClass:"btn",attrs:{"size":"small"},on:{"click":_vm.resetFields}},[_vm._v("重置")])],1)]),_c('transition',{attrs:{"name":"el-zoom-in-top"}},[_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.isMore),expression:"isMore"}],ref:"content",staticClass:"search-content",on:{"click":function($event){$event.stopPropagation();}}},[_c('sh-form',_vm._g(_vm._b({ref:"form",staticClass:"search-form",attrs:{"model":_vm.form,"className":_vm.className}},'sh-form',_vm.$attrs,false),_vm.$listeners),[_vm._t("default")],2)],1)])],1)}
var SearchAreavue_type_template_id_f73d3bde_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SearchArea.vue?vue&type=template&id=f73d3bde&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SearchArea.vue?vue&type=script&lang=js&





//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var SearchAreavue_type_script_lang_js_ = ({
  name: 'ShSearchArea',
  props: {
    form: Object,
    dropdownList: Array,
    className: {
      type: String,
      default: 'xy-form'
    },
    props: String
  },
  watch: {
    form: {
      handler: function handler() {
        this.loadList();
      },
      deep: true
    }
  },
  computed: {
    // 下拉名字拼接
    valueName: function valueName() {
      var str = this.value;

      if (this.label && this.value) {
        str = "".concat(this.label, "\uFF1A").concat(this.value);
      }

      return str;
    }
  },
  data: function data() {
    return {
      value: '',
      key: '',
      label: '',
      minWidth: '50px',
      isMore: false,
      isFocus: false
    };
  },
  methods: {
    loadList: common.debounce(function () {
      // 节流函数
      // this.isMore = false;
      this.$emit('loadList');
    }, 500),
    resetFields: function resetFields() {
      var _this = this;

      // 重置表单
      this.label = '';
      this.key = '';
      this.value = '';
      this.props && this.props.split('||').forEach(function (item) {
        _this.form[item] = '';
      });
      this.dropdownList.forEach(function (item) {
        _this.form[item.key] = '';
      });
      this.$refs.form.resetFields();

      if (this.$listeners.resetFields) {
        this.$emit('resetFields');
      } else {
        this.loadList();
      }
    },
    focus: function focus() {
      // 获取焦点的时候制空
      this.label = '';
      this.key = '';
      this.isFocus = true;
    },
    blur: function blur() {
      // 失去焦点
      this.isFocus = false;
    },
    input: function input(val) {
      this.value = val;
      this.handleCommand(this.dropdownList[0]);
    },
    handleCommand: function handleCommand(data) {
      var _this2 = this;

      // 选中
      this.key = data.key;
      this.label = data.label;
      this.dropdownList.forEach(function (item) {
        if (item.key === data.key) {
          _this2.form[item.key] = _this2.value;
        } else {
          // 清空其它数据
          _this2.form[item.key] = null;
        }
      });
    },
    changeIsMore: function changeIsMore() {
      this.isMore = false;
    }
  },
  mounted: function mounted() {
    // 获取输入框宽度给下拉框
    this.minWidth = this.$refs.input.$el.clientWidth + 'px';
    document.addEventListener('click', this.changeIsMore);
  },
  destroyed: function destroyed() {
    document.removeEventListener('click', this.changeIsMore);
  }
});
// CONCATENATED MODULE: ./packages/components/SearchArea.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SearchAreavue_type_script_lang_js_ = (SearchAreavue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/SearchArea.vue?vue&type=style&index=0&id=f73d3bde&lang=scss&scoped=true&
var SearchAreavue_type_style_index_0_id_f73d3bde_lang_scss_scoped_true_ = __webpack_require__("36bd");

// CONCATENATED MODULE: ./packages/components/SearchArea.vue






/* normalize component */

var SearchArea_component = normalizeComponent(
  components_SearchAreavue_type_script_lang_js_,
  SearchAreavue_type_template_id_f73d3bde_scoped_true_render,
  SearchAreavue_type_template_id_f73d3bde_scoped_true_staticRenderFns,
  false,
  null,
  "f73d3bde",
  null
  
)

/* harmony default export */ var SearchArea = (SearchArea_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Dialog.vue?vue&type=template&id=469839c4&
var Dialogvue_type_template_id_469839c4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',_vm._g(_vm._b({staticClass:"sh-dialog",attrs:{"fullscreen":_vm.isFullscreen,"close-on-click-modal":_vm.closeOnClickModal,"top":_vm.height ? ("calc(50vh - " + _vm.height + " / 2)"): _vm.top}},'el-dialog',_vm.$attrs,false),_vm.$listeners),[_c('div',{attrs:{"slot":"title"},slot:"title"},[_vm._v(" "+_vm._s(_vm.title)+" "),_c('button',{staticClass:"icon-full el-dialog__headerbtn",attrs:{"type":"button","aria-label":"Close"},on:{"click":_vm.changeFullscreen}},[_c('i',{class:_vm.isFullscreen ? 'el-icon-remove' : 'el-icon-rank'})])]),_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"body",style:({
      'max-height': _vm.height ? '' : _vm.isFullscreen ? ("calc(100vh - " + _vm.minusHeigth + ")"): ("calc(100vh - " + _vm.top + " - " + _vm.top + " - " + _vm.minusHeigth + ")"),
      height: !_vm.isFullscreen && _vm.height ? ("calc(" + _vm.height + " - " + _vm.minusHeigth + ")"): ''})},[_vm._t("default")],2),_c('template',{slot:"footer"},[_vm._t("footer")],2)],2)}
var Dialogvue_type_template_id_469839c4_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Dialog.vue?vue&type=template&id=469839c4&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Dialog.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Dialogvue_type_script_lang_js_ = ({
  name: 'ShDialog',
  props: {
    title: {
      type: String,
      default: '弹框'
    },
    fullscreen: {
      type: Boolean,
      default: false
    },
    closeOnClickModal: {
      type: Boolean,
      default: false
    },
    scroll: Boolean,
    top: {
      type: String,
      default: '15vh'
    },
    height: String,
    loading: Boolean
  },
  watch: {
    fullscreen: {
      handler: function handler(val) {
        this.isFullscreen = val;
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      isFullscreen: false,
      minusHeigth: '154px'
    };
  },
  methods: {
    changeFullscreen: function changeFullscreen() {
      this.isFullscreen = !this.isFullscreen;
      this.$emit('update:fullscreen', this.isFullscreen);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Dialog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Dialogvue_type_script_lang_js_ = (Dialogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Dialog.vue?vue&type=style&index=0&lang=scss&
var Dialogvue_type_style_index_0_lang_scss_ = __webpack_require__("7c34");

// CONCATENATED MODULE: ./packages/components/Dialog.vue






/* normalize component */

var Dialog_component = normalizeComponent(
  components_Dialogvue_type_script_lang_js_,
  Dialogvue_type_template_id_469839c4_render,
  Dialogvue_type_template_id_469839c4_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Dialog = (Dialog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Upload.vue?vue&type=template&id=c97ab3f2&scoped=true&
var Uploadvue_type_template_id_c97ab3f2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-dialog',{attrs:{"title":"选择文件","visible":_vm.importDialog,"append-to-body":true,"close-on-click-modal":false,"width":"530px"},on:{"update:visible":function($event){_vm.importDialog=$event}}},[_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"importDialog-content update"},[_c('el-upload',{ref:"upload",attrs:{"multiple":_vm.multiple,"action":"","accept":_vm.acceptType,"limit":_vm.limit,"auto-upload":false,"file-list":_vm.fileList,"on-error":_vm.onError,"on-change":_vm.handleChange,"on-remove":_vm.handleRemove,"drag":"","show-file-list":false}},[_c('div',{staticClass:"upload-icon",class:{opacity: _vm.fileList.length !== 0}},[_c('i',{staticClass:"el-icon-upload"}),_c('div',{staticClass:"el-upload__text"},[_vm._v(" 将文件拖到此处，或 "),_c('em',[_vm._v("点击上传")])])]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.fileList.length !== 0),expression:"fileList.length !== 0"}],staticClass:"wrap-list"},[_c('table',{staticClass:"file-list"},[_c('tr',[_c('th',[_vm._v("文件名")]),_c('th',[_vm._v("大小")]),_c('th',[_vm._v("删除")])]),_vm._l((_vm.fileList),function(item,index){return _c('tr',{key:item.uid},[_c('td',{staticClass:"item-name"},[_c('div',{staticClass:"file",attrs:{"title":item.name.length>32?item.name:''}},[_vm._v(_vm._s(item.name))])]),_c('td',{staticClass:"item-size"},[_vm._v(_vm._s(_vm.sizeFile(item.size)))]),_c('td',[_c('i',{staticClass:"el-icon-delete",on:{"click":function($event){$event.stopPropagation();return _vm.fileList.splice(index,1)}}})])])})],2)])])],1),_c('span',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('sh-button',{on:{"click":function($event){_vm.importDialog = false}}},[_vm._v("关 闭")]),_c('sh-button',{attrs:{"type":"primary","disabled":_vm.loading},on:{"click":_vm.submitUpload}},[_vm._v("确定上传")])],1)])}
var Uploadvue_type_template_id_c97ab3f2_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Upload.vue?vue&type=template&id=c97ab3f2&scoped=true&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.map.js
var es_array_map = __webpack_require__("d81d");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.number.to-fixed.js
var es_number_to_fixed = __webpack_require__("b680");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Upload.vue?vue&type=script&lang=js&










//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var Uploadvue_type_script_lang_js_ = ({
  name: 'ShUpload',
  props: {
    api: String,
    param: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    accept: {
      type: Array,
      default: function _default() {
        return ['jpg', 'png', 'jpeg', 'txt', 'zip', 'rar', 'pdf', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'pptx'];
      }
    },
    size: {
      type: Number,
      default: function _default() {
        return 20;
      }
    },
    multiple: {
      type: Boolean,
      default: true
    },
    limit: Number,
    showErrorMsg: {
      type: Boolean,
      default: true
    },
    file: String
  },
  computed: {
    acceptType: function acceptType() {
      return this.accept.map(function (c) {
        return '.' + c;
      }).join(',');
    }
  },
  data: function data() {
    return {
      fileList: [],
      importDialog: false,
      loading: false,
      tableInfo: {
        config: {
          page: false
        }
      }
    };
  },
  methods: {
    onError: function onError(val, val2) {
      console.log('error', val, val2);
    },
    uploadFile: function uploadFile() {
      this.importDialog = true;

      if (this.$refs.upload) {
        this.$refs.upload.clearFiles();
      }

      this.fileList = [];
    },
    sizeFile: function sizeFile(val) {
      // 显示文件大小
      if (val < 1024) {
        return val + ' B';
      } else if (val < 1024 * 1024) {
        return (val / 1024).toFixed() + 'KB';
      } else if (val < 1024 * 1024 * 1024) {
        return (val / 1024 / 1024).toFixed() + 'MB';
      }
    },
    handleChange: function handleChange(file, fileList) {
      // 选择文件
      // 校验文件大小
      var isSize = file.size / 1024 / 1024 < this.size; // accept 为空的时候可以上传全部文件

      var isExt = this.accept.indexOf(file.name.replace(/.+\./, '').toLowerCase()) === -1 && this.accept.length;

      if (!isSize) {
        // 文件大小超出后移除
        this.$refs.upload.handleRemove(file);
        this.$message.error("\u8BF7\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u5C0F\u4E8E".concat(this.size, "MB\u7684\u9644\u4EF6!"));
      } else if (isExt) {
        // 文件格式后移除
        this.$refs.upload.handleRemove(file);
        this.$message.error("\u4E0A\u4F20\u6587\u4EF6\u683C\u5F0F\u53EA\u80FD\u662F".concat(this.accept, "\u683C\u5F0F!"));
      } else {
        this.fileList = fileList;
      }
    },
    handleRemove: function handleRemove(file, fileList) {
      // 移除文件
      this.fileList = fileList;
    },
    submitUpload: common.debounce(function () {
      var _this = this;

      var uploadFiles = this.$refs.upload.uploadFiles;

      if (uploadFiles.length === 0) {
        this.$message('请先选择文件');
        return;
      }

      var file = new FormData();
      uploadFiles.forEach(function (item, index) {
        file.append(_this.file || 'files' + index, item.raw);
      });
      Object.keys(this.param).forEach(function (key) {
        file.append(key, _this.param[key]);
      });
      this.loading = true;
      this.$post(this.api, file, function (data) {
        _this.$message.success(data.msg);

        _this.$refs.upload.clearFiles();

        _this.fileList = [];
        _this.loading = false;

        _this.$emit('callBack', data);

        _this.importDialog = false;
      }, function (error) {
        if (_this.showErrorMsg) {
          _this.$message.error(error.msg);
        } else {
          _this.importDialog = false;
        }

        _this.loading = false;

        _this.$emit('callBack', error);
      });
    })
  }
});
// CONCATENATED MODULE: ./packages/components/Upload.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Uploadvue_type_script_lang_js_ = (Uploadvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Upload.vue?vue&type=style&index=0&id=c97ab3f2&lang=scss&scoped=true&
var Uploadvue_type_style_index_0_id_c97ab3f2_lang_scss_scoped_true_ = __webpack_require__("b4c3");

// CONCATENATED MODULE: ./packages/components/Upload.vue






/* normalize component */

var Upload_component = normalizeComponent(
  components_Uploadvue_type_script_lang_js_,
  Uploadvue_type_template_id_c97ab3f2_scoped_true_render,
  Uploadvue_type_template_id_c97ab3f2_scoped_true_staticRenderFns,
  false,
  null,
  "c97ab3f2",
  null
  
)

/* harmony default export */ var Upload = (Upload_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/UploadFile.vue?vue&type=template&id=220358b5&scoped=true&
var UploadFilevue_type_template_id_220358b5_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('span',{staticClass:"upload-btn",on:{"click":_vm.uploadFile}},[_vm._t("default")],2),_c('sh-dialog',_vm._g(_vm._b({attrs:{"title":"选择文件","visible":_vm.importDialog,"append-to-body":true,"close-on-click-modal":false,"width":"650px"},on:{"update:visible":function($event){_vm.importDialog=$event}}},'sh-dialog',_vm.$attrs,false),_vm.$listeners),[_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"importDialog-content update"},[_c('el-upload',{ref:"upload",attrs:{"multiple":_vm.multiple,"action":"","limit":_vm.limit,"file-list":_vm.fileList,"on-error":_vm.onError,"on-remove":_vm.handleRemove,"http-request":_vm.handUpLoad,"drag":"","show-file-list":false}},[_c('div',{staticClass:"upload-icon",class:{opacity: _vm.fileList.length !== 0}},[_c('i',{staticClass:"el-icon-upload"}),_c('div',{staticClass:"el-upload__text"},[_vm._v(" 将文件拖到此处，或 "),_c('em',[_vm._v("点击上传")])])]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.fileList.length !== 0),expression:"fileList.length !== 0"}],staticClass:"wrap-list"},[_c('table',{staticClass:"file-list"},[_c('tr',[_c('th',{attrs:{"width":"200"}},[_vm._v("文件名")]),_c('th',{attrs:{"width":"200"}},[_vm._v("上传")]),_c('th',[_vm._v("大小")]),_c('th',[_vm._v("操作")])]),_vm._l((_vm.fileList),function(item){return _c('tr',{key:item.uid},[_c('td',{staticClass:"item-name"},[_vm._v(_vm._s(item.fileName))]),_c('td',{staticClass:"item-name"},[_c('el-progress',{class:{'show-text': !item.status2},attrs:{"percentage":item.progress,"status":item.status2}})],1),_c('td',{staticClass:"item-size"},[_vm._v(_vm._s(_vm.sizeFile(item.size)))]),_c('td',{staticClass:"item-icon"},[(item.status2 === 'warning')?_c('i',{staticClass:"el-icon-refresh",attrs:{"title":"继续上传"},on:{"click":function($event){$event.stopPropagation();return _vm.recursionUpload(item.uploadId)}}}):_vm._e(),_c('i',{staticClass:"el-icon-delete",attrs:{"title":"删除"},on:{"click":function($event){$event.stopPropagation();return _vm.delFile(item.uploadId)}}})])])})],2)])])],1),_c('span',{attrs:{"slot":"footer"},slot:"footer"},[_c('sh-button',{on:{"click":function($event){_vm.importDialog = false}}},[_vm._v("关 闭")]),_c('sh-button',{attrs:{"type":"primary","disabled":_vm.isUpload || !_vm.fileList.length},on:{"click":_vm.callback}},[_vm._v("确定")])],1)])],1)}
var UploadFilevue_type_template_id_220358b5_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/UploadFile.vue?vue&type=template&id=220358b5&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/UploadFile.vue?vue&type=script&lang=js&












//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var UploadFilevue_type_script_lang_js_ = ({
  name: 'ShUploadFile',
  props: {
    param: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    accept: {
      type: Array,
      default: function _default() {
        return ['jpg', 'png', 'jpeg', 'txt', 'zip', 'rar', 'pdf', 'doc', 'docx', 'xlsx', 'xls', 'ppt', 'pptx', 'mp4'];
      }
    },
    size: {
      type: Number,
      default: function _default() {
        return 100;
      }
    },
    multiple: {
      type: Boolean,
      default: true
    },
    limit: Number,
    showErrorMsg: {
      type: Boolean,
      default: true
    },
    file: String,
    filePath: String,
    dataId: String
  },
  computed: {
    fileList: function fileList() {
      var _this2 = this;

      return Object.keys(this.fileObj).map(function (i) {
        return _this2.fileObj[i];
      }).filter(function (item) {
        return item || false;
      });
    }
  },
  data: function data() {
    return {
      loading: false,
      fileObj: {},
      importDialog: false,
      isUpload: 0,
      tableInfo: {
        config: {
          page: false
        }
      }
    };
  },
  methods: {
    callback: function callback() {
      this.importDialog = false;
      this.$emit('callback', this.fileList);
    },
    onError: function onError(val, val2) {
      console.log('error', val, val2);
    },
    uploadFile: function uploadFile() {
      this.importDialog = true;

      if (this.$refs.upload) {
        this.$refs.upload.clearFiles();
        this.fileObj = {};
      }
    },
    sizeFile: function sizeFile(val) {
      // 显示文件大小
      if (val < 1024) {
        return val + ' B';
      } else if (val < 1024 * 1024) {
        return (val / 1024).toFixed() + 'KB';
      } else if (val < 1024 * 1024 * 1024) {
        return (val / 1024 / 1024).toFixed() + 'MB';
      }
    },
    handleChange: function handleChange(file, fileList) {
      // 选择文件
      // 校验文件大小
      var isSize = file.size / 1024 / 1024 < this.size;
      var isExt = this.accept.indexOf(file.name.replace(/.+\./, '').toLowerCase()) === -1;

      if (!isSize) {
        // 文件大小超出后移除
        this.$refs.upload.handleRemove(file);
        this.$message.error("\u8BF7\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u5C0F\u4E8E".concat(this.size, "MB\u7684\u9644\u4EF6!"));
      } else if (isExt) {
        // 文件格式后移除
        this.$refs.upload.handleRemove(file);
        this.$message.error("\u4E0A\u4F20\u6587\u4EF6\u683C\u5F0F\u53EA\u80FD\u662F".concat(this.accept, "\u683C\u5F0F!"));
      } else {
        this.fileList = fileList;
        this.$refs.upload.submit();
      }
    },
    delFile: function delFile(uploadId) {
      if (this.fileObj[uploadId].status2 !== 'success') {
        this.isUpload--;
      }

      this.fileObj[uploadId] = null;
    },
    handUpLoad: function handUpLoad(req) {
      var _this3 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
        var file, fileName, suffix, isSize, isExt, res, uploadId, shardSize, size, shardTotal, param;
        return regeneratorRuntime.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                file = req.file; // 文件名称和格式，方便后台合并的时候知道要合成什么格式

                fileName = file.name;
                suffix = fileName.substring(fileName.lastIndexOf('.') + 1, fileName.length).toLowerCase(); // 校验文件大小

                isSize = file.size / 1024 / 1024 < _this3.size;
                isExt = _this3.accept.indexOf(file.name.replace(/.+\./, '').toLowerCase()) === -1;

                if (isSize) {
                  _context.next = 9;
                  break;
                }

                // 文件大小超出后移除
                _this3.$refs.upload.handleRemove(file);

                _this3.$message.error("\u8BF7\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F\u5C0F\u4E8E".concat(_this3.size, "MB\u7684\u9644\u4EF6!"));

                return _context.abrupt("return");

              case 9:
                if (!isExt) {
                  _context.next = 13;
                  break;
                }

                // 文件格式后移除
                _this3.$refs.upload.handleRemove(file);

                _this3.$message.error("\u4E0A\u4F20\u6587\u4EF6\u683C\u5F0F\u53EA\u80FD\u662F".concat(_this3.accept, "\u683C\u5F0F!"));

                return _context.abrupt("return");

              case 13:
                // 获取分片信息
                _this3.loading = true;
                _context.next = 16;
                return _this3.$postSync(_this3.$store.state.env.VUE_APP_PORT + '/filestore/file/getBurstInfo', {
                  filePath: _this3.filePath,
                  fileName: fileName,
                  isShowDown: 0,
                  fileSize: file.size,
                  dataId: _this3.dataId
                });

              case 16:
                res = _context.sent;
                _this3.loading = false; // 获取不成功

                if (!(res.code !== 0 || !res.data)) {
                  _context.next = 20;
                  break;
                }

                return _context.abrupt("return");

              case 20:
                uploadId = res.data.multipartUploadId; // 文件分片
                // let shardSize = 10 * 1024 * 1024;    //以10MB为一个分片
                // let shardSize = 50 * 1024;    //以50KB为一个分片

                shardSize = res.data.multipartSize; // 每个分片大小

                size = file.size;
                shardTotal = Math.ceil(size / shardSize); // 总片数
                // 生成文件标识，标识多次上传的是不是同一个文件
                // const key = this.$md5(file.name + file.size + file.type)

                param = {
                  // key: key,
                  shardIndex: 1,
                  // 分片索引，1表示第1个分片
                  shardSize: shardSize,
                  shardTotal: shardTotal,
                  size: size,
                  fileName: fileName,
                  suffix: suffix,
                  uploadId: uploadId,
                  progress: 0,
                  status2: '',
                  // 上传状态
                  file: file,
                  fileId: ''
                }; // 文件列表
                // this.fileObj[uploadId] = param

                _this3.$set(_this3.fileObj, uploadId, param); // 是否有正在上传的文件


                _this3.isUpload++; // 上传

                _this3.recursionUpload(uploadId);

              case 28:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }))();
    },
    recursionUpload: function recursionUpload(uploadId) {
      var _this4 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
        var _this, _this$fileObj$uploadI, shardIndex, shardTotal, shardSize, file, fileShard, totalParam, config, res;

        return regeneratorRuntime.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _this = _this4; // 没找文件则中断执行

                if (_this4.fileObj[uploadId]) {
                  _context2.next = 3;
                  break;
                }

                return _context2.abrupt("return");

              case 3:
                // 状态为正在上传
                _this.fileObj[uploadId].status2 = '';
                _this$fileObj$uploadI = _this.fileObj[uploadId], shardIndex = _this$fileObj$uploadI.shardIndex, shardTotal = _this$fileObj$uploadI.shardTotal, shardSize = _this$fileObj$uploadI.shardSize, file = _this$fileObj$uploadI.file; // 截取分片

                fileShard = _this.getFileShard(shardIndex, shardSize, file);
                totalParam = new FormData();
                totalParam.append('file', fileShard); // 文件切分后的分片
                // totalParam.append('key', key)

                totalParam.append('multipartNum', shardIndex); // totalParam.append('shardSize', shardSize)
                // totalParam.append('shardTotal', shardTotal)
                // totalParam.append('size', size)
                // totalParam.append('fileName', fileName)
                // totalParam.append('suffix', suffix)

                totalParam.append('multipartUploadId', uploadId);
                config = {
                  timeout: 120000,
                  // 超时时间
                  onUploadProgress: function onUploadProgress(progress) {
                    // 格式化成百分数
                    var num = Math.floor(100 / shardTotal * (shardIndex - 1 + progress.loaded / progress.total)); // 重传的时候进度条不会退

                    if (_this.fileObj[uploadId].progress < num) {
                      _this.fileObj[uploadId].progress = num >= 99 ? 99 : num;
                    }
                  }
                }; // 分片上传

                _context2.next = 13;
                return _this4.$postSync(_this4.$store.state.env.VUE_APP_PORT + '/filestore/file/uploadBurst', totalParam, true, config);

              case 13:
                res = _context2.sent;

                if (res.code === 0 && res.data) {
                  if (shardIndex < shardTotal) {
                    // 上传下一个分片
                    _this.fileObj[uploadId].shardIndex++;

                    _this.recursionUpload(_this.fileObj[uploadId].uploadId);
                  } else {
                    // 全部上传完成
                    _this.fileObj[uploadId].progress = 100;
                    _this.fileObj[uploadId].status2 = 'success';
                    _this.fileObj[uploadId].fileId = res.data.fileId;
                    _this.fileObj[uploadId].createTimeEnd = res.data.createTimeEnd;
                    _this.isUpload--;
                  }
                } else {
                  _this.fileObj[uploadId].status2 = 'warning';

                  _this4.$message.error('上传失败请重新尝试！');
                }

              case 15:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2);
      }))();
    },
    getFileShard: function getFileShard(shardIndex, shardSize, file) {
      var start = (shardIndex - 1) * shardSize; // 当前分片起始位置

      var end = Math.min(file.size, start + shardSize); // 当前分片结束位置

      var fileShard = file.slice(start, end); // 从文件中截取当前的分片数据

      return fileShard;
    }
  }
});
// CONCATENATED MODULE: ./packages/components/UploadFile.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_UploadFilevue_type_script_lang_js_ = (UploadFilevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/UploadFile.vue?vue&type=style&index=0&id=220358b5&lang=scss&scoped=true&
var UploadFilevue_type_style_index_0_id_220358b5_lang_scss_scoped_true_ = __webpack_require__("a70b");

// CONCATENATED MODULE: ./packages/components/UploadFile.vue






/* normalize component */

var UploadFile_component = normalizeComponent(
  components_UploadFilevue_type_script_lang_js_,
  UploadFilevue_type_template_id_220358b5_scoped_true_render,
  UploadFilevue_type_template_id_220358b5_scoped_true_staticRenderFns,
  false,
  null,
  "220358b5",
  null
  
)

/* harmony default export */ var UploadFile = (UploadFile_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/InputEdit.vue?vue&type=template&id=c3e82766&scoped=true&
var InputEditvue_type_template_id_c3e82766_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('span',{directives:[{name:"show",rawName:"v-show",value:(!_vm.visible),expression:"!visible"}],staticClass:"content",on:{"click":_vm.changeVisible}},[_vm._v(" "+_vm._s(_vm.value)+" "),_c('i',{staticClass:"el-icon-edit"})]),_c('span',{directives:[{name:"show",rawName:"v-show",value:(_vm.visible),expression:"visible"}]},[_vm._t("default",function(){return [_c('el-input',{attrs:{"value":_vm.value},on:{"input":function($event){return _vm.$emit('input',$event)},"blur":_vm.changeBlur}})]})],2)])}
var InputEditvue_type_template_id_c3e82766_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/InputEdit.vue?vue&type=template&id=c3e82766&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/InputEdit.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var InputEditvue_type_script_lang_js_ = ({
  name: 'ShInputEdit',
  props: {
    value: String,
    show: Boolean
  },
  watch: {
    show: {
      handler: function handler(val) {
        this.visible = val;
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      visible: false
    };
  },
  methods: {
    changeVisible: function changeVisible() {
      this.visible = true;
      this.$emit('update:show', true);
    },
    changeBlur: function changeBlur() {
      this.visible = false;
      this.$emit('update:show', false);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/InputEdit.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_InputEditvue_type_script_lang_js_ = (InputEditvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/InputEdit.vue?vue&type=style&index=0&id=c3e82766&lang=scss&scoped=true&
var InputEditvue_type_style_index_0_id_c3e82766_lang_scss_scoped_true_ = __webpack_require__("56f6");

// CONCATENATED MODULE: ./packages/components/InputEdit.vue






/* normalize component */

var InputEdit_component = normalizeComponent(
  components_InputEditvue_type_script_lang_js_,
  InputEditvue_type_template_id_c3e82766_scoped_true_render,
  InputEditvue_type_template_id_c3e82766_scoped_true_staticRenderFns,
  false,
  null,
  "c3e82766",
  null
  
)

/* harmony default export */ var InputEdit = (InputEdit_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectApi.vue?vue&type=template&id=3fa32174&
var SelectApivue_type_template_id_3fa32174_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-select',_vm._g(_vm._b({attrs:{"filterable":_vm.isFilterable,"remote":_vm.isRemote,"remote-method":_vm.remoteMethod,"loading":_vm.loading},on:{"change":_vm.change,"focus":_vm.focus}},'el-select',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._l((_vm.list),function(item){return _c('el-option',{key:item[_vm.option.value],attrs:{"label":item[_vm.option.label],"value":item[_vm.option.value]}})})],2)}
var SelectApivue_type_template_id_3fa32174_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SelectApi.vue?vue&type=template&id=3fa32174&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectApi.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
/* harmony default export */ var SelectApivue_type_script_lang_js_ = ({
  props: {
    value2: [String, Number],
    param: {
      type: Object,
      default: function _default() {}
    },
    api: String,
    filterKey: String,
    filterable: Boolean,
    remote: Boolean,
    option: {
      type: Object,
      default: function _default() {
        return {
          value: 'key',
          label: 'value'
        };
      }
    }
  },
  name: 'ShSelectApi',
  computed: {
    isFilterable: function isFilterable() {
      return !!(this.filterable || this.filterKey);
    },
    isRemote: function isRemote() {
      return !!(this.remote || this.filterKey);
    }
  },
  data: function data() {
    return {
      list: [],
      loading: false
    };
  },
  methods: {
    remoteMethod: function remoteMethod(val) {
      this.loadList(val);
    },
    loadList: function loadList(value) {
      var _this = this;

      var search = _objectSpread2({}, this.param);

      if (this.filterKey) {
        search[this.filterKey] = value || '';
      }

      this.loading = true;
      this.$post(this.api || "".concat(this.$store.state.env.VUE_APP_PORT, "/system/dictionary/queryByCode"), search, function (data) {
        if (Array.isArray(data.data)) {
          _this.list = data.data;
        } else if (_this.param.code) {
          _this.list = data.data[_this.param.code];
        }

        _this.$emit('loadList', data.data);

        _this.loading = false;
      }, function () {
        _this.loading = false;
      });
    },
    change: function change(val) {
      for (var i in this.list) {
        if (this.list[i][this.option.value] === val) {
          this.$emit('update:value2', this.list[i][this.option.label]);
          this.$emit('callback', this.list[i]);
        }
      }
    },
    focus: function focus() {
      if (this.filterKey) {
        this.loadList();
      }
    }
  },
  mounted: function mounted() {
    if ((this.param || this.api) && !this.filterKey) {
      this.loadList();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/SelectApi.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SelectApivue_type_script_lang_js_ = (SelectApivue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/SelectApi.vue





/* normalize component */

var SelectApi_component = normalizeComponent(
  components_SelectApivue_type_script_lang_js_,
  SelectApivue_type_template_id_3fa32174_render,
  SelectApivue_type_template_id_3fa32174_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var SelectApi = (SelectApi_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectTree.vue?vue&type=template&id=1d8378ee&scoped=true&
var SelectTreevue_type_template_id_1d8378ee_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-popover',{ref:"popover",attrs:{"placement":"bottom-start","trigger":"click"},on:{"show":_vm.onShowPopover,"hide":_vm.onHidePopover}},[_c('el-tree',{ref:"tree",staticClass:"sh-tree select-tree",style:(("min-width: " + _vm.treeWidth)),attrs:{"highlight-current":"","node-key":_vm.nodeKey,"data":_vm.data,"props":_vm.props,"expand-on-click-node":false,"filter-node-method":_vm.filterNode,"default-expand-all":false,"default-expanded-keys":_vm.expandedArr},on:{"node-click":_vm.onClickNode},scopedSlots:_vm._u([{key:"default",fn:function(ref){
var node = ref.node;
var data = ref.data;
return _c('span',{},[_c('span',[_c('i',{staticClass:"node-icon",class:data.nodeType == 'person' ? 'el-icon-tickets' : 'el-icon-folder-opened'}),_vm._v(_vm._s(node.label))])])}}])}),_c('el-input',{ref:"input",class:{ 'rotate': _vm.showStatus },style:(("width: " + _vm.width + "px")),attrs:{"slot":"reference","clearable":"","suffix-icon":"el-icon-arrow-down","placeholder":_vm.placeholder},slot:"reference",model:{value:(_vm.labelModel),callback:function ($$v) {_vm.labelModel=$$v},expression:"labelModel"}})],1)}
var SelectTreevue_type_template_id_1d8378ee_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SelectTree.vue?vue&type=template&id=1d8378ee&scoped=true&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.json.stringify.js
var es_json_stringify = __webpack_require__("e9c4");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SelectTree.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SelectTreevue_type_script_lang_js_ = ({
  name: 'ShSelectTree',
  props: {
    // 接收绑定参数
    value: String,
    // 输入框宽度
    width: String,
    // 选项数据
    options: {
      type: Array,
      required: true
    },
    // 输入框占位符
    placeholder: {
      type: String,
      required: false,
      default: '请选择'
    },
    nodeKey: {
      type: String,
      default: 'id'
    },
    // 树节点配置选项
    props: {
      type: Object,
      required: false,
      default: function _default() {
        return {
          parent: 'parentId',
          value: 'id',
          label: 'text',
          children: 'children'
        };
      }
    }
  },
  // 设置绑定参数
  model: {
    prop: 'value',
    event: 'selected'
  },
  computed: {
    // 是否为树状结构数据
    dataType: function dataType() {
      var jsonStr = JSON.stringify(this.options);
      return jsonStr.indexOf(this.props.children) !== -1;
    },
    // 若非树状结构，则转化为树状结构数据
    data: function data() {
      var _this = this;

      var tree = this.dataType ? this.options : this.switchTree();
      tree.forEach(function (item) {
        _this.expandedArr.push(item[_this.nodeKey]);
      });
      return this.dataType ? this.options : this.switchTree();
    }
  },
  watch: {
    labelModel: function labelModel(val) {
      if (!val) {
        this.valueModel = '';
      }

      this.$refs.tree.filter(val);
    },
    value: function value(val) {
      this.labelModel = this.queryTree(this.data, val);
    },
    options: function options(val) {
      this.labelModel = this.queryTree(this.data, this.value);
    }
  },
  data: function data() {
    return {
      // 树状菜单显示状态
      showStatus: false,
      // 菜单宽度
      treeWidth: 'auto',
      // 输入框显示值
      labelModel: '',
      // 实际请求传值
      valueModel: '0',
      // 展开节点
      expandedArr: []
    };
  },
  created: function created() {
    var _this2 = this;

    // 检测输入框原有值并显示对应 label
    if (this.value) {
      this.labelModel = this.queryTree(this.data, this.value);
    } // 获取输入框宽度同步至树状菜单宽度


    this.$nextTick(function () {
      _this2.treeWidth = "".concat((_this2.width || _this2.$refs.input.$refs.input.clientWidth || 350) - 24, "px");
    });
  },
  methods: {
    // 单击节点
    onClickNode: function onClickNode(node) {
      this.labelModel = node[this.props.label];
      this.valueModel = node[this.props.value];
      this.onCloseTree();
      this.$emit('callback', node);
    },
    // 偏平数组转化为树状层级结构
    switchTree: function switchTree() {
      return this.cleanChildren(this.buildTree(this.options, '0'));
    },
    // 隐藏树状菜单
    onCloseTree: function onCloseTree() {
      this.$refs.popover.showPopper = false;
    },
    // 显示时触发
    onShowPopover: function onShowPopover() {
      this.showStatus = true;
      this.$refs.tree.filter(false);
    },
    // 隐藏时触发
    onHidePopover: function onHidePopover() {
      this.showStatus = false;
      this.$emit('selected', this.valueModel);
    },
    // 树节点过滤方法
    filterNode: function filterNode(query, data) {
      if (!query) return true;
      return data[this.props.label].indexOf(query) !== -1;
    },
    // 搜索树状数据中的 ID
    queryTree: function queryTree(tree, id) {
      var stark = [];
      stark = stark.concat(tree);

      while (stark.length) {
        var temp = stark.shift();

        if (temp[this.props.children]) {
          stark = stark.concat(temp[this.props.children]);
        }

        if (temp[this.props.value] === id) {
          return temp[this.props.label];
        }
      }

      return '';
    },
    // 将一维的扁平数组转换为多层级对象
    buildTree: function buildTree(data) {
      var _this3 = this;

      var id = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '0';

      var fa = function fa(parentId) {
        var temp = [];

        for (var i = 0; i < data.length; i++) {
          var n = data[i];

          if (n[_this3.props.parent] === parentId) {
            n.children = fa(n.rowGuid);
            temp.push(n);
          }
        }

        return temp;
      };

      return fa(id);
    },
    // 清除空 children项
    cleanChildren: function cleanChildren(data) {
      var fa = function fa(list) {
        list.map(function (e) {
          if (e.children.length) {
            fa(e.children);
          } else {
            delete e.children;
          }

          return e;
        });
        return list;
      };

      return fa(data);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/SelectTree.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SelectTreevue_type_script_lang_js_ = (SelectTreevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/SelectTree.vue?vue&type=style&index=0&id=1d8378ee&scoped=true&lang=css&
var SelectTreevue_type_style_index_0_id_1d8378ee_scoped_true_lang_css_ = __webpack_require__("ae64");

// CONCATENATED MODULE: ./packages/components/SelectTree.vue






/* normalize component */

var SelectTree_component = normalizeComponent(
  components_SelectTreevue_type_script_lang_js_,
  SelectTreevue_type_template_id_1d8378ee_scoped_true_render,
  SelectTreevue_type_template_id_1d8378ee_scoped_true_staticRenderFns,
  false,
  null,
  "1d8378ee",
  null
  
)

/* harmony default export */ var SelectTree = (SelectTree_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/RegionCascader.vue?vue&type=template&id=ac30623e&
var RegionCascadervue_type_template_id_ac30623e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-cascader',{attrs:{"options":_vm.options,"props":_vm.props},on:{"change":_vm.handleChange},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:"data"}})}
var RegionCascadervue_type_template_id_ac30623e_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/RegionCascader.vue?vue&type=template&id=ac30623e&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/RegionCascader.vue?vue&type=script&lang=js&




//
//
//
//

/* harmony default export */ var RegionCascadervue_type_script_lang_js_ = ({
  name: 'ShRegionCascader',
  props: {
    provinceCode: String,
    cityCode: String,
    areaCode: String,
    value: Array
  },
  watch: {
    // v-module
    data: function data(val) {
      this.$emit('input', val);
    },
    value: {
      handler: function handler(val) {
        this.data = val;
      },
      immediate: true
    },
    provinceCode: {
      handler: function handler(val) {
        this.data = [this.provinceCode, this.cityCode, this.areaCode];
      },
      immediate: true
    },
    cityCode: {
      handler: function handler(val) {
        this.data = [this.provinceCode, this.cityCode, this.areaCode];
      },
      immediate: true
    },
    areaCode: {
      handler: function handler(val) {
        this.data = [this.provinceCode, this.cityCode, this.areaCode];
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      options: [],
      props: {
        value: 'code',
        label: 'name'
      },
      data: null
    };
  },
  methods: {
    // 省市区分开回传
    handleChange: function handleChange(val) {
      this.$emit('update:provinceCode', val[0]);
      this.$emit('update:cityCode', val[1]);
      this.$emit('update:areaCode', val[2]);
    },
    // 递归格式化
    initData: function initData(list) {
      var _this = this;

      var arr = [];
      Object.keys(list).forEach(function (item) {
        if (list[item].children) {
          list[item].children = _this.initData(list[item].children);
        }

        arr.push(list[item]);
      });
      return arr;
    }
  },
  mounted: function mounted() {
    // 通过转字符串实现深拷贝
    var obj = JSON.parse(JSON.stringify(china_region)); // 格式化数据

    this.options = this.initData(obj);
  }
});
// CONCATENATED MODULE: ./packages/components/RegionCascader.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_RegionCascadervue_type_script_lang_js_ = (RegionCascadervue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/RegionCascader.vue





/* normalize component */

var RegionCascader_component = normalizeComponent(
  components_RegionCascadervue_type_script_lang_js_,
  RegionCascadervue_type_template_id_ac30623e_render,
  RegionCascadervue_type_template_id_ac30623e_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var RegionCascader = (RegionCascader_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Region.vue?vue&type=template&id=23ea3d21&scoped=true&
var Regionvue_type_template_id_23ea3d21_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{cascader: _vm.value}},[_c('el-cascader',_vm._g(_vm._b({ref:"cascader",attrs:{"placeholder":_vm.slashValue || _vm.placeholder,"props":{
      expandTrigger: 'click',
      lazy: true,
      lazyLoad: _vm.loadTechnology,
      value: 'id',
      label: 'name',
      checkStrictly: _vm.checkStrictly,
      multiple: _vm.multiple
    }},on:{"change":_vm.change},model:{value:(_vm.value2),callback:function ($$v) {_vm.value2=$$v},expression:"value2"}},'el-cascader',_vm.$attrs,false),_vm.$listeners))],1)}
var Regionvue_type_template_id_23ea3d21_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Region.vue?vue&type=template&id=23ea3d21&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Region.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Regionvue_type_script_lang_js_ = ({
  name: 'ShRegion',
  props: {
    level: {
      type: [String, Number],
      default: 3
    },
    value: String,
    value2: String,
    clearable: {
      type: Boolean,
      default: true
    },
    multiple: {
      type: Boolean,
      default: false
    },
    placeholder: {
      type: String,
      default: '请输入'
    },
    checkStrictly: {
      type: Boolean,
      default: false
    }
  },
  watch: {
    value2: {
      handler: function handler(val) {
        // if (val) {
        //   if (this.$refs.cascader) {
        //     this.$refs.cascader.$refs.panel.clearCheckedNodes()
        //   }
        // }
        this.$refs.cascader && this.$refs.cascader.$refs.panel.clearCheckedNodes(); // 清除高亮状态

        this.$refs.cascader && (this.$refs.cascader.$refs.panel.activePath = []);
      },
      immediate: true,
      deep: true
    }
  },
  computed: {
    slashValue: function slashValue() {
      return this.value && this.value.replace(/,/g, ' / ');
    }
  },
  data: function data() {
    return {
      areaArr: [],
      props: {
        lazy: true,
        value: 'id',
        label: 'name',
        lazyLoad: this.lazyLoad
      }
    };
  },
  methods: {
    loadTechnology: function loadTechnology(node, resolve) {
      var _this = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
        var res, nodes, is, childNode;
        return regeneratorRuntime.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _this.$postSync(_this.$store.state.env.VUE_APP_PORT + '/system/area/findArea', {
                  parentId: node.value || ''
                });

              case 2:
                res = _context.sent;
                nodes = res.data;
                is = false;

                if (!(res.data[0].levelType === 2 || res.data[0].levelType === '2')) {
                  _context.next = 10;
                  break;
                }

                _context.next = 8;
                return _this.$postSync(_this.$store.state.env.VUE_APP_PORT + '/system/area/findArea', {
                  parentId: res.data[0].id
                });

              case 8:
                childNode = _context.sent;

                if (!childNode.data.length) {
                  is = true;
                }

              case 10:
                if (!res.data.length || _this.level - 1 <= res.data[0].levelType || is) {
                  nodes = res.data.map(function (item) {
                    item.leaf = true;
                    return item;
                  });
                }

                resolve(nodes);

              case 12:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }))();
    },
    change: function change() {
      var node = this.$refs.cascader.getCheckedNodes();

      if (node[0]) {
        this.$emit('input', node[0].data.parentName);
        this.$emit('update:value2', node[0].data.parentPath);
        this.$emit('callback', node);
      } else {
        this.$emit('input', '');
        this.$emit('update:value2', '');
        this.$emit('callback', []);
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Region.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Regionvue_type_script_lang_js_ = (Regionvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Region.vue?vue&type=style&index=0&id=23ea3d21&lang=scss&scoped=true&
var Regionvue_type_style_index_0_id_23ea3d21_lang_scss_scoped_true_ = __webpack_require__("d608");

// CONCATENATED MODULE: ./packages/components/Region.vue






/* normalize component */

var Region_component = normalizeComponent(
  components_Regionvue_type_script_lang_js_,
  Regionvue_type_template_id_23ea3d21_scoped_true_render,
  Regionvue_type_template_id_23ea3d21_scoped_true_staticRenderFns,
  false,
  null,
  "23ea3d21",
  null
  
)

/* harmony default export */ var Region = (Region_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TreeDialog.vue?vue&type=template&id=b228d7be&scoped=true&
var TreeDialogvue_type_template_id_b228d7be_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":_vm.title,"visible":_vm.visible,"width":"500px","height":"700px","append-to-body":true,"close-on-click-modal":false,"before-close":_vm.handleClose},on:{"update:visible":function($event){_vm.visible=$event}}},[_c('div',{staticClass:"key-search"},[_c('el-input',{attrs:{"placeholder":"输入关键字"},on:{"change":_vm.filterChange},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:"filterText"}})],1),_c('div',{staticStyle:{"height":"calc(100% - 45px)"}},[_c('el-scrollbar',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"scrollbar"},[_c('el-tree',{ref:"tree",staticClass:"sh-tree",class:_vm.radio ? 'sh-tree-radio' : 'sh-tree-checkbox',attrs:{"data":_vm.treeData,"show-checkbox":!_vm.radio,"node-key":_vm.nodeKey,"props":_vm.defaultProps,"filter-node-method":_vm.filterNode,"check-strictly":_vm.systemNodeFlag,"default-checked-keys":_vm.defaultData,"default-expanded-keys":_vm.expandedArr},on:{"check":_vm.handleClick,"node-click":_vm.handleNodeClick},scopedSlots:_vm._u([{key:"default",fn:function(ref){
var node = ref.node;
var data = ref.data;
return _c('span',{},[_c('span',[_c('i',{staticClass:"node-icon",class:data.nodeType === 'person' ? 'el-icon-tickets' : 'el-icon-folder-opened'}),_vm._v(_vm._s(node.label))])])}}])})],1)],1),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":_vm.handleClose}},[_vm._v("关 闭")]),_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.handleSubmit}},[_vm._v("确 认")])],1)])}
var TreeDialogvue_type_template_id_b228d7be_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/TreeDialog.vue?vue&type=template&id=b228d7be&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TreeDialog.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var TreeDialogvue_type_script_lang_js_ = ({
  name: 'ShTreeDialog',
  components: {
    ShDialog: Dialog
  },
  props: {
    api: String,
    search: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    title: {
      type: String,
      default: '请选择'
    },
    nodeKey: {
      type: String,
      default: 'id'
    },
    type: {
      type: String,
      default: 'person'
    },
    radio: Boolean,
    dialogVisible: Boolean,
    defaultProps: {
      type: Object,
      default: function _default() {
        return {
          children: 'children',
          label: 'text'
        };
      }
    },
    defaultData: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    close: {
      type: Boolean,
      default: true
    }
  },
  watch: {
    // 每次打开窗口重载tree
    dialogVisible: function dialogVisible(val) {
      if (val) {
        this.loadList();
      }

      this.visible = val;
    },
    filterText: function filterText(val) {
      this.$refs.tree.filter(val);
    }
  },
  data: function data() {
    return {
      visible: this.dialogVisible,
      treeData: [],
      activeNode: {},
      loading: false,
      systemNodeFlag: true,
      filterText: '',
      expandedArr: [],
      typeObj: {
        dept: '/system/manage/getManageTree',
        person: '/system/org/ogrManagePersonTrees'
      }
    };
  },
  methods: {
    filterNode: function filterNode(value, data) {
      // 查询
      if (!value) return true;
      return data[this.type === 'dept' ? 'managementName' : this.defaultProps.label].indexOf(value) !== -1;
    },
    // 清空树
    resetChecked: function resetChecked() {
      var _this = this;

      this.$nextTick(function () {
        _this.$refs.tree.setCheckedKeys([]);
      });
    },
    loadList: function loadList() {
      var _this2 = this;

      this.loading = true;
      this.$post(this.api || this.$store.state.env.VUE_APP_PORT + this.typeObj[this.type], this.search, function (data) {
        _this2.loading = false;
        _this2.treeData = data.data; //  树默认展开第一级

        _this2.expandedArr = [];

        _this2.treeData.forEach(function (item) {
          _this2.expandedArr.push(item.id);
        });

        _this2.systemNodeFlag = true; // 重点：给数节点赋值之前 先设置为true

        _this2.$nextTick(function () {
          _this2.checkedSystem; // 拿到接口数据，筛选出选中状态的数据添加到数组中

          _this2.$refs.tree.setCheckedKeys(_this2.defaultData); // 给树节点赋值


          _this2.radio ? '' : _this2.systemNodeFlag = false; // 重点： 赋值完成后 设置为false
        });
      }, function (error) {
        _this2.loading = false;

        _this2.$message.error(error.msg);
      });
    },
    handleNodeClick: function handleNodeClick(node) {
      this.activeNode = node;
    },
    handleClick: function handleClick(data, checked) {
      if (this.radio) {
        if (checked) {
          this.$refs.tree.setCheckedNodes([]);
          this.$refs.tree.setCheckedNodes([data]); // 交叉点击节点
        } else {
          this.$refs.tree.setCheckedNodes([]); // 点击已经选中的节点，置空
        }
      }
    },
    handleSubmit: function handleSubmit() {
      var _this3 = this;

      if (this.radio) {
        if (this.activeNode && this.activeNode[this.defaultProps.label]) {
          this.$emit('handleEvent', this.activeNode);
          this.close && this.$emit('update:dialogVisible', false);
        } else {
          this.$message.warning('请先选择数据');
        }
      } else {
        // 半选中节点
        var arr = [].concat(_toConsumableArray(this.$refs.tree.getHalfCheckedKeys()), _toConsumableArray(this.$refs.tree.getCheckedKeys()));
        var nodeArr = this.$refs.tree.getCheckedNodes();
        var parentIdObj = {};
        var parentArr = [];
        nodeArr.forEach(function (item) {
          parentIdObj[item[_this3.nodeKey]] = true;

          if (!parentIdObj[item.parentId]) {
            parentArr.push(item);
          }
        }); // 选中节点数组，选中id数组，半选中节点, 选中节点数组(不带子节点)

        this.$emit('handleEvent', nodeArr, this.$refs.tree.getCheckedKeys(), arr, parentArr);
        this.close && this.$emit('update:dialogVisible', false);
      }
    },
    // 关闭弹窗前的回调
    handleClose: function handleClose() {
      this.$emit('update:dialogVisible', false);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/TreeDialog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_TreeDialogvue_type_script_lang_js_ = (TreeDialogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/TreeDialog.vue?vue&type=style&index=0&id=b228d7be&lang=scss&scoped=true&
var TreeDialogvue_type_style_index_0_id_b228d7be_lang_scss_scoped_true_ = __webpack_require__("b110");

// CONCATENATED MODULE: ./packages/components/TreeDialog.vue






/* normalize component */

var TreeDialog_component = normalizeComponent(
  components_TreeDialogvue_type_script_lang_js_,
  TreeDialogvue_type_template_id_b228d7be_scoped_true_render,
  TreeDialogvue_type_template_id_b228d7be_scoped_true_staticRenderFns,
  false,
  null,
  "b228d7be",
  null
  
)

/* harmony default export */ var TreeDialog = (TreeDialog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/vueParticles/vue-particles.vue?vue&type=template&id=b2b743c4&
var vue_particlesvue_type_template_id_b2b743c4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{"id":"particles-js","color":_vm.color,"particleOpacity":_vm.particleOpacity,"linesColor":_vm.linesColor,"particlesNumber":_vm.particlesNumber,"shapeType":_vm.shapeType,"particleSize":_vm.particleSize,"linesWidth":_vm.linesWidth,"lineLinked":_vm.lineLinked,"lineOpacity":_vm.lineOpacity,"linesDistance":_vm.linesDistance,"moveSpeed":_vm.moveSpeed,"hoverEffect":_vm.hoverEffect,"hoverMode":_vm.hoverMode,"clickEffect":_vm.clickEffect,"clickMode":_vm.clickMode}})}
var vue_particlesvue_type_template_id_b2b743c4_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/vueParticles/vue-particles.vue?vue&type=template&id=b2b743c4&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/vueParticles/vue-particles.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* eslint-disable */
/* harmony default export */ var vue_particlesvue_type_script_lang_js_ = ({
  name: 'ShParticles',
  props: {
    color: {
      type: String,
      default: '#dedede'
    },
    particleOpacity: {
      type: Number,
      default: 0.7
    },
    particlesNumber: {
      type: Number,
      default: 80
    },
    shapeType: {
      type: String,
      default: 'circle'
    },
    particleSize: {
      type: Number,
      default: 4
    },
    linesColor: {
      type: String,
      default: '#dedede'
    },
    linesWidth: {
      type: Number,
      default: 1
    },
    lineLinked: {
      type: Boolean,
      default: true
    },
    lineOpacity: {
      type: Number,
      default: 0.4
    },
    linesDistance: {
      type: Number,
      default: 150
    },
    moveSpeed: {
      type: Number,
      default: 3
    },
    hoverEffect: {
      type: Boolean,
      default: true
    },
    hoverMode: {
      type: String,
      default: 'grab'
    },
    clickEffect: {
      type: Boolean,
      default: true
    },
    clickMode: {
      type: String,
      default: 'push'
    }
  },
  mounted: function mounted() {
    var _this = this;

    // import particle.js only on client-side
    __webpack_require__("572f");

    this.$nextTick(function () {
      _this.initParticleJS(_this.color, _this.particleOpacity, _this.particlesNumber, _this.shapeType, _this.particleSize, _this.linesColor, _this.linesWidth, _this.lineLinked, _this.lineOpacity, _this.linesDistance, _this.moveSpeed, _this.hoverEffect, _this.hoverMode, _this.clickEffect, _this.clickMode);
    });
  },
  methods: {
    initParticleJS: function initParticleJS(color, particleOpacity, particlesNumber, shapeType, particleSize, linesColor, linesWidth, lineLinked, lineOpacity, linesDistance, moveSpeed, hoverEffect, hoverMode, clickEffect, clickMode) {
      particlesJS('particles-js', {
        "particles": {
          "number": {
            "value": particlesNumber,
            "density": {
              "enable": true,
              "value_area": 800
            }
          },
          "color": {
            "value": color
          },
          "shape": {
            // circle, edge, triangle, polygon, star, image
            "type": shapeType,
            "stroke": {
              "width": 0,
              "color": "#192231"
            },
            "polygon": {
              "nb_sides": 5
            }
          },
          "opacity": {
            "value": particleOpacity,
            "random": false,
            "anim": {
              "enable": false,
              "speed": 1,
              "opacity_min": 0.1,
              "sync": false
            }
          },
          "size": {
            "value": particleSize,
            "random": true,
            "anim": {
              "enable": false,
              "speed": 40,
              "size_min": 0.1,
              "sync": false
            }
          },
          "line_linked": {
            "enable": lineLinked,
            "distance": linesDistance,
            "color": linesColor,
            "opacity": lineOpacity,
            "width": linesWidth
          },
          "move": {
            "enable": true,
            "speed": moveSpeed,
            "direction": "none",
            "random": false,
            "straight": false,
            "out_mode": "out",
            "bounce": false,
            "attract": {
              "enable": false,
              "rotateX": 600,
              "rotateY": 1200
            }
          }
        },
        "interactivity": {
          "detect_on": "canvas",
          "events": {
            "onhover": {
              "enable": hoverEffect,
              "mode": hoverMode
            },
            "onclick": {
              "enable": clickEffect,
              "mode": clickMode
            },
            "onresize": {
              "enable": true,
              "density_auto": true,
              "density_area": 400
            }
          },
          "modes": {
            "grab": {
              "distance": 140,
              "line_linked": {
                "opacity": 1
              }
            },
            "bubble": {
              "distance": 400,
              "size": 40,
              "duration": 2,
              "opacity": 8,
              "speed": 3
            },
            "repulse": {
              "distance": 200,
              "duration": 0.4
            },
            "push": {
              "particles_nb": 4
            },
            "remove": {
              "particles_nb": 2
            }
          }
        },
        "retina_detect": true
      });
    }
  }
});
/* eslint-disable */
// CONCATENATED MODULE: ./packages/components/vueParticles/vue-particles.vue?vue&type=script&lang=js&
 /* harmony default export */ var vueParticles_vue_particlesvue_type_script_lang_js_ = (vue_particlesvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/vueParticles/vue-particles.vue





/* normalize component */

var vue_particles_component = normalizeComponent(
  vueParticles_vue_particlesvue_type_script_lang_js_,
  vue_particlesvue_type_template_id_b2b743c4_render,
  vue_particlesvue_type_template_id_b2b743c4_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var vue_particles = (vue_particles_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/WangEditor.vue?vue&type=template&id=5ddf7712&
var WangEditorvue_type_template_id_5ddf7712_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"editor"})}
var WangEditorvue_type_template_id_5ddf7712_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/WangEditor.vue?vue&type=template&id=5ddf7712&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.string.replace-all.js
var es_string_replace_all = __webpack_require__("5b81");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/WangEditor.vue?vue&type=script&lang=js&










//
//
//
//
/* harmony default export */ var WangEditorvue_type_script_lang_js_ = ({
  name: 'ShWangEditor',
  inject: {
    elForm: {
      default: ''
    },
    elFormItem: {
      default: ''
    }
  },
  props: {
    value: [String, Array],
    disabled: Boolean,
    uploadImgApi: String,
    height: {
      type: [String, Number],
      default: 300
    },
    menus: {
      type: Array,
      default: function _default() {
        return ['head', 'bold', 'fontSize', 'fontName', 'italic', 'underline', 'strikeThrough', 'indent', 'lineHeight', 'foreColor', 'backColor', 'link', 'list', // 'todo',
        'justify', 'quote', // 'emoticon',
        'image', // 'video',
        'table', 'code', 'splitLine', 'undo', 'redo'];
      }
    }
  },
  watch: {
    isDisabled: {
      handler: function handler(val) {
        if (this.editor) {
          this.editor.$textElem.attr('contenteditable', !val);

          if (val) {
            this.editor.config.menus = [];
          } else {
            this.editor.config.menus = this.menus;
          }
        }
      },
      immediate: true
    }
  },
  computed: {
    isDisabled: function isDisabled() {
      return this.disabled || (this.elForm || {}).disabled;
    }
  },
  data: function data() {
    return {
      editor: ''
    };
  },
  methods: {
    init: function init() {
      var _this = this;

      var WangEditor = wangEditor;
      this.editor = new WangEditor(this.$refs.editor);

      this.editor.config.onchange = function (newHtml) {
        _this.$emit('input', newHtml);
      }; // 上传图片


      this.editor.config.customUploadImg = function (resultFiles, insertImgFn) {
        if (!_this.isDisabled) {
          var file = new FormData();
          resultFiles.forEach(function (item, index) {
            file.append('files' + index, item);
          });

          _this.$post(_this.uploadImgApi, file, function (data) {
            _this.$message.success(data.msg);

            var imgUrl = [];
            data.data.forEach(function (item) {
              imgUrl.push(item.url.replace('?id=', '?token=' + sessionStorage.getItem('token') + '&id='));
            }); // 图片插入富文本

            insertImgFn(imgUrl);
          }, function (error) {
            _this.$message.error(error.msg);
          });
        }
      }; // 高度


      this.editor.config.height = this.height; // 设置菜单

      this.editor.config.menus = this.menus;
      this.editor.config.zIndex = 1999;
      this.editor.create(); // 创建编辑器

      if (this.value) {
        this.setHtml(this.value);
      }

      this.editor.$textElem.attr('contenteditable', !this.isDisabled);
    },
    getHtml: function getHtml() {
      return this.editor.txt.html();
    },
    setHtml: function setHtml(txt) {
      var token = sessionStorage.getItem('token'); // 当有token的时候替换token

      var str = 'sysFileInfo/showImgStream?token=';
      var arr = txt.split(str);
      arr = arr.map(function (item, index) {
        if (index) {
          return token + item.slice(32);
        } else {
          return item;
        }
      });
      var editorText = arr.join(str); // 当没有token的时候拼上token

      editorText = editorText.replaceAll('sysFileInfo/showImgStream?id=', "sysFileInfo/showImgStream?token=".concat(token, "&id="));
      this.$nextTick(function () {
        this.editor.txt.html(editorText);
      });
    }
  },
  mounted: function mounted() {
    if (wangEditor) {
      this.$nextTick(function () {
        this.init();
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/components/WangEditor.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_WangEditorvue_type_script_lang_js_ = (WangEditorvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/WangEditor.vue





/* normalize component */

var WangEditor_component = normalizeComponent(
  components_WangEditorvue_type_script_lang_js_,
  WangEditorvue_type_template_id_5ddf7712_render,
  WangEditorvue_type_template_id_5ddf7712_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var WangEditor = (WangEditor_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Echarts.vue?vue&type=template&id=1c1e7432&
var Echartsvue_type_template_id_1c1e7432_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{"position":"relative"}},[_c('div',_vm._g(_vm._b({ref:"echarts",style:({height: _vm.height, width: _vm.width}),attrs:{"data":_vm.data}},'div',_vm.$attrs,false),_vm.$listeners),[_vm._t("default")],2),_c('object',{ref:"objectRef",staticStyle:{"display":"block","position":"absolute","top":"0px","left":"0px","width":"100%","height":"100%","border":"none","padding":"0px","margin":"0px","opacity":"0","z-index":"-1000","pointer-events":"none"},attrs:{"tabindex":"-1","type":"text/html","aria-hidden":"true","data":"about:blank"}})])}
var Echartsvue_type_template_id_1c1e7432_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Echarts.vue?vue&type=template&id=1c1e7432&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Echarts.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Echartsvue_type_script_lang_js_ = ({
  name: 'ShEchart',
  props: {
    data: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    height: {
      type: String,
      default: '400px'
    },
    width: String
  },
  data: function data() {
    return {
      echart: null
    };
  },
  watch: {
    data: {
      handler: function handler(val) {
        this.setOption(val);
      },
      deep: true
    }
  },
  methods: {
    setOption: function setOption(data) {
      this.echart.setOption(data);
    },
    init: function init(data) {
      var _this = this;

      this.echart = echarts.init(this.$refs.echarts);
      this.setOption(data);
      this.$refs['objectRef'].contentDocument.defaultView.addEventListener('resize', function () {
        _this.echart.resize();
      });
    }
  },
  mounted: function mounted() {
    if (echarts) {
      this.init(this.data);
    }
  },
  beforeDestroy: function beforeDestroy() {
    if (this.echart) {
      this.echart.clear();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Echarts.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Echartsvue_type_script_lang_js_ = (Echartsvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/Echarts.vue





/* normalize component */

var Echarts_component = normalizeComponent(
  components_Echartsvue_type_script_lang_js_,
  Echartsvue_type_template_id_1c1e7432_render,
  Echartsvue_type_template_id_1c1e7432_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Echarts = (Echarts_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/ViewImage.vue?vue&type=template&id=e3c87ee8&
var ViewImagevue_type_template_id_e3c87ee8_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-button',{attrs:{"type":"text"}},[_c('el-image',{ref:"img",staticStyle:{"width":"0px","height":"0px"},attrs:{"src":_vm.url,"preview-src-list":[_vm.url]}}),_c('span',{on:{"click":_vm.getImg}},[_vm._t("default")],2)],1)}
var ViewImagevue_type_template_id_e3c87ee8_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/ViewImage.vue?vue&type=template&id=e3c87ee8&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/ViewImage.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
/* harmony default export */ var ViewImagevue_type_script_lang_js_ = ({
  name: 'ShViewImage',
  props: {
    param: Object,
    api: String,
    method: {
      type: String,
      defaute: 'get'
    }
  },
  data: function data() {
    return {
      url: '',
      option: {
        fullscreen: true,
        background: 'rgba(0,0,0,0.5)'
      }
    };
  },
  methods: {
    getImg: function getImg() {
      var _this = this;

      var loadingInstance = this.$loading(this.option);
      axios({
        method: this.method,
        url: this.api || "".concat(this.$store.state.env.VUE_APP_PORT, "/system/sysFileInfo/download"),
        responseType: 'blob',
        // 接收返回的类型
        params: this.param
      }).then(function (res) {
        if (res && res.data) {
          _this.url = window.URL.createObjectURL(res.data);

          _this.$refs.img.clickHandler();
        }

        loadingInstance.close();
      }).catch(function () {
        loadingInstance.close();
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/components/ViewImage.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_ViewImagevue_type_script_lang_js_ = (ViewImagevue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/ViewImage.vue





/* normalize component */

var ViewImage_component = normalizeComponent(
  components_ViewImagevue_type_script_lang_js_,
  ViewImagevue_type_template_id_e3c87ee8_render,
  ViewImagevue_type_template_id_e3c87ee8_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var ViewImage = (ViewImage_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Empty.vue?vue&type=template&id=447d0ae9&scoped=true&
var Emptyvue_type_template_id_447d0ae9_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"empty",style:({height: _vm.height})},[_c('img',{staticClass:"empty-img",style:({'margin-top': _vm.height ? ("calc((" + _vm.height + " - 140px) / 2)"): ''}),attrs:{"src":__webpack_require__("857c"),"alt":""}}),_c('div',{staticClass:"empty-text"},[_vm._v("暂无数据~")])])}
var Emptyvue_type_template_id_447d0ae9_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Empty.vue?vue&type=template&id=447d0ae9&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Empty.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
/* harmony default export */ var Emptyvue_type_script_lang_js_ = ({
  name: 'ShEmpty',
  props: {
    height: String
  }
});
// CONCATENATED MODULE: ./packages/components/Empty.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Emptyvue_type_script_lang_js_ = (Emptyvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/Empty.vue?vue&type=style&index=0&id=447d0ae9&lang=scss&scoped=true&
var Emptyvue_type_style_index_0_id_447d0ae9_lang_scss_scoped_true_ = __webpack_require__("f8a1");

// CONCATENATED MODULE: ./packages/components/Empty.vue






/* normalize component */

var Empty_component = normalizeComponent(
  components_Emptyvue_type_script_lang_js_,
  Emptyvue_type_template_id_447d0ae9_scoped_true_render,
  Emptyvue_type_template_id_447d0ae9_scoped_true_staticRenderFns,
  false,
  null,
  "447d0ae9",
  null
  
)

/* harmony default export */ var Empty = (Empty_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/CountRunning.vue?vue&type=template&id=57540150&scoped=true&
var CountRunningvue_type_template_id_57540150_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:"count"},[_c('span',{staticClass:"count-label"},[_vm._v(_vm._s(_vm.label))]),_c('span',{ref:"count",staticClass:"count-num",style:({height: _vm.height, color: _vm.color, 'font-size': _vm.fontSize}),domProps:{"innerHTML":_vm._s(_vm.dom)}})])}
var CountRunningvue_type_template_id_57540150_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/CountRunning.vue?vue&type=template&id=57540150&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/CountRunning.vue?vue&type=script&lang=js&





//
//
//
//
//
//
/* harmony default export */ var CountRunningvue_type_script_lang_js_ = ({
  name: 'ShCountRunning',
  props: {
    label: String,
    rollNumber: {
      // 滚动的数字
      type: Number,
      default: 5.548
    },
    fontSpacing: {
      // 数字间距 >8
      type: Number,
      default: 1
    },
    rollingSpeed: {
      // 滚动速度
      type: Number,
      default: 0.8
    },
    fontSize: String,
    color: String,
    height: String
  },
  watch: {
    rollNumber: function rollNumber(newnum, oldnum) {
      this.init();
    }
  },
  data: function data() {
    return {
      dom: ''
    };
  },
  methods: {
    init: function init() {
      var _this = this;

      var num_arr = "".concat(this.rollNumber).split('');
      var str = '';
      var numlength = num_arr.length;
      var numLabel = '';

      for (var i = 0; i <= 9; i++) {
        numLabel += " <span class=\"num\">".concat(i, "</span>");
      }

      for (var _i = 0; _i <= 9; _i++) {
        numLabel += " <span class=\"num\">".concat(_i, "</span>");
      }

      for (var _i2 = 0; _i2 < numlength; _i2++) {
        if (parseInt(num_arr[_i2]) >= 0) {
          str += '<div  class="digit-container" key=' + this.$guid() + ' data-show=' + num_arr[_i2] + '> ' + numLabel + '</div>';
        } else {
          str += "<div style=\"width: ".concat(this.fontSpacing, "px\"><span>").concat(num_arr[_i2], "</span></div>");
        }
      }

      this.dom = str;
      this.$nextTick(function () {
        var obj = _this.$refs.count.getElementsByClassName('digit-container');

        var numDom = _this.$refs.count.getElementsByClassName('num')[0];

        var num = 0;

        for (var _i3 in obj) {
          if (Object(esm_typeof["a" /* default */])(obj[_i3]) === 'object') {
            obj[_i3].style.transition = "all ".concat(_this.rollingSpeed, "s ").concat(0.1 * num, "s");
            obj[_i3].style.marginTop = -((Number(obj[_i3].dataset.show) + 10) * numDom.offsetHeight) + 'px';
            obj[_i3].style.width = numDom.offsetWidth + _this.fontSpacing + 'px';
            num++;
          }
        }
      });
    }
  },
  created: function created() {
    this.init();
  }
});
// CONCATENATED MODULE: ./packages/components/CountRunning.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_CountRunningvue_type_script_lang_js_ = (CountRunningvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/CountRunning.vue?vue&type=style&index=0&id=57540150&lang=scss&scoped=true&
var CountRunningvue_type_style_index_0_id_57540150_lang_scss_scoped_true_ = __webpack_require__("9faa");

// CONCATENATED MODULE: ./packages/components/CountRunning.vue






/* normalize component */

var CountRunning_component = normalizeComponent(
  components_CountRunningvue_type_script_lang_js_,
  CountRunningvue_type_template_id_57540150_scoped_true_render,
  CountRunningvue_type_template_id_57540150_scoped_true_staticRenderFns,
  false,
  null,
  "57540150",
  null
  
)

/* harmony default export */ var CountRunning = (CountRunning_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/InputSelect.vue?vue&type=template&id=bc7f070c&
var InputSelectvue_type_template_id_bc7f070c_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('el-select',_vm._g(_vm._b({attrs:{"id":_vm.id},on:{"change":_vm.change,"blur":_vm.selectBlur},nativeOn:{"change":function($event){return _vm.changeNative.apply(null, arguments)}}},'el-select',_vm.$attrs,false),_vm.$listeners),[_vm._t("default"),_vm._l((_vm.list),function(item,index){return _c('el-option',{key:index,attrs:{"label":item[_vm.option.label],"value":item[_vm.option.value]}})})],2)],1)}
var InputSelectvue_type_template_id_bc7f070c_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/InputSelect.vue?vue&type=template&id=bc7f070c&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/InputSelect.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
/* harmony default export */ var InputSelectvue_type_script_lang_js_ = ({
  name: 'ShInputSelect',
  props: {
    value2: [String, Number],
    param: Object,
    api: String,
    option: {
      type: Object,
      default: function _default() {
        return {
          value: 'key',
          label: 'value'
        };
      }
    }
  },
  data: function data() {
    return {
      list: [],
      id: "e".concat(this.$guid())
    };
  },
  methods: {
    changeNative: function changeNative(e) {
      this.$emit('input', e.target.value);
    },
    selectBlur: function selectBlur(e) {
      this.$emit('input', e.target.value);
    },
    loadList: function loadList() {
      var _this = this;

      this.$post(this.api || "".concat(this.$store.state.env.VUE_APP_PORT, "/system/dictionary/queryByCode"), this.param, function (data) {
        if (Array.isArray(data.data)) {
          _this.list = data.data;
        } else if (_this.param.code) {
          _this.list = data.data[_this.param.code];
        }
      });
    },
    change: function change(val) {
      for (var i in this.list) {
        if (this.list[i][this.option.value] === val) {
          this.$emit('update:value2', this.list[i][this.option.label]);
        }
      }

      this.$emit('input', val);
    }
  },
  mounted: function mounted() {
    var _this2 = this;

    if (this.param || this.api) {
      this.loadList();
    }

    this.$nextTick(function () {
      document.querySelector("#".concat(_this2.id)).removeAttribute('readonly');
    });
  }
});
// CONCATENATED MODULE: ./packages/components/InputSelect.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_InputSelectvue_type_script_lang_js_ = (InputSelectvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/InputSelect.vue





/* normalize component */

var InputSelect_component = normalizeComponent(
  components_InputSelectvue_type_script_lang_js_,
  InputSelectvue_type_template_id_bc7f070c_render,
  InputSelectvue_type_template_id_bc7f070c_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var InputSelect = (InputSelect_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/CascaderApi.vue?vue&type=template&id=5ed0d83e&
var CascaderApivue_type_template_id_5ed0d83e_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-cascader',_vm._g(_vm._b({ref:"cascader",attrs:{"options":_vm.options,"props":{
    checkStrictly: true,
    multiple: _vm.multiple,
    checkStrictly: false,
    expandTrigger: 'hover',
    value: _vm.props.value || 'value',
    label: _vm.props.label || 'label',
    children: _vm.props.children || 'children'
  },"show-all-levels":false,"clearable":""},on:{"change":_vm.change}},'el-cascader',_vm.$attrs,false),_vm.$listeners))}
var CascaderApivue_type_template_id_5ed0d83e_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/CascaderApi.vue?vue&type=template&id=5ed0d83e&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/CascaderApi.vue?vue&type=script&lang=js&



//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var CascaderApivue_type_script_lang_js_ = ({
  name: 'ShCascaderApi',
  props: {
    api: String,
    param: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    props: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    data: Object,
    multiple: {
      type: Boolean,
      default: true
    }
  },
  watch: {
    data: {
      handler: function handler(val) {
        if (val) {
          this.options = val;
        }
      },
      immediate: true,
      deep: true
    }
  },
  data: function data() {
    return {
      options: []
    };
  },
  methods: {
    change: function change() {
      var node = this.$refs.cascader.getCheckedNodes(true);
      var ids = '';
      var names = '';
      node.forEach(function (item) {
        ids = ids ? "".concat(ids, ",").concat(item.value) : item.value;
        names = names ? "".concat(names, ",").concat(item.label) : item.label;
      });
      this.$emit('update:ids', ids);
      this.$emit('update:names', names);
    },
    loadList: function loadList() {
      var _this = this;

      this.$post(this.api, this.param, function (data) {
        _this.options = data.data;
      });
    }
  },
  mounted: function mounted() {
    if (this.api) {
      this.loadList();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/CascaderApi.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_CascaderApivue_type_script_lang_js_ = (CascaderApivue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/CascaderApi.vue





/* normalize component */

var CascaderApi_component = normalizeComponent(
  components_CascaderApivue_type_script_lang_js_,
  CascaderApivue_type_template_id_5ed0d83e_render,
  CascaderApivue_type_template_id_5ed0d83e_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var CascaderApi = (CascaderApi_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormTitle.vue?vue&type=template&id=3866f80e&scoped=true&
var FormTitlevue_type_template_id_3866f80e_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-title"},[(_vm.$slots.default)?_c('div',{staticClass:"sh-title-left",style:({backgroundColor: _vm.backgroundColor})},[_vm._t("default")],2):_vm._e(),(_vm.$slots.right)?_c('div',{staticClass:"sh-title-right",style:({backgroundColor: _vm.backgroundColor})},[_vm._t("right")],2):_vm._e()])}
var FormTitlevue_type_template_id_3866f80e_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/FormTitle.vue?vue&type=template&id=3866f80e&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormTitle.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FormTitlevue_type_script_lang_js_ = ({
  name: 'ShFormTitle',
  props: {
    backgroundColor: String
  }
});
// CONCATENATED MODULE: ./packages/components/FormTitle.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_FormTitlevue_type_script_lang_js_ = (FormTitlevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/FormTitle.vue?vue&type=style&index=0&id=3866f80e&lang=scss&scoped=true&
var FormTitlevue_type_style_index_0_id_3866f80e_lang_scss_scoped_true_ = __webpack_require__("86c1");

// CONCATENATED MODULE: ./packages/components/FormTitle.vue






/* normalize component */

var FormTitle_component = normalizeComponent(
  components_FormTitlevue_type_script_lang_js_,
  FormTitlevue_type_template_id_3866f80e_scoped_true_render,
  FormTitlevue_type_template_id_3866f80e_scoped_true_staticRenderFns,
  false,
  null,
  "3866f80e",
  null
  
)

/* harmony default export */ var FormTitle = (FormTitle_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormContainer.vue?vue&type=template&id=4e67ac98&scoped=true&
var FormContainervue_type_template_id_4e67ac98_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container"},[_c('div',{staticClass:"header"},[_c('div',{staticClass:"header-left"},[_c('span',{staticClass:"back",on:{"click":_vm.back}},[_c('i',{staticClass:"el-icon-d-arrow-left"}),_vm._v(" 返回上一页 ")])]),_c('div',{staticClass:"header-right"},[_vm._t("right")],2)]),_c('div',{staticClass:"sh-content",attrs:{"id":_vm.id}},[_vm._t("default")],2)])}
var FormContainervue_type_template_id_4e67ac98_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/FormContainer.vue?vue&type=template&id=4e67ac98&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormContainer.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FormContainervue_type_script_lang_js_ = ({
  name: 'ShFormContainer',
  props: {
    id: String
  },
  methods: {
    back: function back() {
      this.$emit('back');
    }
  }
});
// CONCATENATED MODULE: ./packages/components/FormContainer.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_FormContainervue_type_script_lang_js_ = (FormContainervue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/FormContainer.vue?vue&type=style&index=0&id=4e67ac98&lang=scss&scoped=true&
var FormContainervue_type_style_index_0_id_4e67ac98_lang_scss_scoped_true_ = __webpack_require__("bc7c");

// CONCATENATED MODULE: ./packages/components/FormContainer.vue






/* normalize component */

var FormContainer_component = normalizeComponent(
  components_FormContainervue_type_script_lang_js_,
  FormContainervue_type_template_id_4e67ac98_scoped_true_render,
  FormContainervue_type_template_id_4e67ac98_scoped_true_staticRenderFns,
  false,
  null,
  "4e67ac98",
  null
  
)

/* harmony default export */ var FormContainer = (FormContainer_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SearchMore.vue?vue&type=template&id=46b62b43&scoped=true&
var SearchMorevue_type_template_id_46b62b43_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:"container",staticClass:"container sh-search-more"},[(_vm.wHeight > _vm.maxHeight)?_c('div',{staticClass:"fold",on:{"click":function($event){_vm.isMore = !_vm.isMore}}},[_c('i',{class:("el-icon-caret-" + (_vm.isMore ? 'top': 'bottom'))})]):_vm._e(),_c('div',{ref:"moudel",staticClass:"moudel",style:({height: _vm.height})},[_c('div',{ref:"wrap",staticClass:"wrap"},[_c('sh-form',_vm._g(_vm._b({},'sh-form',_vm.$attrs,false),_vm.$listeners),_vm._l((_vm.tabList[0].search),function(items){return _c('sh-form-item',{key:items.key,attrs:{"label":((items.label) + ":")}},[_c('span',{staticClass:"tag-item"},[(!_vm.form[items.key])?_c('el-tag',{attrs:{"disable-transitions":""}},[_vm._v("全部")]):_c('span',{staticClass:"tag-other",on:{"click":function($event){return _vm.addAllTag(items.key)}}},[_vm._v("全部")])],1),_vm._l((items.chilren),function(item){return _c('span',{key:item.value,staticClass:"tag-item",on:{"click":_vm.loadList}},[(_vm.isTag(items.key, item.value))?_c('el-tag',{attrs:{"disable-transitions":""},on:{"click":function($event){return _vm.delTag(items.key, item.value)}}},[_vm._v(_vm._s(item.label))]):_c('span',{staticClass:"tag-other",on:{"click":function($event){return _vm.addTag(items.key, item.value)}}},[_vm._v(_vm._s(item.label))])],1)})],2)}),1)],1)])])}
var SearchMorevue_type_template_id_46b62b43_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SearchMore.vue?vue&type=template&id=46b62b43&scoped=true&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.array.splice.js
var es_array_splice = __webpack_require__("a434");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SearchMore.vue?vue&type=script&lang=js&










//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SearchMorevue_type_script_lang_js_ = ({
  name: 'ShSearchMore',
  props: {
    maxHeight: {
      type: Number,
      default: 112
    },
    form: Object,
    tabList: Array
  },
  watch: {
    tabList: {
      handler: function handler(val) {
        if (val) {
          this.initHeight();
        }
      },
      deep: true,
      immediate: true
    }
  },
  computed: {
    height: function height() {
      var str = 'auto';

      if (this.is) {
        str = "".concat(this.isMore ? this.wHeight : this.maxHeight, "px");
      }

      return str;
    }
  },
  data: function data() {
    return {
      editableTabsValue: '1',
      tabIndex: 3,
      mHeight: 0,
      wHeight: 0,
      isMore: false,
      is: false
    };
  },
  methods: {
    addAllTag: function addAllTag(key) {
      // 全部
      this.form[key] = '';
    },
    addTag: function addTag(key, value) {
      // 选中
      this.form[key] = this.form[key] ? "".concat(this.form[key], ",").concat(value) : value;
    },
    delTag: function delTag(key, value) {
      // 取消选中
      var arr = this.form[key].split(',').filter(function (item) {
        if (item === value) {
          return false;
        }

        return true;
      });
      this.form[key] = arr.join(',');
    },
    isTag: function isTag(key, value) {
      // 判断是否选中
      return this.form[key] && this.form[key].split(',').indexOf(value) !== -1;
    },
    addTab: function addTab(targetName) {
      var newTabName = ++this.tabIndex + '';
      var len = this.editableTabs.length;
      this.editableTabs.splice(len - 1, 0, {
        title: 'New Tab',
        name: newTabName,
        content: 'New Tab content',
        closable: true
      });
      this.editableTabsValue = newTabName;
    },
    removeTab: function removeTab(targetName) {
      var tabs = this.editableTabs;
      var activeName = this.editableTabsValue;

      if (activeName === targetName) {
        tabs.forEach(function (tab, index) {
          if (tab.name === targetName) {
            var nextTab = tabs[index + 1] || tabs[index - 1];

            if (nextTab) {
              activeName = nextTab.name;
            }
          }
        });
      }

      this.editableTabsValue = activeName;
      this.editableTabs = tabs.filter(function (tab) {
        return tab.name !== targetName;
      });
    },
    initHeight: function initHeight() {
      var _this = this;

      var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
        index: 0
      };
      this.is = false;
      this.$nextTick(function () {
        var h = _this.$refs.moudel.offsetHeight || _this.$refs.moudel[e.index].offsetHeight;
        _this.mHeight = h < _this.maxHeight ? _this.maxHeight : h;
        _this.wHeight = _this.$refs.wrap.offsetHeight || _this.$refs.wrap[e.index].offsetHeight;
        _this.is = true;
      });
    },
    loadList: function loadList() {
      this.$emit('loadList');
    }
  }
});
// CONCATENATED MODULE: ./packages/components/SearchMore.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SearchMorevue_type_script_lang_js_ = (SearchMorevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/SearchMore.vue?vue&type=style&index=0&id=46b62b43&lang=scss&scoped=true&
var SearchMorevue_type_style_index_0_id_46b62b43_lang_scss_scoped_true_ = __webpack_require__("ebaa");

// CONCATENATED MODULE: ./packages/components/SearchMore.vue






/* normalize component */

var SearchMore_component = normalizeComponent(
  components_SearchMorevue_type_script_lang_js_,
  SearchMorevue_type_template_id_46b62b43_scoped_true_render,
  SearchMorevue_type_template_id_46b62b43_scoped_true_staticRenderFns,
  false,
  null,
  "46b62b43",
  null
  
)

/* harmony default export */ var SearchMore = (SearchMore_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Download.vue?vue&type=template&id=95b10144&
var Downloadvue_type_template_id_95b10144_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{on:{"click":_vm.download}},[(_vm.type === 'image')?_c('span',{on:{"click":function($event){$event.stopPropagation();return _vm.close.apply(null, arguments)}}},[_c('el-image',{ref:"img",staticStyle:{"width":"0px","height":"0px"},attrs:{"src":_vm.url,"preview-src-list":[_vm.url]}})],1):_vm._e(),_vm._t("default")],2)}
var Downloadvue_type_template_id_95b10144_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/Download.vue?vue&type=template&id=95b10144&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/Download.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
/* harmony default export */ var Downloadvue_type_script_lang_js_ = ({
  name: 'ShDownload',
  props: {
    fileId: String,
    type: String
  },
  data: function data() {
    return {
      url: ''
    };
  },
  methods: {
    close: function close() {},
    download: function download() {
      var _this = this;

      this.$store.state.fullscreenLoading = true;
      console.log(this.$emit);
      this.$post(this.$store.state.env.VUE_APP_PORT + '/filestore/file/getTempDownloadInfo', {
        fileId: this.fileId
      }, function (data) {
        _this.$store.state.fullscreenLoading = false;
        _this.url = "".concat(_this.$store.state.env.VUE_APP_PORT, "/filestore/file/tempDownloadFile?randomId=").concat(data.data.randomId);

        if (_this.type === 'image') {
          _this.$refs.img.clickHandler();
        } else if (_this.type) {
          _this.$emit('callback', _this.url);
        } else {
          window.open(_this.url);
        }
      }, function (error) {
        _this.$message.error(error.msg);

        _this.$store.state.fullscreenLoading = false;
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/components/Download.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Downloadvue_type_script_lang_js_ = (Downloadvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/Download.vue





/* normalize component */

var Download_component = normalizeComponent(
  components_Downloadvue_type_script_lang_js_,
  Downloadvue_type_template_id_95b10144_render,
  Downloadvue_type_template_id_95b10144_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Download = (Download_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormItemJson.vue?vue&type=template&id=04962992&
var FormItemJsonvue_type_template_id_04962992_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isArray)?_c('div',_vm._l((_vm.list),function(items,index){return _c('sh-form-item',_vm._b({key:index},'sh-form-item',items.labelAttrs,false),[_c(items.component,_vm._g(_vm._b({tag:"component",model:{value:(_vm.model[items.labelAttrs.prop]),callback:function ($$v) {_vm.$set(_vm.model, items.labelAttrs.prop, $$v)},expression:"model[items.labelAttrs.prop]"}},'component',items.valueAttrs,false),items.listeners),_vm._l((items.subList || []),function(item,i){return _c(item.component,_vm._b({key:i,tag:"component"},'component',item.attrs,false),[(item.text)?[_vm._v(_vm._s(item.text))]:_vm._e()],2)}),1)],1)}),1):_c('sh-form-item',_vm._b({},'sh-form-item',_vm.list.labelAttrs,false),[_vm._t("default"),_c(_vm.list.component,_vm._g(_vm._b({tag:"component",model:{value:(_vm.model[_vm.list.labelAttrs.prop]),callback:function ($$v) {_vm.$set(_vm.model, _vm.list.labelAttrs.prop, $$v)},expression:"model[list.labelAttrs.prop]"}},'component',_vm.list.valueAttrs,false),_vm.list.listeners),_vm._l((_vm.list.subList || []),function(item,i){return _c(item.component,_vm._b({key:i,tag:"component"},'component',item.attrs,false),[(item.text)?[_vm._v(_vm._s(item.text))]:_vm._e()],2)}),1)],2)}
var FormItemJsonvue_type_template_id_04962992_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/FormItemJson.vue?vue&type=template&id=04962992&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/FormItemJson.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FormItemJsonvue_type_script_lang_js_ = ({
  name: 'ShFormItemJson',
  props: {
    list: Array,
    model: Object
  },
  computed: {
    isArray: function isArray() {
      return Array.isArray(this.list);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/FormItemJson.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_FormItemJsonvue_type_script_lang_js_ = (FormItemJsonvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/FormItemJson.vue





/* normalize component */

var FormItemJson_component = normalizeComponent(
  components_FormItemJsonvue_type_script_lang_js_,
  FormItemJsonvue_type_template_id_04962992_render,
  FormItemJsonvue_type_template_id_04962992_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var FormItemJson = (FormItemJson_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TableColumnJson.vue?vue&type=template&id=bc221198&
var TableColumnJsonvue_type_template_id_bc221198_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-table-column',_vm._b({scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(_vm.items.component && !_vm.data[scope.$index].$hide)?_c('div',{staticClass:"el-form"},[_c(_vm.items.component,_vm._g(_vm._b({tag:"component",attrs:{"row":_vm.data[scope.$index],"prop":_vm.items.attrs.prop},nativeOn:{"click":function($event){return _vm.handleUnitClick(scope)}},model:{value:(_vm.data[scope.$index][_vm.items.attrs.prop]),callback:function ($$v) {_vm.$set(_vm.data[scope.$index], _vm.items.attrs.prop, $$v)},expression:"data[scope.$index][items.attrs.prop]"}},'component',_vm.items.valueAttrs,false),_vm.items.listeners),_vm._l((_vm.items.subList || []),function(item,i){return _c(item.component,_vm._b({key:i,tag:"component"},'component',item.attrs,false),[(item.text)?[_vm._v(_vm._s(item.text))]:_vm._e()],2)}),1)],1):_c('span',{on:{"click":function($event){return _vm.handleUnitClick(scope)}}},[_vm._v(_vm._s(_vm.items.prop ? scope.row[_vm.items.prop]: scope.row[_vm.items.attrs.prop]))])]}}])},'el-table-column',_vm.items.attrs || _vm.items,false))}
var TableColumnJsonvue_type_template_id_bc221198_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/TableColumnJson.vue?vue&type=template&id=bc221198&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/TableColumnJson.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var TableColumnJsonvue_type_script_lang_js_ = ({
  name: 'ShTableColumnJson',
  props: {
    items: Object,
    data: Object
  },
  methods: {
    handleUnitClick: function handleUnitClick(scope) {
      this.$emit('handleUnitClick', scope);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/TableColumnJson.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_TableColumnJsonvue_type_script_lang_js_ = (TableColumnJsonvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/TableColumnJson.vue





/* normalize component */

var TableColumnJson_component = normalizeComponent(
  components_TableColumnJsonvue_type_script_lang_js_,
  TableColumnJsonvue_type_template_id_bc221198_render,
  TableColumnJsonvue_type_template_id_bc221198_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var TableColumnJson = (TableColumnJson_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/DrawerColumn.vue?vue&type=template&id=6e3ef458&
var DrawerColumnvue_type_template_id_6e3ef458_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-drawer',{attrs:{"custom-class":"sh-drawer-col","title":_vm.title,"size":_vm.size,"visible":_vm.drawer,"direction":_vm.direction},on:{"update:visible":function($event){_vm.drawer=$event},"closed":_vm.closed}},[_c('div',{staticClass:"content"},[_c('el-tree',{attrs:{"data":_vm.list,"draggable":"","allow-drop":_vm.allowDrop},scopedSlots:_vm._u([{key:"default",fn:function(ref){
var node = ref.node;
var data = ref.data;
return _c('span',{staticClass:"custom-tree-node"},[_c('el-checkbox',{model:{value:(data.isShow),callback:function ($$v) {_vm.$set(data, "isShow", $$v)},expression:"data.isShow"}},[_vm._v(_vm._s(node.label))])],1)}}])})],1)])}
var DrawerColumnvue_type_template_id_6e3ef458_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/DrawerColumn.vue?vue&type=template&id=6e3ef458&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/DrawerColumn.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var DrawerColumnvue_type_script_lang_js_ = ({
  name: 'ShDrawerColumn',
  props: {
    size: {
      type: [Number, String],
      default: '300px'
    },
    title: {
      type: String,
      default: '自定义列表'
    },
    list: Array,
    colKey: String
  },
  data: function data() {
    return {
      drawer: false
    };
  },
  methods: {
    closed: function closed() {
      localStorage.setItem(this.colKey, JSON.stringify(this.list));
      this.$emit('callback', this.list);
    },
    open: function open() {
      this.drawer = true;
    },
    allowDrop: function allowDrop(draggingNode, dropNode, type) {
      // 禁止拖拽成子节点
      return type !== 'inner';
    }
  }
});
// CONCATENATED MODULE: ./packages/components/DrawerColumn.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_DrawerColumnvue_type_script_lang_js_ = (DrawerColumnvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/DrawerColumn.vue?vue&type=style&index=0&lang=scss&
var DrawerColumnvue_type_style_index_0_lang_scss_ = __webpack_require__("8567");

// CONCATENATED MODULE: ./packages/components/DrawerColumn.vue






/* normalize component */

var DrawerColumn_component = normalizeComponent(
  components_DrawerColumnvue_type_script_lang_js_,
  DrawerColumnvue_type_template_id_6e3ef458_render,
  DrawerColumnvue_type_template_id_6e3ef458_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var DrawerColumn = (DrawerColumn_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/PdfDiglog.vue?vue&type=template&id=2356816a&scoped=true&
var PdfDiglogvue_type_template_id_2356816a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":_vm.title,"visible":_vm.visible,"append-to-body":true,"close-on-click-modal":false,"width":"1000px","height":"90vh","before-close":_vm.handleClose},on:{"update:visible":function($event){_vm.visible=$event}}},[_c('div',{staticClass:"pdf"},_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,attrs:{"src":_vm.src,"page":i}})}),1),_c('span',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('ul',{staticClass:"file clearfix"},_vm._l((_vm.downList),function(item,index){return _c('li',{key:index,staticClass:"file-item"},[_c('span',{on:{"click":function($event){return _vm.downLoad(item)}}},[_c('i',{staticClass:"el-icon-download"}),_vm._v(" "+_vm._s(item.name)+" ")])])}),0),_c('el-button',{on:{"click":function($event){_vm.visible = false}}},[_vm._v("关 闭")])],1)])}
var PdfDiglogvue_type_template_id_2356816a_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/PdfDiglog.vue?vue&type=template&id=2356816a&scoped=true&

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.uint8-array.js
var es_typed_array_uint8_array = __webpack_require__("5cc6");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.at.js
var es_typed_array_at = __webpack_require__("907a");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.copy-within.js
var es_typed_array_copy_within = __webpack_require__("9a8c");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.every.js
var es_typed_array_every = __webpack_require__("a975");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.fill.js
var es_typed_array_fill = __webpack_require__("735e");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.filter.js
var es_typed_array_filter = __webpack_require__("c1ac");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find.js
var es_typed_array_find = __webpack_require__("d139");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.find-index.js
var es_typed_array_find_index = __webpack_require__("3a7b");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.for-each.js
var es_typed_array_for_each = __webpack_require__("d5d6");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.includes.js
var es_typed_array_includes = __webpack_require__("82f8");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.index-of.js
var es_typed_array_index_of = __webpack_require__("e91f");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.iterator.js
var es_typed_array_iterator = __webpack_require__("60bd");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.join.js
var es_typed_array_join = __webpack_require__("5f96");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.last-index-of.js
var es_typed_array_last_index_of = __webpack_require__("3280");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.map.js
var es_typed_array_map = __webpack_require__("3fcc");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce.js
var es_typed_array_reduce = __webpack_require__("ca91");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reduce-right.js
var es_typed_array_reduce_right = __webpack_require__("25a1");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.reverse.js
var es_typed_array_reverse = __webpack_require__("cd26");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.set.js
var es_typed_array_set = __webpack_require__("3c5d");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.slice.js
var es_typed_array_slice = __webpack_require__("2954");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.some.js
var es_typed_array_some = __webpack_require__("649e");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.sort.js
var es_typed_array_sort = __webpack_require__("219c");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.subarray.js
var es_typed_array_subarray = __webpack_require__("170b");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-locale-string.js
var es_typed_array_to_locale_string = __webpack_require__("b39a");

// EXTERNAL MODULE: ./node_modules/core-js/modules/es.typed-array.to-string.js
var es_typed_array_to_string = __webpack_require__("72f7");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-resize-sensor/src/resize-sensor.vue?vue&type=script&lang=js&
//
//
//
//
//
//


/* harmony default export */ var resize_sensorvue_type_script_lang_js_ = ({
  // thanks to https://github.com/marcj/css-element-queries
  props: {
    initial: {
      type: Boolean,
      default: false
    }
  },
  data: function data() {
    return {
      size: {
        width: -1,
        height: -1
      }
    };
  },
  methods: {
    reset: function reset() {
      var expand = this.$el.firstChild;
      var shrink = this.$el.lastChild;
      expand.scrollLeft = 100000;
      expand.scrollTop = 100000;
      shrink.scrollLeft = 100000;
      shrink.scrollTop = 100000;
    },
    update: function update() {
      this.size.width = this.$el.offsetWidth;
      this.size.height = this.$el.offsetHeight;
    }
  },
  watch: {
    size: {
      deep: true,
      handler: function handler(size) {
        this.reset();
        this.$emit('resize', {
          width: this.size.width,
          height: this.size.height
        });
      }
    }
  },
  render: function render(create) {
    var style = 'position: absolute; left: 0; top: 0; right: 0; bottom: 0; overflow: hidden; z-index: -1; visibility: hidden;';
    var styleChild = 'position: absolute; left: 0; top: 0;';
    return create('div', {
      style: style + 'animation-name: resizeSensorVisibility;',
      on: {
        '~animationstart': this.update
      }
    }, [create('div', {
      style: style,
      on: {
        scroll: this.update
      }
    }, [create('div', {
      style: styleChild + 'width: 100000px; height: 100000px;'
    })]), create('div', {
      style: style,
      on: {
        scroll: this.update
      }
    }, [create('div', {
      style: styleChild + 'width: 200%; height: 200%;'
    })])]);
  },
  beforeDestroy: function beforeDestroy() {
    this.$emit('resize', {
      width: 0,
      height: 0
    });
    this.$emit('resizeSensorBeforeDestroy');
  },
  mounted: function mounted() {
    if (this.initial === true) this.$nextTick(this.update);
    if (this.$el.offsetParent !== this.$el.parentNode) this.$el.parentNode.style.position = 'relative';

    if ('attachEvent' in this.$el && !('AnimationEvent' in window)) {
      var onresizeHandler = function () {
        this.update();
        removeOnresizeEvent();
      }.bind(this);

      var removeOnresizeEvent = function () {
        this.$el.detachEvent('onresize', onresizeHandler);
        this.$off('resizeSensorBeforeDestroy', removeOnresizeEvent);
      }.bind(this);

      this.$el.attachEvent('onresize', onresizeHandler);
      this.$on('resizeSensorBeforeDestroy', removeOnresizeEvent);
      this.reset();
    }
  }
});
// CONCATENATED MODULE: ./node_modules/vue-resize-sensor/src/resize-sensor.vue?vue&type=script&lang=js&
 /* harmony default export */ var src_resize_sensorvue_type_script_lang_js_ = (resize_sensorvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./node_modules/vue-resize-sensor/src/resize-sensor.vue?vue&type=style&index=0&lang=css&
var resize_sensorvue_type_style_index_0_lang_css_ = __webpack_require__("c0ef");

// CONCATENATED MODULE: ./node_modules/vue-resize-sensor/src/resize-sensor.vue
var resize_sensor_render, resize_sensor_staticRenderFns





/* normalize component */

var resize_sensor_component = normalizeComponent(
  src_resize_sensorvue_type_script_lang_js_,
  resize_sensor_render,
  resize_sensor_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var resize_sensor = (resize_sensor_component.exports);
// CONCATENATED MODULE: ./packages/components/pdf/componentFactory.js





























/* harmony default export */ var componentFactory = (function (pdfjsWrapper) {
  var createLoadingTask = pdfjsWrapper.createLoadingTask;
  var PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;
  return {
    createLoadingTask: createLoadingTask,
    render: function render(h) {
      return h('span', {
        attrs: {
          style: 'position: relative; display: block'
        }
      }, [h('canvas', {
        attrs: {
          style: 'display: inline-block; width: 100%; height: 100%; vertical-align: top'
        },
        ref: 'canvas'
      }), h('span', {
        style: 'display: inline-block; width: 100%; height: 100%',
        class: 'annotationLayer',
        ref: 'annotationLayer'
      }), h(resize_sensor, {
        props: {
          initial: true
        },
        on: {
          resize: this.resize
        }
      })]);
    },
    props: {
      src: {
        type: [String, Object, Uint8Array],
        default: ''
      },
      page: {
        type: Number,
        default: 1
      },
      rotate: {
        type: Number
      }
    },
    watch: {
      src: function src() {
        this.pdf.loadDocument(this.src);
      },
      page: function page() {
        this.pdf.loadPage(this.page, this.rotate);
      },
      rotate: function rotate() {
        this.pdf.renderPage(this.rotate);
      }
    },
    methods: {
      resize: function resize(size) {
        // check if the element is attached to the dom tree || resizeSensor being destroyed
        if (this.$el.parentNode === null || size.width === 0 && size.height === 0) return; // on IE10- canvas height must be set

        this.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px'; // update the page when the resolution is too poor

        var resolutionScale = this.pdf.getResolutionScale();
        if (resolutionScale < 0.85 || resolutionScale > 1.15) this.pdf.renderPage(this.rotate); // this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';
      },
      print: function print(dpi, pageList) {
        this.pdf.printPage(dpi, pageList);
      }
    },
    // doc: mounted hook is not called during server-side rendering.
    mounted: function mounted() {
      this.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));
      this.$on('loaded', function () {
        this.pdf.loadPage(this.page, this.rotate);
      });
      this.$on('page-size', function (width, height) {
        this.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';
      });
      this.pdf.loadDocument(this.src);
    },
    // doc: destroyed hook is not called during server-side rendering.
    destroyed: function destroyed() {
      this.pdf.destroy();
    }
  };
});
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/pdf/vuePdfNoSss.vue?vue&type=script&lang=js&
//


if (Object({"NODE_ENV":"production","VUE_APP_CLIENT_ID":"","VUE_APP_JXYQY_WEB":"http://192.169.0.220:8097","VUE_APP_JXY_WEB":"http://192.169.0.220:8090","VUE_APP_PORT":"http://192.169.0.220:5001","VUE_APP_PORT_DEMO":"http://192.169.0.220:5001","VUE_APP_PROJRCT_NAME":"前端框架样例","VUE_APP_TITLE":"evn","VUE_APP_UC_URL":"http://192.169.0.220:8002","BASE_URL":"/"}).VUE_ENV !== 'server') {
  var vuePdfNoSssvue_type_script_lang_js_pdfjsWrapper = __webpack_require__("e201").default;

  var PDFJS = __webpack_require__("4383");

  if (typeof window !== 'undefined' && 'Worker' in window && navigator.appVersion.indexOf('MSIE 10') === -1) {
    // var PdfjsWorker = require('worker-loader!pdfjs-dist/es5/build/pdf.worker.js');
    var PdfjsWorker = __webpack_require__("069e");

    PDFJS.GlobalWorkerOptions.workerPort = new PdfjsWorker();
  }

  var vuePdfNoSssvue_type_script_lang_js_component = componentFactory(vuePdfNoSssvue_type_script_lang_js_pdfjsWrapper(PDFJS));
} else {// var component = componentFactory({})
}

/* harmony default export */ var vuePdfNoSssvue_type_script_lang_js_ = (vuePdfNoSssvue_type_script_lang_js_component);
// CONCATENATED MODULE: ./packages/components/pdf/vuePdfNoSss.vue?vue&type=script&lang=js&
 /* harmony default export */ var pdf_vuePdfNoSssvue_type_script_lang_js_ = (vuePdfNoSssvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/pdf/annotationLayer.css?vue&type=style&index=0&lang=css&
var annotationLayervue_type_style_index_0_lang_css_ = __webpack_require__("6e30");

// CONCATENATED MODULE: ./packages/components/pdf/vuePdfNoSss.vue
var vuePdfNoSss_render, vuePdfNoSss_staticRenderFns





/* normalize component */

var vuePdfNoSss_component = normalizeComponent(
  pdf_vuePdfNoSssvue_type_script_lang_js_,
  vuePdfNoSss_render,
  vuePdfNoSss_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var vuePdfNoSss = (vuePdfNoSss_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/PdfDiglog.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var PdfDiglogvue_type_script_lang_js_ = ({
  name: 'ShPdfDiglog',
  components: {
    pdf: vuePdfNoSss
  },
  props: {
    api: String,
    param: Object,
    downList: Array,
    url: String,
    title: {
      type: String,
      default: function _default() {
        return '预览';
      }
    },
    dialogVisible: Boolean
  },
  data: function data() {
    return {
      visible: false,
      src: null,
      numPages: undefined
    };
  },
  watch: {
    dialogVisible: {
      handler: function handler(val) {
        this.visible = val;

        if (val) {
          this.url ? this.viewPdf(this.url) : this.loadPdf();
        }
      },
      immediate: true
    },
    visible: function visible(val) {
      this.$emit('update:dialogVisible', val);
    }
  },
  methods: {
    loadPdf: function loadPdf() {
      var _this = this;

      axios({
        method: 'get',
        url: this.api || this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download',
        responseType: 'blob',
        // 接收返回的类型
        params: this.param
      }).then(function (res) {
        var url = window.URL.createObjectURL(res.data); // this.src = pdf.createLoadingTask(url)

        _this.viewPdf(url);
      });
    },
    viewPdf: function viewPdf(url) {
      var _this2 = this;

      this.src = vuePdfNoSss.createLoadingTask({
        url: url,
        cMapUrl: '../../sanhcdn/cmaps/',
        cMapPacked: true
      });
      this.src.promise.then(function (pdf) {
        _this2.numPages = pdf.numPages;
      });
    },
    downLoad: function downLoad(row) {
      this.$downloadFile(this.api || this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download', {
        id: row.id
      }, row.name);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/PdfDiglog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_PdfDiglogvue_type_script_lang_js_ = (PdfDiglogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/PdfDiglog.vue?vue&type=style&index=0&id=2356816a&lang=scss&scoped=true&
var PdfDiglogvue_type_style_index_0_id_2356816a_lang_scss_scoped_true_ = __webpack_require__("acc5");

// CONCATENATED MODULE: ./packages/components/PdfDiglog.vue






/* normalize component */

var PdfDiglog_component = normalizeComponent(
  components_PdfDiglogvue_type_script_lang_js_,
  PdfDiglogvue_type_template_id_2356816a_scoped_true_render,
  PdfDiglogvue_type_template_id_2356816a_scoped_true_staticRenderFns,
  false,
  null,
  "2356816a",
  null
  
)

/* harmony default export */ var PdfDiglog = (PdfDiglog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/EllipsisTooltip.vue?vue&type=template&id=f5399dbc&scoped=true&
var EllipsisTooltipvue_type_template_id_f5399dbc_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{"effect":_vm.dark,"content":_vm.text,"disabled":_vm.disableTip,"placement":_vm.placement}},[_c('div',{staticClass:"ellipsis",style:({color:_vm.color}),on:{"mouseover":_vm.onMouseOver}},[_c('span',{ref:"ellipsis",staticClass:"text",style:({color: _vm.color,fontSize: _vm.fontSize,fontWeight: _vm.fontWeight})},[_vm._v(_vm._s(_vm.text))])])])}
var EllipsisTooltipvue_type_template_id_f5399dbc_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/EllipsisTooltip.vue?vue&type=template&id=f5399dbc&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/EllipsisTooltip.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
/* harmony default export */ var EllipsisTooltipvue_type_script_lang_js_ = ({
  name: 'ShEllipsisTooltip',
  props: {
    text: {
      type: String,
      default: ''
    },
    placement: {
      type: String,
      default: 'top-start'
    },
    effect: {
      type: String,
      default: 'dark'
    },
    color: String,
    fontSize: {
      type: String,
      default: '14px'
    },
    fontWeight: {
      type: [String, Number],
      default: 'normal'
    }
  },
  data: function data() {
    return {
      disableTip: false
    };
  },
  methods: {
    onMouseOver: function onMouseOver() {
      var parentWidth = this.$refs['ellipsis'].parentNode.offsetWidth;
      var contentWidth = this.$refs['ellipsis'].offsetWidth;
      this.disableTip = contentWidth <= parentWidth;
    }
  }
});
// CONCATENATED MODULE: ./packages/components/EllipsisTooltip.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_EllipsisTooltipvue_type_script_lang_js_ = (EllipsisTooltipvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/EllipsisTooltip.vue?vue&type=style&index=0&id=f5399dbc&scoped=true&lang=scss&
var EllipsisTooltipvue_type_style_index_0_id_f5399dbc_scoped_true_lang_scss_ = __webpack_require__("078e");

// CONCATENATED MODULE: ./packages/components/EllipsisTooltip.vue






/* normalize component */

var EllipsisTooltip_component = normalizeComponent(
  components_EllipsisTooltipvue_type_script_lang_js_,
  EllipsisTooltipvue_type_template_id_f5399dbc_scoped_true_render,
  EllipsisTooltipvue_type_template_id_f5399dbc_scoped_true_staticRenderFns,
  false,
  null,
  "f5399dbc",
  null
  
)

/* harmony default export */ var EllipsisTooltip = (EllipsisTooltip_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SvgIcon.vue?vue&type=template&id=ef2fb544&scoped=true&
var SvgIconvue_type_template_id_ef2fb544_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',_vm._g({class:_vm.svgClass,attrs:{"aria-hidden":"true"}},_vm.$listeners),[_c('use',{attrs:{"xlink:href":_vm.iconName}})])}
var SvgIconvue_type_template_id_ef2fb544_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/SvgIcon.vue?vue&type=template&id=ef2fb544&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/SvgIcon.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
/* harmony default export */ var SvgIconvue_type_script_lang_js_ = ({
  name: 'ShSvgIcon',
  props: {
    iconClass: {
      type: String,
      required: true
    },
    className: {
      type: String,
      default: ''
    }
  },
  computed: {
    iconName: function iconName() {
      return "#icon-".concat(this.iconClass);
    },
    svgClass: function svgClass() {
      if (this.className) {
        return 'svg-icon ' + this.className;
      } else {
        return 'svg-icon';
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/components/SvgIcon.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SvgIconvue_type_script_lang_js_ = (SvgIconvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/SvgIcon.vue?vue&type=style&index=0&id=ef2fb544&scoped=true&lang=css&
var SvgIconvue_type_style_index_0_id_ef2fb544_scoped_true_lang_css_ = __webpack_require__("29fa");

// CONCATENATED MODULE: ./packages/components/SvgIcon.vue






/* normalize component */

var SvgIcon_component = normalizeComponent(
  components_SvgIconvue_type_script_lang_js_,
  SvgIconvue_type_template_id_ef2fb544_scoped_true_render,
  SvgIconvue_type_template_id_ef2fb544_scoped_true_staticRenderFns,
  false,
  null,
  "ef2fb544",
  null
  
)

/* harmony default export */ var SvgIcon = (SvgIcon_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ActivitiProcess.vue?vue&type=template&id=05f03d72&
var ActivitiProcessvue_type_template_id_05f03d72_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ProcessNode',_vm._b({ref:"workFlow",attrs:{"flowNode":_vm.flowNode,"taskRecordList":_vm.taskRecordList,"rejectModelList":_vm.rejectModelList,"type":_vm.type,"actStatus":_vm.form.actStatus,"title":_vm.title}},'ProcessNode',_vm.$attrs,false)),_c('FlowChart',{ref:"flowChart"})],1)}
var ActivitiProcessvue_type_template_id_05f03d72_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/activiti/ActivitiProcess.vue?vue&type=template&id=05f03d72&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ProcessNode.vue?vue&type=template&id=50e657a4&scoped=true&
var ProcessNodevue_type_template_id_50e657a4_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"flow"},[(_vm.type != 'view' && _vm.form.processNodeList.length && (!_vm.actStatus || _vm.actStatus < 3))?_c('div',[(_vm.title)?_c('p',{staticClass:"title"},[_c('i',{staticClass:"el-icon-s-grid"}),_vm._v(" "+_vm._s(_vm.title))]):_vm._e(),_c('sh-form',{ref:"workflow",attrs:{"model":_vm.form,"className":_vm.className,"labelWidth":_vm.labelWidth,"isStyle":false}},[((!_vm.actStatus || _vm.actStatus === 0))?_c('sh-form-item',{ref:"processGrade",attrs:{"label":"紧急程度","prop":"processGrade","rules":"required"}},[_c('el-radio-group',{model:{value:(_vm.form.processGrade),callback:function ($$v) {_vm.$set(_vm.form, "processGrade", $$v)},expression:"form.processGrade"}},[_c('el-radio',{attrs:{"label":0}},[_vm._v("一般")]),_c('el-radio',{attrs:{"label":1}},[_vm._v("紧急")])],1)],1):_vm._e(),(_vm.rejectModelList && _vm.rejectModelList.length)?_c('sh-form-item',{ref:"processType",attrs:{"label":"处理操作","prop":"processType","rules":"required"}},[_c('el-radio-group',{on:{"change":_vm.processTypeChange},model:{value:(_vm.form.processType),callback:function ($$v) {_vm.$set(_vm.form, "processType", $$v)},expression:"form.processType"}},[_c('el-radio',{attrs:{"label":0}},[_vm._v("通过")]),_c('el-radio',{attrs:{"label":1}},[_vm._v("驳回")])],1),_c('el-tooltip',{staticClass:"item",attrs:{"effect":"dark","content":"若不同意或者需要发起人重新走流程，建议进行驳回操作","placement":"right"}},[_c('i',{staticClass:"el-icon-question icon-color toolip-st"})])],1):_vm._e(),(_vm.form.processType)?_c('div',[_c('sh-form-item',{ref:"processRejectType",attrs:{"label":"驳回类型","prop":"processRejectType","rules":"required","span":24}},[_c('el-radio-group',{model:{value:(_vm.form.processRejectType),callback:function ($$v) {_vm.$set(_vm.form, "processRejectType", $$v)},expression:"form.processRejectType"}},_vm._l((_vm.rejectModelList),function(item){return _c('el-radio',{key:item.rejectType,attrs:{"label":item.rejectType},nativeOn:{"click":function($event){return _vm.radioRejectChange(item)}}},[_vm._v(_vm._s(item.rejectName))])}),1),_c('el-select',{staticClass:"reject-input",attrs:{"placeholder":"请选择"},model:{value:(_vm.form.processRejectNodeId),callback:function ($$v) {_vm.$set(_vm.form, "processRejectNodeId", $$v)},expression:"form.processRejectNodeId"}},_vm._l((_vm.rejectNodeList),function(item){return _c('el-option',{key:item.nodeId,attrs:{"label":item.nodeName,"value":item.nodeId}})}),1)],1)],1):_c('div',_vm._l((_vm.formArr),function(items,index){return _c('div',{key:items.nodeId,staticClass:"flow-item"},[(items.type === 'exclusive')?_c('div',[(_vm.formArr.length > 1)?_c('sh-form-item',{attrs:{"label":"处理类型"}},[_c('div',[_vm._v(_vm._s(items.lineName))])]):_vm._e(),(items.childerNodes.length > 1)?_c('sh-form-item',{ref:'processNodeList.' + index + '.nodeId',refInFor:true,attrs:{"label":"处理条件","prop":'processNodeList.' + index + '.nodeId',"rules":"required"}},[_c('el-radio-group',{attrs:{"value":_vm.form.processNodeList[index].nodeId}},_vm._l((items.childerNodes),function(item){return _c('el-radio',{key:item.nodeId,attrs:{"label":item.nodeId},nativeOn:{"click":function($event){return _vm.radioChange(index, item)}}},[_vm._v(_vm._s(item.lineName))])}),1)],1):_vm._e(),_c('sh-form-item',{attrs:{"label":"下一步","prop":"lineId"}},[_c('div',[_vm._v(_vm._s(_vm.form.processNodeList[index].nodeName))])]),(_vm.form.processNodeList[index].type === 'user')?_c('sh-form-item',{ref:'processNodeList.' + index + '.defaultHandlerName',refInFor:true,attrs:{"label":"处理人","prop":'processNodeList.' + index + '.defaultHandlerName',"rules":"required"}},[_c('el-input',{attrs:{"value":_vm.form.processNodeList[index].defaultHandlerName,"placeholder":"请选择处理人","suffix-icon":"el-icon-search","readonly":"","disabled":!_vm.form.processNodeList[index].canChooseHandler},nativeOn:{"click":function($event){return _vm.selectPerson(index, _vm.item)}}})],1):_vm._e()],1):_c('div',[(_vm.form.processNodeList[index].userVariable)?_c('sh-form-item',{ref:'processNodeList.' + index + '.defaultHandlerName',refInFor:true,attrs:{"label":("" + (items.nodeName)),"prop":'processNodeList.' + index + '.defaultHandlerName',"rules":"required"}},[_c('el-input',{attrs:{"value":_vm.form.processNodeList[index].defaultHandlerName,"placeholder":"请选择处理人","suffix-icon":"el-icon-search","readonly":"","disabled":!_vm.form.processNodeList[index].canChooseHandler},nativeOn:{"click":function($event){return _vm.selectPerson(index, _vm.item)}}})],1):_c('sh-form-item',{attrs:{"label":"下一步","prop":"lineId"}},[_c('div',[_vm._v(_vm._s(_vm.form.processNodeList[index].nodeName))])])],1)])}),0),(_vm.actStatus)?_c('sh-form-item',{ref:"processComment",attrs:{"label":"审批意见","prop":"processComment","rules":"required"}},[_c('el-input',{attrs:{"placeholder":"请输入意见","type":"textarea"},model:{value:(_vm.form.processComment),callback:function ($$v) {_vm.$set(_vm.form, "processComment", $$v)},expression:"form.processComment"}})],1):_vm._e()],1)],1):_vm._e(),(_vm.taskRecordList && _vm.taskRecordList.length)?_c('div',[_vm._m(0),_c('sh-table',{ref:"table",attrs:{"data":_vm.taskRecordList,"showPage":false,"empty":false}},[_c('sh-table-column',{attrs:{"type":"index","label":"序号","width":"50"}}),_c('sh-table-column',{attrs:{"prop":"taskName","label":"任务名称","min-width":"40"}}),_c('sh-table-column',{attrs:{"prop":"dealUserName","label":"执行人","min-width":"40"}}),_c('sh-table-column',{attrs:{"prop":"createTime","label":"开始时间","min-width":"50"}}),_c('sh-table-column',{attrs:{"prop":"dealTime","label":"结束时间","min-width":"50"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_vm._v(" "+_vm._s(scope.row.dealTime)+" ")]}}],null,false,2384920772)}),_c('sh-table-column',{attrs:{"prop":"result","label":"处理结果","min-width":"40"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_vm._v(" "+_vm._s(scope.row.result || (scope.row.dealTime ? '/': ''))+" ")]}}],null,false,89673030)}),_c('sh-table-column',{attrs:{"prop":"opinion","label":"意见","min-width":"80","align":"left"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('div',{staticClass:"opinion"},[(scope.row.opinion)?_c('span',{domProps:{"innerHTML":_vm._s(scope.row.opinion.replace(/\n/g,'<br/>'))}}):_c('span',[_vm._v(_vm._s(scope.row.dealTime ? '/': ''))])])]}}],null,false,899426839)})],1)],1):_vm._e(),(_vm.formArr.length)?_c('PersonTree',{ref:"personTree",attrs:{"load":false,"data":_vm.form.processNodeList[_vm.index].userTreeBean,"dialogVisible":_vm.dialogTreeVisible,"radio":!(_vm.form.processNodeList[_vm.index] && _vm.form.processNodeList[_vm.index].isMultiInstance),"defaultTreeData":_vm.defaultTreeData},on:{"update:dialogVisible":function($event){_vm.dialogTreeVisible=$event},"update:dialog-visible":function($event){_vm.dialogTreeVisible=$event},"handleEvent":_vm.handleEvent}}):_vm._e()],1)}
var ProcessNodevue_type_template_id_50e657a4_scoped_true_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('p',{staticClass:"title"},[_c('i',{staticClass:"el-icon-s-grid"}),_vm._v(" 流程处理记录")])}]


// CONCATENATED MODULE: ./packages/components/activiti/ProcessNode.vue?vue&type=template&id=50e657a4&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/PersonTree.vue?vue&type=template&id=60026687&scoped=true&
var PersonTreevue_type_template_id_60026687_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":_vm.title,"visible":_vm.visible,"width":"500px","height":"700px","append-to-body":true,"close-on-click-modal":false,"before-close":_vm.handleClose},on:{"update:visible":function($event){_vm.visible=$event}}},[_c('div',{staticClass:"key-search"},[_c('el-input',{attrs:{"placeholder":"输入关键字"},on:{"change":_vm.filterChange},model:{value:(_vm.filterText),callback:function ($$v) {_vm.filterText=$$v},expression:"filterText"}})],1),_c('div',{staticStyle:{"height":"calc(100% - 45px)"}},[_c('el-scrollbar',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"scrollbar"},[_c('el-tree',_vm._g(_vm._b({ref:"tree",staticClass:"sh-tree",class:_vm.radio ? 'sh-tree-radio' : 'sh-tree-checkbox',attrs:{"data":_vm.treeData,"show-checkbox":!_vm.radio,"node-key":_vm.nodeKey,"props":_vm.defaultProps,"filter-node-method":_vm.filterNode,"default-checked-keys":_vm.defaultData,"default-expanded-keys":_vm.expandedArr},on:{"check":_vm.handleClick,"node-click":_vm.handleNodeClick},scopedSlots:_vm._u([{key:"default",fn:function(ref){
var node = ref.node;
var data = ref.data;
return _c('span',{},[_c('span',[_c('i',{staticClass:"node-icon",class:data.nodeType === 'person' ? 'el-icon-tickets' : 'el-icon-folder-opened'}),_vm._v(_vm._s(node.label))])])}}])},'el-tree',_vm.$attrs,false),_vm.$listeners))],1)],1),_c('div',{attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.handleSubmit}},[_vm._v("确认")]),_c('el-button',{on:{"click":_vm.handleClose}},[_vm._v("取消")])],1)])}
var PersonTreevue_type_template_id_60026687_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/activiti/PersonTree.vue?vue&type=template&id=60026687&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/PersonTree.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var PersonTreevue_type_script_lang_js_ = ({
  name: 'ShPersonTree',
  components: {
    ShDialog: Dialog
  },
  props: {
    data: Array,
    api: String,
    search: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    title: {
      type: String,
      default: '请选择'
    },
    nodeKey: {
      type: String,
      default: 'id'
    },
    type: {
      type: String,
      default: 'person'
    },
    radio: Boolean,
    dialogVisible: Boolean,
    defaultProps: {
      type: Object,
      default: function _default() {
        return {
          children: 'children',
          label: 'text'
        };
      }
    },
    defaultData: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    close: {
      type: Boolean,
      default: true
    },
    defaultLoad: {
      type: Boolean,
      default: true
    }
  },
  watch: {
    // 每次打开窗口重载tree
    dialogVisible: function dialogVisible(val) {
      if (val && !this.data) {
        this.resetChecked();

        if (!this.defaultLoad) {
          this.loadList();
        }
      }

      this.visible = val;
    },
    filterText: function filterText(val) {
      this.$refs.tree.filter(val);
    },
    data: {
      handler: function handler(val) {
        var _this = this;

        if (val) {
          this.treeData = _toConsumableArray(val);
          this.expandedArr = []; // 默认展开第一级

          this.treeData.forEach(function (item) {
            _this.expandedArr.push(item.id);
          });
        }
      },
      immediate: true
    }
  },
  data: function data() {
    return {
      visible: this.dialogVisible,
      treeData: [],
      activeNode: {},
      loading: false,
      filterText: '',
      expandedArr: [],
      typeObj: {
        dept: '/system/manage/getManageTree',
        person: '/system/org/ogrManagePersonTrees'
      }
    };
  },
  methods: {
    beforeClose: function beforeClose() {
      this.defaultData = [];
    },
    filterNode: function filterNode(value, data) {
      // 查询
      if (!value) return true;
      return data[this.type === 'dept' ? 'managementName' : this.defaultProps.label].indexOf(value) !== -1;
    },
    // 清空树
    resetChecked: function resetChecked() {
      var _this2 = this;

      this.$nextTick(function () {
        _this2.filterText = '';

        _this2.$refs.tree.setCheckedNodes([]);

        _this2.$refs.tree.setCheckedKeys(_this2.defaultData);
      });
    },
    loadList: function loadList() {
      var _this3 = this;

      this.loading = true;
      this.$post(this.api || this.$store.state.env.VUE_APP_PORT + this.typeObj[this.type], this.search, function (data) {
        _this3.loading = false;
        if (!data.data) return;
        _this3.treeData = data.data; //  树默认展开第一级

        _this3.expandedArr = [];

        _this3.treeData.forEach(function (item) {
          _this3.expandedArr.push(item.id);
        });
      }, function (error) {
        _this3.loading = false;

        _this3.$message.error(error.msg);
      });
    },
    handleNodeClick: function handleNodeClick(node) {
      this.activeNode = node;
    },
    handleClick: function handleClick(data, checked) {
      if (this.radio) {
        if (checked) {
          this.$refs.tree.setCheckedNodes([]);
          this.$refs.tree.setCheckedNodes([data]); // 交叉点击节点
        } else {
          this.$refs.tree.setCheckedNodes([]); // 点击已经选中的节点，置空
        }
      }
    },
    handleSubmit: function handleSubmit() {
      var _this4 = this;

      if (this.radio) {
        if (this.activeNode && this.activeNode[this.defaultProps.label]) {
          this.$emit('handleEvent', this.activeNode);
          this.close && this.$emit('update:dialogVisible', false);
        } else {
          this.$message.warning('请先选择数据');
        }
      } else {
        // 半选中节点
        var arr = [].concat(_toConsumableArray(this.$refs.tree.getHalfCheckedKeys()), _toConsumableArray(this.$refs.tree.getCheckedKeys()));
        var nodeArr = this.$refs.tree.getCheckedNodes();
        var parentIdObj = {};
        var parentArr = [];
        nodeArr.forEach(function (item) {
          parentIdObj[item[_this4.nodeKey]] = true;

          if (!parentIdObj[item.parentId]) {
            parentArr.push(item);
          }
        }); // 选中节点数组，选中id数组，半选中节点, 选中节点数组(不带子节点)

        this.$emit('handleEvent', nodeArr, this.$refs.tree.getCheckedKeys(), arr, parentArr);
        this.close && this.$emit('update:dialogVisible', false);
      }
    },
    // 关闭弹窗前的回调
    handleClose: function handleClose() {
      this.$emit('update:dialogVisible', false);
    }
  }
});
// CONCATENATED MODULE: ./packages/components/activiti/PersonTree.vue?vue&type=script&lang=js&
 /* harmony default export */ var activiti_PersonTreevue_type_script_lang_js_ = (PersonTreevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/activiti/PersonTree.vue?vue&type=style&index=0&id=60026687&lang=scss&scoped=true&
var PersonTreevue_type_style_index_0_id_60026687_lang_scss_scoped_true_ = __webpack_require__("cae5");

// CONCATENATED MODULE: ./packages/components/activiti/PersonTree.vue






/* normalize component */

var PersonTree_component = normalizeComponent(
  activiti_PersonTreevue_type_script_lang_js_,
  PersonTreevue_type_template_id_60026687_scoped_true_render,
  PersonTreevue_type_template_id_60026687_scoped_true_staticRenderFns,
  false,
  null,
  "60026687",
  null
  
)

/* harmony default export */ var PersonTree = (PersonTree_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ProcessNode.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var ProcessNodevue_type_script_lang_js_ = ({
  components: {
    PersonTree: PersonTree
  },
  props: {
    className: {
      type: String,
      default: 'sh-form'
    },
    labelWidth: {
      type: String,
      default: '100px'
    },
    type: String,
    rejectModelList: Array,
    flowNode: Array,
    taskRecordList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    actStatus: Number,
    title: String
  },
  watch: {
    flowNode: function flowNode(val) {
      // 监听流程节点变化
      this.formArr = this.getNodeArr(val);
    },
    formArr: function formArr(val) {
      var _this = this;

      this.form.processNodeList = [];
      val.forEach(function (item) {
        if (item.type === 'exclusive') {
          item.childerNodes[0].defaultHandlerName = '';
          item.childerNodes[0].processUserList.forEach(function (person) {
            item.childerNodes[0].defaultHandlerName = item.childerNodes[0].defaultHandlerName ? "".concat(item.childerNodes[0].defaultHandlerName, ",").concat(person.ucName) : person.ucName;
          });

          _this.form.processNodeList.push(_objectSpread2({}, item.childerNodes[0]));
        } else {
          item.defaultHandlerName = '';
          item.processUserList.forEach(function (person) {
            item.defaultHandlerName = item.defaultHandlerName ? "".concat(item.defaultHandlerName, ",").concat(person.ucName) : person.ucName;
          });

          _this.form.processNodeList.push(_objectSpread2({}, item));
        }
      });
    }
  },
  data: function data() {
    return {
      formArr: [],
      form: {
        processNodeList: [],
        processComment: '同意',
        processType: 0,
        processRejectNodeId: '',
        processRejectType: 0,
        processGrade: 0 // 紧急程度

      },
      rejectNodeList: [],
      dialogTreeVisible: false,
      index: 0,
      defaultTreeData: []
    };
  },
  methods: {
    // 驳回默认选中第一个节点
    processTypeChange: function processTypeChange(val) {
      if (val) {
        this.form.processRejectType = this.rejectModelList[0].rejectType;
        this.rejectNodeList = this.rejectModelList[0].nodeList;
        this.form.processRejectNodeId = this.rejectModelList[0].nodeList[0].nodeId;
        this.form.processComment = '驳回';
      } else {
        this.form.processComment = '同意';
      }
    },
    // 驳回类型选中
    radioRejectChange: function radioRejectChange(item) {
      this.rejectNodeList = item.nodeList;
      this.form.processRejectNodeId = item.nodeList[0].nodeId;
    },
    validate: function validate(callback) {
      var _this2 = this;

      // 校验方法
      this.$refs.workflow.validate(function (valid, obj) {
        if (valid) {
          callback(valid);
        } else {
          _this2.$scrollToView(_this2, obj);
        }
      });
    },
    radioChange: function radioChange(index, item) {
      // 处理操作
      item.defaultHandlerName = '';
      item.processUserList.forEach(function (person) {
        item.defaultHandlerName = item.defaultHandlerName ? "".concat(item.defaultHandlerName, ",").concat(person.ucName) : person.ucName;
      });
      this.$set(this.form.processNodeList, index, item);
    },
    getNodeArr: function getNodeArr(val) {
      // 树状节点转为数组
      var arr = [];

      for (var i = 0; i < val.length; i++) {
        if (val[i].type === 'parallel') {
          arr = [].concat(_toConsumableArray(arr), _toConsumableArray(this.getNodeArr(val[i].childerNodes)));
        } else {
          arr.push(_objectSpread2({}, val[i]));
        }
      }

      return arr;
    },
    selectPerson: function selectPerson(index) {
      // 选择人员
      if (this.form.processNodeList[index].canChooseHandler) {
        this.index = index;
        this.dialogTreeVisible = true;
      }
    },
    handleEvent: function handleEvent(node, ids, arr) {
      var _this3 = this;

      // 选人回调
      this.form.processNodeList[this.index].processUserList = [];
      this.form.processNodeList[this.index].defaultHandlerName = '';

      if (this.form.processNodeList[this.index].isMultiInstance) {
        // 多选人员
        node.forEach(function (item) {
          if (item.nodeType === 'person') {
            _this3.form.processNodeList[_this3.index].defaultHandlerName = _this3.form.processNodeList[_this3.index].defaultHandlerName ? "".concat(_this3.form.processNodeList[_this3.index].defaultHandlerName, ",").concat(item.text) : item.text;

            _this3.form.processNodeList[_this3.index].processUserList.push({
              ucId: item.id,
              ucCode: item.fullCode,
              ucName: item.text,
              unitId: item.unitId
            });
          }

          _this3.defaultTreeData.push(item.id);
        });
      } else {
        this.form.processNodeList[this.index].processUserList.push({
          ucId: node.id,
          ucCode: node.fullCode,
          ucName: node.text,
          unitId: node.unitId
        });
        this.form.processNodeList[this.index].defaultHandlerName = node.text;
      }
    },
    resetFields: function resetFields() {
      // 初始化数据
      this.form.processNodeList = [];
      this.form.processComment = '同意';
      this.form.processType = 0;
      this.form.processRejectNodeId = '';
      this.form.processRejectType = 0;
      this.defaultTreeData = [];
      this.rejectNodeList = [];
      this.actStatus = null;
      this.index = 0;
      this.formArr = [];
    }
  }
});
// CONCATENATED MODULE: ./packages/components/activiti/ProcessNode.vue?vue&type=script&lang=js&
 /* harmony default export */ var activiti_ProcessNodevue_type_script_lang_js_ = (ProcessNodevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/activiti/ProcessNode.vue?vue&type=style&index=0&id=50e657a4&lang=scss&scoped=true&
var ProcessNodevue_type_style_index_0_id_50e657a4_lang_scss_scoped_true_ = __webpack_require__("999a");

// CONCATENATED MODULE: ./packages/components/activiti/ProcessNode.vue






/* normalize component */

var ProcessNode_component = normalizeComponent(
  activiti_ProcessNodevue_type_script_lang_js_,
  ProcessNodevue_type_template_id_50e657a4_scoped_true_render,
  ProcessNodevue_type_template_id_50e657a4_scoped_true_staticRenderFns,
  false,
  null,
  "50e657a4",
  null
  
)

/* harmony default export */ var ProcessNode = (ProcessNode_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/FlowChart.vue?vue&type=template&id=02c0af7f&
var FlowChartvue_type_template_id_02c0af7f_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":"流程图","visible":_vm.dialogFormVisible,"destroy-on-close":true,"close-on-click-modal":false,"width":"1200px","height":"70vh","append-to-body":""},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('div',[_c('img',{staticClass:"flowChart",staticStyle:{"width":"100%","height":"100%"},attrs:{"src":_vm.chart}})]),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("关 闭")])],1)])}
var FlowChartvue_type_template_id_02c0af7f_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/activiti/FlowChart.vue?vue&type=template&id=02c0af7f&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/FlowChart.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var FlowChartvue_type_script_lang_js_ = ({
  data: function data() {
    return {
      dialogFormVisible: false,
      chart: null
    };
  },
  methods: {
    init: function init(id, processStatus, processTaskId) {
      var _this = this;

      this.dialogFormVisible = true;
      axios({
        method: 'get',
        url: this.$store.state.env.VUE_APP_PORT + '/activiti/procdef/outputImageByInstanceId',
        responseType: 'blob',
        // 接收返回的类型
        params: {
          instanceId: id,
          processTaskId: processTaskId
        }
      }).then(function (res) {
        if (res && res.data) {
          _this.chart = window.URL.createObjectURL(res.data);
        } else {
          _this.chart = null;
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/components/activiti/FlowChart.vue?vue&type=script&lang=js&
 /* harmony default export */ var activiti_FlowChartvue_type_script_lang_js_ = (FlowChartvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/activiti/FlowChart.vue





/* normalize component */

var FlowChart_component = normalizeComponent(
  activiti_FlowChartvue_type_script_lang_js_,
  FlowChartvue_type_template_id_02c0af7f_render,
  FlowChartvue_type_template_id_02c0af7f_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var FlowChart = (FlowChart_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ActivitiProcess.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//


/* harmony default export */ var ActivitiProcessvue_type_script_lang_js_ = ({
  name: 'ShActivitiProcess',
  props: {
    loadProcess: {
      type: Boolean,
      default: true
    },
    activitiApi: Object,
    title: String,
    formRef: Object,
    form: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    type: String
  },
  components: {
    FlowChart: FlowChart,
    ProcessNode: ProcessNode
  },
  data: function data() {
    return {
      dialogFormVisible: false,
      flowNode: [],
      taskRecordList: [],
      rejectModelList: [],
      id: '',
      api: '',
      isRecallAppro: 0,
      // 审批撤回
      processTaskId: ''
    };
  },
  methods: {
    onRecall: function onRecall() {
      var _this = this;

      // 撤回
      this.$deleteInfo(this.activitiApi.recallApi, {
        id: this.form.id,
        processTaskId: this.processTaskId
      }, '是否确认撤回？', function () {
        _this.dialogFormVisible = false;

        _this.$emit('loadList');
      });
    },
    onActivitiRecall: function onActivitiRecall() {
      var _this2 = this;

      // 新工作流作废
      this.$deleteInfo(this.activitiApi.revokeApi, {
        id: this.form.id,
        processTaskId: this.processTaskId
      }, '确认作废该条数据？', function () {
        _this2.dialogFormVisible = false;

        _this2.$emit('loadList');
      });
    },
    // 查看流程图
    openFlowChart: function openFlowChart() {
      this.$refs.flowChart.init(this.taskRecordList[this.taskRecordList.length - 1].processInstanceId, this.form.processStatus, this.processTaskId);
    },
    getProcessDetail: function getProcessDetail() {
      var _this3 = this;

      // 获取审批详情
      this.$store.state.fullscreenLoading = true;
      this.$refs.workFlow && this.$refs.workFlow.resetFields();
      this.$post(this.activitiApi.processApi, {
        id: this.id,
        processTaskId: this.processTaskId
      }, function (data) {
        _this3.flowNode = data.data.processNodeList || [];
        _this3.taskRecordList = data.data.taskRecordList || [];
        _this3.rejectModelList = data.data.rejectModelList || [];
        _this3.isRecallAppro = data.data.isRecallAppro;
        _this3.$store.state.fullscreenLoading = false;
      }, function (error) {
        _this3.$store.state.fullscreenLoading = false;

        _this3.$message.error(error.msg);
      });
    },
    onSave: function onSave(submit) {
      var _this4 = this;

      this.formRef.validate(function (valid) {
        // 校验业务单
        if (valid) {
          // 得到form中的数据
          var query = _objectSpread2({}, _this4.form);

          if (submit) {
            _this4.$refs.workFlow.validate(function (valid) {
              // 校验审批
              if (valid) {
                // 提交
                if (_this4.type === 'add' || query.processStatus === 0) {
                  // 第一次提交
                  query.processStatus = 1;
                }

                query = _objectSpread2(_objectSpread2({
                  processTaskId: _this4.processTaskId
                }, query), _this4.$refs.workFlow.form);

                _this4.onSubmit(query);
              }
            });
          } else {
            // 保存
            query.processStatus = 0;

            _this4.onSubmit(query);
          }
        }
      });
    },
    onSubmit: function onSubmit(query) {
      var _this5 = this;

      this.$store.state.fullscreenLoading = true;
      this.$post(this.form.id ? this.activitiApi.updateApi : this.activitiApi.saveApi, query, function (data) {
        _this5.$store.state.fullscreenLoading = false;

        _this5.$message.success(data.msg);

        _this5.$emit('loadList');

        _this5.dialogFormVisible = false;
      }, function (error) {
        _this5.$store.state.fullscreenLoading = false;

        _this5.$message.error(error.msg);
      });
    },
    init: function init() {
      var row = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
      this.id = row.id; // 并行任务区分代办

      this.processTaskId = row.processTaskId;
      this.isRecallAppro = 0;
      this.flowNode = [];
      this.taskRecordList = [];
      this.rejectModelList = [];
      this.getProcessDetail();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/activiti/ActivitiProcess.vue?vue&type=script&lang=js&
 /* harmony default export */ var activiti_ActivitiProcessvue_type_script_lang_js_ = (ActivitiProcessvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/components/activiti/ActivitiProcess.vue





/* normalize component */

var ActivitiProcess_component = normalizeComponent(
  activiti_ActivitiProcessvue_type_script_lang_js_,
  ActivitiProcessvue_type_template_id_05f03d72_render,
  ActivitiProcessvue_type_template_id_05f03d72_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var ActivitiProcess = (ActivitiProcess_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ActivitiButton.vue?vue&type=template&id=3f338303&scoped=true&
var ActivitiButtonvue_type_template_id_3f338303_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.activitiRef)?_c('div',{staticClass:"btn"},[(_vm.$listeners.close)?_c('el-button',{on:{"click":_vm.close}},[_vm._v(_vm._s(_vm.closeName))]):_vm._e(),(_vm.activitiRef.taskRecordList && _vm.activitiRef.taskRecordList.length)?_c('el-button',{on:{"click":_vm.openFlowChart}},[_vm._v("流 程 图")]):_vm._e(),(_vm.type !== 'view' && (!_vm.activitiRef.id || _vm.form.actStatus === 0))?_c('el-button',{attrs:{"type":"primary"},on:{"click":function($event){return _vm.onSave(false)}}},[_vm._v("保 存")]):_vm._e(),(_vm.form.isCancel == 1)?_c('el-button',{on:{"click":function($event){return _vm.onActivitiRecall()}}},[_vm._v("作 废")]):_vm._e(),(_vm.activitiRef.isRecallAppro)?_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.onRecall}},[_vm._v("审批撤回")]):_vm._e(),(_vm.type !== 'view' && _vm.activitiRef.flowNode)?_c('el-button',{attrs:{"type":"primary"},on:{"click":function($event){return _vm.onSave(true)}}},[_vm._v("提 交")]):_vm._e()],1):_vm._e()}
var ActivitiButtonvue_type_template_id_3f338303_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/components/activiti/ActivitiButton.vue?vue&type=template&id=3f338303&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/components/activiti/ActivitiButton.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var ActivitiButtonvue_type_script_lang_js_ = ({
  name: 'ShActivitiButton',
  props: {
    activitiRef: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    type: String,
    form: {
      type: Object,
      default: function _default() {
        return {};
      }
    },
    closeName: {
      type: String,
      default: '关 闭'
    }
  },
  data: function data() {
    return {// form: {}
    };
  },
  methods: {
    close: function close() {
      this.$emit('close');
    },
    onSave: function onSave(val) {
      this.activitiRef.onSave(val);
    },
    onRecall: function onRecall() {
      this.activitiRef.onRecall();
    },
    onActivitiRecall: function onActivitiRecall() {
      this.activitiRef.onActivitiRecall();
    },
    openFlowChart: function openFlowChart() {
      this.activitiRef.openFlowChart();
    }
  }
});
// CONCATENATED MODULE: ./packages/components/activiti/ActivitiButton.vue?vue&type=script&lang=js&
 /* harmony default export */ var activiti_ActivitiButtonvue_type_script_lang_js_ = (ActivitiButtonvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/components/activiti/ActivitiButton.vue?vue&type=style&index=0&id=3f338303&scoped=true&lang=css&
var ActivitiButtonvue_type_style_index_0_id_3f338303_scoped_true_lang_css_ = __webpack_require__("ce61");

// CONCATENATED MODULE: ./packages/components/activiti/ActivitiButton.vue






/* normalize component */

var ActivitiButton_component = normalizeComponent(
  activiti_ActivitiButtonvue_type_script_lang_js_,
  ActivitiButtonvue_type_template_id_3f338303_scoped_true_render,
  ActivitiButtonvue_type_template_id_3f338303_scoped_true_staticRenderFns,
  false,
  null,
  "3f338303",
  null
  
)

/* harmony default export */ var ActivitiButton = (ActivitiButton_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/403.vue?vue&type=template&id=12092779&scoped=true&
var _403vue_type_template_id_12092779_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"error"},[_vm._m(0),_c('p',{staticClass:"error-txt"},[_vm._v("拒绝访问!"),_c('el-link',{attrs:{"type":"primary"},on:{"click":function($event){return _vm.backUp()}}},[_vm._v("上一步")])],1),_c('sh-button',{staticClass:"back-index",attrs:{"type":"primary","size":"medium"}},[_c('router-link',{attrs:{"tag":"span","to":"/"}},[_vm._v("回到首页")])],1)],1)}
var _403vue_type_template_id_12092779_scoped_true_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"error-info"},[_c('i',{staticClass:"el-icon-warning icon_wrap"}),_c('span',{staticClass:"error-info-code"},[_vm._v("403")])])}]


// CONCATENATED MODULE: ./packages/page/error/403.vue?vue&type=template&id=12092779&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/403.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var _403vue_type_script_lang_js_ = ({
  name: 'ShError403',
  data: function data() {
    return {};
  },
  methods: {
    backUp: function backUp() {
      this.$router.go(-1);
    }
  }
});
// CONCATENATED MODULE: ./packages/page/error/403.vue?vue&type=script&lang=js&
 /* harmony default export */ var error_403vue_type_script_lang_js_ = (_403vue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/error/403.vue?vue&type=style&index=0&id=12092779&lang=scss&scoped=true&
var _403vue_type_style_index_0_id_12092779_lang_scss_scoped_true_ = __webpack_require__("6dc3");

// CONCATENATED MODULE: ./packages/page/error/403.vue






/* normalize component */

var _403_component = normalizeComponent(
  error_403vue_type_script_lang_js_,
  _403vue_type_template_id_12092779_scoped_true_render,
  _403vue_type_template_id_12092779_scoped_true_staticRenderFns,
  false,
  null,
  "12092779",
  null
  
)

/* harmony default export */ var _403 = (_403_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/404.vue?vue&type=template&id=89ae8b40&scoped=true&
var _404vue_type_template_id_89ae8b40_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"error"},[_vm._m(0),_c('p',{staticClass:"error-txt"},[_vm._v(" 你所访问的页面走丢了 "),_c('sh-button',{staticClass:"back-index",attrs:{"type":"text","size":"medium"},on:{"click":function($event){return _vm.backUp()}}},[_vm._v("返回上一级页面>")])],1)])}
var _404vue_type_template_id_89ae8b40_scoped_true_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"error-info"},[_c('img',{attrs:{"src":__webpack_require__("5bc6"),"alt":""}})])}]


// CONCATENATED MODULE: ./packages/page/error/404.vue?vue&type=template&id=89ae8b40&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/404.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var _404vue_type_script_lang_js_ = ({
  name: 'ShError404',
  data: function data() {
    return {
      user: this.$store.state.user
    };
  },
  methods: {
    backUp: function backUp() {
      this.$router.go(-1);
    },
    backIndex: function backIndex() {
      if (window.qiankunStarted && this.$store.state.router) {
        // 微前端
        this.$store.state.router.push('/');
      } else {
        this.$router.push('/');
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/page/error/404.vue?vue&type=script&lang=js&
 /* harmony default export */ var error_404vue_type_script_lang_js_ = (_404vue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/error/404.vue?vue&type=style&index=0&id=89ae8b40&lang=scss&scoped=true&
var _404vue_type_style_index_0_id_89ae8b40_lang_scss_scoped_true_ = __webpack_require__("34e4");

// CONCATENATED MODULE: ./packages/page/error/404.vue






/* normalize component */

var _404_component = normalizeComponent(
  error_404vue_type_script_lang_js_,
  _404vue_type_template_id_89ae8b40_scoped_true_render,
  _404vue_type_template_id_89ae8b40_scoped_true_staticRenderFns,
  false,
  null,
  "89ae8b40",
  null
  
)

/* harmony default export */ var _404 = (_404_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/405.vue?vue&type=template&id=30c9bedf&scoped=true&
var _405vue_type_template_id_30c9bedf_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _vm._m(0)}
var _405vue_type_template_id_30c9bedf_scoped_true_staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"error"},[_c('div',{staticClass:"error-info"},[_c('img',{attrs:{"src":__webpack_require__("5651"),"alt":""}})]),_c('span',{staticClass:"error-txt"},[_vm._v("您没有访问此菜单的权限，如有疑问请联系系统管理员!")])])}]


// CONCATENATED MODULE: ./packages/page/error/405.vue?vue&type=template&id=30c9bedf&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/error/405.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
/* harmony default export */ var _405vue_type_script_lang_js_ = ({
  name: 'ShError405'
});
// CONCATENATED MODULE: ./packages/page/error/405.vue?vue&type=script&lang=js&
 /* harmony default export */ var error_405vue_type_script_lang_js_ = (_405vue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/error/405.vue?vue&type=style&index=0&id=30c9bedf&lang=scss&scoped=true&
var _405vue_type_style_index_0_id_30c9bedf_lang_scss_scoped_true_ = __webpack_require__("8e77");

// CONCATENATED MODULE: ./packages/page/error/405.vue






/* normalize component */

var _405_component = normalizeComponent(
  error_405vue_type_script_lang_js_,
  _405vue_type_template_id_30c9bedf_scoped_true_render,
  _405vue_type_template_id_30c9bedf_scoped_true_staticRenderFns,
  false,
  null,
  "30c9bedf",
  null
  
)

/* harmony default export */ var _405 = (_405_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/Index.vue?vue&type=template&id=3fce40cc&
var Indexvue_type_template_id_3fce40cc_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.systemCode)?_c('div',{staticClass:"login",staticStyle:{"width":"100%","height":"100vh"}},[_c('iframe',{attrs:{"src":_vm.url,"width":"100%","height":"100%","frameborder":"0"}})]):_c('login-page')],1)}
var Indexvue_type_template_id_3fce40cc_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/Index.vue?vue&type=template&id=3fce40cc&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/Login.vue?vue&type=template&id=53ad4af2&scoped=true&
var Loginvue_type_template_id_53ad4af2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('LoginContainer',{attrs:{"bgImg":"bg_zt.png"}},[_c('Particles'),_c('LoginTitle',{attrs:{"showLogo":true,"placeholder":"账号/手机号/统一社会信用代码"}}),_c('LoginBox',{staticClass:"zt-box"}),_c('LoginFooter')],1)}
var Loginvue_type_template_id_53ad4af2_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/Login.vue?vue&type=template&id=53ad4af2&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Container.vue?vue&type=template&id=c772a154&scoped=true&
var Containervue_type_template_id_c772a154_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"login",style:({'background-image':("url(" + (__webpack_require__("b1a2")("./" + _vm.bgImg)) + ")")})},[_vm._t("default")],2)}
var Containervue_type_template_id_c772a154_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/Container.vue?vue&type=template&id=c772a154&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Container.vue?vue&type=script&lang=js&
//
//
//
//
//
//
/* harmony default export */ var Containervue_type_script_lang_js_ = ({
  props: {
    bgImg: {
      type: String,
      default: 'bg_default.jpg'
    }
  }
});
// CONCATENATED MODULE: ./packages/page/login/components/Container.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Containervue_type_script_lang_js_ = (Containervue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/login/components/Container.vue?vue&type=style&index=0&id=c772a154&lang=scss&scoped=true&
var Containervue_type_style_index_0_id_c772a154_lang_scss_scoped_true_ = __webpack_require__("c2cf");

// CONCATENATED MODULE: ./packages/page/login/components/Container.vue






/* normalize component */

var Container_component = normalizeComponent(
  components_Containervue_type_script_lang_js_,
  Containervue_type_template_id_c772a154_scoped_true_render,
  Containervue_type_template_id_c772a154_scoped_true_staticRenderFns,
  false,
  null,
  "c772a154",
  null
  
)

/* harmony default export */ var Container = (Container_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/BoxAction.vue?vue&type=template&id=16a93cbd&scoped=true&
var BoxActionvue_type_template_id_16a93cbd_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"box",style:({
			'background-image': _vm.bgImg ? ("url(" + (__webpack_require__("b1a2")("./" + _vm.bgImg)) + ")") : '',
			'background-color': _vm.bgColor,
			'right': _vm.right
		})},[_c('div',{staticClass:"box-title"},[_vm._v("用户登录")]),_c('div',{staticClass:"tab"},[(_vm.tabShow)?_c('div',[_c('ul',{staticClass:"tab-nav"},[_c('li',{on:{"click":function($event){_vm.isTab = 0}}},[_vm._v("个人登录")]),_c('li',{on:{"click":function($event){_vm.isTab = 1}}},[_vm._v("企业登录")])]),_c('div',{staticClass:"tab-border",class:{'is-tab': _vm.isTab}})]):_vm._e()]),_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"id":"form","isStyle":false,"labelWidth":"0"}},[_c('sh-form-item',{attrs:{"prop":"username","rules":[{type: 'required', message: '账号不能为空'}]}},[_c('sh-input',{attrs:{"name":"username","placeholder":_vm.placeholder ? _vm.placeholder : _vm.isTab ? '账号' : '账号/手机号',"size":"default"},model:{value:(_vm.form.username),callback:function ($$v) {_vm.$set(_vm.form, "username", $$v)},expression:"form.username"}},[_c('i',{staticClass:"el-input__icon el-icon-user",attrs:{"slot":"prefix"},slot:"prefix"})])],1),_c('sh-form-item',{attrs:{"prop":"password","rules":[{type: 'required', message: '密码不能为空'}]}},[_c('sh-input',{attrs:{"type":"password","name":"password","placeholder":"输入密码","size":"default"},nativeOn:{"keyup":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }return _vm.onSubmit()}},model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, "password", $$v)},expression:"form.password"}},[_c('i',{staticClass:"el-input__icon el-icon-lock",attrs:{"slot":"prefix"},slot:"prefix"})])],1),_c('sh-form-item',[_c('sh-button',{attrs:{"type":"primary","size":"default","loading":_vm.loading},on:{"click":_vm.onSubmit}},[_vm._v(" "+_vm._s(_vm.loading ? '正在登录...' : '登录')+" ")]),_c('p',{staticClass:"box-link"},[_c('router-link',{attrs:{"to":"/register","tag":"span"}},[_vm._v("没有账号，立即注册")])],1)],1)],1),_c('div',{staticClass:"slide-dialogs"},[_c('SlideVerify',{ref:"slideblock",attrs:{"visible":_vm.visible},on:{"success":_vm.onLogin,"update:visible":function($event){_vm.visible=$event}}})],1)],1)}
var BoxActionvue_type_template_id_16a93cbd_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/BoxAction.vue?vue&type=template&id=16a93cbd&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/SlideVerify.vue?vue&type=template&id=173be767&scoped=true&
var SlideVerifyvue_type_template_id_173be767_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"slide-verify"},[_c('el-popover',{ref:"popover",attrs:{"popper-class":"slidingPictures","trigger":"manual"},model:{value:(_vm.visible),callback:function ($$v) {_vm.visible=$$v},expression:"visible"}},[_c('div',{staticClass:"sliding-pictures"},[_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"vimg"},[_c('img',{staticClass:"slider-block",style:({top: (_vm.yHeight + "px")}),attrs:{"src":_vm.imgBlockSrc,"id":"sliderBlock"}}),_c('img',{staticClass:"slider-img",attrs:{"src":_vm.imgSrc,"id":"codeImg"}})]),_c('div',{staticClass:"slider"},[_c('transition',{attrs:{"name":"el-zoom-in-bottom"}},[_c('p',{directives:[{name:"show",rawName:"v-show",value:(_vm.timestamp),expression:"timestamp"}],staticClass:"verify-success"},[_vm._v(_vm._s(_vm.timestamp))])]),_c('div',{staticClass:"track",class:{ pintuTrue: _vm.puzzle }},[_vm._v(_vm._s(_vm.tips))]),_c('div',{staticClass:"button el-icon-s-grid",on:{"mousedown":function($event){$event.preventDefault();return _vm.drag.apply(null, arguments)}}})],1),_c('div',{staticClass:"operation"},[_c('span',{staticClass:"el-icon-circle-close",attrs:{"title":"关闭验证码"},on:{"click":_vm.close}}),_c('span',{staticClass:"el-icon-refresh-left",attrs:{"title":"刷新验证码"},on:{"click":_vm.canvasInit}})])])])],1)}
var SlideVerifyvue_type_template_id_173be767_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/SlideVerify.vue?vue&type=template&id=173be767&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/SlideVerify.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SlideVerifyvue_type_script_lang_js_ = ({
  props: {
    visible: {
      type: Boolean,
      default: false
    }
  },
  watch: {
    visible: function visible(e) {
      if (e === true) {
        this.canvasInit();
        this.puzzle = false;
        this.timestamp = '';
        this.tips = '拖动左边滑块完成上方拼图';
      }
    }
  },
  data: function data() {
    return {
      tips: '',
      yHeight: 0,
      imgSrc: '',
      imgBlockSrc: '',
      puzzle: false,
      timestamp: '',
      loading: false,
      imgCodeId: ''
    };
  },
  methods: {
    // 拼图验证码初始化
    canvasInit: function canvasInit() {
      var _this = this;

      this.loading = true;
      this.$get(this.$store.state.env.VUE_APP_PORT + '/auth/captcha/getImageVerifyCode', '', function (data) {
        _this.imgBlockSrc = 'data:image/png;base64,' + data.data.smallImage;
        _this.imgSrc = 'data:image/png;base64,' + data.data.bigImage;
        _this.yHeight = data.data.yHeight;
        _this.imgCodeId = data.data.imgCodeId;
        var slider = document.querySelector('#sliderBlock'); // 滑块dom

        slider.style.left = '0px';
        _this.loading = false;
      }, function () {
        _this.loading = false;
      });
    },
    // 鼠标按下
    drag: function drag(e) {
      var _this2 = this;

      var dom = e.target; // dom元素

      var time = +new Date();
      var slider = document.querySelector('#sliderBlock'); // 滑块dom

      var downCoordinate = {
        x: e.x,
        y: e.y
      }; // x轴数据

      var x = 0;

      var move = function move(moveEV) {
        // 取整
        x = Math.round(moveEV.x - downCoordinate.x);

        if (x >= 237) {
          x = 237;
          return false;
        } else if (x <= 0) {
          x = 0;
          return false;
        }

        dom.style.left = x + 'px';
        slider.style.left = x + 'px';
      };

      var up = function up() {
        document.removeEventListener('mousemove', move);
        document.removeEventListener('mouseup', up);
        dom.style.left = '';

        _this2.$get(_this2.$store.state.env.VUE_APP_PORT + '/auth/captcha/verifyImageCode', {
          code: x,
          imgCodeId: _this2.imgCodeId
        }, function (data) {
          _this2.puzzle = true;
          _this2.tips = '正在登录...';
          setTimeout(function () {
            this.close();
            this.$emit('success', this.imgCodeId);
          }.bind(_this2), 1000);
          _this2.timestamp = "\u6821\u9A8C\u6210\u529F\uFF0C\u7528\u65F6".concat(((new Date() - time) / 1000).toFixed(1), "s");
        }, function (error) {
          _this2.$message.error(error.msg);

          _this2.tips = '校验错误,请重新校验';

          _this2.canvasInit();
        });
      };

      document.addEventListener('mousemove', move);
      document.addEventListener('mouseup', up);
    },
    close: function close() {
      this.$emit('update:visible', false);
    }
  }
});
// CONCATENATED MODULE: ./packages/page/login/components/SlideVerify.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SlideVerifyvue_type_script_lang_js_ = (SlideVerifyvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/login/components/SlideVerify.vue?vue&type=style&index=0&id=173be767&scoped=true&lang=scss&
var SlideVerifyvue_type_style_index_0_id_173be767_scoped_true_lang_scss_ = __webpack_require__("e173");

// CONCATENATED MODULE: ./packages/page/login/components/SlideVerify.vue






/* normalize component */

var SlideVerify_component = normalizeComponent(
  components_SlideVerifyvue_type_script_lang_js_,
  SlideVerifyvue_type_template_id_173be767_scoped_true_render,
  SlideVerifyvue_type_template_id_173be767_scoped_true_staticRenderFns,
  false,
  null,
  "173be767",
  null
  
)

/* harmony default export */ var SlideVerify = (SlideVerify_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/BoxAction.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var BoxActionvue_type_script_lang_js_ = ({
  components: {
    SlideVerify: SlideVerify
  },
  props: {
    bgImg: String,
    bgColor: String,
    right: String,
    tabShow: Boolean,
    placeholder: String,
    loginType: {
      type: String,
      default: 'Default'
    }
  },
  data: function data() {
    return {
      form: {
        code: '8888',
        password: '',
        username: ''
      },
      visible: false,
      isTab: 0,
      loading: false
    };
  },
  methods: {
    onSubmit: function onSubmit() {
      var _this = this;

      this.$refs.form.validate(function (valid) {
        if (!valid) return;
        _this.visible = true;
      });
    },
    forgetpwdOneEvent: function forgetpwdOneEvent() {//  this.$router.push({path: '/forget'})
    },
    onLogin: function onLogin(imgCodeId) {
      var _this2 = this;

      this.loading = true;
      this.form.imgCodeId = imgCodeId;
      this.$post(this.$store.state.env.VUE_APP_PORT + '/auth/auth/userLogin', this.form, function (data) {
        _this2.$message.success(data.msg);

        _this2.loading = false;
        sessionStorage.setItem('token', data.data);

        _this2.$store.commit('token', data.data); // 每次登录除user信息


        sessionStorage.setItem('user', '');

        _this2.$store.commit('user', '');

        _this2.$router.push({
          name: 'layout',
          params: {
            loginType: _this2.loginType
          }
        });
      }, function (error) {
        _this2.$message.error(error.msg);

        _this2.loading = false;
      });
    }
  },
  mounted: function mounted() {}
});
// CONCATENATED MODULE: ./packages/page/login/components/BoxAction.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_BoxActionvue_type_script_lang_js_ = (BoxActionvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/login/components/BoxAction.vue?vue&type=style&index=0&id=16a93cbd&lang=scss&scoped=true&
var BoxActionvue_type_style_index_0_id_16a93cbd_lang_scss_scoped_true_ = __webpack_require__("da01");

// CONCATENATED MODULE: ./packages/page/login/components/BoxAction.vue






/* normalize component */

var BoxAction_component = normalizeComponent(
  components_BoxActionvue_type_script_lang_js_,
  BoxActionvue_type_template_id_16a93cbd_scoped_true_render,
  BoxActionvue_type_template_id_16a93cbd_scoped_true_staticRenderFns,
  false,
  null,
  "16a93cbd",
  null
  
)

/* harmony default export */ var BoxAction = (BoxAction_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Title.vue?vue&type=template&id=6cb38606&scoped=true&
var Titlevue_type_template_id_6cb38606_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:"title"},[(_vm.showLogo)?_c('img',{staticClass:"logo",attrs:{"src":__webpack_require__("b1a2")("./" + _vm.logoUrl)}}):_vm._e(),_vm._v(" "+_vm._s(_vm.title)+" ")])}
var Titlevue_type_template_id_6cb38606_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/Title.vue?vue&type=template&id=6cb38606&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Title.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
/* harmony default export */ var Titlevue_type_script_lang_js_ = ({
  props: {
    logoUrl: {
      type: String,
      default: 'logo.png'
    },
    showLogo: Boolean,
    loginType: {
      type: String,
      default: 'Default'
    }
  },
  data: function data() {
    return {
      title: (this.$store.state.projectName || {}).Default || this.$store.state.projectName || this.$store.state.env.VUE_APP_PROJRCT_NAME
    };
  }
});
// CONCATENATED MODULE: ./packages/page/login/components/Title.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Titlevue_type_script_lang_js_ = (Titlevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/login/components/Title.vue?vue&type=style&index=0&id=6cb38606&lang=scss&scoped=true&
var Titlevue_type_style_index_0_id_6cb38606_lang_scss_scoped_true_ = __webpack_require__("19f0");

// CONCATENATED MODULE: ./packages/page/login/components/Title.vue






/* normalize component */

var Title_component = normalizeComponent(
  components_Titlevue_type_script_lang_js_,
  Titlevue_type_template_id_6cb38606_scoped_true_render,
  Titlevue_type_template_id_6cb38606_scoped_true_staticRenderFns,
  false,
  null,
  "6cb38606",
  null
  
)

/* harmony default export */ var Title = (Title_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Footer.vue?vue&type=template&id=e3dd910a&scoped=true&
var Footervue_type_template_id_e3dd910a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"footer"},[_vm._t("default",function(){return [_c('span',{staticClass:"red"},[_vm._v("温馨提示 ：为了达到最好的显示和操作效果，建议使用360安全浏览器（极速模式）")]),_c('br'),_c('span',[_vm._v("主办单位：广州粤建三和软件股份有限公司")]),_c('span',[_vm._v("版本：v1.01.001.20201026")]),_c('span',[_vm._v("技术支持:广州粤建三和软件股份有限公司")]),_c('span',[_vm._v("全国营销与客服电话：400-7000-272")])]})],2)}
var Footervue_type_template_id_e3dd910a_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/Footer.vue?vue&type=template&id=e3dd910a&scoped=true&

// EXTERNAL MODULE: ./packages/page/login/components/Footer.vue?vue&type=style&index=0&id=e3dd910a&lang=scss&scoped=true&
var Footervue_type_style_index_0_id_e3dd910a_lang_scss_scoped_true_ = __webpack_require__("5fba");

// CONCATENATED MODULE: ./packages/page/login/components/Footer.vue

var script = {}



/* normalize component */

var Footer_component = normalizeComponent(
  script,
  Footervue_type_template_id_e3dd910a_scoped_true_render,
  Footervue_type_template_id_e3dd910a_scoped_true_staticRenderFns,
  false,
  null,
  "e3dd910a",
  null
  
)

/* harmony default export */ var Footer = (Footer_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/components/Particles.vue?vue&type=template&id=d526f0dc&scoped=true&
var Particlesvue_type_template_id_d526f0dc_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-particles',{staticClass:"particles",attrs:{"color":"#dedede"}})}
var Particlesvue_type_template_id_d526f0dc_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/login/components/Particles.vue?vue&type=template&id=d526f0dc&scoped=true&

// EXTERNAL MODULE: ./packages/page/login/components/Particles.vue?vue&type=style&index=0&id=d526f0dc&lang=scss&scoped=true&
var Particlesvue_type_style_index_0_id_d526f0dc_lang_scss_scoped_true_ = __webpack_require__("552c");

// CONCATENATED MODULE: ./packages/page/login/components/Particles.vue

var Particles_script = {}



/* normalize component */

var Particles_component = normalizeComponent(
  Particles_script,
  Particlesvue_type_template_id_d526f0dc_scoped_true_render,
  Particlesvue_type_template_id_d526f0dc_scoped_true_staticRenderFns,
  false,
  null,
  "d526f0dc",
  null
  
)

/* harmony default export */ var Particles = (Particles_component.exports);
// CONCATENATED MODULE: ./packages/page/login/components/index.js







// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/Login.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//

/* harmony default export */ var Loginvue_type_script_lang_js_ = ({
  components: {
    LoginContainer: Container,
    LoginBox: BoxAction,
    LoginTitle: Title,
    LoginFooter: Footer,
    Particles: Particles
  },
  methods: {
    parseUrl: function parseUrl() {
      var url = window.location.href;
      var pattern = /(\w+)=(\w+)/ig;
      var parames = {};
      url.replace(pattern, function (a, b, c) {
        parames[b] = c;
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/login/Login.vue?vue&type=script&lang=js&
 /* harmony default export */ var login_Loginvue_type_script_lang_js_ = (Loginvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/login/Login.vue?vue&type=style&index=0&id=53ad4af2&lang=scss&scoped=true&
var Loginvue_type_style_index_0_id_53ad4af2_lang_scss_scoped_true_ = __webpack_require__("b93c");

// CONCATENATED MODULE: ./packages/page/login/Login.vue






/* normalize component */

var Login_component = normalizeComponent(
  login_Loginvue_type_script_lang_js_,
  Loginvue_type_template_id_53ad4af2_scoped_true_render,
  Loginvue_type_template_id_53ad4af2_scoped_true_staticRenderFns,
  false,
  null,
  "53ad4af2",
  null
  
)

/* harmony default export */ var Login = (Login_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/login/Index.vue?vue&type=script&lang=js&




//
//
//
//
//
//
//
//
//

/* harmony default export */ var Indexvue_type_script_lang_js_ = ({
  components: {
    LoginPage: Login
  },
  computed: {
    systemCode: function systemCode() {
      return this.$store.state.systemCode;
    },
    url: function url() {
      var env = this.$store.state.env;
      var link = "".concat(env.VUE_APP_UC_WEB || env.VUE_APP_UC_URL, "/#/login").concat(this.systemCode);

      if (this.$route.query) {
        var query = this.$route.query;
        var param = '?target=_parent';
        Object.keys(query).forEach(function (item) {
          param += "&".concat(item, "=").concat(query[item]);
        });
        link += param;
      }

      return link;
    }
  },
  mounted: function mounted() {}
});
// CONCATENATED MODULE: ./packages/page/login/Index.vue?vue&type=script&lang=js&
 /* harmony default export */ var login_Indexvue_type_script_lang_js_ = (Indexvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/login/Index.vue





/* normalize component */

var Index_component = normalizeComponent(
  login_Indexvue_type_script_lang_js_,
  Indexvue_type_template_id_3fce40cc_render,
  Indexvue_type_template_id_3fce40cc_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Index = (Index_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/Index.vue?vue&type=template&id=22163d78&scoped=true&
var Indexvue_type_template_id_22163d78_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isRouterAlive)?_c('div',{directives:[{name:"loading",rawName:"v-loading",value:(_vm.loading),expression:"loading"}],staticClass:"sh-layout"},[(!_vm.$slots.layout)?_c(_vm.componentList[_vm.$store.state.layoutType || 'hybridMenu'],{tag:"component",attrs:{"menuList":_vm.menuList,"subMenuList":_vm.subMenuList,"menuActive":_vm.menuActive}},[(_vm.routerTransition)?_c('transition',{attrs:{"name":"fade-page","mode":"out-in"}},[_c('router-view')],1):_c('router-view'),_c('div',[_c('div',{attrs:{"id":"qiankun_id"}}),_vm._l((20),function(item){return _c('div',{key:item,attrs:{"id":("qiankun_" + item)}})})],2)],1):_vm._e(),_vm._t("layout"),_vm._t("default"),(_vm.showTipsView)?_c('TipsView'):_vm._e()],2):_vm._e()}
var Indexvue_type_template_id_22163d78_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/Index.vue?vue&type=template&id=22163d78&scoped=true&

// EXTERNAL MODULE: external "Vue"
var external_Vue_ = __webpack_require__("8bbf");
var external_Vue_default = /*#__PURE__*/__webpack_require__.n(external_Vue_);

// CONCATENATED MODULE: ./packages/js/bus.js

/* harmony default export */ var bus = (new external_Vue_default.a());
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutTopMenu.vue?vue&type=template&id=ebcfdc30&scoped=true&
var LayoutTopMenuvue_type_template_id_ebcfdc30_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-lt"},[_c('div',{staticClass:"sh-lt-header"},[_c('HeaderInfoBar',{attrs:{"infoStyle":{'max-width': '1600px', padding: '0 20px'},"infoLeft":0}}),_c('div',{staticClass:"sh-lt-header-menu"},[_c('HeaderMenu',{attrs:{"menuList":_vm.menuList,"subMenuList":_vm.subMenuList}})],1)],1),_c('div',{staticClass:"sh-lt-main",attrs:{"id":"main"}},[_c('div',{staticClass:"container"},[_vm._t("default")],2)])])}
var LayoutTopMenuvue_type_template_id_ebcfdc30_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/LayoutTopMenu.vue?vue&type=template&id=ebcfdc30&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderInfoBar.vue?vue&type=template&id=8f4ecd92&scoped=true&
var HeaderInfoBarvue_type_template_id_8f4ecd92_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"bar",style:({height: (_vm.height + "px"), 'background-size': ("100% " + _vm.height + "px")})},[_c('sh-particles',{style:({height: (_vm.height + "px")}),attrs:{"lineLinked":false,"hoverEffect":false,"particleOpacity":0.3,"shapeType":"edge"}}),_c('div',{staticClass:"bar-info"},[_c('div',{staticClass:"bar-wrap",style:(_vm.infoStyle)},[_c('div',{staticClass:"container"},[_c('HeaderLeftInfo',{staticClass:"left",style:({top: (_vm.infoTop + "px"), left: (_vm.infoLeft + "px")})}),_c('HeaderRightInfo',{staticClass:"right",style:({top: (_vm.infoTop + "px")})})],1)])])],1)}
var HeaderInfoBarvue_type_template_id_8f4ecd92_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/HeaderInfoBar.vue?vue&type=template&id=8f4ecd92&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderLeftInfo.vue?vue&type=template&id=3576261b&scoped=true&
var HeaderLeftInfovue_type_template_id_3576261b_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"left"},[(_vm.logoUrl != '/')?_c('img',{staticClass:"left-logo",attrs:{"src":_vm.logoUrl,"alt":""}}):_vm._e(),_c('span',{staticClass:"left-title"},[_vm._v(_vm._s(_vm.title))]),_c('dropdown-unit',{staticClass:"left-unit"})],1)}
var HeaderLeftInfovue_type_template_id_3576261b_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/HeaderLeftInfo.vue?vue&type=template&id=3576261b&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/DropdownUnit.vue?vue&type=template&id=1c043ce1&scoped=true&
var DropdownUnitvue_type_template_id_1c043ce1_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.user && _vm.user.unitBeans)?_c('el-dropdown',{attrs:{"trigger":"click"},on:{"command":_vm.changeUnit}},[_c('span',{staticClass:"el-dropdown-link"},[_vm._v(" "+_vm._s(_vm.user.unit.unitName)+" "),(_vm.user.unitBeans.length > 1)?_c('span',{staticClass:"icon jiantou-icon"},[_c('i',{staticClass:"el-icon-arrow-down"})]):_vm._e()]),_c('el-dropdown-menu',{attrs:{"slot":"dropdown"},slot:"dropdown"},_vm._l((_vm.user.unitBeans),function(item){return _c('el-dropdown-item',{key:item.id,attrs:{"command":item.id}},[_vm._v(_vm._s(item.unitName))])}),1)],1):_vm._e()}
var DropdownUnitvue_type_template_id_1c043ce1_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/DropdownUnit.vue?vue&type=template&id=1c043ce1&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/DropdownUnit.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var DropdownUnitvue_type_script_lang_js_ = ({
  computed: {
    user: function user() {
      return this.$store.state.user || {};
    }
  },
  data: function data() {
    return {};
  },
  methods: {
    // 结构
    changeUnit: function changeUnit(id) {
      bus.$emit('changeCompany', id);
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/DropdownUnit.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_DropdownUnitvue_type_script_lang_js_ = (DropdownUnitvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/DropdownUnit.vue?vue&type=style&index=0&id=1c043ce1&lang=scss&scoped=true&
var DropdownUnitvue_type_style_index_0_id_1c043ce1_lang_scss_scoped_true_ = __webpack_require__("27d1");

// CONCATENATED MODULE: ./packages/page/layout/components/DropdownUnit.vue






/* normalize component */

var DropdownUnit_component = normalizeComponent(
  components_DropdownUnitvue_type_script_lang_js_,
  DropdownUnitvue_type_template_id_1c043ce1_scoped_true_render,
  DropdownUnitvue_type_template_id_1c043ce1_scoped_true_staticRenderFns,
  false,
  null,
  "1c043ce1",
  null
  
)

/* harmony default export */ var DropdownUnit = (DropdownUnit_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderLeftInfo.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//

/* harmony default export */ var HeaderLeftInfovue_type_script_lang_js_ = ({
  components: {
    DropdownUnit: DropdownUnit
  },
  computed: {
    title: function title() {
      return (this.$store.state.projectName || {}).Default || this.$store.state.projectName || this.$store.state.env.VUE_APP_PROJRCT_NAME;
    }
  },
  data: function data() {
    return {
      logoUrl: this.$store.state.logoUrl || __webpack_require__("cefd")
    };
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/HeaderLeftInfo.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_HeaderLeftInfovue_type_script_lang_js_ = (HeaderLeftInfovue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/HeaderLeftInfo.vue?vue&type=style&index=0&id=3576261b&lang=scss&scoped=true&
var HeaderLeftInfovue_type_style_index_0_id_3576261b_lang_scss_scoped_true_ = __webpack_require__("d3d2");

// CONCATENATED MODULE: ./packages/page/layout/components/HeaderLeftInfo.vue






/* normalize component */

var HeaderLeftInfo_component = normalizeComponent(
  components_HeaderLeftInfovue_type_script_lang_js_,
  HeaderLeftInfovue_type_template_id_3576261b_scoped_true_render,
  HeaderLeftInfovue_type_template_id_3576261b_scoped_true_staticRenderFns,
  false,
  null,
  "3576261b",
  null
  
)

/* harmony default export */ var HeaderLeftInfo = (HeaderLeftInfo_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderRightInfo.vue?vue&type=template&id=b1d51ada&scoped=true&
var HeaderRightInfovue_type_template_id_b1d51ada_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.user.name)?_c('div',{staticClass:"header-info"},[_c('DownloadApp'),(_vm.showUnit)?_c('dropdown-unit',{staticClass:"space-right"}):_vm._e(),_c('span',{staticClass:"info-avatar space-right"},[_c('el-dropdown',{attrs:{"placement":"bottom","trigger":"click","id":"sh_top_user","hide-on-click":false},on:{"visible-change":_vm.handleUnitList}},[(_vm.user)?_c('span',{staticClass:"el-dropdown-link"},[_c('el-avatar',{staticClass:"avatar",attrs:{"size":32,"src":_vm.user.portrait}},[_c('img',{attrs:{"src":__webpack_require__("9b8f")}})]),(_vm.user.name.length < 6)?_c('span',{staticClass:"user-name"},[_vm._v(" "+_vm._s(_vm.user.name)+" ")]):_c('span',{staticClass:"user-name",attrs:{"title":_vm.user.name}},[_vm._v(" "+_vm._s(_vm.user.name.substring(0, 6))+"... ")])],1):_vm._e(),_c('el-dropdown-menu',{staticClass:"dropdown-menu",attrs:{"slot":"dropdown"},slot:"dropdown"},[_c('el-dropdown-item',{staticClass:"dropdown-item-header"},[_c('div',{staticClass:"dropdown-menu-header"},[_c('el-avatar',{staticClass:"dropdown-menu-avatar",attrs:{"size":64,"src":_vm.user.portrait}},[_c('img',{attrs:{"src":__webpack_require__("9b8f")}})]),(_vm.user.name.length < 6)?_c('span',{staticClass:"name"},[_vm._v(" "+_vm._s(_vm.user.name)+" ")]):_c('span',{staticClass:"name",attrs:{"title":_vm.user.name}},[_vm._v(" "+_vm._s(_vm.user.name.substring(0, 12))+"... ")])],1)]),_c('el-dropdown-item',{nativeOn:{"click":function($event){return _vm.handleUserInfo.apply(null, arguments)}}},[_c('div',{staticClass:"item"},[_c('span',[_vm._v("个人信息")]),_c('i',{staticClass:"el-icon-arrow-right"})])]),_c('el-dropdown-item',{nativeOn:{"click":function($event){return _vm.updatePassword(false)}}},[_c('div',{staticClass:"item"},[_vm._v(" 修改密码"),_c('i',{staticClass:"el-icon-arrow-right"})])]),(_vm.user.personId)?_c('el-dropdown-item',{nativeOn:{"click":function($event){return _vm.updatePhone.apply(null, arguments)}}},[_c('div',{staticClass:"item"},[_vm._v(" 更换手机"),_c('i',{staticClass:"el-icon-arrow-right"})])]):_vm._e(),(_vm.user.categoryId&&(!_vm.$store.state.hideCompanyCategory))?_c('el-dropdown-item',[_c('div',{staticClass:"item"},[_c('el-popover',{staticStyle:{"width":"100%"},attrs:{"placement":"left","trigger":"click"},model:{value:(_vm.visibleUnit),callback:function ($$v) {_vm.visibleUnit=$$v},expression:"visibleUnit"}},[_c('div',{staticClass:"unit"},_vm._l((_vm.unitList),function(item){return _c('p',{key:item.categoryId,staticClass:"unit-name",class:{'active-unit':item.categoryId==_vm.user.categoryId},on:{"click":function($event){return _vm.handleCategory(item)}}},[_vm._v(" "+_vm._s(item.categoryName)+" "),(item.categoryId==_vm.user.categoryId)?_c('i',{staticClass:"el-icon-check"}):_vm._e()])}),0),_c('p',{staticClass:"info-unit",attrs:{"slot":"reference"},slot:"reference"},[_vm._v(" 切换身份 "),_c('i',{staticClass:"el-icon-arrow-right"})])])],1)]):_vm._e(),_c('el-dropdown-item',{nativeOn:{"click":function($event){return _vm.openLayout.apply(null, arguments)}}},[_c('div',{staticClass:"item"},[_vm._v(" 切换布局"),_c('i',{staticClass:"el-icon-arrow-right"})])])],1)],1)],1),_c('span',{staticClass:"space-right item-txt",on:{"click":_vm.logout}},[_c('i',{staticClass:"el-icon-switch-button"}),_vm._v(" 退出 ")])],1):_vm._e(),_c('SelectLayout',{ref:"selectLayout"}),_c('Information',{ref:"information"}),_c('UpdatePassword',{ref:"updatePassword"}),_c('UpdatePhone',{ref:"updatePhone"})],1)}
var HeaderRightInfovue_type_template_id_b1d51ada_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/HeaderRightInfo.vue?vue&type=template&id=b1d51ada&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/SelectLayout.vue?vue&type=template&id=5997188a&scoped=true&
var SelectLayoutvue_type_template_id_5997188a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":"选择布局","visible":_vm.dialogFormVisible,"append-to-body":true,"width":"800px"},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('div',{staticClass:"box"},[_c('sh-row',_vm._l((_vm.list),function(item,index){return _c('sh-col',{key:index,attrs:{"span":6}},[_c('div',{staticClass:"wrap",class:{active: item.key == _vm.$store.state.layoutType},on:{"click":function($event){return _vm.changeLayout(item.key)}}},[_c('img',{attrs:{"src":__webpack_require__("5dbd")("./layout" + (index + 1) + ".png"),"alt":"","srcset":""}}),_c('i',{staticClass:"el-icon-success wrap-icon"})]),_c('p',{staticClass:"title"},[_vm._v(_vm._s(item.title))])])}),1)],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":_vm.close}},[_vm._v("关 闭")])],1)])}
var SelectLayoutvue_type_template_id_5997188a_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/SelectLayout.vue?vue&type=template&id=5997188a&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/SelectLayout.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SelectLayoutvue_type_script_lang_js_ = ({
  data: function data() {
    return {
      dialogFormVisible: false,
      list: [{
        title: '默认布局',
        key: 'hybridMenu'
      }, {
        title: '顶部栏布局',
        key: 'topMenu'
      }, {
        title: '侧边栏布局',
        key: 'leftMenu'
      }, {
        title: '第四布局',
        key: 'fourthMenu'
      }]
    };
  },
  methods: {
    close: function close() {
      this.dialogFormVisible = false;
    },
    changeLayout: function changeLayout(type) {
      localStorage.setItem('layoutType', type);
      this.$store.commit('layoutType', type);
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/SelectLayout.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SelectLayoutvue_type_script_lang_js_ = (SelectLayoutvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/SelectLayout.vue?vue&type=style&index=0&id=5997188a&lang=scss&scoped=true&
var SelectLayoutvue_type_style_index_0_id_5997188a_lang_scss_scoped_true_ = __webpack_require__("d94f");

// CONCATENATED MODULE: ./packages/page/layout/components/SelectLayout.vue






/* normalize component */

var SelectLayout_component = normalizeComponent(
  components_SelectLayoutvue_type_script_lang_js_,
  SelectLayoutvue_type_template_id_5997188a_scoped_true_render,
  SelectLayoutvue_type_template_id_5997188a_scoped_true_staticRenderFns,
  false,
  null,
  "5997188a",
  null
  
)

/* harmony default export */ var SelectLayout = (SelectLayout_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/Information.vue?vue&type=template&id=05113188&
var Informationvue_type_template_id_05113188_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":_vm.title,"append-to-body":true,"visible":_vm.dialogFormVisible,"close-on-click-modal":false},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"disabled":true,"param":_vm.form}},[_c('sh-form-item',{attrs:{"label":"用户名:","prop":"loginName","rules":"required"}},[_c('el-input',{model:{value:(_vm.form.loginName),callback:function ($$v) {_vm.$set(_vm.form, "loginName", $$v)},expression:"form.loginName"}})],1),_c('sh-form-item',{attrs:{"label":"姓名:","prop":"name","rules":"required"}},[_c('el-input',{model:{value:(_vm.form.name),callback:function ($$v) {_vm.$set(_vm.form, "name", $$v)},expression:"form.name"}})],1),_c('sh-form-item',{attrs:{"label":"电话:","prop":"phone","rules":"required"}},[_c('el-input',{model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, "phone", $$v)},expression:"form.phone"}})],1),_c('sh-form-item',{attrs:{"label":"邮箱:","prop":"email","rules":"required"}},[_c('el-input',{model:{value:(_vm.form.email),callback:function ($$v) {_vm.$set(_vm.form, "email", $$v)},expression:"form.email"}})],1)],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("取 消")])],1)],1)}
var Informationvue_type_template_id_05113188_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/Information.vue?vue&type=template&id=05113188&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/Information.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Informationvue_type_script_lang_js_ = ({
  data: function data() {
    return {
      loading: false,
      dialogFormVisible: false,
      title: '',
      form: {
        loginName: '',
        phone: '',
        name: '',
        id: '',
        email: ''
      }
    };
  },
  methods: {
    submit: function submit() {
      var _this = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          _this.loading = true;

          _this.$post(_this.$store.state.env.VUE_APP_PORT + '/system/account/updatePersonInformation', _this.form, function (data) {
            _this.dialogFormVisible = false;
            _this.loading = false;

            _this.$message.success(data.msg);
          }, function (error) {
            _this.loading = false;

            _this.$message.error(error.msg);
          });
        }
      });
    },
    init: function init(param) {
      var _this2 = this;

      this.$refs.form && this.$refs.form.resetFields();
      this.dialogFormVisible = true;
      this.$nextTick(function () {
        if (param) {
          _this2.title = '个人信息';

          _this2.$parseObj(_this2.form, param, ['loginName', 'phone', 'name', 'email']);
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/Information.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Informationvue_type_script_lang_js_ = (Informationvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/layout/components/Information.vue





/* normalize component */

var Information_component = normalizeComponent(
  components_Informationvue_type_script_lang_js_,
  Informationvue_type_template_id_05113188_render,
  Informationvue_type_template_id_05113188_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Information = (Information_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/UpdatePassword.vue?vue&type=template&id=1cf345d7&scoped=true&
var UpdatePasswordvue_type_template_id_1cf345d7_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":"修改密码","append-to-body":true,"width":"500px","visible":_vm.dialogFormVisible,"close-on-click-modal":false,"show-close":_vm.showClose},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"api":_vm.tableApi,"param":_vm.form,"label-width":"85px"}},[_c('sh-form-item',{attrs:{"label":"旧密码:","prop":"oldPassword","rules":"required"}},[_c('el-input',{attrs:{"type":"password","show-password":"","placeholder":"请输入旧密码"},model:{value:(_vm.form.oldPassword),callback:function ($$v) {_vm.$set(_vm.form, "oldPassword", $$v)},expression:"form.oldPassword"}})],1),_c('sh-form-item',{attrs:{"label":"新密码:","prop":"password","rules":_vm.pwdRule}},[_c('el-popover',{attrs:{"placement":"bottom-start","width":"310","trigger":"manual"},model:{value:(_vm.visiblePPassword),callback:function ($$v) {_vm.visiblePPassword=$$v},expression:"visiblePPassword"}},[_c('div',{staticClass:"popover-station"},[_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordStrOne},{'pass-check':_vm.ppasswordStrTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordStrTwo === 2? true: false}]}),_c('span',[_vm._v("8-25位字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordIllegalOne},{'pass-check':_vm.ppasswordIllegalTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordIllegalTwo === 2? true: false}]}),_c('span',[_vm._v("只能包含大小写字母、数字以及特殊字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordTypeOne},{'pass-check':_vm.ppasswordTypeTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordTypeTwo === 2? true: false}]}),_c('span',[_vm._v("大小写字母、数字和特殊字符至少包含3种")])]),_c('div',{staticClass:"special-div"},[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordSpecialOne},{'pass-check':_vm.ppasswordSpecialTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordSpecialTwo === 2? true: false}]}),_c('span',[_vm._v("特殊字符包括~!@#$%^&*()_+-")])])]),_c('el-input',{attrs:{"slot":"reference","type":"password","show-password":"","placeholder":"请输入新密码"},on:{"focus":function($event){return _vm.focusInput('password')},"blur":function($event){return _vm.blurInput('password')},"input":function($event){return _vm.inputPPassword('password')}},slot:"reference",model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, "password", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.password"}})],1)],1),_c('sh-form-item',{attrs:{"label":"确认密码:","prop":"rePassword","rules":['required', { validator: _vm.checkPass, trigger: 'blur' }]}},[_c('el-popover',{attrs:{"placement":"bottom-start","width":"310","trigger":"manual"},model:{value:(_vm.visibleCheckPpwd),callback:function ($$v) {_vm.visibleCheckPpwd=(typeof $$v === 'string'? $$v.trim(): $$v)},expression:"visibleCheckPpwd"}},[_c('div',{staticClass:"popover-station"},[_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.checkPpwdStrOne},{'pass-check':_vm.checkPpwdStrTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.checkPpwdStrTwo === 2? true: false}]}),_c('span',[_vm._v("8-25位字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.checkPpwdIllegalOne},{'pass-check':_vm.checkPpwdIllegalTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.checkPpwdIllegalTwo === 2? true: false}]}),_c('span',[_vm._v("只能包含大小写字母、数字以及特殊字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.checkPpwdTypeOne},{'pass-check':_vm.checkPpwdTypeTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.checkPpwdTypeTwo === 2? true: false}]}),_c('span',[_vm._v("大小写字母、数字和特殊字符至少包含3种")])]),_c('div',{staticClass:"special-div"},[_c('i',{class:[{'el-icon-circle-check':_vm.checkPpwdSpecialOne},{'pass-check':_vm.checkPpwdSpecialTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.checkPpwdSpecialTwo === 2? true: false}]}),_c('span',[_vm._v("特殊字符包括~!@#$%^&*()_+-")])])]),_c('el-input',{attrs:{"slot":"reference","type":"password","show-password":"","placeholder":"请输入新密码"},on:{"focus":function($event){return _vm.focusInput('checkPassword')},"blur":function($event){return _vm.blurInput('checkPassword')},"input":function($event){return _vm.inputPPassword('checkPassword')}},slot:"reference",model:{value:(_vm.form.rePassword),callback:function ($$v) {_vm.$set(_vm.form, "rePassword", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.rePassword"}})],1)],1)],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[(_vm.showClose)?_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("取 消")]):_vm._e(),_c('el-button',{attrs:{"type":"primary","loading":_vm.loading},on:{"click":function($event){return _vm.submit()}}},[_vm._v("确 定")])],1)],1)}
var UpdatePasswordvue_type_template_id_1cf345d7_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePassword.vue?vue&type=template&id=1cf345d7&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/UpdatePassword.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var UpdatePasswordvue_type_script_lang_js_ = ({
  data: function data() {
    return {
      showClose: true,
      loading: false,
      dialogFormVisible: false,
      form: {
        id: '',
        oldPassword: '',
        password: '',
        rePassword: ''
      },
      pwdRule: 'required||password',
      callback: null,
      visiblePPassword: false,
      visibleCheckPpwd: false,
      ppasswordStrOne: true,
      ppasswordStrTwo: 0,
      ppasswordTypeOne: true,
      ppasswordTypeTwo: 0,
      ppasswordIllegalOne: true,
      ppasswordIllegalTwo: 0,
      ppasswordSpecialOne: true,
      ppasswordSpecialTwo: 0,
      checkPpwdStrOne: true,
      checkPpwdStrTwo: 0,
      checkPpwdTypeOne: true,
      checkPpwdTypeTwo: 0,
      checkPpwdIllegalOne: true,
      checkPpwdIllegalTwo: 0,
      checkPpwdSpecialOne: true,
      checkPpwdSpecialTwo: 0
    };
  },
  methods: {
    focusInput: function focusInput(type) {
      if (type === 'password') {
        this.visiblePPassword = true;
      } else if (type === 'checkPassword') {
        this.visibleCheckPpwd = true;
      }
    },
    blurInput: function blurInput(type) {
      if (type === 'password') {
        this.visiblePPassword = false;
      } else if (type === 'checkPassword') {
        this.visibleCheckPpwd = false;
      }
    },
    // 密码
    inputPPassword: function inputPPassword(type) {
      var value = '';

      if (type === 'password') {
        value = this.form.password;
      } else if (type === 'checkPassword') {
        value = this.form.rePassword;
      }

      if (value) {
        var ppasswordLength = value.length;

        if (ppasswordLength < 8 || ppasswordLength > 25) {
          if (type === 'password') {
            this.ppasswordStrOne = false;
            this.ppasswordStrTwo = 2;
          } else if (type === 'checkPassword') {
            this.checkPpwdStrOne = false;
            this.checkPpwdStrTwo = 2;
          }
        } else if (ppasswordLength >= 8 && ppasswordLength <= 25) {
          if (type === 'password') {
            this.ppasswordStrOne = true;
            this.ppasswordStrTwo = 1;
          } else if (type === 'checkPassword') {
            this.checkPpwdStrOne = true;
            this.checkPpwdStrTwo = 1;
          }
        }

        this.checkPassword(type, value);
        var ppasswordCheckType = this.checkPasswordStr(value) < 3; // 大小写字母、数字和特殊字符至少包含3种

        if (type === 'password') {
          if (ppasswordCheckType) {
            this.ppasswordTypeOne = false;
            this.ppasswordTypeTwo = 2;
          } else {
            this.ppasswordTypeOne = true;
            this.ppasswordTypeTwo = 1;
          }
        } else if (type === 'checkPassword') {
          if (ppasswordCheckType) {
            this.checkPpwdTypeOne = false;
            this.checkPpwdTypeTwo = 2;
          } else {
            this.checkPpwdTypeOne = true;
            this.checkPpwdTypeTwo = 1;
          }
        }

        this.checkPassWordAgain(type, value);
      } else {
        if (type === 'password') {
          this.ppasswordStrOne = true;
          this.ppasswordStrTwo = 0;
          this.ppasswordIllegalOne = true;
          this.ppasswordIllegalTwo = 0;
          this.ppasswordTypeOne = true;
          this.ppasswordTypeTwo = 0;
          this.ppasswordSpecialOne = true;
          this.ppasswordSpecialTwo = 0;
        } else if (type === 'checkPassword') {
          this.checkPpwdStrOne = true;
          this.checkPpwdStrTwo = 0;
          this.checkPpwdTypeOne = true;
          this.checkPpwdTypeTwo = 0;
          this.checkPpwdIllegalOne = true;
          this.checkPpwdIllegalTwo = 0;
          this.checkPpwdSpecialOne = true;
          this.checkPpwdSpecialTwo = 0;
        }
      }
    },
    checkPassWordAgain: function checkPassWordAgain(type, value) {
      var newValue = value.replace(/[0-9]+|[a-zA-Z]+/g, '');

      if (newValue) {
        var re = /[^\~!@#$%^&*()_+-]/.test(newValue);

        if (type === 'password') {
          if (re) {
            this.ppasswordSpecialOne = false;
            this.ppasswordSpecialTwo = 2;
          } else {
            this.ppasswordSpecialOne = true;
            this.ppasswordSpecialTwo = 1;
          }
        } else if (type === 'checkPassword') {
          if (re) {
            this.checkPpwdSpecialOne = false;
            this.checkPpwdSpecialTwo = 2;
          } else {
            this.checkPpwdSpecialOne = true;
            this.checkPpwdSpecialTwo = 1;
          }
        }
      } else {
        if (type === 'password') {
          this.ppasswordSpecialOne = true;
          this.ppasswordSpecialTwo = 0;
        } else if (type === 'checkPassword') {
          this.checkPpwdSpecialOne = true;
          this.checkPpwdSpecialTwo = 0;
        }
      }
    },
    checkPassword: function checkPassword(type, value) {
      var _this = this;

      var is = false; // 非法字符判断

      value.split('').forEach(function (item) {
        if (_this.checkPasswordStr(item) === 0) {
          is = true;
        }
      });

      if (type === 'password') {
        if (is) {
          this.ppasswordIllegalOne = false;
          this.ppasswordIllegalTwo = 2;
        } else {
          this.ppasswordIllegalOne = true;
          this.ppasswordIllegalTwo = 1;
        }
      } else if (type === 'checkPassword') {
        // 再次确认密码
        if (is) {
          this.checkPpwdIllegalOne = false;
          this.checkPpwdIllegalTwo = 2;
        } else {
          this.checkPpwdIllegalOne = true;
          this.checkPpwdIllegalTwo = 1;
        }
      }
    },
    checkPasswordStr: function checkPasswordStr(str) {
      // 密码校验规则
      var count = 0;
      if (/\d/.test(str)) count++;
      if (/[a-z]/.test(str)) count++;
      if (/[A-Z]/.test(str)) count++;
      if (/[~!@#$%^&*()_+-]/.test(str)) count++;
      return count;
    },
    checkPass: function checkPass(rule, value, callback) {
      // 密码重复性校验
      if (value !== this.form.password) {
        callback(new Error('两次输入密码不一致'));
      } else {
        callback();
      }
    },
    submit: function submit() {
      var _this2 = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          _this2.loading = true;

          _this2.$post(_this2.$store.state.env.VUE_APP_PORT + '/system/account/updatePassword', _this2.form, function (data) {
            _this2.dialogFormVisible = false;
            _this2.loading = false;
            sessionStorage.removeItem('token');

            _this2.$store.commit('token', null);

            sessionStorage.removeItem('user');

            _this2.$store.commit('user', null);

            _this2.$message.success(data.msg);

            if (!_this2.showClose) {
              _this2.callback();
            } // 刷新页面


            window.location.reload();
          }, function (error) {
            _this2.loading = false;

            _this2.$message.error(error.msg);
          });
        }
      });
    },
    init: function init(showClose, callback) {
      this.$refs.form && this.$refs.form.resetFields();
      this.dialogFormVisible = true;

      if (showClose) {
        this.showClose = false;
        this.callback = callback;
      } else {
        this.showClose = true;
      }
    }
  },
  mounted: function mounted() {
    if (this.$store.state.systemCode === 'CXPJ') {
      this.pwdRule = ['required', // { pattern: /^(?=.*\d)(?=.*?[a-z])(?=.*?[A-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{8,18}$/, message: '必须包含大写字母、小写字母、数字、特殊字符且在8位以上', trigger: 'blur' }
      {
        pattern: /^(?=.*[0-9])(?=.*[A-Z])(?=.*[a-z])(?=.*[~!@#$%^&\(\)-+*,\.])[0-9a-zA-Z!@#$%^&*\\(\\)-+,\\.]{8,25}$/,
        message: '必须包含大写字母、小写字母、数字、特殊字符且在8位以上',
        trigger: 'blur'
      }];
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePassword.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_UpdatePasswordvue_type_script_lang_js_ = (UpdatePasswordvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/UpdatePassword.vue?vue&type=style&index=0&id=1cf345d7&lang=scss&scoped=true&
var UpdatePasswordvue_type_style_index_0_id_1cf345d7_lang_scss_scoped_true_ = __webpack_require__("32aa");

// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePassword.vue






/* normalize component */

var UpdatePassword_component = normalizeComponent(
  components_UpdatePasswordvue_type_script_lang_js_,
  UpdatePasswordvue_type_template_id_1cf345d7_scoped_true_render,
  UpdatePasswordvue_type_template_id_1cf345d7_scoped_true_staticRenderFns,
  false,
  null,
  "1cf345d7",
  null
  
)

/* harmony default export */ var UpdatePassword = (UpdatePassword_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/UpdatePhone.vue?vue&type=template&id=0d0eee79&scoped=true&
var UpdatePhonevue_type_template_id_0d0eee79_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":"更换手机","append-to-body":true,"width":"500px","visible":_vm.dialogFormVisible,"close-on-click-modal":false},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"param":_vm.form,"label-width":"100px","label-suffix":":"}},[_c('sh-form-item',{attrs:{"label":"旧手机号码","prop":"oldPassword"}},[_c('el-input',{attrs:{"disabled":"","size":"default","placeholder":"请输入旧手机号码"},model:{value:(_vm.form.oldPhone),callback:function ($$v) {_vm.$set(_vm.form, "oldPhone", $$v)},expression:"form.oldPhone"}})],1),_c('sh-form-item',{attrs:{"label":"新手机号码","prop":"phone","rules":['required', 'phone', { validator: _vm.checkPhone, trigger: 'blur' }]}},[_c('el-input',{attrs:{"size":"default","placeholder":"请输入新手机号码"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, "phone", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.phone"}})],1),_c('sh-form-item',{attrs:{"label":"验证码","prop":"phoneCode","rules":"required"}},[_c('div',{staticClass:"phone-code"},[_c('sh-input',{staticClass:"phone-code-input",attrs:{"size":"default","placeholder":"请输入短信验证码"},model:{value:(_vm.form.phoneCode),callback:function ($$v) {_vm.$set(_vm.form, "phoneCode", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.phoneCode"}}),_c('sh-button',{staticClass:"code-btn",attrs:{"size":"default","loading":_vm.codeLoading},on:{"click":function($event){return _vm.getPhoneCode('form')}}},[_vm._v(_vm._s(_vm.phoneCodeTxt))])],1)])],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("取 消")]),_c('el-button',{attrs:{"type":"primary","loading":_vm.loading},on:{"click":function($event){return _vm.submit()}}},[_vm._v("确 定")])],1)],1)}
var UpdatePhonevue_type_template_id_0d0eee79_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePhone.vue?vue&type=template&id=0d0eee79&scoped=true&

// EXTERNAL MODULE: external "Vuex"
var external_Vuex_ = __webpack_require__("5880");

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/UpdatePhone.vue?vue&type=script&lang=js&



//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var UpdatePhonevue_type_script_lang_js_ = ({
  data: function data() {
    return {
      loading: false,
      dialogFormVisible: false,
      form: {
        oldPhone: '',
        phone: '',
        personId: '',
        phoneCode: '',
        // taskId: '',
        usePurpose: 'INFOCAHNGE'
      },
      codeLoading: false,
      phoneRule: 'required||phone',
      phoneCodeTxt: '获取验证码',
      timer: null,
      hasValidatePhone: false // 是否发送验证码

    };
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  beforeDestroy: function beforeDestroy() {
    if (this.timer) {
      this.clear();
    }
  },
  methods: {
    clear: function clear() {
      this.codeLoading = false;
      clearInterval(this.timer);
      this.timer = null;
      this.phoneCodeTxt = '获取验证码';
    },
    checkPhone: function checkPhone(rule, value, callback) {
      // 手机号重复性校验
      if (value === this.form.oldPhone) {
        callback(new Error('更换手机不能为旧手机号'));
      } else {
        callback();
      }
    },
    getPhoneCode: function getPhoneCode() {
      var _this = this;

      this.$refs.form.validateField('phone', function (valid) {
        if (!valid) {
          _this.codeLoading = true;

          _this.$post(_this.$store.state.env.VUE_APP_PORT + '/system/smsSend/getMessageCode', {
            phone: _this.form.phone,
            usePurpose: 'INFOCAHNGE'
          }, function (data) {
            _this.hasValidatePhone = true;

            _this.setPhoneCodeTxt();

            _this.$message.success('验证码已下发！');
          }, function (error) {
            _this.codeLoading = true;

            _this.$message.error(error.msg);
          });
        }
      });
    },
    setPhoneCodeTxt: function setPhoneCodeTxt() {
      var _this2 = this;

      // 验证码计时器
      var i = 60;
      this.timer = setInterval(function () {
        i--;
        _this2.phoneCodeTxt = "".concat(i, "s\u540E\u91CD\u65B0\u83B7\u53D6");

        if (i <= 0) {
          clearInterval(_this2.timer);
          _this2.phoneCodeTxt = '获取验证码';
          _this2.codeLoading = false;
        }
      }, 1000);
    },
    submit: function submit() {
      var _this3 = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          if (!_this3.hasValidatePhone) return _this3.$message.warning('请点击发送验证码！');
          _this3.loading = true;

          _this3.$post(_this3.$store.state.env.VUE_APP_PORT + '/system/person/changePhone', _this3.form, function (data) {
            _this3.dialogFormVisible = false;
            _this3.loading = false;

            _this3.$message.success(data.msg);

            _this3.changeUserInfo();
          }, function (error) {
            _this3.loading = false;

            _this3.$message.error(error.msg);
          });
        }
      });
    },
    changeUserInfo: function changeUserInfo() {
      var _this4 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/person/getUserJwt', {}, function (data) {
        sessionStorage.setItem('user', JSON.stringify(data.data));

        _this4.$store.commit('user', data.data);
      }, function (error) {
        _this4.$message.error(error.msg);
      });
    },
    init: function init() {
      this.$refs.form && this.$refs.form.resetFields();
      this.form.oldPhone = this.user.mobile || this.user.phone;
      this.form.personId = this.user.personId;
      this.clear();
      this.hasValidatePhone = false;
      this.dialogFormVisible = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePhone.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_UpdatePhonevue_type_script_lang_js_ = (UpdatePhonevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/UpdatePhone.vue?vue&type=style&index=0&id=0d0eee79&lang=scss&scoped=true&
var UpdatePhonevue_type_style_index_0_id_0d0eee79_lang_scss_scoped_true_ = __webpack_require__("6af4");

// CONCATENATED MODULE: ./packages/page/layout/components/UpdatePhone.vue






/* normalize component */

var UpdatePhone_component = normalizeComponent(
  components_UpdatePhonevue_type_script_lang_js_,
  UpdatePhonevue_type_template_id_0d0eee79_scoped_true_render,
  UpdatePhonevue_type_template_id_0d0eee79_scoped_true_staticRenderFns,
  false,
  null,
  "0d0eee79",
  null
  
)

/* harmony default export */ var UpdatePhone = (UpdatePhone_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/DownloadApp.vue?vue&type=template&id=484849e2&scoped=true&
var DownloadAppvue_type_template_id_484849e2_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"down_app"},[_c('el-popover',{staticStyle:{"width":"100%"},attrs:{"placement":"bottom","trigger":"click"}},[_c('div',{staticClass:"content"},[_c('div',{staticClass:"tabs"},[(_vm.downloadAndroidUrl)?_c('div',{staticClass:"tab",class:{active:_vm.activeName=='Android'},on:{"click":function($event){return _vm.handleTab('Android')}}},[_vm._v("Android")]):_vm._e(),(_vm.downloadIosUrl)?_c('div',{staticClass:"tab",class:{active:_vm.activeName=='ios'},on:{"click":function($event){return _vm.handleTab('ios')}}},[_vm._v("ios")]):_vm._e()]),(_vm.activeName=='Android')?_c('vue-qr',{staticClass:"qr-img",attrs:{"margin":10,"text":_vm.downloadAndroidUrl,"size":200}}):_vm._e(),(_vm.activeName=='ios')?_c('vue-qr',{staticClass:"qr-img",attrs:{"margin":10,"text":_vm.downloadIosUrl,"size":200}}):_vm._e()],1),(_vm.downloadIosUrl||_vm.downloadAndroidUrl)?_c('div',{staticClass:"header-app",attrs:{"slot":"reference"},slot:"reference"},[_c('img',{staticClass:"img",attrs:{"width":"14px","height":"14px","src":__webpack_require__("ab12"),"alt":""}}),_vm._v(" APP下载 ")]):_vm._e()])],1)}
var DownloadAppvue_type_template_id_484849e2_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/DownloadApp.vue?vue&type=template&id=484849e2&scoped=true&

// EXTERNAL MODULE: ./node_modules/vue-qr/dist/vue-qr.js
var vue_qr = __webpack_require__("658f");
var vue_qr_default = /*#__PURE__*/__webpack_require__.n(vue_qr);

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/DownloadApp.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var DownloadAppvue_type_script_lang_js_ = ({
  components: {
    vueQr: vue_qr_default.a
  },
  computed: {
    downloadIosUrl: function downloadIosUrl() {
      return this.$store.state.downloadIosAppUrl || '';
    },
    downloadAndroidUrl: function downloadAndroidUrl() {
      return this.$store.state.downloadAndroidAppUrl || '';
    }
  },
  data: function data() {
    return {
      activeName: 'Android'
    };
  },
  mounted: function mounted() {
    this.activeName = this.downloadAndroidUrl ? 'Android' : 'ios';
  },
  methods: {
    handleTab: function handleTab(name) {
      this.activeName = name;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/DownloadApp.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_DownloadAppvue_type_script_lang_js_ = (DownloadAppvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/DownloadApp.vue?vue&type=style&index=0&id=484849e2&lang=scss&scoped=true&
var DownloadAppvue_type_style_index_0_id_484849e2_lang_scss_scoped_true_ = __webpack_require__("e0ce");

// CONCATENATED MODULE: ./packages/page/layout/components/DownloadApp.vue






/* normalize component */

var DownloadApp_component = normalizeComponent(
  components_DownloadAppvue_type_script_lang_js_,
  DownloadAppvue_type_template_id_484849e2_scoped_true_render,
  DownloadAppvue_type_template_id_484849e2_scoped_true_staticRenderFns,
  false,
  null,
  "484849e2",
  null
  
)

/* harmony default export */ var DownloadApp = (DownloadApp_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderRightInfo.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//







/* harmony default export */ var HeaderRightInfovue_type_script_lang_js_ = ({
  props: {
    showUnit: String
  },
  components: {
    DropdownUnit: DropdownUnit,
    Information: Information,
    UpdatePassword: UpdatePassword,
    SelectLayout: SelectLayout,
    UpdatePhone: UpdatePhone,
    DownloadApp: DownloadApp
  },
  computed: {
    user: function user() {
      return this.$store.state.user || {};
    }
  },
  data: function data() {
    var urlList = {
      'jxcloud.3hmis.com': 'auth_jxy',
      'e.jxcloud.3hmis.com': 'auth_jxyqy',
      'p.jxcloud.3hmis.com': 'auth_jxypt',
      'e.jianxiecloud.com': 'ejxy_client',
      'p.jianxiecloud.com': 'pjxy_client'
    };
    return {
      path: urlList[window.location.host] || 'auth',
      loginname: '',
      phone: '',
      name: '',
      id: '',
      visibleUnit: false,
      unitList: []
    };
  },
  methods: {
    openLayout: function openLayout() {
      this.visibleUnit = false;
      this.$refs.selectLayout.dialogFormVisible = true;
    },
    logout: function logout() {
      var _this = this;

      this.$confirm('是否退出登录?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(function () {
        // 退出业务系统
        var logoutUrl = _this.$store.state.logoutUrl;

        if (logoutUrl) {
          _this.$post(logoutUrl);
        } // 退出用户中心


        _this.$post("".concat(_this.$store.state.env.VUE_APP_PORT, "/").concat(_this.path, "/auth/userLogout"), {}, function (data) {
          // 清除登录信息
          _this.$logout();

          _this.$message.success('退出成功!');
        }); // 清除前端用户信息


        _this.otherLogout();
      });
    },
    otherLogout: function otherLogout() {
      // 其它退出
      var otherLogoutUrl = this.$store.state.otherLogoutUrl;

      if (otherLogoutUrl) {
        this.$get(otherLogoutUrl);
      }
    },
    information: function information(row) {
      var _this2 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/account/getById', {
        id: this.user.id
      }, function (data) {
        _this2.$refs.information.init(data.data);
      }, function (error) {
        _this2.loading = false;

        _this2.$message.error(error.msg);
      });
    },
    updatePassword: function updatePassword(param, callback) {
      this.visibleUnit = false;
      this.$refs.updatePassword.init(param, callback);
    },
    updatePhone: function updatePhone() {
      this.visibleUnit = false;
      this.$refs.updatePhone.init();
    },
    handleUnitList: function handleUnitList(show) {
      this.user.categoryId && show && this.getUnitList();
    },
    // 获取可切换单位列表
    getUnitList: function getUnitList() {
      var _this3 = this;

      if (this.user.categoryId) {
        this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitCategoryByUnitId', {
          id: this.user.unit.id || ''
        }, function (data) {
          _this3.unitList = data.data || [];
        }, function (error) {
          _this3.$message.error(error.msg);
        });
      }
    },
    // 切换单位类型
    handleCategory: function handleCategory(item) {
      this.visibleUnit = false;

      if (this.user.categoryId === item.categoryId) {
        return;
      }

      bus.$emit('changeCategory', {
        unitId: this.user.unit.id,
        categoryId: item.categoryId,
        categoryCode: item.categoryCode
      });
    },
    handleUserInfo: function handleUserInfo() {
      this.visibleUnit = false;
      this.$router.push('/userInfo');
    }
  },
  mounted: function mounted() {
    // 修改密码赋值到SANHUI下
    window.SANHUI.updatePassword = this.updatePassword;
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/HeaderRightInfo.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_HeaderRightInfovue_type_script_lang_js_ = (HeaderRightInfovue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/HeaderRightInfo.vue?vue&type=style&index=0&id=b1d51ada&lang=scss&scoped=true&
var HeaderRightInfovue_type_style_index_0_id_b1d51ada_lang_scss_scoped_true_ = __webpack_require__("a171");

// CONCATENATED MODULE: ./packages/page/layout/components/HeaderRightInfo.vue






/* normalize component */

var HeaderRightInfo_component = normalizeComponent(
  components_HeaderRightInfovue_type_script_lang_js_,
  HeaderRightInfovue_type_template_id_b1d51ada_scoped_true_render,
  HeaderRightInfovue_type_template_id_b1d51ada_scoped_true_staticRenderFns,
  false,
  null,
  "b1d51ada",
  null
  
)

/* harmony default export */ var HeaderRightInfo = (HeaderRightInfo_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderInfoBar.vue?vue&type=script&lang=js&

//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//


/* harmony default export */ var HeaderInfoBarvue_type_script_lang_js_ = ({
  components: {
    HeaderLeftInfo: HeaderLeftInfo,
    HeaderRightInfo: HeaderRightInfo
  },
  props: {
    infoStyle: Object,
    infoLeft: Number,
    height: {
      type: Number,
      default: 60
    }
  },
  computed: {
    infoTop: function infoTop() {
      return (this.height - 30) / 2;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/HeaderInfoBar.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_HeaderInfoBarvue_type_script_lang_js_ = (HeaderInfoBarvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/HeaderInfoBar.vue?vue&type=style&index=0&id=8f4ecd92&lang=scss&scoped=true&
var HeaderInfoBarvue_type_style_index_0_id_8f4ecd92_lang_scss_scoped_true_ = __webpack_require__("9852");

// CONCATENATED MODULE: ./packages/page/layout/components/HeaderInfoBar.vue






/* normalize component */

var HeaderInfoBar_component = normalizeComponent(
  components_HeaderInfoBarvue_type_script_lang_js_,
  HeaderInfoBarvue_type_template_id_8f4ecd92_scoped_true_render,
  HeaderInfoBarvue_type_template_id_8f4ecd92_scoped_true_staticRenderFns,
  false,
  null,
  "8f4ecd92",
  null
  
)

/* harmony default export */ var HeaderInfoBar = (HeaderInfoBar_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderMenu.vue?vue&type=template&id=7a746964&
var HeaderMenuvue_type_template_id_7a746964_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-header-menu"},[_c('el-menu',{ref:"menu",staticClass:"sh-header-menu--horizontal",style:({transform: ("translateX(-" + _vm.offsetX + "px)")}),attrs:{"menu-trigger":"hover","default-active":_vm.activeRoute,"mode":"horizontal"},on:{"select":_vm.onSelect}},[_vm._l((_vm.menuList),function(items){return [(items.children && items.children.length && !_vm.firstMenu)?_c('SubMenuItem',{key:items.url,attrs:{"popper-class":"sh-header-submenu","items":items,"showIcon":false}}):_c('el-menu-item',{key:items.url,attrs:{"index":items.url}},[_vm._v(_vm._s(items.text))])]})],2),(_vm.widthDifference > 0)?_c('div',[_c('i',{staticClass:"el-icon-arrow-left arrow-left",on:{"click":function($event){return _vm.changeOffsetX(-108)}}}),_c('i',{staticClass:"el-icon-arrow-right arrow-right",on:{"click":function($event){return _vm.changeOffsetX(108)}}})]):_vm._e()],1)}
var HeaderMenuvue_type_template_id_7a746964_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/HeaderMenu.vue?vue&type=template&id=7a746964&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/SubMenuItem.vue?vue&type=template&id=36cf8ac4&
var SubMenuItemvue_type_template_id_36cf8ac4_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"el-submenu sh-submenu"},[_c('el-submenu',{attrs:{"index":_vm.items.url,"popperClass":_vm.popperClass}},[_c('template',{slot:"title"},[(_vm.showIcon && (!_vm.subMenu || _vm.items.icon))?_c('i',{class:_vm.items.icon || 'el-icon-tickets'}):_vm._e(),_c('span',{attrs:{"slot":"title"},slot:"title"},[_vm._v(_vm._s(_vm.items.text))])]),_vm._l((_vm.items.children),function(item){return [(item.children && item.children.length)?_c('SubMenuItem',{key:item.url,staticClass:"sh-submenu",attrs:{"items":item,"showIcon":_vm.showIcon,"subMenu":true}}):_c('el-menu-item',{key:item.url,staticClass:"sh-submenu-item",attrs:{"index":item.url}},[(_vm.showIcon && item.icon)?_c('i',{class:item.icon || 'el-icon-tickets'}):_vm._e(),_c('span',{staticClass:"sh-submenu_title",attrs:{"slot":"title"},slot:"title"},[_vm._v(_vm._s(item.text))])])]})],2)],1)}
var SubMenuItemvue_type_template_id_36cf8ac4_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/SubMenuItem.vue?vue&type=template&id=36cf8ac4&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/SubMenuItem.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var SubMenuItemvue_type_script_lang_js_ = ({
  name: 'SubMenuItem',
  props: {
    items: {
      type: Object,
      default: function _default() {}
    },
    showIcon: {
      type: Boolean,
      default: true
    },
    subMenu: Boolean,
    popperClass: String
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/SubMenuItem.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SubMenuItemvue_type_script_lang_js_ = (SubMenuItemvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/layout/components/SubMenuItem.vue





/* normalize component */

var SubMenuItem_component = normalizeComponent(
  components_SubMenuItemvue_type_script_lang_js_,
  SubMenuItemvue_type_template_id_36cf8ac4_render,
  SubMenuItemvue_type_template_id_36cf8ac4_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var SubMenuItem = (SubMenuItem_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/HeaderMenu.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var HeaderMenuvue_type_script_lang_js_ = ({
  components: {
    SubMenuItem: SubMenuItem
  },
  props: {
    menuList: {
      type: Array,
      requre: true
    },
    subMenuList: {
      type: Object,
      default: function _default() {}
    },
    firstMenu: Boolean
  },
  watch: {
    menuList: {
      handler: function handler(val) {
        var _this = this;

        this.subWidth = 0;
        this.subWidth = 0;

        if (val && val.length) {
          this.$nextTick(function () {
            _this.width = _this.$refs.menu.$el.offsetWidth; // 菜单宽度

            _this.$refs.menu.$children.forEach(function (item) {
              _this.subWidth += item.$el.offsetWidth + 20; // 菜单item宽度
            });
          });
        }
      },
      immediate: true
    }
  },
  computed: {
    activeRoute: function activeRoute() {
      var url = '';

      if (this.firstMenu) {
        url = this.subMenuList.url;
      } else {
        url = this.$route.path;
      }

      return url;
    },
    widthDifference: function widthDifference() {
      // 宽度差
      return this.subWidth - this.width;
    }
  },
  data: function data() {
    return {
      width: 0,
      subWidth: 0,
      offsetX: 0
    };
  },
  methods: {
    onSelect: function onSelect(url) {
      var _this2 = this;

      if (this.firstMenu) {
        this.menuList.forEach(function (item) {
          if (url === item.url) {
            _this2.onSubFirstMenu(item);
          }
        });
      } else {
        this.onSubFirstMenu({
          url: url
        });
      }
    },
    onSubFirstMenu: function onSubFirstMenu(item) {
      if (item.children && item.children.length) {
        this.onSubFirstMenu(item.children[0]);
      } else if (item.url.indexOf('http') !== -1) {
        window.open(item.url);
      } else {
        this.$router.push(item.url);
      }
    },
    changeOffsetX: function changeOffsetX(num) {
      this.offsetX += num;

      if (this.offsetX > this.widthDifference) {
        this.offsetX = this.widthDifference;
      } else if (this.offsetX < 0) {
        this.offsetX = 0;
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/HeaderMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_HeaderMenuvue_type_script_lang_js_ = (HeaderMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/HeaderMenu.vue?vue&type=style&index=0&lang=scss&
var HeaderMenuvue_type_style_index_0_lang_scss_ = __webpack_require__("0d6c");

// CONCATENATED MODULE: ./packages/page/layout/components/HeaderMenu.vue






/* normalize component */

var HeaderMenu_component = normalizeComponent(
  components_HeaderMenuvue_type_script_lang_js_,
  HeaderMenuvue_type_template_id_7a746964_render,
  HeaderMenuvue_type_template_id_7a746964_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var HeaderMenu = (HeaderMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutTopMenu.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//


/* harmony default export */ var LayoutTopMenuvue_type_script_lang_js_ = ({
  components: {
    HeaderInfoBar: HeaderInfoBar,
    HeaderMenu: HeaderMenu
  },
  props: {
    menuList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    subMenuList: {
      type: Object,
      default: function _default() {}
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/LayoutTopMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_LayoutTopMenuvue_type_script_lang_js_ = (LayoutTopMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/LayoutTopMenu.vue?vue&type=style&index=0&id=ebcfdc30&lang=scss&scoped=true&
var LayoutTopMenuvue_type_style_index_0_id_ebcfdc30_lang_scss_scoped_true_ = __webpack_require__("40ca");

// CONCATENATED MODULE: ./packages/page/layout/components/LayoutTopMenu.vue






/* normalize component */

var LayoutTopMenu_component = normalizeComponent(
  components_LayoutTopMenuvue_type_script_lang_js_,
  LayoutTopMenuvue_type_template_id_ebcfdc30_scoped_true_render,
  LayoutTopMenuvue_type_template_id_ebcfdc30_scoped_true_staticRenderFns,
  false,
  null,
  "ebcfdc30",
  null
  
)

/* harmony default export */ var LayoutTopMenu = (LayoutTopMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutLeftMenu.vue?vue&type=template&id=8738fbf0&scoped=true&
var LayoutLeftMenuvue_type_template_id_8738fbf0_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:"sh-lt"},[_c('el-header',{attrs:{"height":"64px"}},[_c('HeaderInfoBar',{attrs:{"height":64,"infoLeft":100}})],1),_c('el-container',[_c('el-aside',{attrs:{"width":_vm.isCollapse ? '64px' : '220px'}},[_c('el-scrollbar',{staticClass:"scrollbar"},[_c('LeftMenu',{staticClass:"sh-hybrid-left-menu",attrs:{"menuList":_vm.menuList,"isCollapse":_vm.isCollapse}})],1)],1),_c('el-main',{attrs:{"id":"main"}},[_c('Breadcrumb',{attrs:{"menuList":_vm.menuList,"isCollapse":_vm.isCollapse},on:{"update:isCollapse":function($event){_vm.isCollapse=$event},"update:is-collapse":function($event){_vm.isCollapse=$event}}}),_vm._t("default")],2)],1)],1)}
var LayoutLeftMenuvue_type_template_id_8738fbf0_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/LayoutLeftMenu.vue?vue&type=template&id=8738fbf0&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LeftMenu.vue?vue&type=template&id=31004687&
var LeftMenuvue_type_template_id_31004687_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"sh-left-menu"},[_c('el-menu',{attrs:{"default-active":_vm.activeRoute,"collapse":_vm.isCollapse,"unique-opened":""},on:{"select":_vm.onSelect}},[_vm._l((_vm.menuList),function(items){return [(items.children && items.children.length && !_vm.firstMenu)?_c('SubMenuItem',{key:items.url,attrs:{"items":items}}):_c('el-menu-item',{key:items.url,attrs:{"index":items.url}},[_c('i',{class:items.icon || 'el-icon-tickets'}),_c('span',{staticClass:"sh-submenu_title",attrs:{"slot":"title"},slot:"title"},[_vm._v(_vm._s(items.text))])])]})],2)],1)}
var LeftMenuvue_type_template_id_31004687_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/LeftMenu.vue?vue&type=template&id=31004687&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LeftMenu.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var LeftMenuvue_type_script_lang_js_ = ({
  components: {
    SubMenuItem: SubMenuItem
  },
  props: {
    menuList: {
      type: Array,
      requre: true
    },
    subMenuList: {
      type: Object,
      default: function _default() {}
    },
    firstMenu: Boolean,
    isCollapse: Boolean
  },
  computed: {
    activeRoute: function activeRoute() {
      var url = '';

      if (this.firstMenu) {
        url = this.subMenuList.url;
      } else {
        url = this.$route.path;
      }

      return url;
    }
  },
  methods: {
    onSelect: function onSelect(url) {
      var _this = this;

      if (this.firstMenu) {
        this.menuList.forEach(function (item) {
          if (url === item.url) {
            _this.onSubFirstMenu(item);
          }
        });
      } else {
        this.onSubFirstMenu({
          url: url
        });
      }
    },
    onSubFirstMenu: function onSubFirstMenu(item) {
      if (item.children && item.children.length) {
        this.onSubFirstMenu(item.children[0]);
      } else if (item.url.indexOf('http') !== -1) {
        window.open(item.url);
      } else {
        this.$router.push(item.url);
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/LeftMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_LeftMenuvue_type_script_lang_js_ = (LeftMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/LeftMenu.vue?vue&type=style&index=0&lang=scss&
var LeftMenuvue_type_style_index_0_lang_scss_ = __webpack_require__("5ecb");

// CONCATENATED MODULE: ./packages/page/layout/components/LeftMenu.vue






/* normalize component */

var LeftMenu_component = normalizeComponent(
  components_LeftMenuvue_type_script_lang_js_,
  LeftMenuvue_type_template_id_31004687_render,
  LeftMenuvue_type_template_id_31004687_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var LeftMenu = (LeftMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/Breadcrumb.vue?vue&type=template&id=0b906156&
var Breadcrumbvue_type_template_id_0b906156_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.list.length > 1)?_c('div',{class:_vm.crumbClassName},[(_vm.crumbClassName === 'xy-crumb')?_c('el-breadcrumb',{attrs:{"separator":"/"}},_vm._l((_vm.list),function(item,index){return _c('el-breadcrumb-item',{key:index},[_vm._v(_vm._s(item.text))])}),1):_c('el-breadcrumb',{attrs:{"separator":"/"}},[_c('el-breadcrumb-item',{attrs:{"separator-class":"el-icon-arrow-right"}},[_c('i',{staticClass:"crumb-icon enter-x",class:_vm.isCollapse ? 'el-icon-s-unfold': 'el-icon-s-fold',on:{"click":_vm.clickIcon}}),(_vm.show)?_c('span',{staticClass:"text enter-x"},[_vm._v(_vm._s(_vm.list[_vm.list.length - 1].text))]):_vm._e()])],1)],1):_vm._e()}
var Breadcrumbvue_type_template_id_0b906156_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/Breadcrumb.vue?vue&type=template&id=0b906156&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/Breadcrumb.vue?vue&type=script&lang=js&


//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var Breadcrumbvue_type_script_lang_js_ = ({
  props: {
    menuList: Array,
    isCollapse: Boolean,
    className: String
  },
  watch: {
    $route: {
      handler: function handler(val) {
        var _this = this;

        this.activePath = val.path;
        this.is = false;
        this.list = _toConsumableArray(this.getCrumb(this.menuList || []));
        this.routerTransition ? this.show = false : '';
        this.$nextTick(function () {
          _this.show = true;
        });
      },
      immediate: true
    }
  },
  computed: {
    crumbClassName: function crumbClassName() {
      return this.className || (this.$SANHUI || {}).crumbClassName;
    },
    routerTransition: function routerTransition() {
      return this.$store.state.routerTransition;
    }
  },
  data: function data() {
    return {
      list: [],
      activePath: '',
      is: false,
      show: true
    };
  },
  methods: {
    clickIcon: function clickIcon() {
      this.$emit('update:isCollapse', !this.isCollapse);
    },
    getCrumb: function getCrumb(list) {
      // 递归获取面包屑路径
      var arr = [];

      for (var i = 0; i < list.length; i++) {
        arr = [{
          url: list[i].url,
          text: list[i].text
        }];

        if (list[i].children && list[i].children.length > 0) {
          arr = [].concat(_toConsumableArray(arr), _toConsumableArray(this.getCrumb(list[i].children)));
          if (this.is) return arr;
        } else if (list[i].url === this.activePath) {
          this.is = true;
          return arr;
        }
      }

      return [];
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/Breadcrumb.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_Breadcrumbvue_type_script_lang_js_ = (Breadcrumbvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/Breadcrumb.vue?vue&type=style&index=0&lang=scss&
var Breadcrumbvue_type_style_index_0_lang_scss_ = __webpack_require__("bd7f");

// CONCATENATED MODULE: ./packages/page/layout/components/Breadcrumb.vue






/* normalize component */

var Breadcrumb_component = normalizeComponent(
  components_Breadcrumbvue_type_script_lang_js_,
  Breadcrumbvue_type_template_id_0b906156_render,
  Breadcrumbvue_type_template_id_0b906156_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var Breadcrumb = (Breadcrumb_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutLeftMenu.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//



/* harmony default export */ var LayoutLeftMenuvue_type_script_lang_js_ = ({
  components: {
    HeaderInfoBar: HeaderInfoBar,
    LeftMenu: LeftMenu,
    Breadcrumb: Breadcrumb
  },
  props: {
    menuList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    subMenuList: {
      type: Object,
      default: function _default() {}
    }
  },
  data: function data() {
    return {
      isCollapse: false
    };
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/LayoutLeftMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_LayoutLeftMenuvue_type_script_lang_js_ = (LayoutLeftMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/LayoutLeftMenu.vue?vue&type=style&index=0&id=8738fbf0&lang=scss&scoped=true&
var LayoutLeftMenuvue_type_style_index_0_id_8738fbf0_lang_scss_scoped_true_ = __webpack_require__("a886");

// CONCATENATED MODULE: ./packages/page/layout/components/LayoutLeftMenu.vue






/* normalize component */

var LayoutLeftMenu_component = normalizeComponent(
  components_LayoutLeftMenuvue_type_script_lang_js_,
  LayoutLeftMenuvue_type_template_id_8738fbf0_scoped_true_render,
  LayoutLeftMenuvue_type_template_id_8738fbf0_scoped_true_staticRenderFns,
  false,
  null,
  "8738fbf0",
  null
  
)

/* harmony default export */ var LayoutLeftMenu = (LayoutLeftMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutHybridMenu.vue?vue&type=template&id=53ea189f&scoped=true&
var LayoutHybridMenuvue_type_template_id_53ea189f_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:"sh-hybrid"},[_c('el-header',{attrs:{"height":"110px"}},[_c('HeaderInfoBar'),_c('div',{staticClass:"sh-hybrid-header-menu"},[_c('HeaderMenu',{attrs:{"menuList":_vm.menuList,"subMenuList":_vm.subMenuList,"firstMenu":true}})],1)],1),_c('el-container',[(_vm.subMenuList.children && _vm.subMenuList.children.length)?_c('el-aside',{attrs:{"width":_vm.isCollapse ? '64px' : '220px'}},[_c('el-scrollbar',{staticClass:"scrollbar"},[_c('LeftMenu',{staticClass:"sh-hybrid-left-menu",attrs:{"menuList":_vm.subMenuList.children,"isCollapse":_vm.isCollapse}})],1)],1):_vm._e(),_c('el-main',{attrs:{"id":"main"}},[_c('Breadcrumb',{attrs:{"menuList":_vm.menuList,"isCollapse":_vm.isCollapse},on:{"update:isCollapse":function($event){_vm.isCollapse=$event},"update:is-collapse":function($event){_vm.isCollapse=$event}}}),_vm._t("default")],2)],1)],1)}
var LayoutHybridMenuvue_type_template_id_53ea189f_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/LayoutHybridMenu.vue?vue&type=template&id=53ea189f&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutHybridMenu.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//




/* harmony default export */ var LayoutHybridMenuvue_type_script_lang_js_ = ({
  components: {
    HeaderInfoBar: HeaderInfoBar,
    HeaderMenu: HeaderMenu,
    LeftMenu: LeftMenu,
    Breadcrumb: Breadcrumb
  },
  props: {
    menuList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    subMenuList: {
      type: Array,
      default: function _default() {
        return [];
      }
    }
  },
  data: function data() {
    return {
      isCollapse: false
    };
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/LayoutHybridMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_LayoutHybridMenuvue_type_script_lang_js_ = (LayoutHybridMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/LayoutHybridMenu.vue?vue&type=style&index=0&id=53ea189f&lang=scss&scoped=true&
var LayoutHybridMenuvue_type_style_index_0_id_53ea189f_lang_scss_scoped_true_ = __webpack_require__("fee4");

// CONCATENATED MODULE: ./packages/page/layout/components/LayoutHybridMenu.vue






/* normalize component */

var LayoutHybridMenu_component = normalizeComponent(
  components_LayoutHybridMenuvue_type_script_lang_js_,
  LayoutHybridMenuvue_type_template_id_53ea189f_scoped_true_render,
  LayoutHybridMenuvue_type_template_id_53ea189f_scoped_true_staticRenderFns,
  false,
  null,
  "53ea189f",
  null
  
)

/* harmony default export */ var LayoutHybridMenu = (LayoutHybridMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=template&id=8373725a&scoped=true&
var LayoutFourthMenuvue_type_template_id_8373725a_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-container',{staticClass:"sh-four"},[_c('el-header',{attrs:{"height":_vm.showSubMenu ? '110px': '60px'}},[_c('HeaderInfoBar'),(_vm.showSubMenu)?_c('div',{staticClass:"sh-four-header-menu"},[_c('HeaderMenu',{attrs:{"menuList":_vm.subMenuList.children}})],1):_vm._e()],1),_c('el-container',[_c('el-aside',{attrs:{"width":"56px"}},[_c('div',{staticClass:"sh-four-left-wrap"},[_c('el-scrollbar',{staticClass:"scrollbar"},[_c('LeftMenu',{staticClass:"sh-four-left-menu",attrs:{"menuList":_vm.menuList,"subMenuList":_vm.subMenuList,"firstMenu":true}})],1)],1)]),_c('el-main',{style:({height: ("calc(100vh - " + (_vm.showSubMenu ? 110: 60) + "px)")}),attrs:{"id":"main"}},[_c('Breadcrumb',{attrs:{"menuList":_vm.menuList}}),_vm._t("default")],2)],1)],1)}
var LayoutFourthMenuvue_type_template_id_8373725a_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=template&id=8373725a&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//




/* harmony default export */ var LayoutFourthMenuvue_type_script_lang_js_ = ({
  components: {
    HeaderInfoBar: HeaderInfoBar,
    HeaderMenu: HeaderMenu,
    LeftMenu: LeftMenu,
    Breadcrumb: Breadcrumb
  },
  props: {
    menuList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    subMenuList: {
      type: Object,
      default: function _default() {}
    }
  },
  computed: {
    showSubMenu: function showSubMenu() {
      return this.subMenuList.children && this.subMenuList.children.length;
    }
  },
  data: function data() {
    return {
      isCollapse: false
    };
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_LayoutFourthMenuvue_type_script_lang_js_ = (LayoutFourthMenuvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=style&index=0&id=8373725a&lang=scss&scoped=true&
var LayoutFourthMenuvue_type_style_index_0_id_8373725a_lang_scss_scoped_true_ = __webpack_require__("a060");

// EXTERNAL MODULE: ./packages/page/layout/components/LayoutFourthMenu.vue?vue&type=style&index=1&lang=scss&
var LayoutFourthMenuvue_type_style_index_1_lang_scss_ = __webpack_require__("ce42");

// CONCATENATED MODULE: ./packages/page/layout/components/LayoutFourthMenu.vue







/* normalize component */

var LayoutFourthMenu_component = normalizeComponent(
  components_LayoutFourthMenuvue_type_script_lang_js_,
  LayoutFourthMenuvue_type_template_id_8373725a_scoped_true_render,
  LayoutFourthMenuvue_type_template_id_8373725a_scoped_true_staticRenderFns,
  false,
  null,
  "8373725a",
  null
  
)

/* harmony default export */ var LayoutFourthMenu = (LayoutFourthMenu_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue?vue&type=template&id=97db492e&scoped=true&
var TipsViewvue_type_template_id_97db492e_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('TipsDialog',{ref:"tipsDialog",attrs:{"unitState":_vm.user.unitState === '4' ||  _vm.user.unitState == '5',"title":_vm.user.userType == '10'?'手机号绑定':'提示'}},[(_vm.user.userType != '10')?_c('template',{slot:"msg"},[(_vm.user.unitState == '0')?_c('div',[_vm._v("您的企业信息"),_c('span',{staticClass:"examine-ing"},[_vm._v("正在审核中...")])]):_vm._e(),(_vm.user.unitState == '2')?_c('div',[_vm._v("您的企业信息"),_c('span',{staticClass:"examine-nopass"},[_vm._v("审核未通过")]),_vm._v("，如有疑问请联系管理员")]):_vm._e(),(!_vm.user['unitState'] || _vm.user.unitState == '3' || _vm.user.unitState == '4')?_c('div',[_vm._v("您的企业信息未完善，请先完善企业信息")]):_vm._e(),(_vm.user.unitState == '5')?_c('div',[_c('span',{staticClass:"examine-nopass"},[_vm._v("您的企业已冻结，请联系管理员")])]):_vm._e()]):_vm._e(),(_vm.user.userType != '10')?_c('template',{slot:"btn"},[(_vm.user.unitState !== '5')?_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.improveEnt}},[_vm._v(_vm._s(_vm.btnVal))]):_vm._e()],1):_vm._e(),(_vm.user.userType == '10')?_c('template',{slot:"msg"},[_c('sh-form',{ref:"form",staticClass:"form-content",attrs:{"model":_vm.form}},[_c('sh-form-item',{attrs:{"label":"账号","prop":"loginName","rules":"required"}},[_c('el-popover',{attrs:{"placement":"bottom-start","width":"365","trigger":"manual"},model:{value:(_vm.visiblePloginName),callback:function ($$v) {_vm.visiblePloginName=$$v},expression:"visiblePloginName"}},[_c('div',{staticClass:"popover-station"},[_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ploginNameStrOne},{'pass-check':_vm.ploginNameStrTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ploginNameStrTwo === 2? true: false}]}),_c('span',[_vm._v("6-15位字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ploginNameIllegalOne},{'pass-check':_vm.ploginNameIllegalTwo=== 1? true: false},{'el-icon-circle-close special-close':_vm.ploginNameIllegalTwo=== 2? true: false}]}),_c('span',[_vm._v("只能包含字母、数字以及下划线")])]),_c('div',{staticClass:"special-div"},[_c('i',{class:[{'el-icon-circle-check':_vm.ploginNameTypeOne},{'pass-check':_vm.ploginNameTypeTwo=== 1? true: false},{'el-icon-circle-close special-close':_vm.ploginNameTypeTwo === 2? true: false}]}),_c('span',[_vm._v("字母、数字和下划线至少包含2种")])])]),_c('sh-input',{attrs:{"slot":"reference","placeholder":"请输入账号"},on:{"focus":function($event){return _vm.focusInput('ploginName')},"blur":function($event){return _vm.blurInput('ploginName')},"input":_vm.inputPloginName},slot:"reference",model:{value:(_vm.form.loginName),callback:function ($$v) {_vm.$set(_vm.form, "loginName", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.loginName"}})],1)],1),_c('sh-form-item',{attrs:{"label":"新密码","prop":"password","rules":"required||password"}},[_c('el-popover',{attrs:{"placement":"bottom-start","width":"365","trigger":"manual"},model:{value:(_vm.visiblePPassword),callback:function ($$v) {_vm.visiblePPassword=$$v},expression:"visiblePPassword"}},[_c('div',{staticClass:"popover-station"},[_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordStrOne},{'pass-check':_vm.ppasswordStrTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordStrTwo === 2? true: false}]}),_c('span',[_vm._v("8-25位字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordIllegalOne},{'pass-check':_vm.ppasswordIllegalTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordIllegalTwo === 2? true: false}]}),_c('span',[_vm._v("只能包含大小写字母、数字以及特殊字符")])]),_c('div',[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordTypeOne},{'pass-check':_vm.ppasswordTypeTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordTypeTwo === 2? true: false}]}),_c('span',[_vm._v("大小写字母、数字和特殊字符至少包含3种")])]),_c('div',{staticClass:"special-div"},[_c('i',{class:[{'el-icon-circle-check':_vm.ppasswordSpecialOne},{'pass-check':_vm.ppasswordSpecialTwo === 1? true: false},{'el-icon-circle-close special-close':_vm.ppasswordSpecialTwo === 2? true: false}]}),_c('span',[_vm._v("特殊字符包括~!@#$%^&*()_+-")])])]),_c('sh-input',{attrs:{"slot":"reference","show-password":"","type":"password","placeholder":"请输入密码"},on:{"focus":function($event){return _vm.focusInput('password')},"blur":function($event){return _vm.blurInput('password')},"input":function($event){return _vm.inputPPassword('password')}},slot:"reference",model:{value:(_vm.form.password),callback:function ($$v) {_vm.$set(_vm.form, "password", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.password"}})],1)],1),_c('sh-form-item',{attrs:{"label":"手机号","prop":"phone","rules":['required','phone',{type: 'api', api: _vm.isPhoneApi, param: 'phone'}]}},[_c('el-row',[_c('el-col',{staticStyle:{"padding-right":"8px"},attrs:{"span":18}},[_c('sh-input',{staticClass:"phone",attrs:{"name":"phone","placeholder":"请输入手机号"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, "phone", $$v)},expression:"form.phone"}},[_c('el-button',{attrs:{"slot":"append","loading":_vm.codeLoading},on:{"click":_vm.getPhoneCode},slot:"append"},[_vm._v(_vm._s(_vm.phoneCodeTxt))])],1)],1),_c('el-col',{attrs:{"span":6}},[_c('sh-form-item',{staticClass:"phone-code",attrs:{"label":"","prop":"phoneCode","rules":[{required:true, message: '验证码不能为空'}]}},[_c('sh-input',{attrs:{"name":"phoneCode","placeholder":"验证码"},model:{value:(_vm.form.phoneCode),callback:function ($$v) {_vm.$set(_vm.form, "phoneCode", $$v)},expression:"form.phoneCode"}})],1)],1)],1),_c('div',{staticClass:"robot"},[_c('div',{staticClass:"robot-img"}),_c('div',{staticClass:"tip"},[_c('div',[_vm._v("温馨提示")]),_c('div',[_vm._v("1、您的账号尚未绑定手机号，请进行手机号验证")]),_c('div',[_vm._v("2、您的账号可允许修改一次")]),_c('div',[_vm._v("3、您的密码为初始默认密码，请设置新的密码")])])])],1)],1)],1):_vm._e(),_c('template',{slot:"layout-usr"},[(_vm.user.unitState != '4')?_c('el-button',{on:{"click":_vm.logout}},[_vm._v("退出登录")]):_c('div',[_c('el-checkbox',{on:{"change":_vm.changeCheck},model:{value:(_vm.checked),callback:function ($$v) {_vm.checked=$$v},expression:"checked"}},[_vm._v("不再提示")])],1),(_vm.user.userType == '10')?_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.verifyPhone}},[_vm._v("确 定")]):_vm._e()],1)],2),_c('ImproCreateUpdate',{ref:"improCreateUpdate",on:{"callback":_vm.callback}}),_c('UpdatePhone',{ref:"updatePhone",on:{"callback":_vm.callback}})],1)}
var TipsViewvue_type_template_id_97db492e_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue?vue&type=template&id=97db492e&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=template&id=32bbe264&scoped=true&
var ImproCreateUpdatevue_type_template_id_32bbe264_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"append-to-body":true,"title":_vm.title,"visible":_vm.dialogFormVisible,"close-on-click-modal":false,"height":"90vh","width":"1500px","scroll":true},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('div',{staticClass:"container"},[_c('div',{staticClass:"enterpriseInfo"},[_c('div',{staticClass:"item-right"},[(_vm.unitState == '0')?_c('div',{staticClass:"examine-ing"},[_c('span',{staticClass:"text"},[_vm._v("信息审核中，请等待平台管理员审核。")])]):(_vm.unitState=='2')?_c('div',{staticClass:"failExamine"},[_c('span',{staticClass:"text"},[_vm._v("信息审核未通过!")]),(_vm.form.reason)?_c('span',{staticClass:"text2"},[_vm._v("说明:"+_vm._s(_vm.form.reason))]):_vm._e()]):_vm._e(),_c('sh-form-title',[_vm._v(" 营业执照 ")]),_c('div',{staticClass:"item-form"},[_c('div',{staticClass:"business-item"},[_c('sh-form',{ref:"businessForm",staticClass:"info-form",attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload,"inline-message":"true","model":_vm.form,"className":"xy-form","label-position":"left","labelWidth":"150px"}},[_c('sh-form-item',{attrs:{"prop":"unitName","rules":"required","label":"企业名称:","span":8}},[_c('el-input',{model:{value:(_vm.form.unitName),callback:function ($$v) {_vm.$set(_vm.form, "unitName", $$v)},expression:"form.unitName"}})],1),_c('sh-form-item',{attrs:{"prop":"unifiedcode","rules":"required","label":"统一社会信用代码:","span":8}},[_c('el-input',{model:{value:(_vm.form.unifiedcode),callback:function ($$v) {_vm.$set(_vm.form, "unifiedcode", $$v)},expression:"form.unifiedcode"}})],1),_c('sh-form-item',{attrs:{"prop":"regtypeId","rules":"required","label":"企业性质:","span":8}},[_c('sh-select',{attrs:{"clearable":true,"placeholder":"请选择企业性质"},model:{value:(_vm.form.regtypeId),callback:function ($$v) {_vm.$set(_vm.form, "regtypeId", $$v)},expression:"form.regtypeId"}},_vm._l((_vm.categoryListType),function(item,key){return _c('sh-option',{key:key,attrs:{"label":item.regtypeName,"value":item.regtypeId}})}),1)],1),_c('sh-form-item',{attrs:{"prop":"formdate","rules":"required","label":"成立日期:","span":8}},[_c('el-date-picker',{attrs:{"type":"date","placeholder":"请输入时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.formdate),callback:function ($$v) {_vm.$set(_vm.form, "formdate", $$v)},expression:"form.formdate"}})],1),_c('sh-form-item',{attrs:{"prop":"bussinessBetween","rules":"required","label":"营业期限:","span":8}},[_c('el-row',[_c('el-col',{attrs:{"span":7}},[_c('el-select',{attrs:{"placeholder":"请选择"},on:{"change":function (){_vm.bussinessDate=null,_vm.form.bussinessBetween=[]}},model:{value:(_vm.bussinessBetweenType),callback:function ($$v) {_vm.bussinessBetweenType=$$v},expression:"bussinessBetweenType"}},[_c('el-option',{attrs:{"label":"有限期","value":1}}),_c('el-option',{attrs:{"label":"无限期","value":2}})],1)],1),_c('el-col',{attrs:{"span":17}},[(_vm.bussinessBetweenType===1)?_c('QuickDatePicker',{model:{value:(_vm.form.bussinessBetween),callback:function ($$v) {_vm.$set(_vm.form, "bussinessBetween", $$v)},expression:"form.bussinessBetween"}}):_c('el-row',{attrs:{"gutter":5}},[_c('el-col',{attrs:{"span":16}},[_c('el-date-picker',{attrs:{"value-format":"yyyy-MM-dd","type":"date","placeholder":"选择开始日期"},on:{"change":_vm.handleBussinessDate},model:{value:(_vm.bussinessDate),callback:function ($$v) {_vm.bussinessDate=$$v},expression:"bussinessDate"}})],1),_c('el-col',{attrs:{"span":8}},[_vm._v(" - 长期 ")])],1)],1)],1)],1),_c('sh-form-item',{attrs:{"prop":"registercapital","rules":"required","label":"注册资本(万元):","span":8}},[_c('el-input-number',{staticStyle:{"width":"100%"},attrs:{"precision":2,"controls-position":"right","min":0},model:{value:(_vm.form.registercapital),callback:function ($$v) {_vm.$set(_vm.form, "registercapital", $$v)},expression:"form.registercapital"}})],1),_c('sh-form-item',{attrs:{"span":24}}),_c('sh-form-item',{attrs:{"prop":"artificial","rules":"required","label":"法定代表人:","span":8}},[_c('el-input',{model:{value:(_vm.form.artificial),callback:function ($$v) {_vm.$set(_vm.form, "artificial", $$v)},expression:"form.artificial"}})],1),_c('sh-form-item',{staticClass:"form-item-margin",attrs:{"prop":"artificialType","label":"证件类型:","span":8}},[_c('el-select',{attrs:{"placeholder":"请选择"},model:{value:(_vm.form.artificialType),callback:function ($$v) {_vm.$set(_vm.form, "artificialType", $$v)},expression:"form.artificialType"}},_vm._l((_vm.skArtificialType),function(item,index){return _c('el-option',{key:index,attrs:{"label":item.label,"value":item.value}})}),1)],1),_c('sh-form-item',{staticClass:"form-item-margin",attrs:{"label":"证件号:","span":8}},[_c('el-input',{model:{value:(_vm.form.artificialId),callback:function ($$v) {_vm.$set(_vm.form, "artificialId", $$v)},expression:"form.artificialId"}})],1),_c('sh-form-item',{attrs:{"span":24}}),_c('sh-form-item',{attrs:{"prop":"artificialPhone","rules":"required||phone","label":"手机号:","span":8}},[_c('el-input',{model:{value:(_vm.form.artificialPhone),callback:function ($$v) {_vm.$set(_vm.form, "artificialPhone", $$v)},expression:"form.artificialPhone"}})],1),_c('sh-form-item',{attrs:{"prop":"address","rules":"required","label":"营业场所地址:","span":8}},[_c('el-input',{model:{value:(_vm.form.address),callback:function ($$v) {_vm.$set(_vm.form, "address", $$v)},expression:"form.address"}})],1),_c('sh-form-item',{attrs:{"prop":"fileList","rules":"required","label":"营业执照扫描件:","span":8}},[_c('SingleFileUpload',{ref:"fileList",attrs:{"type":(_vm.unitState == '0' || _vm.isAgainUpload) ? 'view' : '',"singleFileList":_vm.form.fileList},on:{"update:singleFileList":function($event){return _vm.$set(_vm.form, "fileList", $event)},"update:single-file-list":function($event){return _vm.$set(_vm.form, "fileList", $event)}}})],1),_c('sh-form-item',{attrs:{"prop":"workscope","rules":"required","label":"经营范围:","span":24}},[_c('el-input',{model:{value:(_vm.form.workscope),callback:function ($$v) {_vm.$set(_vm.form, "workscope", $$v)},expression:"form.workscope"}})],1),_c('sh-form-item',{attrs:{"prop":"contacts","rules":"required","label":"管理人:","span":8}},[_c('el-input',{model:{value:(_vm.form.contacts),callback:function ($$v) {_vm.$set(_vm.form, "contacts", $$v)},expression:"form.contacts"}})],1),_c('sh-form-item',{attrs:{"prop":"contactsPhone","rules":"required||phone","label":"管理人手机号:","span":8}},[_c('el-input',{model:{value:(_vm.form.contactsPhone),callback:function ($$v) {_vm.$set(_vm.form, "contactsPhone", $$v)},expression:"form.contactsPhone"}})],1)],1)],1)]),_c('sh-form-title',[_vm._v(" 办公场所 ")]),_c('sh-form',{ref:"officeForm",staticClass:"info-form",attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload,"inline-message":"true","model":_vm.form,"className":"xy-form","label-position":"left","labelWidth":"150px"}},[_c('sh-form-item',{attrs:{"prop":"area2","rules":"required","label":"办公场所:","span":16}},[_c('el-row',[_c('el-col',{attrs:{"span":15}},[_c('sh-region',{staticClass:"first-input",attrs:{"clearable":"","value2":_vm.form.areaIds2},on:{"update:value2":function($event){return _vm.$set(_vm.form, "areaIds2", $event)}},model:{value:(_vm.form.area2),callback:function ($$v) {_vm.$set(_vm.form, "area2", $$v)},expression:"form.area2"}})],1),_c('el-col',{staticStyle:{"display":"flex","justify-content":"flex-end"},attrs:{"span":9}},[_c('el-input',{staticClass:"second-input",model:{value:(_vm.form.localAddress),callback:function ($$v) {_vm.$set(_vm.form, "localAddress", $$v)},expression:"form.localAddress"}})],1)],1)],1),_c('sh-form-item',{staticClass:"form-item-margin",attrs:{"prop":"officeArea","label":"办公面积:","span":8}},[_c('el-input',{model:{value:(_vm.form.officeArea),callback:function ($$v) {_vm.$set(_vm.form, "officeArea", $$v)},expression:"form.officeArea"}})],1),_c('sh-form-item',{attrs:{"prop":"localContacts","rules":"required","label":"企业负责人:","span":8}},[_c('el-input',{model:{value:(_vm.form.localContacts),callback:function ($$v) {_vm.$set(_vm.form, "localContacts", $$v)},expression:"form.localContacts"}})],1),_c('sh-form-item',{staticClass:"form-item-margin",attrs:{"prop":"localContactsId","label":"证件号码:","span":8}},[_c('el-input',{model:{value:(_vm.form.localContactsId),callback:function ($$v) {_vm.$set(_vm.form, "localContactsId", $$v)},expression:"form.localContactsId"}})],1),_c('sh-form-item',{attrs:{"prop":"localContactsPhone","rules":"required||phone","label":"手机号码:","span":8}},[_c('el-input',{model:{value:(_vm.form.localContactsPhone),callback:function ($$v) {_vm.$set(_vm.form, "localContactsPhone", $$v)},expression:"form.localContactsPhone"}})],1)],1),(_vm.checkCompanyInfo.build)?_c('sh-form-title',[_vm._v("安全生产许可证")]):_vm._e(),(_vm.checkCompanyInfo.build)?_c('sh-form',{ref:"safeForm",staticClass:"info-form",attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload,"inline-message":"true","model":_vm.form,"className":"xy-form","label-position":"left","labelWidth":"150px"}},[_c('sh-form-item',{attrs:{"label":"安全生产许可证号:","prop":"safeLicensenum","rules":"required","span":8}},[_c('el-input',{model:{value:(_vm.form.safeLicensenum),callback:function ($$v) {_vm.$set(_vm.form, "safeLicensenum", $$v)},expression:"form.safeLicensenum"}})],1),_c('sh-form-item',{attrs:{"label":"签发机关:","rules":"required","prop":"safeAgency","span":8}},[_c('el-input',{model:{value:(_vm.form.safeAgency),callback:function ($$v) {_vm.$set(_vm.form, "safeAgency", $$v)},expression:"form.safeAgency"}})],1),_c('sh-form-item',{attrs:{"label":"发证日期:","rules":"required","prop":"issuingdate","span":8}},[_c('el-date-picker',{attrs:{"type":"date","placeholder":"请输入时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.issuingdate),callback:function ($$v) {_vm.$set(_vm.form, "issuingdate", $$v)},expression:"form.issuingdate"}})],1),_c('sh-form-item',{attrs:{"label":"主要负责人:","rules":"required","prop":"principal","span":8}},[_c('el-input',{model:{value:(_vm.form.principal),callback:function ($$v) {_vm.$set(_vm.form, "principal", $$v)},expression:"form.principal"}})],1),_c('sh-form-item',{attrs:{"label":"有效期:","rules":"required","prop":"safeBetween","span":8}},[_c('QuickDatePicker',{model:{value:(_vm.form.safeBetween),callback:function ($$v) {_vm.$set(_vm.form, "safeBetween", $$v)},expression:"form.safeBetween"}})],1),_c('sh-form-item',{attrs:{"label":"证书扫描件:","rules":"required","prop":"fileList2","span":8}},[_c('SingleFileUpload',{attrs:{"singleFileList":_vm.form.fileList2},on:{"update:singleFileList":function($event){return _vm.$set(_vm.form, "fileList2", $event)},"update:single-file-list":function($event){return _vm.$set(_vm.form, "fileList2", $event)}}})],1),_c('sh-form-item',{attrs:{"label":"许可范围:","rules":"required","prop":"safeScope","span":24}},[_c('el-input',{model:{value:(_vm.form.safeScope),callback:function ($$v) {_vm.$set(_vm.form, "safeScope", $$v)},expression:"form.safeScope"}})],1)],1):_vm._e(),_c('sh-form-title',[_vm._v(" 资质类型 "),_c('template',{slot:"right"},[_c('div',[_c('el-button',{staticStyle:{"color":"#4A86FF","background":"rgba(74, 134, 255, 0.1)"},attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload},nativeOn:{"click":function($event){return _vm.addQualifications('add',null,null)}}},[_vm._v("新增")])],1)])],2),_c('div',{staticClass:"item-box"},[_c('table',{staticClass:"table",attrs:{"cellspacing":"0","cellpadding":"0"}},[_c('colgroup',[_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}}),_c('col',{staticStyle:{"width":"20%"}})]),_c('tr',[_c('th',[_vm._v("资质证书编号")]),_c('th',[_vm._v("证书有效期")]),_c('th',[_vm._v("资质类型")]),_c('th',[_vm._v("资质类别")]),_c('th',[_vm._v("资质等级")]),_c('th',[_vm._v("附件")]),_c('th',[_vm._v("操作")])]),(_vm.form.companyAptitudeList && _vm.form.companyAptitudeList.length > 0)?_vm._l((_vm.form.companyAptitudeList),function(item,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(item.certNum))]),_c('td',[_vm._v(_vm._s(_vm.formatterDate(item.startDate))+" 至 "+_vm._s(_vm.formatterDate(item.endDate)))]),_c('td',[_vm._v(_vm._s(item.categoryName))]),_c('td',{staticClass:"border0"},[_c('table',{staticClass:"table2",attrs:{"width":"100%"}},_vm._l((item.companyAptitudeCategoryList),function(item2,index2){return _c('tr',{key:index2},[_c('td',[_vm._v(_vm._s(item2.certTypeName))])])}),0)]),_c('td',{staticClass:"border0"},[_c('table',{staticClass:"table2",attrs:{"width":"100%"}},_vm._l((item.companyAptitudeCategoryList),function(item2,index2){return _c('tr',{key:index2},[_c('td',[_vm._v(_vm._s(item2.certGradeName))])])}),0)]),_c('td',{staticClass:"border0"},[_c('table',{staticClass:"table2",attrs:{"width":"100%"}},_vm._l((item.fileList),function(item2,index2){return _c('tr',{key:index2},[_c('td',[(item2.id)?_c('div',{staticClass:"text-value",attrs:{"type":"text"},on:{"click":function($event){return _vm.viewPdf(item2)}}},[_vm._v(_vm._s(item2.fileName))]):_vm._e()])])}),0)]),_c('td',[_c('el-button',{attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload,"type":"text"},on:{"click":function($event){return _vm.addQualifications('edit',item,index)}}},[_vm._v("编辑")]),_c('el-button',{attrs:{"disabled":_vm.unitState == '0' || _vm.isAgainUpload,"type":"text"},nativeOn:{"click":function($event){return _vm.onDelete(index)}}},[_vm._v("删除")])],1)])}):[_c('tr',[_c('td',{staticStyle:{"padding":"20px"},attrs:{"colspan":"7"}},[_c('div',{staticClass:"empty-text"},[_vm._v("暂无数据~")])])])]],2)])],1)]),_c('QualificationsDialog',{ref:"qualificationsDialog",attrs:{"title":'资质信息'},on:{"loadList":_vm.getDetailById,"getQualificationInfo":_vm.getQualificationInfo}}),_c('sh-pdf-diglog',{attrs:{"dialogVisible":_vm.dialogVisiblePdf,"param":{id: this.pdfId},"title":"附件预览"},on:{"update:dialogVisible":function($event){_vm.dialogVisiblePdf=$event},"update:dialog-visible":function($event){_vm.dialogVisiblePdf=$event}}})],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[(_vm.unitState == '4')?_c('div',[_c('el-button',{staticStyle:{"color":"#8996AF","background":"rgba(137, 150, 175, 0.1)"},nativeOn:{"click":function($event){return _vm.cancle.apply(null, arguments)}}},[_vm._v("取消")]),_c('el-button',{staticStyle:{"color":"#4A86FF","background":"rgba(74, 134, 255, 0.1)"},nativeOn:{"click":function($event){return _vm.deployEntTip()}}},[_vm._v("保存")])],1):(!_vm.unitState || _vm.unitState == '3')?_c('div',[_c('el-button',{staticStyle:{"color":"#8996AF","background":"rgba(137, 150, 175, 0.1)"},nativeOn:{"click":function($event){return _vm.cancle.apply(null, arguments)}}},[_vm._v("取消")]),_c('el-button',{staticStyle:{"color":"#4A86FF","background":"rgba(74, 134, 255, 0.1)"},nativeOn:{"click":function($event){return _vm.onSubmitAll('1')}}},[_vm._v("保存")]),_c('el-button',{attrs:{"type":"primary"},nativeOn:{"click":function($event){return _vm.onSubmitAll('0')}}},[_vm._v("提交")])],1):(_vm.unitState == '2')?_c('div',[_c('el-button',{staticStyle:{"color":"#8996AF","background":"rgba(137, 150, 175, 0.1)"},nativeOn:{"click":function($event){return _vm.cancle.apply(null, arguments)}}},[_vm._v("取消")]),(!_vm.isAgainUpload)?_c('el-button',{attrs:{"type":"primary"},nativeOn:{"click":function($event){return _vm.onSubmitAll('0')}}},[_vm._v("重新上传")]):_vm._e(),(_vm.isAgainUpload)?_c('el-button',{staticStyle:{"color":"#4A86FF","background":"rgba(74, 134, 255, 0.1)"},nativeOn:{"click":function($event){return _vm.onSubmitAll('1')}}},[_vm._v("保存")]):_vm._e(),(_vm.isAgainUpload)?_c('el-button',{attrs:{"type":"primary"},nativeOn:{"click":function($event){return _vm.onSubmitAll('0')}}},[_vm._v("提交")]):_vm._e()],1):(_vm.unitState == '1')?_c('div',[_c('el-button',{staticStyle:{"color":"#8996AF","background":"rgba(137, 150, 175, 0.1)"},nativeOn:{"click":function($event){return _vm.cancle.apply(null, arguments)}}},[_vm._v("取消")])],1):_c('div',[_c('el-button',{staticStyle:{"color":"#8996AF","background":"rgba(137, 150, 175, 0.1)"},nativeOn:{"click":function($event){return _vm.cancle.apply(null, arguments)}}},[_vm._v("取消")])],1)])])}
var ImproCreateUpdatevue_type_template_id_32bbe264_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=template&id=32bbe264&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/components/admin/PdfDiglog.vue?vue&type=template&id=7b751c84&scoped=true&
var PdfDiglogvue_type_template_id_7b751c84_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":_vm.title,"visible":_vm.visible,"append-to-body":true,"close-on-click-modal":false,"width":"1000px","height":"90vh","before-close":_vm.handleClose},on:{"update:visible":function($event){_vm.visible=$event}}},[_c('div',{staticClass:"pdf"},_vm._l((_vm.numPages),function(i){return _c('pdf',{key:i,attrs:{"src":_vm.src,"page":i}})}),1),_c('span',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('ul',{staticClass:"file clearfix"},_vm._l((_vm.downList),function(item,index){return _c('li',{key:index,staticClass:"file-item"},[_c('span',{on:{"click":function($event){return _vm.downLoad(item)}}},[_c('i',{staticClass:"el-icon-download"}),_vm._v(" "+_vm._s(item.name)+" ")])])}),0),_c('el-button',{on:{"click":function($event){_vm.visible = false}}},[_vm._v("关 闭")])],1)])}
var PdfDiglogvue_type_template_id_7b751c84_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/PdfDiglog.vue?vue&type=template&id=7b751c84&scoped=true&

// CONCATENATED MODULE: ./node_modules/vue-pdf/src/componentFactory.js


/* harmony default export */ var src_componentFactory = (function(pdfjsWrapper) {

	var createLoadingTask = pdfjsWrapper.createLoadingTask;
	var PDFJSWrapper = pdfjsWrapper.PDFJSWrapper;

	return {
		createLoadingTask: createLoadingTask,
		render: function(h) {
			return h('span', {
				attrs: {
					style: 'position: relative; display: block'
				}
			}, [
				h('canvas', {
					attrs: {
						style: 'display: inline-block; width: 100%; height: 100%; vertical-align: top',
					},
					ref:'canvas'
				}),
				h('span', {
					style: 'display: inline-block; width: 100%; height: 100%',
					class: 'annotationLayer',
					ref:'annotationLayer'
				}),
				h(resize_sensor, {
					props: {
						initial: true
					},
					on: {
						resize: this.resize
					},
				})
			])
		},
		props: {
			src: {
				type: [String, Object, Uint8Array],
				default: '',
			},
			page: {
				type: Number,
				default: 1,
			},
			rotate: {
				type: Number,
			},
		},
		watch: {
			src: function() {

				this.pdf.loadDocument(this.src);
			},
			page: function() {

				this.pdf.loadPage(this.page, this.rotate);
			},
			rotate: function() {
				this.pdf.renderPage(this.rotate);
			},
		},
		methods: {
			resize: function(size) {

				// check if the element is attached to the dom tree || resizeSensor being destroyed
				if ( this.$el.parentNode === null || (size.width === 0 && size.height === 0) )
					return;

				// on IE10- canvas height must be set
				this.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (this.$refs.canvas.height / this.$refs.canvas.width) + 'px';
				// update the page when the resolution is too poor
				var resolutionScale = this.pdf.getResolutionScale();

				if ( resolutionScale < 0.85 || resolutionScale > 1.15 )
					this.pdf.renderPage(this.rotate);

				// this.$refs.annotationLayer.style.transform = 'scale('+resolutionScale+')';
			},
			print: function(dpi, pageList) {

				this.pdf.printPage(dpi, pageList);
			}
		},

		// doc: mounted hook is not called during server-side rendering.
		mounted: function() {

			this.pdf = new PDFJSWrapper(this.$refs.canvas, this.$refs.annotationLayer, this.$emit.bind(this));

			this.$on('loaded', function() {

				this.pdf.loadPage(this.page, this.rotate);
			});

			this.$on('page-size', function(width, height) {

				this.$refs.canvas.style.height = this.$refs.canvas.offsetWidth * (height / width) + 'px';
			});

			this.pdf.loadDocument(this.src);
		},

		// doc: destroyed hook is not called during server-side rendering.
		destroyed: function() {

			this.pdf.destroy();
		}
	}

});

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./node_modules/vue-pdf/src/vuePdfNoSss.vue?vue&type=script&lang=js&
//


if (Object({"NODE_ENV":"production","VUE_APP_CLIENT_ID":"","VUE_APP_JXYQY_WEB":"http://192.169.0.220:8097","VUE_APP_JXY_WEB":"http://192.169.0.220:8090","VUE_APP_PORT":"http://192.169.0.220:5001","VUE_APP_PORT_DEMO":"http://192.169.0.220:5001","VUE_APP_PROJRCT_NAME":"前端框架样例","VUE_APP_TITLE":"evn","VUE_APP_UC_URL":"http://192.169.0.220:8002","BASE_URL":"/"}).VUE_ENV !== 'server') {
  var src_vuePdfNoSssvue_type_script_lang_js_pdfjsWrapper = __webpack_require__("a068").default;

  var vuePdfNoSssvue_type_script_lang_js_PDFJS = __webpack_require__("edfb");

  if (typeof window !== 'undefined' && 'Worker' in window && navigator.appVersion.indexOf('MSIE 10') === -1) {
    var vuePdfNoSssvue_type_script_lang_js_PdfjsWorker = __webpack_require__("6085");

    vuePdfNoSssvue_type_script_lang_js_PDFJS.GlobalWorkerOptions.workerPort = new vuePdfNoSssvue_type_script_lang_js_PdfjsWorker();
  }

  var src_vuePdfNoSssvue_type_script_lang_js_component = src_componentFactory(src_vuePdfNoSssvue_type_script_lang_js_pdfjsWrapper(vuePdfNoSssvue_type_script_lang_js_PDFJS));
} else {
  var src_vuePdfNoSssvue_type_script_lang_js_component = src_componentFactory({});
}

/* harmony default export */ var src_vuePdfNoSssvue_type_script_lang_js_ = (src_vuePdfNoSssvue_type_script_lang_js_component);
// CONCATENATED MODULE: ./node_modules/vue-pdf/src/vuePdfNoSss.vue?vue&type=script&lang=js&
 /* harmony default export */ var vue_pdf_src_vuePdfNoSssvue_type_script_lang_js_ = (src_vuePdfNoSssvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./node_modules/vue-pdf/src/annotationLayer.css?vue&type=style&index=0&lang=css&
var src_annotationLayervue_type_style_index_0_lang_css_ = __webpack_require__("f9a3");

// CONCATENATED MODULE: ./node_modules/vue-pdf/src/vuePdfNoSss.vue
var src_vuePdfNoSss_render, src_vuePdfNoSss_staticRenderFns





/* normalize component */

var src_vuePdfNoSss_component = normalizeComponent(
  vue_pdf_src_vuePdfNoSssvue_type_script_lang_js_,
  src_vuePdfNoSss_render,
  src_vuePdfNoSss_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var src_vuePdfNoSss = (src_vuePdfNoSss_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/components/admin/PdfDiglog.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var admin_PdfDiglogvue_type_script_lang_js_ = ({
  components: {
    pdf: src_vuePdfNoSss
  },
  props: {
    api: String,
    param: Object,
    downList: Array,
    title: {
      type: String,
      default: function _default() {
        return '预览';
      }
    },
    dialogVisible: Boolean
  },
  watch: {
    dialogVisible: {
      handler: function handler(val) {
        this.visible = val;

        if (val) {
          this.loadPdf();
        }
      },
      immediate: true
    },
    visible: function visible(val) {
      this.$emit('update:dialogVisible', val);
    }
  },
  data: function data() {
    return {
      visible: false,
      src: null,
      numPages: undefined
    };
  },
  methods: {
    loadPdf: function loadPdf() {
      var _this = this;

      axios({
        method: 'get',
        url: this.api || this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download',
        responseType: 'blob',
        params: this.param
      }).then(function (res) {
        var url = window.URL.createObjectURL(res.data); // this.src = pdf.createLoadingTask(url)

        _this.src = src_vuePdfNoSss.createLoadingTask({
          url: url,
          cMapUrl: '../../sanhcdn/cmaps/',
          cMapPacked: true
        });

        _this.src.promise.then(function (pdf) {
          _this.numPages = pdf.numPages;
        });
      });
    },
    downLoad: function downLoad(row) {
      this.$downloadFile(this.api || this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download', {
        id: row.id
      }, row.name);
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/PdfDiglog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_admin_PdfDiglogvue_type_script_lang_js_ = (admin_PdfDiglogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/components/admin/PdfDiglog.vue?vue&type=style&index=0&id=7b751c84&lang=scss&scoped=true&
var PdfDiglogvue_type_style_index_0_id_7b751c84_lang_scss_scoped_true_ = __webpack_require__("3b8f");

// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/PdfDiglog.vue






/* normalize component */

var admin_PdfDiglog_component = normalizeComponent(
  components_admin_PdfDiglogvue_type_script_lang_js_,
  PdfDiglogvue_type_template_id_7b751c84_scoped_true_render,
  PdfDiglogvue_type_template_id_7b751c84_scoped_true_staticRenderFns,
  false,
  null,
  "7b751c84",
  null
  
)

/* harmony default export */ var admin_PdfDiglog = (admin_PdfDiglog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/components/admin/QuickDatePicker.vue?vue&type=template&id=88c0b63c&scoped=true&
var QuickDatePickervue_type_template_id_88c0b63c_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-date-picker',_vm._g(_vm._b({attrs:{"value-format":"yyyy-MM-dd","type":"daterange","align":"left","unlink-panels":"","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","picker-options":_vm.pickerOptions},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:"input"}},'el-date-picker',_vm.$attrs,false),_vm.$listeners))}
var QuickDatePickervue_type_template_id_88c0b63c_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/QuickDatePicker.vue?vue&type=template&id=88c0b63c&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/components/admin/QuickDatePicker.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var QuickDatePickervue_type_script_lang_js_ = ({
  props: {
    value: null
  },
  data: function data() {
    return {
      input: '',
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近一个月',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近三个月',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
          }
        }]
      }
    };
  },
  watch: {
    input: function input(val) {
      this.changeVal(val);
    },
    value: {
      handler: function handler(val) {
        this.input = val;
        this.changeVal(val);
      },
      immediate: true
    }
  },
  methods: {
    changeVal: function changeVal(val) {
      if (val && val.length) {
        this.$emit('input', val);
        this.$emit('update:start', val[0]);
        this.$emit('update:end', val[1]);
        this.$emit('update:startValueOf', this.$dayjs(val[0]).valueOf());
        this.$emit('update:endValueOf', this.$dayjs(val[1]).valueOf());
      } else {
        this.$emit('input', val);
        this.$emit('update:start', '');
        this.$emit('update:end', '');
        this.$emit('update:startValueOf', '');
        this.$emit('update:endValueOf', '');
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/QuickDatePicker.vue?vue&type=script&lang=js&
 /* harmony default export */ var admin_QuickDatePickervue_type_script_lang_js_ = (QuickDatePickervue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/layout/components/components/admin/QuickDatePicker.vue





/* normalize component */

var QuickDatePicker_component = normalizeComponent(
  admin_QuickDatePickervue_type_script_lang_js_,
  QuickDatePickervue_type_template_id_88c0b63c_scoped_true_render,
  QuickDatePickervue_type_template_id_88c0b63c_scoped_true_staticRenderFns,
  false,
  null,
  "88c0b63c",
  null
  
)

/* harmony default export */ var QuickDatePicker = (QuickDatePicker_component.exports);
// CONCATENATED MODULE: ./packages/page/layout/components/components/index.js



// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue?vue&type=template&id=a82c15ea&scoped=true&
var QualificationsDialogvue_type_template_id_a82c15ea_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sh-dialog',{attrs:{"append-to-body":true,"modal":true,"title":_vm.title,"visible":_vm.dialogFormVisible,"width":"1000px","height":"630px","scroll":true},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('p',{staticClass:"title"},[_c('i',{staticClass:"el-icon-s-grid"}),_vm._v(" 基本信息")]),_c('sh-form',{ref:"form",attrs:{"className":"xy-form","model":_vm.form,"labelWidth":"130px","disabled":_vm.disabled}},[_c('sh-form-item',{attrs:{"label":"资质类型:","span":12,"prop":"category","rules":"required"}},[_c('sh-select',{attrs:{"clearable":true,"placeholder":"请选择资质类别"},on:{"change":function($event){return _vm.changeAptitudeCategory(_vm.form.category)}},model:{value:(_vm.form.category),callback:function ($$v) {_vm.$set(_vm.form, "category", $$v)},expression:"form.category"}},_vm._l((_vm.unitAptitudeCategory),function(item){return _c('sh-option',{key:item.id,attrs:{"label":item.value,"value":item.pkey}})}),1)],1),_c('sh-form-item',{attrs:{"rules":"required","label":"资质证书编号","prop":"certNum","span":12}},[_c('el-input',{attrs:{"placeholder":"请输入资质证书编号"},model:{value:(_vm.form.certNum),callback:function ($$v) {_vm.$set(_vm.form, "certNum", $$v)},expression:"form.certNum"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"证书有效期","prop":"between","span":12}},[_c('QuickDatePicker',{model:{value:(_vm.form.between),callback:function ($$v) {_vm.$set(_vm.form, "between", $$v)},expression:"form.between"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"发证日期","prop":"certificateDate","span":12}},[_c('el-date-picker',{attrs:{"type":"date","placeholder":"请选择时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.certificateDate),callback:function ($$v) {_vm.$set(_vm.form, "certificateDate", $$v)},expression:"form.certificateDate"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"发证机关","prop":"certificateAgency","span":12}},[_c('el-input',{attrs:{"placeholder":"发证机关"},model:{value:(_vm.form.certificateAgency),callback:function ($$v) {_vm.$set(_vm.form, "certificateAgency", $$v)},expression:"form.certificateAgency"}})],1),_c('sh-form-item',{attrs:{"label":"资格证书附件","prop":"name","span":12}},[_c('SingleFileUpload',{attrs:{"singleFileList":_vm.form.fileList,"type":_vm.type},on:{"update:singleFileList":function($event){return _vm.$set(_vm.form, "fileList", $event)},"update:single-file-list":function($event){return _vm.$set(_vm.form, "fileList", $event)}}})],1)],1),_c('div',{staticClass:"table-btn"},[_c('span',[_c('i',{staticClass:"el-icon-s-grid"}),_vm._v(" 资质类别")]),_c('el-button',{attrs:{"type":"primary","plain":""},nativeOn:{"click":function($event){return _vm.addFile.apply(null, arguments)}}},[_vm._v("新增一行")])],1),_c('sh-table',{ref:"table",staticClass:"space-top",attrs:{"className":"xy-table","data":_vm.form.companyAptitudeCategoryList,"showPage":false,"empty":false,"row-key":"id"}},[_c('sh-table-column',{attrs:{"type":"index","align":"center","label":"序号","width":"70"}}),_c('sh-table-column',{attrs:{"prop":"certType","label":"资质分类","min-width":"120"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('sh-select',{attrs:{"placeholder":"请选择资质分类"},on:{"change":function($event){return _vm.changeAptitudeType($event, scope.row)}},model:{value:(scope.row.certType),callback:function ($$v) {_vm.$set(scope.row, "certType", $$v)},expression:"scope.row.certType"}},_vm._l((_vm.unitAptitudeType),function(item,key){return _c('sh-option',{key:key,attrs:{"label":item.value,"value":item.pkey}})}),1)]}}])}),_c('sh-table-column',{attrs:{"prop":"certGrade","label":"资质等级","min-width":"120"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('sh-select',{attrs:{"placeholder":"请选择资质等级"},model:{value:(scope.row.certGrade),callback:function ($$v) {_vm.$set(scope.row, "certGrade", $$v)},expression:"scope.row.certGrade"}},_vm._l((scope.row.unitAptitudeLevel),function(item,key){return _c('sh-option',{key:key,attrs:{"label":item.value,"value":item.pkey}})}),1)]}}])}),_c('sh-table-column',{attrs:{"align":"center","label":"操作","width":"150"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.deleteItem(scope.$index)}}},[_vm._v("删除")])]}}])})],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("关 闭")]),(!_vm.sign || _vm.sign=='edit')?_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.onSave}},[_vm._v("确 定")]):_vm._e()],1)],1),_c('sh-upload',{ref:"upload",attrs:{"api":_vm.annexApi,"size":1},on:{"callBack":_vm.callBackFileList}})],1)}
var QualificationsDialogvue_type_template_id_a82c15ea_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue?vue&type=template&id=a82c15ea&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue?vue&type=template&id=769b24db&scoped=true&
var SingleFileUploadvue_type_template_id_769b24db_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.list && _vm.list.length > 0)?_c('div',{staticClass:"single-upload"},[_c('div',{staticClass:"left"},[_c('img',{attrs:{"src":__webpack_require__("f622")}}),_c('el-tooltip',{attrs:{"content":_vm.list[0].fileName,"placement":"top"}},[_c('div',{staticClass:"text-value"},[_vm._v(_vm._s(_vm.list[0].fileName))])])],1),_c('div',{staticClass:"right"},[_c('el-tooltip',{attrs:{"content":"预览","placement":"top"}},[_c('i',{staticClass:"iconfont  sh-icon-chakanwenjian",staticStyle:{"color":"#8996af"},on:{"click":function($event){return _vm.viewPdf(_vm.list[0])}}})]),(_vm.type != 'view')?_c('el-tooltip',{attrs:{"content":"重新上传","placement":"top"}},[_c('i',{staticClass:"iconfont sh-icon-zhongxinshangchuan",staticStyle:{"color":"#8996af"},on:{"click":_vm.uploadImg}})]):_vm._e(),(_vm.type != 'view')?_c('el-tooltip',{attrs:{"content":"删除附件","placement":"top"}},[_c('i',{staticClass:"iconfont sh-icon-shanchu",staticStyle:{"color":"#8996af"},on:{"click":function($event){return _vm.onDelete(_vm.list[0])}}})]):_vm._e()],1)]):_c('div',{staticClass:"single-upload"},[(_vm.type != 'view')?_c('div',[_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.uploadImg}},[_vm._v("上传附件")]),_c('span',{staticClass:"allow-img"},[_vm._v("（文件仅限.pdf格式） ")])],1):_c('div',[_vm._v("-")])]),_c('sh-pdf-diglog',{attrs:{"dialogVisible":_vm.dialogVisiblePdf,"param":{id: this.pdfId},"title":"附件预览"},on:{"update:dialogVisible":function($event){_vm.dialogVisiblePdf=$event},"update:dialog-visible":function($event){_vm.dialogVisiblePdf=$event}}}),_c('sh-upload',{ref:"upload",attrs:{"accept":_vm.accept,"api":_vm.annexApi,"limit":1},on:{"callBack":_vm.callBackFileList}})],1)}
var SingleFileUploadvue_type_template_id_769b24db_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue?vue&type=template&id=769b24db&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue?vue&type=script&lang=js&





//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var SingleFileUploadvue_type_script_lang_js_ = ({
  props: {
    type: String,
    singleFileList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    accept: {
      type: Array,
      default: function _default() {
        return ['pdf'];
      }
    }
  },
  watch: {
    singleFileList: {
      handler: function handler(val) {
        if (val) {
          this.list = _toConsumableArray(val);
        }
      },
      immediate: true,
      deep: true
    }
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  data: function data() {
    return {
      annexApi: this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle',
      downloadApi: this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download',
      dialogVisiblePdf: false,
      pdfId: '',
      list: []
    };
  },
  methods: {
    uploadImg: function uploadImg() {
      this.$refs.upload.uploadFile();
    },
    callBackFileList: function callBackFileList(data) {
      !this.list ? this.list = [] : '';
      this.list = _toConsumableArray(data.data);
      this.$emit('update:singleFileList', this.list);
    },
    onDelete: function onDelete(row) {
      var _this = this;

      // 删除附件
      this.$deleteInfo(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/delete', {
        id: row.id
      }, '', function () {
        _this.list.splice(0, 1);

        _this.$emit('update:singleFileList', _this.list);
      });
    },
    isFileType: function isFileType(fileName, type) {
      // 判断文件类型
      var nameArr = fileName.split('.');
      var suffix = nameArr[nameArr.length - 1];
      return type.split('||').indexOf(suffix) !== -1;
    },
    downLoad: function downLoad(row) {
      // 下载附件
      this.$downloadFile(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download', {
        id: row.id
      }, row.fileName.split('.')[0]);
    },
    changeDownlLoad: function changeDownlLoad(row) {
      var _this2 = this;

      // 附件是否下载
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/setDownLoad', {
        ids: row.id,
        canDownLoad: row.canDownLoad
      }, function (data) {
        _this2.$message.success(data.msg);
      });
    },
    viewPdf: function viewPdf(row) {
      // 预览paf
      this.pdfId = row.id;
      this.dialogVisiblePdf = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_SingleFileUploadvue_type_script_lang_js_ = (SingleFileUploadvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue?vue&type=style&index=0&id=769b24db&lang=scss&scoped=true&
var SingleFileUploadvue_type_style_index_0_id_769b24db_lang_scss_scoped_true_ = __webpack_require__("029d");

// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/SingleFileUpload.vue






/* normalize component */

var SingleFileUpload_component = normalizeComponent(
  components_SingleFileUploadvue_type_script_lang_js_,
  SingleFileUploadvue_type_template_id_769b24db_scoped_true_render,
  SingleFileUploadvue_type_template_id_769b24db_scoped_true_staticRenderFns,
  false,
  null,
  "769b24db",
  null
  
)

/* harmony default export */ var SingleFileUpload = (SingleFileUpload_component.exports);
// CONCATENATED MODULE: ./packages/page/layout/components/js/utils/tools.js
/**
 * 防抖函数
 * @param {function} fn 函数
 * @param {number} delay 延迟
 */
var tools_debounce = function debounce(fn) {
  var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;
  var timeout = null; // 创建一个标记用来存放定时器的返回值

  return function () {
    var _arguments = arguments,
        _this = this;

    clearTimeout(timeout); // 每当用户输入的时候把前一个 setTimeout clear 掉

    timeout = setTimeout(function () {
      // 然后又创建一个新的 setTimeout, 这样就能保证输入字符后的 interval 间隔内如果还有字符输入的话，就不会执行 fn 函数
      fn.apply(_this, _arguments);
    }, delay);
  };
};
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue?vue&type=script&lang=js&






//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//




/* harmony default export */ var QualificationsDialogvue_type_script_lang_js_ = ({
  components: {
    QuickDatePicker: QuickDatePicker,
    SingleFileUpload: SingleFileUpload
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  data: function data() {
    return {
      dialogFormVisible: false,
      disabled: false,
      title: '资质类型',
      // 标题
      annexApi: this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle',
      form: {
        between: [],
        certificateDate: '',
        fileList: [],
        companyAptitudeCategoryList: []
      },
      query: {
        between: [],
        certificateDate: '',
        fileList: [],
        companyAptitudeCategoryList: []
      },
      unitAptitudeType: [],
      unitAptitudeCategory: []
    };
  },
  created: function created() {
    this.getUnitAptitudeCategory();
  },
  methods: {
    // 资质类别
    getUnitAptitudeCategory: function getUnitAptitudeCategory() {
      var _this = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitAptitudeCategory', {}, function (data) {
        _this.unitAptitudeCategory = data.data;
      }, function (error) {
        _this.$message.error(error.msg);
      });
    },
    // 资质分类
    getUnitAptitudeType: function getUnitAptitudeType(pkey) {
      var _this2 = this;

      var id = '';
      this.unitAptitudeCategory.forEach(function (item) {
        if (item.pkey === pkey) {
          id = item.id;
        }
      });
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitAptitudeTypeById', {
        id: id
      }, function (data) {
        _this2.unitAptitudeType = data.data;

        if (_this2.type === 'edit') {
          // 编辑时，初始化
          _this2.form.companyAptitudeCategoryList.forEach(function (item) {
            _this2.initChangeAptitude(item.certType, item);
          });
        }
      }, function (error) {
        _this2.$message.error(error.msg);
      });
    },
    uploadImg: function uploadImg() {
      this.$refs.upload.uploadFile();
    },
    callBackFileList: function callBackFileList(data) {
      !this.form.fileList ? this.form.fileList = [] : '';
      this.form.fileList = _toConsumableArray(data.data);
    },
    deleteImg: function deleteImg() {
      this.form.fileList.splice(0, 1);
    },
    // 资质等级
    initChangeAptitude: function initChangeAptitude(pkey, row) {
      var _this3 = this;

      var id = '';
      var parameterId = '';

      if (this.unitAptitudeType.length) {
        this.unitAptitudeType.forEach(function (item) {
          if (item.pkey === pkey) {
            id = item.id;
            parameterId = item.parameterId;
          }
        });
        this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitAptitudeLevelById', {
          id: id,
          pkey: pkey,
          parameterId: parameterId
        }, function (data) {
          Vue.set(row, 'unitAptitudeLevel', data.data);
        }, function (error) {
          _this3.$message.error(error.msg);
        });
      }
    },
    // 资质类别
    changeAptitudeCategory: function changeAptitudeCategory(category) {
      this.form.companyAptitudeCategoryList = [];
      this.getUnitAptitudeType(category);
    },
    changeAptitudeType: function changeAptitudeType(pkey, row) {
      var _this4 = this;

      var id = '';
      var parameterId = '';
      this.unitAptitudeType.forEach(function (item) {
        if (item.pkey === pkey) {
          id = item.id;
          parameterId = item.parameterId;
        }
      });
      Vue.set(row, 'certGrade', null); // 重置数据

      if (pkey) {
        this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitAptitudeLevelById', {
          id: id,
          pkey: pkey,
          parameterId: parameterId
        }, function (data) {
          Vue.set(row, 'unitAptitudeLevel', data.data);
        }, function (error) {
          _this4.$message.error(error.msg);
        });
      }
    },
    addFile: function addFile() {
      !this.form.companyAptitudeCategoryList ? this.form.companyAptitudeCategoryList = [] : '';
      this.form.companyAptitudeCategoryList.push({});
    },
    deleteItem: function deleteItem(index) {
      this.form.companyAptitudeCategoryList.splice(index, 1);
    },
    uploadFile: function uploadFile() {
      this.$refs.upload.uploadFile();
    },
    callBack: function callBack(data) {
      this.newestFileList = [].concat(_toConsumableArray(this.newestFileList), _toConsumableArray(data.data));
      this.form.fileList = [].concat(_toConsumableArray(this.form.fileList), _toConsumableArray(data.data));
    },
    loadList: function loadList() {
      this.$refs.table.loadList();
    },
    getForm: function getForm() {
      var _this5 = this;

      if (this.form.between && this.form.between.length > 0) {
        this.form.startDate = this.form.between[0];
        this.form.endDate = this.form.between[1];
      }

      this.form.unitCompanyId = this.user.unit.id;
      this.unitAptitudeCategory.forEach(function (item) {
        if (item.pkey === _this5.form.category) {
          _this5.form.categoryName = item.value;
        }
      });
    },
    onSave: tools_debounce(function () {
      var _this6 = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          // 处理基本信息
          _this6.getForm();

          if (_this6.form.companyAptitudeCategoryList.length) {
            _this6.form.companyAptitudeCategoryList.forEach(function (item) {
              item.category = _this6.form.category;
              item.categoryName = _this6.form.categoryName;

              if (item.certType) {
                // 物资分类
                _this6.unitAptitudeType.forEach(function (item2) {
                  if (item.certType === item2.pkey) {
                    item.certTypeName = item2.value;
                  }
                });
              } else {
                item.certType = '';
                item.certTypeName = '';
              }

              if (item.certGrade) {
                // 资质等级
                item.unitAptitudeLevel.forEach(function (item3) {
                  if (item.certGrade === item3.pkey) {
                    item.certGradeName = item3.value;
                  }
                });
              } else {
                item.certGrade = '';
                item.certGradeName = '';
              }
            });

            var dataTrue = true;

            if (dataTrue) {
              _this6.form.companyAptitudeCategoryList.forEach(function (item) {
                if (!item.certType) {
                  dataTrue = false;

                  _this6.$message.error('资质类别不能为空');
                }
              });
            }

            if (dataTrue) {
              _this6.$emit('getQualificationInfo', _this6.$deepClone(_this6.form));

              _this6.dialogFormVisible = false;
            }
          } else {
            _this6.$message.error('资质类别不能为空');
          }
        }
      });
    }),
    initForm: function initForm() {
      this.form.between = [];

      if (this.form.startDate) {
        this.form.between.push(this.form.startDate);
      }

      if (this.form.endDate) {
        this.form.between.push(this.form.endDate);
      }

      if (this.form.companyAptitudeCategoryList && this.form.companyAptitudeCategoryList.length) {
        if (this.form.category) {
          this.getUnitAptitudeType(this.form.category);
        }
      }
    },
    init: function init(type, param) {
      var _this7 = this;

      this.type = type;
      this.form = this.$options.data.call(this).form;
      this.$refs.form && this.$refs.form.resetFields();
      this.dialogFormVisible = true;
      this.$nextTick(function () {
        if (type !== 'add') {
          var target = _objectSpread2(_objectSpread2({}, _this7.query), param);

          _this7.form = _this7.$deepClone(target);

          _this7.initForm();
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_QualificationsDialogvue_type_script_lang_js_ = (QualificationsDialogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue?vue&type=style&index=0&id=a82c15ea&lang=scss&scoped=true&
var QualificationsDialogvue_type_style_index_0_id_a82c15ea_lang_scss_scoped_true_ = __webpack_require__("b361");

// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/QualificationsDialog.vue






/* normalize component */

var QualificationsDialog_component = normalizeComponent(
  components_QualificationsDialogvue_type_script_lang_js_,
  QualificationsDialogvue_type_template_id_a82c15ea_scoped_true_render,
  QualificationsDialogvue_type_template_id_a82c15ea_scoped_true_staticRenderFns,
  false,
  null,
  "a82c15ea",
  null
  
)

/* harmony default export */ var QualificationsDialog = (QualificationsDialog_component.exports);
// CONCATENATED MODULE: ./packages/page/layout/components/js/dictionaryData/siku.js
// 项目类型
var skSubjectGenus = [{
  value: '01',
  label: '房屋建筑'
}, {
  value: '02',
  label: '市政道路'
}, {
  value: '03',
  label: '轨道交通工程项目（管廊）'
}, {
  value: '04',
  label: '公共建设项目（医院、学校、保障性住房等）'
}, {
  value: '99',
  label: '其他'
}]; // 建设性质

var skBuildType = [{
  value: '001',
  label: '新建'
}, {
  value: '002',
  label: '扩建'
}, {
  value: '003',
  label: '改建'
}, {
  value: '004',
  label: '迁建'
}, {
  value: '005',
  label: '恢复'
}, {
  value: '006',
  label: '拆除'
}, {
  value: '099',
  label: '其他'
}]; // 结构类型

var skStructureType = [{
  value: '001',
  label: '砖混结构'
}, {
  value: '002',
  label: '底框结构'
}, {
  value: '003',
  label: '框架结构'
}, {
  value: '004',
  label: '框架－剪力墙结构'
}, {
  value: '005',
  label: '剪力墙结构'
}, {
  value: '006',
  label: '板柱-剪力墙结构'
}, {
  value: '007',
  label: '短肢墙剪力墙结构'
}, {
  value: '008',
  label: '部分框支剪力墙结构'
}, {
  value: '009',
  label: '框-筒体结构'
}, {
  value: '010',
  label: '筒中筒结构'
}, {
  value: '011',
  label: '异型柱框架结构'
}, {
  value: '012',
  label: '复杂高层结构'
}, {
  value: '013',
  label: '混合结构'
}, {
  value: '014',
  label: '钢结构'
}, {
  value: '015',
  label: '排架结构'
}, {
  value: '016',
  label: '木结构'
}, {
  value: '099',
  label: '其他'
}]; // 工程用途

var skSubjectType = [{
  value: '100',
  label: '居住建筑'
}, {
  value: '200',
  label: '居住建筑配套工程'
}, {
  value: '300',
  label: '公共建筑'
}, {
  value: '301',
  label: '办公建筑'
}, {
  value: '302',
  label: '商业建筑'
}, {
  value: '303',
  label: '旅游建筑'
}, {
  value: '304',
  label: '科教文卫建筑'
}, {
  value: '305',
  label: '交通运输类'
}, {
  value: '306',
  label: '通信建筑'
}, {
  value: '307',
  label: '公共建筑配套工程'
}, {
  value: '400',
  label: '商住楼'
}, {
  value: '500',
  label: '农业建筑'
}, {
  value: '600',
  label: '农业建筑配套工程'
}, {
  value: '700',
  label: '工业建筑'
}, {
  value: '800',
  label: '工业建筑配套工程'
}, {
  value: '999',
  label: '其他'
}, {
  value: '010',
  label: '给水'
}, {
  value: '011',
  label: '排水'
}, {
  value: '012',
  label: '燃气'
}, {
  value: '013',
  label: '热力'
}, {
  value: '014',
  label: '道路'
}, {
  value: '015',
  label: '桥隧'
}, {
  value: '016',
  label: '风景园林'
}, {
  value: '017',
  label: '环境园林'
}, {
  value: '018',
  label: '公共交通'
}, {
  value: '019',
  label: '综合管廊'
}, {
  value: '020',
  label: '隧道'
}, {
  value: '021',
  label: '轨道交通'
}, {
  value: '099',
  label: '其他'
}]; // 立项级别

var skApprovalLevel = [{
  value: '001',
  label: '部级'
}, {
  value: '002',
  label: '省级'
}, {
  value: '003',
  label: '地市级'
}, {
  value: '004',
  label: '区县级'
}]; // 形象进度

var skSectionXxjd = [{
  value: '101',
  label: '开工前准备'
}, {
  value: '102',
  label: '基坑阶段'
}, {
  value: '103',
  label: '地基基础'
}, {
  value: '104',
  label: '地下结构'
}, {
  value: '105',
  label: '主体结构'
}, {
  value: '106',
  label: '封顶'
}, {
  value: '107',
  label: '装饰装修'
}, {
  value: '108',
  label: '建筑设备安装'
}, {
  value: '109',
  label: '完工'
}, {
  value: '110',
  label: '停工'
}, {
  value: '201',
  label: '开工前准备'
}, {
  value: '202',
  label: '基坑阶段'
}, {
  value: '203',
  label: '盾构（暗挖）施工'
}, {
  value: '204',
  label: '地基基础'
}, {
  value: '205',
  label: '地下结构'
}, {
  value: '206',
  label: '主体结构'
}, {
  value: '207',
  label: '封顶'
}, {
  value: '208',
  label: '装饰装修'
}, {
  value: '209',
  label: '建筑设备安装'
}, {
  value: '210',
  label: '铺轨'
}, {
  value: '211',
  label: '完工'
}, {
  value: '212',
  label: '停工'
}]; // 单位类型

var skUnitType = [{
  value: '1',
  label: '勘察单位'
}, {
  value: '2',
  label: '设计单位'
}, {
  value: '3',
  label: '施工单位'
}, {
  value: '4',
  label: '监理单位'
}, {
  value: '5',
  label: '监测单位'
}, {
  value: '6',
  label: '检测单位'
}, {
  value: '7',
  label: '混凝土生产单位'
}, {
  value: '8',
  label: '建设单位'
}, {
  value: '9',
  label: '图审单位'
}, {
  value: '10',
  label: '预制构件生产单位'
}, {
  value: '11',
  label: '检测单位(起重机械)'
}, {
  value: '13',
  label: '产权单位(起重机械)'
}, {
  value: '14',
  label: '维保单位(起重机械)'
}, {
  value: '15',
  label: '租赁单位(起重机械)'
}, {
  value: '16',
  label: '咨询单位'
}, {
  value: '17',
  label: '原材料厂家'
}, {
  value: '18',
  label: '部品部件厂家'
}, {
  value: '19',
  label: '招标代理单位'
}, {
  value: '20',
  label: '原材料与设备供应商'
}, {
  value: '21',
  label: '银行单位'
}, {
  value: '22',
  label: '设备厂家(起重机械)'
}, {
  value: '23',
  label: '终端单位(起重机械)'
}, {
  value: '24',
  label: '燃气供应单位'
}, {
  value: '25',
  label: '干砂浆生产单位'
}, {
  value: '26',
  label: '湿砂浆生产单位'
}, {
  value: '99',
  label: '其他'
}, {
  value: '100',
  label: '安全监督站'
}, {
  value: '101',
  label: '质量监督站'
}, {
  value: '102',
  label: '质量安全监督站'
}]; // 职务/岗位类型

var skDuty = [{
  value: '01',
  label: '法定代表人'
}, {
  value: '02',
  label: '企业负责人'
}, {
  value: '03',
  label: '技术负责人'
}, {
  value: '04',
  label: '安全负责人'
}, {
  value: '05',
  label: '注册建筑师'
}, {
  value: '06',
  label: '注册建造师'
}, {
  value: '07',
  label: '注册监理工程师'
}, {
  value: '08',
  label: '注册结构工程师'
}, {
  value: '09',
  label: '造价工程师'
}, {
  value: '10',
  label: '施工员'
}, {
  value: '11',
  label: '质检员'
}, {
  value: '12',
  label: '专职安全员'
}, {
  value: '13',
  label: '监理员'
}, {
  value: '14',
  label: '联系人'
}, {
  value: '99',
  label: '其他'
}]; // 参建单位职务

var skBuildUnitDuty = [{
  value: '0101',
  label: '项目负责人'
}, {
  value: '0102',
  label: '现场负责人'
}, {
  value: '0199',
  label: '其他'
}, {
  value: '0201',
  label: '项目经理'
}, {
  value: '0202',
  label: '安全员'
}, {
  value: '0203',
  label: '预算员'
}, {
  value: '0204',
  label: '施工员'
}, {
  value: '0205',
  label: '材料员'
}, {
  value: '0206',
  label: '技术员'
}, {
  value: '0207',
  label: '质量员'
}, {
  value: '0208',
  label: '标准员'
}, {
  value: '0209',
  label: '机械员'
}, {
  value: '0210',
  label: '劳务员'
}, {
  value: '0211',
  label: '资料员'
}, {
  value: '0212',
  label: '技术负责人'
}, {
  value: '0213',
  label: '生产经理'
}, {
  value: '0214',
  label: '特种作业人员'
}, {
  value: '0215',
  label: '项目总工程师'
}, {
  value: '0216',
  label: '工程经理'
}, {
  value: '0217',
  label: '项目工程师'
}, {
  value: '0218',
  label: '项目管理员'
}, {
  value: '0219',
  label: '项目副经理'
}, {
  value: '0220',
  label: '项目总监'
}, {
  value: '0221',
  label: '测量员'
}, {
  value: '0222',
  label: '试验员'
}, {
  value: '0223',
  label: '造价员'
}, {
  value: '0224',
  label: '质量负责人'
}, {
  value: '0225',
  label: '安全负责人'
}, {
  value: '0226',
  label: '物资材料工程师'
}, {
  value: '0299',
  label: '其他'
}, {
  value: '0301',
  label: '总监理工程师'
}, {
  value: '0302',
  label: '专业监理工程师'
}, {
  value: '0303',
  label: '现场监理员'
}, {
  value: '0304',
  label: '总监代表'
}, {
  value: '0305',
  label: '副总监理工程师'
}, {
  value: '0306',
  label: '安全监理工程师'
}, {
  value: '0307',
  label: '监理安全员'
}, {
  value: '0399',
  label: '其他'
}, {
  value: '0401',
  label: '项目负责人'
}, {
  value: '0499',
  label: '其他'
}, {
  value: '0501',
  label: '项目负责人'
}, {
  value: '0599',
  label: '其他'
}]; // 参建单位职务

var skBuildUnitDuty2 = [{
  value: '0101',
  label: '项目负责人(建设)'
}, {
  value: '0201',
  label: '项目经理'
}, {
  value: '0202',
  label: '安全员'
}, {
  value: '0204',
  label: '施工员'
}, {
  value: '0205',
  label: '材料员'
}, {
  value: '0207',
  label: '质量员'
}, {
  value: '0208',
  label: '标准员'
}, {
  value: '0209',
  label: '机械员'
}, {
  value: '0210',
  label: '劳务员'
}, {
  value: '0211',
  label: '资料员'
}, {
  value: '0212',
  label: '技术负责人'
}, {
  value: '0301',
  label: '总监理工程师'
}, {
  value: '0302',
  label: '专业监理工程师'
}]; // 工程状态

var skSectionStatus = [{
  value: '01',
  label: '未开工工程'
}, {
  value: '02',
  label: '在建工程'
}, {
  value: '03',
  label: '停工工程'
}, {
  value: '04',
  label: '完工待验收（或安全评价）工程'
}, {
  value: '05',
  label: '未验收投入使用'
}, {
  value: '06',
  label: '已验收(或安全评价)工程'
}, {
  value: '07',
  label: '已验收未备案'
}, {
  value: '08',
  label: '已竣工验收备案'
}, {
  value: '09',
  label: '开工前准备'
}]; // 文化程度

var skEducationBackgroundType = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '小学'
}, {
  value: 2,
  label: '初中'
}, {
  value: 3,
  label: '中专/高中'
}, {
  value: 4,
  label: '专科'
}, {
  value: 5,
  label: '本科'
}, {
  value: 6,
  label: '硕士研究生'
}, {
  value: 7,
  label: '博士研究生'
}]; // 学位

var skDegressType = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '学士'
}, {
  value: 2,
  label: '硕士'
}, {
  value: 3,
  label: '博士'
}];
var skArtificialType = [{
  value: '1',
  label: '身份证'
}, {
  value: '2',
  label: '军官证'
}, {
  value: '3',
  label: '护照'
}, {
  value: '4',
  label: '台湾居民身份证'
}, {
  value: '5',
  label: '香港永久性居民身份证'
}, {
  value: '6',
  label: '警察证'
}, {
  value: '9',
  label: '其它'
}];
var skGenderType = [{
  value: '0',
  label: '男'
}, {
  value: '1',
  label: '女'
}]; // 立项级别

var skApprovalLevelType = [{
  value: '001',
  label: '部级'
}, {
  value: '002',
  label: '省级'
}, {
  value: '003',
  label: '地市级'
}, {
  value: '004',
  label: '区县级'
}];
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=script&lang=js&










//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//





/* harmony default export */ var ImproCreateUpdatevue_type_script_lang_js_ = ({
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  components: {
    QualificationsDialog: QualificationsDialog,
    QuickDatePicker: QuickDatePicker,
    SingleFileUpload: SingleFileUpload
  },
  data: function data() {
    return {
      annexApi: this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle',
      id: '',
      form: {
        localContactsPhone: null,
        localContacts: null,
        area2: '',
        workscope: null,
        artificialPhone: null,
        address: null,
        regtypeId: null,
        artificial: null,
        formdate: null,
        fileList: [],
        companyAptitudeList: []
      },
      dialogFormVisible: false,
      title: '',
      type: '',
      isAgainUpload: false,
      checkCompanyInfo: {},
      businessData: {},
      officeSpace: {},
      production: {},
      categoryListType: [],
      skArtificialType: skArtificialType,
      pdfId: '',
      dialogVisiblePdf: false,
      QualificationInfoType: '',
      QualificationInfoIndex: '',
      bussinessBetweenType: 1,
      bussinessDate: null
    };
  },
  created: function created() {
    this.getUnitRegisterList();

    if (this.user.unit.id) {
      this.checkCompany();
    }
  },
  methods: {
    getUnitRegisterList: function getUnitRegisterList() {
      var _this2 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getUnitRegisterList', {}, function (data) {
        _this2.categoryListType = data.data;
      }, function (error) {
        return _this2.$message.warning(error.msg);
      });
    },
    checkCompany: function checkCompany() {
      var _this3 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/checkCompanyInfo', {
        id: this.user.unit.id
      }, function (data) {
        _this3.checkCompanyInfo = data.data;
      }, function (error) {
        _this3.$message.error(error.msg);
      });
    },
    handleBussinessDate: function handleBussinessDate(val) {
      this.form.bussinessBetween = [val, ''];
    },
    getParamsValue: function getParamsValue(arr, value) {
      if (arr && arr.length > 0) {
        for (var i = 0; i < arr.length; i++) {
          if (arr[i].regtypeId === value) {
            return arr[i].regtypeName;
          }
        }
      } else {
        return '';
      }
    },
    getParamsValue2: function getParamsValue2(arr, value) {
      if (arr && arr.length > 0) {
        for (var i = 0; i < arr.length; i++) {
          if (arr[i].value === value) {
            return arr[i].label;
          }
        }
      } else {
        return '';
      }
    },
    getTags: function getTags(categoryName) {
      var arr = [];

      if (categoryName) {
        arr = categoryName.split(',');
      }

      return arr;
    },
    viewPdf: function viewPdf(row) {
      this.pdfId = row.id;
      this.dialogVisiblePdf = true;
    },
    cancle: function cancle() {
      this.dialogFormVisible = false;
    },
    getDetailById: function getDetailById() {
      var _this4 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/getCompanyInfoDetail', {
        id: this.user.unit.id
      }, function (data) {
        !data.data.fileList ? data.data.fileList = [] : '';
        !data.data.area2 ? data.data.area2 = '' : '';
        data.data.companyAptitudeList = data.data.companyAptitudeList || [];
        data.data.companyAptitudeCategoryList = data.data.companyAptitudeCategoryList || [];
        _this4.form = _objectSpread2(_objectSpread2({}, _this4.form), data.data);

        _this4.initData(_this4.form); // this.$refs.officeForm.resetFields()
        // this.$refs.businessForm.resetFields()
        // this.$refs.safeForm.resetFields()

      }, function (error) {
        return _this4.$message.warning(error.msg);
      });
    },
    formatterDate: function formatterDate(cellValue) {
      if (cellValue !== '' && cellValue !== null) {
        return this.$dayjs(cellValue).format('YYYY-MM-DD');
      }
    },

    /**
     * 已审核, 提醒完善企业信息
     */
    deployEntTip: function deployEntTip() {
      var _this5 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
        return regeneratorRuntime.wrap(function _callee$(_context) {
          while (1) {
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return _this5.submitBusiness();

              case 2:
                _context.next = 4;
                return _this5.submitOffice();

              case 4:
                _this5.$store.state.fullscreenLoading = true;

                _this5.$post(_this5.$store.state.env.VUE_APP_PORT + '/system/company/regist/saveCompanyRegist', {
                  unitState: 4
                }, function () {
                  _this5.user.unitState = 1;
                  sessionStorage.setItem('user', JSON.stringify(_this5.user));

                  _this5.$store.commit('user', _this5.user);

                  _this5.$store.state.fullscreenLoading = false;
                  _this5.dialogFormVisible = false;

                  _this5.$message.success('提交成功'); // 刷新页面


                  window.location.reload();
                }, function (error) {
                  _this5.$store.state.fullscreenLoading = false;

                  _this5.$message.error(error.msg);
                });

              case 6:
              case "end":
                return _context.stop();
            }
          }
        }, _callee);
      }))();
    },
    deployEnt: function deployEnt(unitState) {
      var _this6 = this;

      // await this.submitBusiness()
      // await this.submitOffice()
      // this.onSubmitAll()
      this.$store.state.fullscreenLoading = true;
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/regist/saveCompanyRegist', {
        unitState: this.user.unitState
      }, function () {
        _this6.user.unitState = unitState;
        sessionStorage.setItem('user', JSON.stringify(_this6.user));

        _this6.$store.commit('user', _this6.user);

        _this6.$store.state.fullscreenLoading = false;
        _this6.dialogFormVisible = false;

        _this6.$message.success('提交成功'); // 刷新页面


        window.location.reload();
      }, function (error) {
        _this6.$store.state.fullscreenLoading = false;

        _this6.$message.error(error.msg);
      });
    },
    submit: function submit() {
      var _this7 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
        return regeneratorRuntime.wrap(function _callee2$(_context2) {
          while (1) {
            switch (_context2.prev = _context2.next) {
              case 0:
                _context2.next = 2;
                return _this7.submitBusiness();

              case 2:
                _context2.next = 4;
                return _this7.submitOffice();

              case 4:
                _this7.$message.success('保存成功');

              case 5:
              case "end":
                return _context2.stop();
            }
          }
        }, _callee2);
      }))();
    },
    onSubmitAll: function onSubmitAll(typeSubmit) {
      var _this8 = this;

      var business = false;
      var office = false;
      var safe = false;
      this.$refs.businessForm.validate(function (valid) {
        if (valid) {
          business = true;
        } else {
          business = false;
        }
      });
      this.$refs.officeForm.validate(function (valid) {
        if (valid) {
          office = true;
        } else {
          office = false;
        }
      });

      if (this.checkCompanyInfo.build) {
        this.$refs.safeForm.validate(function (valid) {
          if (valid) {
            safe = true;
          } else {
            safe = false;
          }
        });
      } else {
        safe = true;
      }

      if (business && office && safe) {
        // 营业执照
        var businessStart = '';
        var businessEnd = '';

        if (this.form.bussinessBetween && this.form.bussinessBetween.length > 0) {
          businessStart = this.$dayjs(this.form.bussinessBetween[0]).format('YYYY-MM-DD HH:mm:ss'); // businessEnd =  this.$dayjs(this.form.bussinessBetween[1]).format('YYYY-MM-DD HH:mm:ss')

          businessEnd = this.form.bussinessBetween[1] ? this.$dayjs(this.form.bussinessBetween[1]).format('YYYY-MM-DD HH:mm:ss') : '';
        }

        var businessData = {
          id: this.user.unit.id,
          unitId: this.user.unit.id,
          unitName: this.form.unitName,
          unifiedcode: this.form.unifiedcode,
          regtypeId: this.form.regtypeId,
          formdate: this.form.formdate ? this.$dayjs(this.form.formdate).format('YYYY-MM-DD HH:mm:ss') : '',
          registercapital: this.form.registercapital,
          artificial: this.form.artificial,
          artificialType: this.form.artificialType,
          artificialId: this.form.artificialId,
          localCredentialsType: this.form.localCredentialsType,
          credentialsNum: this.form.credentialsNum,
          artificialPhone: this.form.artificialPhone,
          address: this.form.address,
          workscope: this.form.workscope,
          contacts: this.form.contacts,
          contactsPhone: this.form.contactsPhone,
          businessStart: businessStart,
          businessEnd: businessEnd,
          fileList: this.form.fileList
        };
        var provinceCode = '';
        var cityCode = '';
        var areaCode = '';
        var localProvince = '';
        var localCity = '';
        var localArea = '';

        if (this.form.area2) {
          var arr = this.form.area2.split(',');
          localProvince = arr[0];
          localCity = arr[1];
          localArea = arr[2];
          var arr2 = this.form.areaIds2.split(',');
          provinceCode = arr2[0];
          cityCode = arr2[1];
          areaCode = arr2[2];
        }

        var officeSpace = {
          localProvince: localProvince,
          provinceCode: provinceCode,
          cityCode: cityCode,
          areaCode: areaCode,
          localCity: localCity,
          localArea: localArea,
          localAddress: this.form.localAddress,
          officeArea: this.form.officeArea,
          localContacts: this.form.localContacts,
          localCredentialsNum: this.form.localCredentialsNum,
          localContactsPhone: this.form.localContactsPhone,
          localContactsId: this.form.localContactsId
        }; //  安全生产许可证

        var safeStarttime = '';
        var safeEndtime = '';

        if (this.form.safeBetween && this.form.safeBetween.length > 0) {
          safeStarttime = this.$dayjs(this.form.safeBetween[0]).format('YYYY-MM-DD HH:mm:ss');
          safeEndtime = this.$dayjs(this.form.safeBetween[1]).format('YYYY-MM-DD HH:mm:ss');
        }

        var production = {
          safeLicensenum: this.form.safeLicensenum,
          issuingdate: this.form.issuingdate,
          principal: this.form.principal,
          safeStarttime: safeStarttime,
          safeEndtime: safeEndtime,
          safeAgency: this.form.safeAgency,
          safeScope: this.form.safeScope,
          fileList2: this.form.fileList2
        }; // 资质信息

        var QualificationInfo = {
          companyAptitudeList: this.form.companyAptitudeList
        };
        this.$store.state.fullscreenLoading = true;
        this.$post(this.$store.state.env.VUE_APP_PORT + '/system/company/updatePlatCompany', _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, businessData), officeSpace), production), QualificationInfo), function (res) {
          _this8.$store.state.fullscreenLoading = false;

          _this8.$message.success(res.msg);

          if (typeSubmit === '0') {
            _this8.deployEnt('0');
          }
        }, function (error) {
          _this8.$store.state.fullscreenLoading = false;

          _this8.$message.error(error.msg);
        });
      }
    },
    submitBusiness: function submitBusiness() {
      var _this9 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
        var businessStart, businessEnd, provinceId, provinceName, cityId, cityName, districtId, districtName, arr, arr2, businessData, _this;

        return regeneratorRuntime.wrap(function _callee3$(_context3) {
          while (1) {
            switch (_context3.prev = _context3.next) {
              case 0:
                businessStart = '';
                businessEnd = '';

                if (_this9.form.bussinessBetween && _this9.form.bussinessBetween.length > 0) {
                  businessStart = _this9.form.bussinessBetween[0]; // businessEnd = this.form.bussinessBetween[1]

                  businessEnd = _this9.form.bussinessBetween[1] ? _this9.$dayjs(_this9.form.bussinessBetween[1]).format('YYYY-MM-DD HH:mm:ss') : '';
                }

                provinceId = '';
                provinceName = '';
                cityId = '';
                cityName = '';
                districtId = '';
                districtName = '';

                if (_this9.form.area) {
                  arr = _this9.form.area.split(',');
                  arr2 = _this9.form.areaIds.split(',');
                  provinceId = arr2[0];
                  provinceName = arr[0];
                  cityId = arr2[1];
                  cityName = arr[1];
                  districtId = arr2[2];
                  districtName = arr[2];
                }

                businessData = {
                  unitId: _this9.user.unit.id,
                  unitName: _this9.form.unitName,
                  unifiedcode: _this9.form.unifiedcode,
                  regtypeId: _this9.form.regtypeId,
                  formdate: _this9.form.formdate ? _this9.$dayjs(_this9.form.formdate).format('YYYY-MM-DD HH:mm:ss') : '',
                  registercapital: _this9.form.registercapital,
                  artificial: _this9.form.artificial,
                  artificialType: _this9.form.artificialType,
                  artificialId: _this9.form.artificialId,
                  localCredentialsType: _this9.form.localCredentialsType,
                  credentialsNum: _this9.form.credentialsNum,
                  artificialPhone: _this9.form.artificialPhone,
                  provinceId: provinceId,
                  provinceName: provinceName,
                  cityId: cityId,
                  cityName: cityName,
                  districtId: districtId,
                  districtName: districtName,
                  address: _this9.form.address,
                  businessAddress: _this9.form.businessAddress,
                  workscope: _this9.form.workscope,
                  contacts: _this9.form.contacts,
                  contactsPhone: _this9.form.contactsPhone,
                  businessStart: _this9.$dayjs(businessStart).format('YYYY-MM-DD HH:mm:ss'),
                  businessEnd: _this9.$dayjs(businessEnd).format('YYYY-MM-DD HH:mm:ss'),
                  fileList: _this9.form.fileList
                };
                _this = _this9;
                return _context3.abrupt("return", new Promise(function (resolve, reject) {
                  _this.$refs.businessForm.validate(function (valid) {
                    if (valid) {
                      var res = _this.$postSync(_this9.$store.state.env.VUE_APP_PORT + '/system/company/updateCompanyBusinessInfo', businessData);

                      resolve(res);
                    } else {
                      reject('error');
                    }
                  });
                }));

              case 13:
              case "end":
                return _context3.stop();
            }
          }
        }, _callee3);
      }))();
    },

    /**
     * 保存办公场所
     */
    submitOffice: function submitOffice() {
      var _this10 = this;

      return _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee4() {
        var provinceCode, cityCode, areaCode, localProvince, localCity, localArea, arr, arr2, officeSpace, _this;

        return regeneratorRuntime.wrap(function _callee4$(_context4) {
          while (1) {
            switch (_context4.prev = _context4.next) {
              case 0:
                provinceCode = '';
                cityCode = '';
                areaCode = '';
                localProvince = '';
                localCity = '';
                localArea = ''; // 所属区域

                if (_this10.form.area2) {
                  arr = _this10.form.area2.split(',');
                  localProvince = arr[0];
                  localCity = arr[1];
                  localArea = arr[2];
                  arr2 = _this10.form.areaIds2.split(',');
                  provinceCode = arr2[0];
                  cityCode = arr2[1];
                  areaCode = arr2[2];
                }

                officeSpace = {
                  unitId: _this10.user.unit.id,
                  localProvince: localProvince,
                  provinceCode: provinceCode,
                  cityCode: cityCode,
                  areaCode: areaCode,
                  localCity: localCity,
                  localArea: localArea,
                  localAddress: _this10.form.localAddress,
                  officeArea: _this10.form.officeArea,
                  localContacts: _this10.form.localContacts,
                  localCredentialsNum: _this10.form.localCredentialsNum,
                  localContactsPhone: _this10.form.localContactsPhone,
                  localContactsId: _this10.form.localContactsId
                };
                _this = _this10;
                return _context4.abrupt("return", new Promise(function (resolve, reject) {
                  _this10.$refs.officeForm.validate(function (valid) {
                    if (valid) {
                      var res = _this.$postSync(_this10.$store.state.env.VUE_APP_PORT + '/system/company/updateCompanyOfficeInfo', officeSpace);

                      resolve(res);
                    } else {
                      reject('error');
                    }
                  });
                }));

              case 10:
              case "end":
                return _context4.stop();
            }
          }
        }, _callee4);
      }))();
    },
    formatDate: function formatDate(row, column) {
      var data = row[column.property];

      if (data == null) {
        return null;
      }

      var dt = new Date(data);
      return this.$dayjs(dt).format('YYYY-MM-DD');
    },
    // 添加,编辑资质
    addQualifications: function addQualifications(type, params, indexEdit) {
      this.QualificationInfoType = type;
      this.QualificationInfoIndex = indexEdit;
      this.$refs.qualificationsDialog.init(type, params);
    },
    onDelete: function onDelete(index) {
      this.form.companyAptitudeList.splice(index, 1);
    },
    initData: function initData(obj) {
      obj.bussinessBetween = [];

      if (obj.businessStart) {
        if (obj.businessEnd) {
          obj.bussinessBetween.push(obj.businessStart);
          obj.bussinessBetween.push(obj.businessEnd);
        } else {
          // 无限期
          obj.bussinessBetween.push(obj.businessStart);
          obj.bussinessBetween.push('');
          this.bussinessDate = obj.businessStart;
          this.bussinessBetweenType = 2;
        }
      }

      if (obj.safeStarttime && obj.safeEndtime) {
        obj.safeBetween = [];
        obj.safeBetween.push(obj.safeStarttime);
        obj.safeBetween.push(obj.safeEndtime);
      } // 住所


      if (obj.provinceId && obj.cityId && obj.districtId) {
        var arr = [];
        arr.push(obj.provinceId);
        arr.push(obj.cityId);
        arr.push(obj.districtId);
        obj.areaIds = arr.join(',');
        var arr2 = [];
        arr2.push(obj.provinceName);
        arr2.push(obj.cityName);
        arr2.push(obj.districtName);
        obj.area = arr2.join(',');
      } // 办公场所


      if (obj.localProvince && obj.localCity && obj.localArea) {
        var _arr = [];

        _arr.push(obj.provinceCode);

        _arr.push(obj.cityCode);

        _arr.push(obj.areaCode);

        obj.areaIds2 = _arr.join(',');
        var _arr2 = [];

        _arr2.push(obj.localProvince);

        _arr2.push(obj.localCity);

        _arr2.push(obj.localArea);

        obj.area2 = _arr2.join(',');
      }
    },
    // 获取资质信息
    getQualificationInfo: function getQualificationInfo(data) {
      if (this.QualificationInfoType === 'add') {
        this.form.companyAptitudeList.push(data);
      } else {
        this.form.companyAptitudeList.splice(this.QualificationInfoIndex, 1, data);
      }
    },
    init: function init(unitState) {
      var _this11 = this;

      this.unitState = unitState;
      this.title = '完善企业信息';
      this.isAgainUpload = false;
      this.form = this.$options.data.call(this).form;
      this.dialogFormVisible = true;
      this.$nextTick(function () {
        _this11.$refs.officeForm.resetFields();

        _this11.$refs.businessForm.resetFields();

        if (_this11.checkCompanyInfo.build) {
          _this11.$refs.safeForm.resetFields();
        }

        _this11.getDetailById();
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_ImproCreateUpdatevue_type_script_lang_js_ = (ImproCreateUpdatevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=style&index=0&id=32bbe264&lang=scss&scoped=true&
var ImproCreateUpdatevue_type_style_index_0_id_32bbe264_lang_scss_scoped_true_ = __webpack_require__("3465");

// EXTERNAL MODULE: ./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue?vue&type=style&index=1&lang=scss&
var ImproCreateUpdatevue_type_style_index_1_lang_scss_ = __webpack_require__("7b8c");

// CONCATENATED MODULE: ./packages/page/layout/components/enterpriseInfo/components/ImproCreateUpdate.vue







/* normalize component */

var ImproCreateUpdate_component = normalizeComponent(
  components_ImproCreateUpdatevue_type_script_lang_js_,
  ImproCreateUpdatevue_type_template_id_32bbe264_scoped_true_render,
  ImproCreateUpdatevue_type_template_id_32bbe264_scoped_true_staticRenderFns,
  false,
  null,
  "32bbe264",
  null
  
)

/* harmony default export */ var ImproCreateUpdate = (ImproCreateUpdate_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue?vue&type=template&id=11183bf1&scoped=true&
var TipsDialogvue_type_template_id_11183bf1_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sh-dialog',{staticClass:"notice",class:{'closeBtn': !_vm.unitState},attrs:{"title":_vm.title,"visible":_vm.dialogFormVisible,"close-on-click-modal":false,"width":_vm.widthNew + 'px',"height":_vm.heightNew + 'px',"top":"30vh","scroll":true},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('div',{staticClass:"container"},[_c('div',{staticClass:"slot"},[_vm._t("default")],2),_c('div',{staticClass:"msg"},[_vm._t("msg")],2),_c('div',{staticClass:"btn"},[_vm._t("btn")],2),_c('div',{staticClass:"layout-user"},[_vm._t("layout-usr")],2)])])],1)}
var TipsDialogvue_type_template_id_11183bf1_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue?vue&type=template&id=11183bf1&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var TipsDialogvue_type_script_lang_js_ = ({
  props: {
    unitState: {
      type: Boolean
    },
    title: {
      type: String,
      default: '提示'
    }
  },
  data: function data() {
    return {
      dialogFormVisible: false,
      widthNew: 420,
      heightNew: 310
    };
  },
  methods: {
    init: function init(widthNew, heightNew) {
      this.widthNew = widthNew;
      this.heightNew = heightNew;
      this.dialogFormVisible = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_TipsDialogvue_type_script_lang_js_ = (TipsDialogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue?vue&type=style&index=0&id=11183bf1&lang=scss&scoped=true&
var TipsDialogvue_type_style_index_0_id_11183bf1_lang_scss_scoped_true_ = __webpack_require__("3f38");

// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsDialog.vue






/* normalize component */

var TipsDialog_component = normalizeComponent(
  components_TipsDialogvue_type_script_lang_js_,
  TipsDialogvue_type_template_id_11183bf1_scoped_true_render,
  TipsDialogvue_type_template_id_11183bf1_scoped_true_staticRenderFns,
  false,
  null,
  "11183bf1",
  null
  
)

/* harmony default export */ var TipsDialog = (TipsDialog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue?vue&type=template&id=3a43744e&scoped=true&
var UpdatePhonevue_type_template_id_3a43744e_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('sh-dialog',{attrs:{"title":"更换手机","append-to-body":true,"width":"500px","visible":_vm.dialogFormVisible,"close-on-click-modal":false},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"param":_vm.form,"label-width":"100px","label-suffix":":"}},[_c('sh-form-item',{attrs:{"label":"旧手机号码","prop":"oldPassword"}},[_c('el-input',{attrs:{"disabled":"","size":"default","placeholder":"请输入旧手机号码"},model:{value:(_vm.form.oldPhone),callback:function ($$v) {_vm.$set(_vm.form, "oldPhone", $$v)},expression:"form.oldPhone"}})],1),_c('sh-form-item',{attrs:{"label":"新手机号码","prop":"phone","rules":['required', 'phone', { validator: _vm.checkPhone, trigger: 'blur' }]}},[_c('el-input',{attrs:{"size":"default","placeholder":"请输入新手机号码"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, "phone", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.phone"}})],1),_c('sh-form-item',{attrs:{"label":"验证码","prop":"phoneCode","rules":"required"}},[_c('div',{staticClass:"phone-code"},[_c('sh-input',{staticClass:"phone-code-input",attrs:{"size":"default","placeholder":"请输入短信验证码"},model:{value:(_vm.form.phoneCode),callback:function ($$v) {_vm.$set(_vm.form, "phoneCode", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:"form.phoneCode"}}),_c('sh-button',{staticClass:"code-btn",attrs:{"size":"default","loading":_vm.codeLoading},on:{"click":function($event){return _vm.getPhoneCode('form')}}},[_vm._v(_vm._s(_vm.phoneCodeTxt))])],1)])],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("取 消")]),_c('el-button',{attrs:{"type":"primary","loading":_vm.loading},on:{"click":function($event){return _vm.submit()}}},[_vm._v("确 定")])],1)],1)}
var UpdatePhonevue_type_template_id_3a43744e_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue?vue&type=template&id=3a43744e&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue?vue&type=script&lang=js&



//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var improvementEnterpriseInfo_components_UpdatePhonevue_type_script_lang_js_ = ({
  data: function data() {
    return {
      loading: false,
      dialogFormVisible: false,
      form: {
        oldPhone: '',
        phone: '',
        personId: '',
        phoneCode: '',
        taskId: ''
      },
      codeLoading: false,
      phoneRule: 'required||phone',
      phoneCodeTxt: '获取验证码',
      timer: null
    };
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  beforeDestroy: function beforeDestroy() {
    if (this.timer) {
      this.clear();
    }
  },
  methods: {
    clear: function clear() {
      this.codeLoading = false;
      clearInterval(this.timer);
      this.timer = null;
      this.phoneCodeTxt = '获取验证码';
    },
    checkPhone: function checkPhone(rule, value, callback) {
      // 手机号重复性校验
      if (value === this.form.oldPhone) {
        callback(new Error('更换手机不能为旧手机号'));
      } else {
        callback();
      }
    },
    getPhoneCode: function getPhoneCode() {
      var _this = this;

      this.$refs.form.validateField('phone', function (valid) {
        if (!valid) {
          _this.codeLoading = true;

          _this.$post(_this.$store.state.env.VUE_APP_PORT + '/system/regist/getPhoneCode', {
            phone: _this.form.phone
          }, function (data) {
            _this.setPhoneCodeTxt();

            _this.form.taskId = data.data.taskId;

            _this.$message.success('验证码已下发！');
          }, function (error) {
            _this.codeLoading = true;

            _this.$message.error(error.msg);
          });
        }
      });
    },
    setPhoneCodeTxt: function setPhoneCodeTxt() {
      var _this2 = this;

      // 验证码计时器
      var i = 60;
      this.timer = setInterval(function () {
        i--;
        _this2.phoneCodeTxt = "".concat(i, "s\u540E\u91CD\u65B0\u83B7\u53D6");

        if (i <= 0) {
          clearInterval(_this2.timer);
          _this2.phoneCodeTxt = '获取验证码';
          _this2.codeLoading = false;
        }
      }, 1000);
    },
    submit: function submit() {
      var _this3 = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          _this3.loading = true;

          _this3.$post(_this3.$store.state.env.VUE_APP_PORT + '/system/person/changePhone', _this3.form, function (data) {
            _this3.dialogFormVisible = false;
            _this3.loading = false;

            _this3.$message.success(data.msg);

            _this3.changeUserInfo();
          }, function (error) {
            _this3.loading = false;

            _this3.$message.error(error.msg);
          });
        }
      });
    },
    changeUserInfo: function changeUserInfo() {
      var _this4 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/person/getUserJwt', {}, function (data) {
        sessionStorage.setItem('user', JSON.stringify(data.data));

        _this4.$store.commit('user', data.data);
      }, function (error) {
        _this4.$message.error(error.msg);
      });
    },
    init: function init() {
      this.$refs.form && this.$refs.form.resetFields();
      this.form.oldPhone = this.user.mobile || this.user.phone;
      this.form.personId = this.user.personId;
      this.clear();
      this.dialogFormVisible = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_improvementEnterpriseInfo_components_UpdatePhonevue_type_script_lang_js_ = (improvementEnterpriseInfo_components_UpdatePhonevue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue?vue&type=style&index=0&id=3a43744e&lang=scss&scoped=true&
var UpdatePhonevue_type_style_index_0_id_3a43744e_lang_scss_scoped_true_ = __webpack_require__("21bb");

// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/UpdatePhone.vue






/* normalize component */

var components_UpdatePhone_component = normalizeComponent(
  components_improvementEnterpriseInfo_components_UpdatePhonevue_type_script_lang_js_,
  UpdatePhonevue_type_template_id_3a43744e_scoped_true_render,
  UpdatePhonevue_type_template_id_3a43744e_scoped_true_staticRenderFns,
  false,
  null,
  "3a43744e",
  null
  
)

/* harmony default export */ var components_UpdatePhone = (components_UpdatePhone_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue?vue&type=script&lang=js&









//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//




/* harmony default export */ var TipsViewvue_type_script_lang_js_ = ({
  components: {
    ImproCreateUpdate: ImproCreateUpdate,
    TipsDialog: TipsDialog,
    UpdatePhone: components_UpdatePhone
  },
  data: function data() {
    return {
      msg: '请先完善企业信息',
      btnVal: '去完善企业信息',
      checked: false,
      isPhoneApi: this.$store.state.env.VUE_APP_PORT + '/system/regist/getIsExitPhone',
      form: {
        phone: '',
        personName: '',
        loginName: '',
        password: ''
      },
      phoneRule: 'required||phone',
      phoneCodeTxt: '发送验证码',
      timer: null,
      widthNew: 0,
      heightNew: 0,
      codeLoading: false,
      validatePhone: false,
      visiblePloginName: false,
      visiblePPassword: false,
      ploginNameStrOne: true,
      ploginNameStrTwo: 0,
      ploginNameTypeOne: true,
      ploginNameTypeTwo: 0,
      ploginNameIllegalOne: true,
      ploginNameIllegalTwo: 0,
      ppasswordStrOne: true,
      ppasswordStrTwo: 0,
      ppasswordTypeOne: true,
      ppasswordTypeTwo: 0,
      ppasswordIllegalOne: true,
      ppasswordIllegalTwo: 0,
      ppasswordSpecialOne: true,
      ppasswordSpecialTwo: 0
    };
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  created: function created() {
    this.init();
  },
  methods: {
    logout: function logout() {
      var _this = this;

      this.$parent.showTipsView = false;
      this.$nextTick(function () {
        _this.$logout();
      });
    },
    focusInput: function focusInput(type) {
      if (type === 'ploginName') {
        this.visiblePloginName = true;
      } else if (type === 'password') {
        this.visiblePPassword = true;
      }
    },
    blurInput: function blurInput(type) {
      if (type === 'ploginName') {
        this.visiblePloginName = false;
      } else if (type === 'password') {
        this.visiblePPassword = false;
      }
    },
    // 账号
    inputPloginName: function inputPloginName() {
      var value = this.form.loginName;

      if (value) {
        var ploginNameLength = value.length;

        if (ploginNameLength < 6 || ploginNameLength > 15) {
          this.ploginNameStrOne = false;
          this.ploginNameStrTwo = 2;
        } else if (ploginNameLength >= 6 && ploginNameLength <= 15) {
          this.ploginNameStrOne = true;
          this.ploginNameStrTwo = 1;
        }

        this.checkAccount(value); // 非法字符

        var ploginNameCheckType = this.checkAccountStr(value) < 2; // 字母、数字和下划线至少包含2种

        if (ploginNameCheckType) {
          this.ploginNameTypeOne = false;
          this.ploginNameTypeTwo = 2;
        } else {
          this.ploginNameTypeOne = true;
          this.ploginNameTypeTwo = 1;
        }
      } else {
        this.ploginNameStrOne = true;
        this.ploginNameStrTwo = 0;
        this.ploginNameIllegalOne = true;
        this.ploginNameIllegalTwo = 0;
        this.ploginNameTypeOne = true;
        this.ploginNameTypeTwo = 0;
      }
    },
    checkAccount: function checkAccount(value) {
      var _this2 = this;

      var is = false; // 非法字符判断

      value.split('').forEach(function (item) {
        if (_this2.checkAccountStr(item) === 0) {
          is = true;
        }
      });

      if (is) {
        this.ploginNameIllegalOne = false;
        this.ploginNameIllegalTwo = 2;
      } else {
        this.ploginNameIllegalOne = true;
        this.ploginNameIllegalTwo = 1;
      }
    },
    checkAccountStr: function checkAccountStr(str) {
      // 账号中字母、数字和下划线至少包含2种
      var count = 0;
      if (/\d/.test(str)) count++;
      if (/[a-zA-Z]/.test(str)) count++;
      if (/[_]/.test(str)) count++;
      return count;
    },
    // 密码
    inputPPassword: function inputPPassword(type) {
      var value = this.form.password;

      if (value) {
        var ppasswordLength = value.length;

        if (ppasswordLength < 8 || ppasswordLength > 25) {
          if (type === 'password') {
            this.ppasswordStrOne = false;
            this.ppasswordStrTwo = 2;
          }
        } else if (ppasswordLength >= 8 && ppasswordLength <= 25) {
          if (type === 'password') {
            this.ppasswordStrOne = true;
            this.ppasswordStrTwo = 1;
          }
        }

        this.checkPassword(type, value); // 非法字符

        var ppasswordCheckType = this.checkPasswordStr(value) < 3; // 大小写字母、数字和特殊字符至少包含3种

        if (type === 'password') {
          if (ppasswordCheckType) {
            this.ppasswordTypeOne = false;
            this.ppasswordTypeTwo = 2;
          } else {
            this.ppasswordTypeOne = true;
            this.ppasswordTypeTwo = 1;
          }
        }

        this.checkPassWordAgain(type, value);
      } else {
        if (type === 'password') {
          this.ppasswordStrOne = true;
          this.ppasswordStrTwo = 0;
          this.ppasswordIllegalOne = true;
          this.ppasswordIllegalTwo = 0;
          this.ppasswordTypeOne = true;
          this.ppasswordTypeTwo = 0;
          this.ppasswordSpecialOne = true;
          this.ppasswordSpecialTwo = 0;
        }
      }
    },
    checkPassWordAgain: function checkPassWordAgain(type, value) {
      var newValue = value.replace(/[0-9]+|[a-zA-Z]+/g, '');

      if (newValue) {
        var re = /[^\~!@#$%^&*()_+-]/.test(newValue);

        if (type === 'password') {
          if (re) {
            this.ppasswordSpecialOne = false;
            this.ppasswordSpecialTwo = 2;
          } else {
            this.ppasswordSpecialOne = true;
            this.ppasswordSpecialTwo = 1;
          }
        }
      } else {
        if (type === 'password') {
          this.ppasswordSpecialOne = true;
          this.ppasswordSpecialTwo = 0;
        }
      }
    },
    checkPassword: function checkPassword(type, value) {
      var _this3 = this;

      var is = false; // 非法字符判断

      value.split('').forEach(function (item) {
        if (_this3.checkPasswordStr(item) === 0) {
          is = true;
        }
      });

      if (type === 'password') {
        if (is) {
          this.ppasswordIllegalOne = false;
          this.ppasswordIllegalTwo = 2;
        } else {
          this.ppasswordIllegalOne = true;
          this.ppasswordIllegalTwo = 1;
        }
      }
    },
    checkPasswordStr: function checkPasswordStr(str) {
      // 密码校验规则
      var count = 0;
      if (/\d/.test(str)) count++;
      if (/[a-z]/.test(str)) count++;
      if (/[A-Z]/.test(str)) count++;
      if (/[~!@#$%^&*()_+-]/.test(str)) count++;
      return count;
    },
    init: function init() {
      var _this4 = this;

      this.validatePhone = false;

      if (this.user.userType === '10') {
        this.widthNew = 542;
        this.heightNew = 397;
      } else {
        this.widthNew = 420;
        this.heightNew = 310;
      } // 审核中


      if (this.user.unitState === '0') {
        this.btnVal = '查看企业信息';
      } else if (this.user.unitState === '2') {
        // 审核退回
        this.btnVal = '查看详情';
      } else if (!this.user['unitState'] || this.user.unitState === '3') {
        // 已提交，企业信息未完善
        this.btnVal = '去完善企业信息';
      } else if (this.user.unitState === '4') {
        // 已审核, 提醒完善企业信息
        this.btnVal = '去完善企业信息';
      }

      if (this.user.userType === '10') {
        if (this.user.phone) {
          this.form.phone = this.user.phone;
        } else {
          if (this.user.mobil) {
            this.form.phone = this.user.mobil;
          } else {
            this.form.phone = '';
          }
        }

        if (this.user.userName) {
          this.form.loginName = this.user.userName;
        } else {
          if (this.user.loginName) {
            this.form.loginName = this.user.loginName;
          } else {
            this.form.loginName = '';
          }
        }
      }

      this.$nextTick(function () {
        _this4.$refs.tipsDialog.init(_this4.widthNew, _this4.heightNew);
      });
    },
    changeCheck: function changeCheck(val) {
      var _this5 = this;

      if (val) {
        this.$confirm('确认下次不再提示吗?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(function () {
          _this5.$post(_this5.$store.state.env.VUE_APP_PORT + '/system/company/regist/saveCompanyRegist', {
            unitState: 4
          }, function () {
            _this5.$refs.tipsDialog.dialogFormVisible = false;
          }, function (error) {
            return _this5.$message.warning(error.msg);
          });
        }).catch(function () {
          _this5.checked = false;
        });
      }
    },
    callback: function callback() {
      this.$refs.tipsDialog.dialogFormVisible = false;
    },
    improveEnt: function improveEnt() {
      var _this6 = this;

      this.$nextTick(function () {
        _this6.$refs.improCreateUpdate.init(_this6.user.unitState);
      });
    },
    setPhoneCodeTxt: function setPhoneCodeTxt() {
      var _this7 = this;

      // 验证码计时器
      var i = 60;
      this.timer = setInterval(function () {
        i--;
        _this7.phoneCodeTxt = "".concat(i, "s\u540E\u91CD\u65B0\u83B7\u53D6");

        if (i <= 0) {
          clearInterval(_this7.timer);
          _this7.phoneCodeTxt = '获取验证码';
          _this7.codeLoading = false;
        }
      }, 1000);
    },
    checkPhone: function checkPhone(rule, value, callback) {
      // 手机号重复性校验
      if (value === this.form.oldPhone) {
        callback(new Error('更换手机不能为旧手机号'));
      } else {
        callback();
      }
    },
    getPhoneCode: function getPhoneCode() {
      var _this8 = this;

      this.$refs.form.validateField('phone', function (valid) {
        if (!valid) {
          _this8.codeLoading = true;

          _this8.$post(_this8.$store.state.env.VUE_APP_PORT + '/system/smsSend/getMessageCode', {
            phone: _this8.form.phone,
            usePurpose: 'IDAUTHENT'
          }, function (data) {
            _this8.setPhoneCodeTxt(); // this.form.taskId = data.data.taskId


            _this8.validatePhone = true;

            _this8.$message.success('验证码已下发！');
          }, function (error) {
            _this8.codeLoading = true;

            if (error.msg === '发送频繁，请稍后再试！') {
              _this8.validatePhone = true;
            }

            _this8.$message.error(error.msg);
          });
        }
      });
    },
    changeUserInfo: function changeUserInfo() {
      var _this9 = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/person/getUserJwt', {}, function (data) {
        sessionStorage.setItem('user', JSON.stringify(data.data));

        _this9.$store.commit('user', data.data);
      }, function (error) {
        _this9.$message.error(error.msg);
      });
    },
    updatePhone: function updatePhone() {
      this.$refs.updatePhone.init();
    },
    verifyPhone: function verifyPhone() {
      var _this10 = this;

      this.$refs.form.validate(function (valid) {
        if (valid) {
          if (!_this10.validatePhone) {
            return _this10.$message.warning('请点击发送验证码！');
          }

          _this10.loading = true;

          _this10.$post(_this10.$store.state.env.VUE_APP_PORT + '/system/person/verifyPhone', _this10.form, function (data) {
            _this10.dialogFormVisible = false;
            _this10.loading = false;

            _this10.$message.success(data.msg);

            if (data.data === 1) {
              _this10.$message.warning('当前账号已修改，请重新登录！');

              setTimeout(function () {
                _this10.$logout();
              }, 2000);
            } else {
              _this10.changeUserInfo();

              _this10.$router.push(_this10.$route.path);
            }
          }, function (error) {
            _this10.loading = false;

            _this10.$message.error(error.msg);
          });
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue?vue&type=script&lang=js&
 /* harmony default export */ var components_TipsViewvue_type_script_lang_js_ = (TipsViewvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue?vue&type=style&index=0&id=97db492e&lang=scss&scoped=true&
var TipsViewvue_type_style_index_0_id_97db492e_lang_scss_scoped_true_ = __webpack_require__("dcf8");

// CONCATENATED MODULE: ./packages/page/layout/components/improvementEnterpriseInfo/components/TipsView.vue






/* normalize component */

var TipsView_component = normalizeComponent(
  components_TipsViewvue_type_script_lang_js_,
  TipsViewvue_type_template_id_97db492e_scoped_true_render,
  TipsViewvue_type_template_id_97db492e_scoped_true_staticRenderFns,
  false,
  null,
  "97db492e",
  null
  
)

/* harmony default export */ var TipsView = (TipsView_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/layout/Index.vue?vue&type=script&lang=js&







//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//






/* harmony default export */ var layout_Indexvue_type_script_lang_js_ = ({
  components: {
    LayoutHybridMenu: LayoutHybridMenu,
    LayoutTopMenu: LayoutTopMenu,
    LayoutLeftMenu: LayoutLeftMenu,
    LayoutFourthMenu: LayoutFourthMenu,
    TipsView: TipsView
  },
  watch: {
    $route: {
      handler: function handler(val) {
        this.menuActive = val.path;
        this.isRouter = false;
        this.subMenuList = {};
        this.getSubMenu();
      },
      immediate: false
    },
    layoutType: function layoutType() {
      var _this = this;

      // 监听布局切换
      if (window.qiankunStarted) {
        // 如果是微前端的话则刷新页面
        var _this$$route = this.$route,
            path = _this$$route.path,
            params = _this$$route.params; // 获取路由

        this.$router.push('/');
        this.$nextTick(function () {
          _this.$router.push({
            path: path,
            params: params
          }); // 重新跳回路由

        });
      }
    }
  },
  computed: {
    routerTransition: function routerTransition() {
      return this.$store.state.routerTransition;
    },
    layoutType: function layoutType() {
      return this.$store.state.layoutType;
    }
  },
  data: function data() {
    var urlList = {
      'jxcloud.3hmis.com': 'auth_jxy',
      'e.jxcloud.3hmis.com': 'auth_jxyqy',
      'p.jxcloud.3hmis.com': 'auth_jxypt',
      'e.jianxiecloud.com': 'ejxy_client',
      'p.jianxiecloud.com': 'pjxy_client',
      'zt.3hmis.com:30001': 'pjxy_client',
      '192.169.0.220:8097': 'ent'
    };
    return {
      path: urlList[window.location.host] || 'auth',
      componentList: {
        topMenu: 'LayoutTopMenu',
        leftMenu: 'LayoutLeftMenu',
        hybridMenu: 'LayoutHybridMenu',
        fourthMenu: 'LayoutFourthMenu'
      },
      menuList: [],
      menuActive: this.$route.path,
      subMenuList: {},
      loading: false,
      isRouter: false,
      isRouterAlive: true,
      showTipsView: false
    };
  },
  methods: {
    // 判断用户是否通过审核
    checkUser: function checkUser(user) {
      var _this2 = this;

      if (!user) return this.showTipsView = false;

      if (user && user.id && (user.unitState && user.unitState !== '1' || user.userType === '10')) {
        this.$nextTick(function () {
          _this2.showTipsView = true;
        });
      }
    },
    menuListFilterFun: function menuListFilterFun(arr) {
      var _this3 = this;

      // 检索时数组过滤
      return arr.filter(function (item) {
        if (item.children && item.children.length) {
          item.children = _this3.menuListFilterFun(item.children);
        }

        return item.isShow;
      });
    },
    isActiveMenu: function isActiveMenu(list) {
      // 递归判断当前路由是哪个子路由
      for (var i = 0; i < list.length; i++) {
        if (list[i].url.split('?').indexOf(this.menuActive) !== -1) {
          return true;
        } else if (list[i].children && list[i].children.length > 0) {
          if (this.isActiveMenu(list[i].children)) {
            return true;
          }
        }
      }
    },
    getSubMenu: function getSubMenu() {
      // 循环通过当前路由或许子菜单
      for (var i = 0; i < this.menuList.length; i++) {
        if (this.menuList[i].url === this.menuActive) {
          this.isRouter = true;
          this.subMenuList = this.menuList[i];
          break;
        } else if (this.menuList[i].children && this.menuList[i].children.length > 0) {
          if (this.isActiveMenu(this.menuList[i].children)) {
            this.isRouter = true;
            this.subMenuList = this.menuList[i];
            break;
          }
        }
      }
    },
    getUserInfo: function getUserInfo() {
      var _this4 = this;

      this.loading = true;
      var url = "".concat(this.$store.state.env.VUE_APP_PORT, "/system/person/getUserJwt");
      this.$post(url, {}, function (data) {
        _this4.changeUser(_objectSpread2({}, data.data));
      }, function (error) {
        _this4.$message.error(error.msg);

        _this4.loading = false;
      });
    },
    getUserCenter: function getUserCenter(code) {
      var _this5 = this;

      this.$post(this.$store.state.ucLoginUrl || "".concat(this.$store.state.env.VUE_APP_PORT, "/").concat(this.path, "/auth/ucLogin"), {
        code: code
      }, function (data) {
        if (data.code === 0) {
          sessionStorage.setItem('token', data.data.token);

          _this5.$store.commit('token', data.data.token);

          _this5.changeUser(data.data);
        }
      }, function (error) {
        console.log(error);
      });
    },
    pushFirstRouter: function pushFirstRouter(item) {
      // 跳到第一个菜单
      if (item.children && item.children.length) {
        this.pushFirstRouter(item.children[0]);
      } else {
        this.$router.push(item.url);
      }
    },
    changeUser: function changeUser(data) {
      // 用户信息改变的时候执行
      var user = _objectSpread2({}, data);

      sessionStorage.setItem('user', JSON.stringify(user));
      this.$store.commit('user', user); // 深拷贝

      this.menuList = this.menuListFilterFun(JSON.parse(JSON.stringify(user.pcPermissionMenu))); // 重新加载按钮权限

      Vue.prototype.$isCode = this.$getResourceCode(); // 重新加载路由权限

      Vue.prototype.$isRouter = this.$getResourceRouter(); // 跳到第一个菜单

      if (user.pcPermissionMenu && user.pcPermissionMenu.length) {
        this.pushFirstRouter(user.pcPermissionMenu[0]);
      } else {
        this.$router.push({
          path: '/405'
        });
      }

      this.loading = false;
      this.$emit('getAccessToken');
      this.checkUser(user);
    },
    eventHandle: function eventHandle(event) {
      if (event.type === 'offline') {
        this.$message.error('网络已断开，请检查网络连接。');
      } else {
        this.$message.success('网络已连接');
      }
    }
  },
  created: function created() {
    var _this6 = this;

    var code = this.$route.meta.code;

    if (code) {
      this.getUserCenter(code);
    } else if (this.$store.state.user) {
      this.checkUser(this.$store.state.user);
      var pcPermissionMenu = this.$store.state.user.pcPermissionMenu;
      this.menuList = this.menuListFilterFun(JSON.parse(JSON.stringify(pcPermissionMenu)));
      this.getSubMenu();

      if (this.$route.path === '/') {
        // 跳到第一个菜单
        if (pcPermissionMenu && pcPermissionMenu.length) {
          this.pushFirstRouter(pcPermissionMenu[0]);
        } else {
          this.$router.push({
            path: '/405'
          });
        }
      }
    } else {
      this.getUserInfo();
    } // 切换单位类型，监听用户信息改变


    bus.$on('changeCategory', function (query) {
      _this6.loading = true;

      _this6.$post("".concat(_this6.$store.state.env.VUE_APP_PORT, "/system/company/changeUnitCategory"), query, function (data) {
        _this6.$router.push('/'); // 销毁微前端


        window.qiankunStarted = false;

        _this6.$nextTick(function () {
          _this6.changeUser(data.data);
        });
      }, function (error) {
        _this6.$message.error(error.msg);

        _this6.loading = false;
      });
    }); // 切换企业，监听用户信息改变

    bus.$on('changeCompany', function (id) {
      _this6.loading = true;

      _this6.$post(_this6.$store.state.changeCompanyUrl || "".concat(_this6.$store.state.env.VUE_APP_PORT, "/system/login/changeCompany"), {
        unitId: id
      }, function (data) {
        // 销毁微前端
        window.qiankunStarted = false;

        _this6.$router.push('/');

        _this6.$nextTick(function () {
          _this6.changeUser(data.data);
        });
      }, function (error) {
        _this6.$message.error(error.msg);

        _this6.loading = false;
      });
    }); // 网络连接

    window.addEventListener('offline', this.eventHandle);
    window.addEventListener('online', this.eventHandle);
  },
  beforeDestroy: function beforeDestroy() {
    // 销毁监听
    bus.$off('changeCompany');
    bus.$off('changeCategory');
    window.removeEventListener('offline', this.eventHandle);
    window.removeEventListener('online', this.eventHandle);
  }
});
// CONCATENATED MODULE: ./packages/page/layout/Index.vue?vue&type=script&lang=js&
 /* harmony default export */ var page_layout_Indexvue_type_script_lang_js_ = (layout_Indexvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/layout/Index.vue?vue&type=style&index=0&id=22163d78&lang=scss&scoped=true&
var Indexvue_type_style_index_0_id_22163d78_lang_scss_scoped_true_ = __webpack_require__("b9bc");

// CONCATENATED MODULE: ./packages/page/layout/Index.vue






/* normalize component */

var layout_Index_component = normalizeComponent(
  page_layout_Indexvue_type_script_lang_js_,
  Indexvue_type_template_id_22163d78_scoped_true_render,
  Indexvue_type_template_id_22163d78_scoped_true_staticRenderFns,
  false,
  null,
  "22163d78",
  null
  
)

/* harmony default export */ var layout_Index = (layout_Index_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/Index.vue?vue&type=template&id=83d8b084&scoped=true&
var Indexvue_type_template_id_83d8b084_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"container"},[_c('div',{staticClass:"tabs-container"},[_c('img',{staticClass:"return-st",attrs:{"src":__webpack_require__("58a2"),"alt":"返回","title":"返回"},on:{"click":_vm.toReturn}}),_c('div',{staticClass:"tabs"},[_c('div',{staticClass:"tab__item",class:{'tab-active':_vm.tabActive==='first'},on:{"click":function($event){_vm.tabActive='first'}}},[_vm._v("基本信息")]),_c('div',{staticClass:"tab__item second",class:{'tab-active':_vm.tabActive==='second'},on:{"click":function($event){_vm.tabActive='second'}}},[_vm._v("个人档案")]),(_vm.tabActive==='first')?_c('div',{staticClass:"tab-btn"},[(!_vm.editFlag)?_c('el-button',{attrs:{"type":"primary"},on:{"click":function($event){_vm.editFlag = true}}},[_vm._v("编 辑")]):_vm._e(),(_vm.editFlag)?[(_vm.editFlag)?_c('el-button',{on:{"click":function($event){_vm.getDetailById(_vm.basePersonId);_vm.editFlag = false}}},[_vm._v("取 消")]):_vm._e(),(_vm.editFlag)?_c('el-button',{attrs:{"type":"primary"},on:{"click":function($event){return _vm.submit()}}},[_vm._v("确 定")]):_vm._e()]:_vm._e()],2):_vm._e()]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.tabActive==='first'),expression:"tabActive==='first'"}],staticClass:"user"},[_c('div',{staticClass:"tab"},[_c('el-container',{staticClass:"info"},[_c('el-aside',{attrs:{"width":"250px"}},[_c('div',{staticClass:"info-avatar"},[_c('img',{attrs:{"width":"207px","height":"276px","src":_vm.form.headImage?_vm.form.headImage:__webpack_require__("53ed"),"alt":""}})]),_c('sh-form',{staticClass:"form",attrs:{"className":"xy-form","isStyle":false}},[_c('sh-form-item',{attrs:{"label":"姓名:"}},[_c('span',{staticClass:"active"},[_vm._v(" "+_vm._s(_vm.form.realName || '-')+" ")])]),_c('sh-form-item',{attrs:{"label":"性别:"}},[_vm._v(_vm._s(_vm.form.sex || '-'))]),_c('sh-form-item',{attrs:{"label":"所属企业:"}},[_c('ellipsis-tooltip',{attrs:{"text":_vm.form.unitName ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"部门:"}},[_vm._v(_vm._s(_vm.form.managementName||'-'))]),_c('sh-form-item',{attrs:{"label":"职务:"}},[_vm._v(_vm._s(_vm.form.duty||'-'))])],1)],1),_c('el-main',[_c('div',{staticClass:"main"},[_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeCollapse),callback:function ($$v) {_vm.activeCollapse=$$v},expression:"activeCollapse"}},[_c('el-collapse-item',{attrs:{"title":"基本信息","name":"1"}},[_c('sh-form',{staticClass:"info-form",attrs:{"className":"xy-form","isStyle":false,"labelWidth":"120px"}},[_c('sh-form-item',{attrs:{"label":"姓名:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"姓名"},model:{value:(_vm.form.realName),callback:function ($$v) {_vm.$set(_vm.form, "realName", $$v)},expression:"form.realName"}}):_c('span',{staticClass:"active"},[_vm._v(_vm._s(_vm.form.realName || '-'))])],1),_c('sh-form-item',{attrs:{"label":"性别:","span":12}},[(_vm.editFlag)?_c('el-select',{attrs:{"placeholder":"请选择性别"},model:{value:(_vm.form.sex),callback:function ($$v) {_vm.$set(_vm.form, "sex", $$v)},expression:"form.sex"}},[_c('el-option',{attrs:{"label":"男","value":"男"}}),_c('el-option',{attrs:{"label":"女","value":"女"}})],1):_c('span',[_vm._v(_vm._s(_vm.form.sex || '-'))])],1),_c('sh-form-item',{attrs:{"label":"身份证号:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"身份证号"},model:{value:(_vm.form.credentialsNum),callback:function ($$v) {_vm.$set(_vm.form, "credentialsNum", $$v)},expression:"form.credentialsNum"}}):_c('span',[_vm._v(_vm._s(_vm.form.credentialsNum || '-'))])],1),_c('sh-form-item',{attrs:{"label":"手机号:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"手机号"},model:{value:(_vm.form.phone),callback:function ($$v) {_vm.$set(_vm.form, "phone", $$v)},expression:"form.phone"}}):_c('span',[_vm._v(_vm._s(_vm.form.phone || '-'))])],1),_c('sh-form-item',{attrs:{"label":"出生地:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"出生地"},model:{value:(_vm.form.birthPlace),callback:function ($$v) {_vm.$set(_vm.form, "birthPlace", $$v)},expression:"form.birthPlace"}}):_c('span',[_vm._v(_vm._s(_vm.form.birthPlace||'-'))])],1),_c('sh-form-item',{attrs:{"label":"出生日期:","span":12}},[(_vm.editFlag)?_c('el-date-picker',{attrs:{"type":"date","placeholder":"请选择时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.birthDay),callback:function ($$v) {_vm.$set(_vm.form, "birthDay", $$v)},expression:"form.birthDay"}}):_c('span',[_vm._v(_vm._s(_vm.form.birthDay ? _vm.formatterDate(_vm.form.birthDay) : '-'))])],1),_c('sh-form-item',{attrs:{"label":"民族:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"民族"},model:{value:(_vm.form.nationality),callback:function ($$v) {_vm.$set(_vm.form, "nationality", $$v)},expression:"form.nationality"}}):_c('span',[_vm._v(_vm._s(_vm.form.nationality || '-'))])],1),_c('sh-form-item',{attrs:{"label":"入职时间:","span":12}},[(_vm.editFlag)?_c('el-date-picker',{attrs:{"type":"date","placeholder":"请选择时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.entryDate),callback:function ($$v) {_vm.$set(_vm.form, "entryDate", $$v)},expression:"form.entryDate"}}):_c('span',[_vm._v(_vm._s(_vm.form.entryDate ? _vm.formatterDate(_vm.form.entryDate) : '-'))])],1),_c('sh-form-item',{attrs:{"label":"社保号:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"社保号"},model:{value:(_vm.form.socialSecurityNum),callback:function ($$v) {_vm.$set(_vm.form, "socialSecurityNum", $$v)},expression:"form.socialSecurityNum"}}):_c('span',[_vm._v(_vm._s(_vm.form.socialSecurityNum || '-'))])],1),_c('sh-form-item',{attrs:{"label":"职称:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"职称"},model:{value:(_vm.form.title),callback:function ($$v) {_vm.$set(_vm.form, "title", $$v)},expression:"form.title"}}):_c('span',[_vm._v(_vm._s(_vm.form.title || '-'))])],1),_c('sh-form-item',{attrs:{"label":"文化程度:","span":12}},[(_vm.editFlag)?_c('el-select',{attrs:{"placeholder":"请选择文化程度"},model:{value:(_vm.form.educationBackground),callback:function ($$v) {_vm.$set(_vm.form, "educationBackground", _vm._n($$v))},expression:"form.educationBackground"}},_vm._l((_vm.skEducationBackgroundType),function(item,index){return _c('el-option',{key:index,attrs:{"label":item.label,"value":item.value}})}),1):_c('span',[_vm._v(_vm._s(_vm.getParamsValue(_vm.skEducationBackgroundType, _vm.form.educationBackground) || '-'))])],1),_c('sh-form-item',{attrs:{"label":"学位:","span":12}},[(_vm.editFlag)?_c('el-select',{attrs:{"placeholder":"请选择学位"},model:{value:(_vm.form.degree),callback:function ($$v) {_vm.$set(_vm.form, "degree", $$v)},expression:"form.degree"}},_vm._l((_vm.skDegressType),function(item,index){return _c('el-option',{key:index,attrs:{"label":item.label,"value":item.value}})}),1):_c('span',[_vm._v(_vm._s(_vm.getParamsValue(_vm.skDegressType, _vm.form.degree) || '-'))])],1),_c('sh-form-item',{attrs:{"label":"办公室电话:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"办公室电话"},model:{value:(_vm.form.officePhone),callback:function ($$v) {_vm.$set(_vm.form, "officePhone", $$v)},expression:"form.officePhone"}}):_c('span',[_vm._v(_vm._s(_vm.form.officePhone||'-'))])],1),_c('sh-form-item',{attrs:{"label":"短号:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"短号"},model:{value:(_vm.form.cornet),callback:function ($$v) {_vm.$set(_vm.form, "cornet", $$v)},expression:"form.cornet"}}):_c('span',[_vm._v(_vm._s(_vm.form.cornet||'-'))])],1),_c('sh-form-item',{attrs:{"label":"工作邮箱:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"工作邮箱"},model:{value:(_vm.form.workEmail),callback:function ($$v) {_vm.$set(_vm.form, "workEmail", $$v)},expression:"form.workEmail"}}):_c('span',[_vm._v(_vm._s(_vm.form.workEmail||'-'))])],1),_c('sh-form-item',{attrs:{"label":"传真:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"传真"},model:{value:(_vm.form.fax),callback:function ($$v) {_vm.$set(_vm.form, "fax", $$v)},expression:"form.fax"}}):_c('span',[_vm._v(_vm._s(_vm.form.fax||'-'))])],1),_c('sh-form-item',{attrs:{"label":"QQ号:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"QQ号"},model:{value:(_vm.form.qqNum),callback:function ($$v) {_vm.$set(_vm.form, "qqNum", $$v)},expression:"form.qqNum"}}):_c('span',[_vm._v(_vm._s(_vm.form.qqNum||'-'))])],1),_c('sh-form-item',{attrs:{"label":"培训经历:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"培训经历"},model:{value:(_vm.form.trainExperience),callback:function ($$v) {_vm.$set(_vm.form, "trainExperience", $$v)},expression:"form.trainExperience"}}):_c('span',[_vm._v(_vm._s(_vm.form.trainExperience || '-'))])],1)],1)],1)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeOfficeCollapse),callback:function ($$v) {_vm.activeOfficeCollapse=$$v},expression:"activeOfficeCollapse"}},[_c('el-collapse-item',{attrs:{"title":"办公信息","name":"1"}},[_c('sh-form',{staticClass:"info-form",attrs:{"className":"xy-form","isStyle":false,"labelWidth":"120px"}},[_c('sh-form-item',{attrs:{"label":"所属部门:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.managementName||'-'))])]),_c('sh-form-item',{attrs:{"label":"职务:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.duty||'-'))])]),_c('sh-form-item',{attrs:{"label":"用工类型:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.getParamsValue(_vm.workNatureType,_vm.form.workNature)))])]),_c('sh-form-item',{attrs:{"label":"职级:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.unitRank||'-'))])]),_c('sh-form-item',{attrs:{"label":"职称:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.title||'-'))])]),_c('sh-form-item',{attrs:{"label":"职责描述:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.dutyDescribe||'-'))])]),_c('sh-form-item',{attrs:{"label":"办公室:","span":12}},[(_vm.editFlag)?_c('el-input',{attrs:{"placeholder":"办公室"},model:{value:(_vm.form.office),callback:function ($$v) {_vm.$set(_vm.form, "office", $$v)},expression:"form.office"}}):_c('span',[_vm._v(_vm._s(_vm.form.office||'-'))])],1)],1)],1)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeCollapse2),callback:function ($$v) {_vm.activeCollapse2=$$v},expression:"activeCollapse2"}},[_c('el-collapse-item',{attrs:{"name":"1"}},[_c('template',{slot:"title"},[_c('div',{staticClass:"bnt-st"},[_c('span',[_vm._v("资格证书")]),(_vm.editFlag)?_c('el-button',{attrs:{"type":"primary"},nativeOn:{"click":[function($event){$event.stopPropagation();return _vm.openUnitPersonCertList.apply(null, arguments)},function($event){_vm.editFlag = true}]}},[_vm._v("新增")]):_vm._e()],1)]),_c('sh-table',{staticClass:"space-top",attrs:{"data":_vm.form.unitPersonCertList,"showPage":false,"defaultLoad":false,"empty":false,"disabled":false}},[_c('sh-table-column',{attrs:{"type":"index","label":"序号","width":"70"}}),_c('sh-table-column',{attrs:{"prop":"certificateType","label":"证书(注册)类别","min-width":"50","align":"left"}}),_c('sh-table-column',{attrs:{"prop":"certificateNum","label":"证书编号","min-width":"50","align":"left"}}),_c('sh-table-column',{attrs:{"prop":"sealNum","label":"执业印章号","min-width":"50","align":"left"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.sealNum))])]}}])}),_c('sh-table-column',{attrs:{"prop":"certificateAgency","label":"发证机关","min-width":"50","align":"left"}}),_c('sh-table-column',{attrs:{"formatter":_vm.formatDate,"prop":"certificateDate","label":"发证日期","min-width":"40","align":"left"}}),_c('sh-table-column',{attrs:{"label":"证书有效期","min-width":"65","align":"left"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('span',[_vm._v(_vm._s(_vm.formatterDate(scope.row.certificateStartDate) || '-')+" 至 "+_vm._s(_vm.formatterDate(scope.row.certificateEndDate) || '-'))])]}}])}),_c('sh-table-column',{attrs:{"prop":"fileName","label":"附件","min-width":"60","align":"left"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.fileList && scope.row.fileList.length > 0)?_c('el-button',{attrs:{"type":"text"},nativeOn:{"click":function($event){return _vm.viewPdf(scope.row.fileList[0])}}},[_vm._v(_vm._s(scope.row.fileList[0].fileName))]):_vm._e()]}}])}),_c('sh-table-column',{attrs:{"label":"操作","width":"150"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('el-button',{attrs:{"disabled":!_vm.editFlag,"type":"text"},nativeOn:{"click":function($event){return _vm.editUnitPersonCertList(scope.row, scope.$index)}}},[_vm._v("编辑")]),_c('el-button',{attrs:{"disabled":!_vm.editFlag,"type":"text"},nativeOn:{"click":function($event){return _vm.deleteItem(scope.row, scope.$index)}}},[_vm._v("删除")])]}}])})],1)],2)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeCollapse3),callback:function ($$v) {_vm.activeCollapse3=$$v},expression:"activeCollapse3"}},[_c('el-collapse-item',{attrs:{"name":"1"}},[_c('template',{slot:"title"},[_c('div',{staticClass:"bnt-st"},[_c('span',[_vm._v("上传附件")]),(_vm.editFlag)?_c('el-button',{attrs:{"type":"primary"},nativeOn:{"click":[function($event){$event.stopPropagation();return _vm.uploadFile.apply(null, arguments)},function($event){_vm.editFlag = true}]}},[_vm._v("新增")]):_vm._e()],1)]),_c('FileList',{ref:"fileList",attrs:{"tableList":_vm.form.fileList,"formId":_vm.basePersonId,"type":_vm.type,"editFlag":_vm.editFlag},on:{"update:tableList":function($event){return _vm.$set(_vm.form, "fileList", $event)},"update:table-list":function($event){return _vm.$set(_vm.form, "fileList", $event)}}})],2)],1)],1)])],1)],1)]),_c('div',{directives:[{name:"show",rawName:"v-show",value:(_vm.tabActive==='second'),expression:"tabActive==='second'"}],staticClass:"user"},[_c('div',{staticClass:"tab"},[_c('el-container',{staticClass:"info"},[_c('el-aside',{attrs:{"width":"250px"}},[_c('div',{staticClass:"info-avatar"},[_c('img',{attrs:{"width":"207px","height":"276px","src":_vm.form.headImage?_vm.form.headImage:__webpack_require__("53ed"),"alt":""}})]),_c('sh-form',{staticClass:"form",attrs:{"className":"xy-form","isStyle":false}},[_c('sh-form-item',{attrs:{"label":"姓名:"}},[_c('span',{staticClass:"active"},[_vm._v(" "+_vm._s(_vm.form.realName || '-')+" ")])]),_c('sh-form-item',{attrs:{"label":"性别:"}},[_vm._v(_vm._s(_vm.form.sex || '-'))]),_c('sh-form-item',{attrs:{"label":"所属企业:"}},[_c('ellipsis-tooltip',{attrs:{"text":_vm.form.unitName ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"部门:"}},[_vm._v(_vm._s(_vm.form.managementName||'-'))]),_c('sh-form-item',{attrs:{"label":"职务:"}},[_vm._v(_vm._s(_vm.form.duty||'-'))])],1)],1),_c('el-main',[_c('div',{staticClass:"main"},[_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeOfficeCollapse),callback:function ($$v) {_vm.activeOfficeCollapse=$$v},expression:"activeOfficeCollapse"}},[_c('el-collapse-item',{attrs:{"title":"基本信息","name":"1"}},[_c('sh-form',{staticClass:"info-form",attrs:{"className":"xy-form","isStyle":false,"labelWidth":"120px"}},[_c('sh-form-item',{attrs:{"label":"姓名:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.realName||_vm.form.ucName||'-'))])]),_c('sh-form-item',{attrs:{"label":"性别:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.sex||'-'))])]),_c('sh-form-item',{attrs:{"label":"手机号:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.phone||'-'))])]),_c('sh-form-item',{attrs:{"label":"身份证号:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.credentialsNum||'-'))])]),_c('sh-form-item',{attrs:{"label":"政治面貌:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.politicsStatus?_vm.politicsStatusList[_vm.form.politicsStatus-1].label:'-'))])]),_c('sh-form-item',{attrs:{"label":"出生日期:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.birthDay ? _vm.formatterDate(_vm.form.birthDay) : '-'))])]),_c('sh-form-item',{attrs:{"label":"婚姻状态:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.maritalStatus?_vm.maritalStatusList[_vm.form.maritalStatus-1].label:'-'))])]),_c('sh-form-item',{attrs:{"label":"户籍:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.birthPlace||'-'))])]),_c('sh-form-item',{attrs:{"label":"现居住地:","span":12}},[_c('span',[_vm._v(_vm._s(_vm.form.currentAddress||'-'))])])],1)],1)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeEducation),callback:function ($$v) {_vm.activeEducation=$$v},expression:"activeEducation"}},[_c('el-collapse-item',{attrs:{"title":"教育经历","name":"1"}},_vm._l((_vm.form.educationBackgroundList),function(item,index){return _c('sh-form',{key:index,staticClass:"info-form",attrs:{"className":"xy-form","isStyle":false}},[_c('sh-form-item',{attrs:{"label":"学校名称:","span":6}},[_c('ellipsis-tooltip',{attrs:{"text":item.schoolName ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"专业:","span":5}},[_c('ellipsis-tooltip',{attrs:{"text":item.major ||'-'}})],1),_c('sh-form-item',{staticStyle:{"padding-right":"0px"},attrs:{"label":"学历:","span":5}},[(false)?undefined:_c('span',[_vm._v(_vm._s(item.educationBackground||item.educationBackground===0?_vm.educationBackgroundList[item.educationBackground].label:'')+_vm._s(item.learnForm&item.educationBackground>3?'/'+_vm.learnFormList[item.learnForm-1].label:''))])],1),_c('sh-form-item',{attrs:{"label":"毕业日期:","span":6}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.formatterDate(item.graduateDate)))])],1)],1)}),1)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeCollapse5),callback:function ($$v) {_vm.activeCollapse5=$$v},expression:"activeCollapse5"}},[_c('el-collapse-item',{attrs:{"title":"荣誉证书","name":"1"}},_vm._l((_vm.form.certificateList),function(item,index){return _c('sh-form',{key:index,staticClass:"info-form",attrs:{"className":"xy-form","isStyle":false}},[_c('sh-form-item',{attrs:{"label":"证书名称:","span":4}},[(false)?undefined:_c('ellipsis-tooltip',{attrs:{"text":item.certificateName ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"证书编号:","span":4}},[(false)?undefined:_c('ellipsis-tooltip',{attrs:{"text":item.certificateNumber ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"发证单位:","span":4}},[_c('ellipsis-tooltip',{attrs:{"text":item.certificateReleaseUnit ||'-'}})],1),_c('sh-form-item',{attrs:{"label":"发证日期:","span":5}},[_c('span',[_vm._v(_vm._s(item.certificateStartDate?_vm.$dayjs(item.certificateStartDate).format('YYYY-MM-DD'):'-'))])]),_c('sh-form-item',{attrs:{"label":"有效日期:","span":5}},[_c('span',[_vm._v(_vm._s(item.certificateEffectiveDate?_vm.$dayjs(item.certificateEffectiveDate).format('YYYY-MM-DD'):'-'))])])],1)}),1)],1),_c('el-collapse',{staticClass:"collapse",model:{value:(_vm.activeCollapse6),callback:function ($$v) {_vm.activeCollapse6=$$v},expression:"activeCollapse6"}},[_c('el-collapse-item',{attrs:{"title":"紧急联系人","name":"1"}},[_c('sh-form',{staticClass:"info-form",attrs:{"isStyle":false,"labelWidth":"120px","className":"xy-form"}},[_c('sh-form-item',{attrs:{"label":"紧急联系人:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContact))])],1),_c('sh-form-item',{attrs:{"label":"亲属关系:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContactAppellation))])],1),_c('sh-form-item',{attrs:{"label":"联系人电话:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContactPhone))])],1),_c('sh-form-item',{attrs:{"label":"联系人地址:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContactAddress))])],1),_c('sh-form-item',{attrs:{"label":"联系人工作单位:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContactWorkUnit))])],1),_c('sh-form-item',{attrs:{"label":"联系人职务:","span":12}},[(false)?undefined:_c('span',[_vm._v(_vm._s(_vm.form.emergencyContactDuty))])],1)],1)],1)],1)],1)])],1)],1)])]),_c('sh-pdf-diglog',{attrs:{"dialogVisible":_vm.dialogVisiblePdf,"param":{id: this.pdfId},"title":"附件预览"},on:{"update:dialogVisible":function($event){_vm.dialogVisiblePdf=$event},"update:dialog-visible":function($event){_vm.dialogVisiblePdf=$event}}}),_c('sh-upload',{ref:"upload",attrs:{"api":_vm.annexApi,"size":20},on:{"callBack":_vm.callBack}}),_c('PersonCertDialog',{ref:"personCertDialog",attrs:{"title":'资质信息'},on:{"callBackEdit":_vm.callBackPersonCertEdit,"callBackAdd":_vm.callBackPersonCertAdd,"loadList":function($event){return _vm.getDetailById(_vm.basePersonId)}}})],1)}
var Indexvue_type_template_id_83d8b084_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/Index.vue?vue&type=template&id=83d8b084&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/PersonCertDialog.vue?vue&type=template&id=a7b2fd34&scoped=true&
var PersonCertDialogvue_type_template_id_a7b2fd34_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sh-dialog',{attrs:{"modal":true,"title":_vm.title,"visible":_vm.dialogFormVisible,"close-on-click-modal":false,"width":"1000px","height":"630px","scroll":true},on:{"update:visible":function($event){_vm.dialogFormVisible=$event}}},[_c('p',{staticClass:"title"},[_c('i',{staticClass:"el-icon-s-grid"}),_vm._v(" 基本信息")]),_c('sh-form',{ref:"form",attrs:{"model":_vm.form,"labelWidth":"130px","disabled":_vm.disabled}},[_c('sh-form-item',{attrs:{"rules":"required","label":"证书(注册)类别","prop":"certificateType","span":12}},[_c('el-input',{attrs:{"placeholder":"请输入证书(注册)类别"},model:{value:(_vm.form.certificateType),callback:function ($$v) {_vm.$set(_vm.form, "certificateType", $$v)},expression:"form.certificateType"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"证书编号","prop":"certificateNum","span":12}},[_c('el-input',{attrs:{"placeholder":"请输入证书编号"},model:{value:(_vm.form.certificateNum),callback:function ($$v) {_vm.$set(_vm.form, "certificateNum", $$v)},expression:"form.certificateNum"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"执业印章号","prop":"sealNum","span":12}},[_c('el-input',{attrs:{"placeholder":"请输入执业印章号"},model:{value:(_vm.form.sealNum),callback:function ($$v) {_vm.$set(_vm.form, "sealNum", $$v)},expression:"form.sealNum"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"发证机关","prop":"certificateAgency","span":12}},[_c('el-input',{attrs:{"placeholder":"请输入发证机关"},model:{value:(_vm.form.certificateAgency),callback:function ($$v) {_vm.$set(_vm.form, "certificateAgency", $$v)},expression:"form.certificateAgency"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"发证日期","prop":"certificateDate","span":12}},[_c('el-date-picker',{attrs:{"type":"date","placeholder":"请选择时间","value-format":"yyyy-MM-dd"},model:{value:(_vm.form.certificateDate),callback:function ($$v) {_vm.$set(_vm.form, "certificateDate", $$v)},expression:"form.certificateDate"}})],1),_c('sh-form-item',{attrs:{"rules":"required","label":"证书有效期","prop":"between","span":12}},[_c('QuickDatePicker',{model:{value:(_vm.form.between),callback:function ($$v) {_vm.$set(_vm.form, "between", $$v)},expression:"form.between"}})],1),_c('sh-form-item',{attrs:{"label":"附件","prop":"name","span":12}},[_c('SingleFileUpload',{attrs:{"singleFileList":_vm.form.fileList,"type":_vm.type},on:{"update:singleFileList":function($event){return _vm.$set(_vm.form, "fileList", $event)},"update:single-file-list":function($event){return _vm.$set(_vm.form, "fileList", $event)}}})],1),_c('sh-form-item',{attrs:{"labelWidth":"0px","span":24}})],1),_c('div',{staticClass:"dialog-footer",attrs:{"slot":"footer"},slot:"footer"},[_c('el-button',{on:{"click":function($event){_vm.dialogFormVisible = false}}},[_vm._v("关 闭")]),_c('el-button',{attrs:{"type":"primary"},on:{"click":function($event){return _vm.onSave()}}},[_vm._v("保 存")])],1)],1),_c('sh-upload',{ref:"upload",attrs:{"api":_vm.annexApi,"size":20},on:{"callBack":_vm.callBack}})],1)}
var PersonCertDialogvue_type_template_id_a7b2fd34_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/PersonCertDialog.vue?vue&type=template&id=a7b2fd34&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/QuickDatePicker.vue?vue&type=template&id=32f297de&scoped=true&
var QuickDatePickervue_type_template_id_32f297de_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-date-picker',_vm._g(_vm._b({attrs:{"value-format":"yyyy-MM-dd","type":"daterange","align":"left","unlink-panels":"","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","picker-options":_vm.pickerOptions},model:{value:(_vm.input),callback:function ($$v) {_vm.input=$$v},expression:"input"}},'el-date-picker',_vm.$attrs,false),_vm.$listeners))}
var QuickDatePickervue_type_template_id_32f297de_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/QuickDatePicker.vue?vue&type=template&id=32f297de&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/QuickDatePicker.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
/* harmony default export */ var personalInfo_QuickDatePickervue_type_script_lang_js_ = ({
  props: {
    value: null
  },
  data: function data() {
    return {
      input: '',
      pickerOptions: {
        shortcuts: [{
          text: '最近一周',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近一个月',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
            picker.$emit('pick', [start, end]);
          }
        }, {
          text: '最近三个月',
          onClick: function onClick(picker) {
            var end = new Date();
            var start = new Date();
            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
            picker.$emit('pick', [start, end]);
          }
        }]
      }
    };
  },
  watch: {
    input: function input(val) {
      this.changeVal(val);
    },
    value: {
      handler: function handler(val) {
        this.input = val;
        this.changeVal(val);
      },
      immediate: true
    }
  },
  methods: {
    changeVal: function changeVal(val) {
      if (val && val.length) {
        this.$emit('input', val);
        this.$emit('update:start', val[0]);
        this.$emit('update:end', val[1]);
        this.$emit('update:startValueOf', this.$dayjs(val[0]).valueOf());
        this.$emit('update:endValueOf', this.$dayjs(val[1]).valueOf());
      } else {
        this.$emit('input', val);
        this.$emit('update:start', '');
        this.$emit('update:end', '');
        this.$emit('update:startValueOf', '');
        this.$emit('update:endValueOf', '');
      }
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/QuickDatePicker.vue?vue&type=script&lang=js&
 /* harmony default export */ var page_personalInfo_QuickDatePickervue_type_script_lang_js_ = (personalInfo_QuickDatePickervue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/personalInfo/QuickDatePicker.vue





/* normalize component */

var personalInfo_QuickDatePicker_component = normalizeComponent(
  page_personalInfo_QuickDatePickervue_type_script_lang_js_,
  QuickDatePickervue_type_template_id_32f297de_scoped_true_render,
  QuickDatePickervue_type_template_id_32f297de_scoped_true_staticRenderFns,
  false,
  null,
  "32f297de",
  null
  
)

/* harmony default export */ var personalInfo_QuickDatePicker = (personalInfo_QuickDatePicker_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/SingleFileUpload.vue?vue&type=template&id=5c4bca78&scoped=true&
var SingleFileUploadvue_type_template_id_5c4bca78_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.list && _vm.list.length > 0)?_c('div',{staticClass:"single-upload"},[_c('div',{staticClass:"left"},[_c('img',{attrs:{"src":__webpack_require__("3534")}}),_c('el-tooltip',{attrs:{"content":_vm.list[0].fileName,"placement":"top"}},[_c('div',{staticClass:"text-value"},[_vm._v(_vm._s(_vm.list[0].fileName))])])],1),_c('div',{staticClass:"right"},[_c('el-tooltip',{attrs:{"content":"预览","placement":"top"}},[_c('i',{staticClass:"iconfont  sh-icon-chakanwenjian",staticStyle:{"color":"#8996af"},on:{"click":function($event){return _vm.viewPdf(_vm.list[0])}}})]),(_vm.type != 'view')?_c('el-tooltip',{attrs:{"content":"重新上传","placement":"top"}},[_c('i',{staticClass:"iconfont sh-icon-zhongxinshangchuan",staticStyle:{"color":"#8996af"},on:{"click":_vm.uploadImg}})]):_vm._e(),(_vm.type != 'view')?_c('el-tooltip',{attrs:{"content":"删除图片","placement":"top"}},[_c('i',{staticClass:"iconfont sh-icon-shanchu",staticStyle:{"color":"#8996af"},on:{"click":function($event){return _vm.onDelete(_vm.list[0])}}})]):_vm._e()],1)]):_c('div',{staticClass:"single-upload"},[(_vm.type != 'view')?_c('div',[_c('el-button',{attrs:{"type":"primary"},on:{"click":_vm.uploadImg}},[_vm._v("上传附件")]),_c('span',{staticClass:"allow-img"},[_vm._v("（文件仅限.pdf格式） ")])],1):_c('div',[_vm._v("-")])]),_c('sh-pdf-diglog',{attrs:{"dialogVisible":_vm.dialogVisiblePdf,"param":{id: this.pdfId},"title":"附件预览"},on:{"update:dialogVisible":function($event){_vm.dialogVisiblePdf=$event},"update:dialog-visible":function($event){_vm.dialogVisiblePdf=$event}}}),_c('sh-upload',{ref:"upload",attrs:{"accept":_vm.accept,"api":_vm.annexApi,"limit":1},on:{"callBack":_vm.callBackFileList}})],1)}
var SingleFileUploadvue_type_template_id_5c4bca78_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/SingleFileUpload.vue?vue&type=template&id=5c4bca78&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/SingleFileUpload.vue?vue&type=script&lang=js&




//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
// import { ANNEX_ADD, FILE_DOWNLOAD, ANNEX_DOWNLOAD, ANNEX_DELETE } from '@/apis/admin'
/* harmony default export */ var personalInfo_SingleFileUploadvue_type_script_lang_js_ = ({
  props: {
    type: String,
    singleFileList: {
      type: Array,
      default: function _default() {
        return [];
      }
    },
    accept: {
      type: Array,
      default: function _default() {
        return ['pdf'];
      }
    }
  },
  watch: {
    singleFileList: {
      handler: function handler(val) {
        if (val) {
          this.list = _toConsumableArray(val);
        }
      },
      immediate: true,
      deep: true
    }
  },
  data: function data() {
    return {
      annexApi: '',
      downloadApi: '',
      dialogVisiblePdf: false,
      pdfId: '',
      list: []
    };
  },
  mounted: function mounted() {
    this.annexApi = this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle';
    this.downloadApi = this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download';
  },
  methods: {
    uploadImg: function uploadImg() {
      this.$refs.upload.uploadFile();
    },
    callBackFileList: function callBackFileList(data) {
      !this.list ? this.list = [] : '';
      this.list = _toConsumableArray(data.data);
      this.$emit('update:singleFileList', this.list);
    },
    onDelete: function onDelete(row) {
      var _this = this;

      // 删除附件
      this.$deleteInfo(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/delete', {
        id: row.id
      }, '', function () {
        _this.list.splice(0, 1);

        _this.$emit('update:singleFileList', _this.list);
      });
    },
    isFileType: function isFileType(fileName, type) {
      // 判断文件类型
      var nameArr = fileName.split('.');
      var suffix = nameArr[nameArr.length - 1];
      return type.split('||').indexOf(suffix) !== -1;
    },
    downLoad: function downLoad(row) {
      // 下载附件
      this.$downloadFile(this.downloadApi, {
        id: row.id
      }, row.fileName.split('.')[0]);
    },
    viewPdf: function viewPdf(row) {
      // 预览paf
      this.pdfId = row.id;
      this.dialogVisiblePdf = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/SingleFileUpload.vue?vue&type=script&lang=js&
 /* harmony default export */ var page_personalInfo_SingleFileUploadvue_type_script_lang_js_ = (personalInfo_SingleFileUploadvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/personalInfo/SingleFileUpload.vue?vue&type=style&index=0&id=5c4bca78&lang=scss&scoped=true&
var SingleFileUploadvue_type_style_index_0_id_5c4bca78_lang_scss_scoped_true_ = __webpack_require__("d9fe");

// CONCATENATED MODULE: ./packages/page/personalInfo/SingleFileUpload.vue






/* normalize component */

var personalInfo_SingleFileUpload_component = normalizeComponent(
  page_personalInfo_SingleFileUploadvue_type_script_lang_js_,
  SingleFileUploadvue_type_template_id_5c4bca78_scoped_true_render,
  SingleFileUploadvue_type_template_id_5c4bca78_scoped_true_staticRenderFns,
  false,
  null,
  "5c4bca78",
  null
  
)

/* harmony default export */ var personalInfo_SingleFileUpload = (personalInfo_SingleFileUpload_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/PersonCertDialog.vue?vue&type=script&lang=js&




//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//



/* harmony default export */ var PersonCertDialogvue_type_script_lang_js_ = ({
  components: {
    QuickDatePicker: personalInfo_QuickDatePicker,
    SingleFileUpload: personalInfo_SingleFileUpload
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['env'])),
  data: function data() {
    return {
      dialogFormVisible: false,
      title: '资质证书',
      // 标题
      annexApi: '',
      form: {
        between: [],
        certificateDate: null,
        fileList: []
      },
      type: ''
    };
  },
  mounted: function mounted() {
    this.annexApi = this.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle';
  },
  methods: {
    addFile: function addFile() {
      this.form.companyAptitudeCategoryList.push({});
    },
    deleteItem: function deleteItem(index) {
      this.form.companyAptitudeCategoryList.splice(index, 1);
    },
    uploadFile: function uploadFile() {
      this.$refs.upload.uploadFile();
    },
    callBack: function callBack(data) {
      this.newestFileList = [].concat(_toConsumableArray(this.newestFileList), _toConsumableArray(data.data));
      this.form.fileList = [].concat(_toConsumableArray(this.form.fileList), _toConsumableArray(data.data));
    },
    loadList: function loadList() {
      this.$refs.table.loadList();
    },
    getForm: function getForm() {
      if (this.form.between && this.form.between.length > 0) {
        this.form.certificateStartDate = this.form.between[0];
        this.form.certificateEndDate = this.form.between[1];
      }
    },
    onSave: function onSave() {
      var _this = this;

      this.getForm();
      this.$refs.form.validate(function (valid) {
        if (valid) {
          if (_this.type === 'add') {
            _this.$emit('callBackAdd', _this.form);
          } else if (_this.type === 'edit') {
            _this.$emit('callBackEdit', _this.form);
          }

          _this.dialogFormVisible = false;
        }
      });
    },
    initForm: function initForm() {
      this.form.between = [];

      if (this.form.certificateStartDate && this.form.certificateEndDate) {
        this.form.between.push(this.form.certificateStartDate);
        this.form.between.push(this.form.certificateEndDate);
      }
    },
    init: function init(type, param) {
      var _this2 = this;

      this.dialogFormVisible = true;
      this.type = type;
      this.form = this.$options.data.call().form; // this.$refs.form && this.$refs.form.resetFields()

      this.$nextTick(function () {
        _this2.$refs.form.resetFields();

        if (type === 'view') {
          _this2.form = _objectSpread2(_objectSpread2({}, _this2.form), param);

          _this2.initForm();
        } else if (type === 'edit') {
          _this2.form = _objectSpread2(_objectSpread2({}, _this2.form), param);

          _this2.initForm();
        } else {
          _this2.form = _objectSpread2(_objectSpread2({}, _this2.form), param);
        }
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/PersonCertDialog.vue?vue&type=script&lang=js&
 /* harmony default export */ var personalInfo_PersonCertDialogvue_type_script_lang_js_ = (PersonCertDialogvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/personalInfo/PersonCertDialog.vue?vue&type=style&index=0&id=a7b2fd34&lang=scss&scoped=true&
var PersonCertDialogvue_type_style_index_0_id_a7b2fd34_lang_scss_scoped_true_ = __webpack_require__("0f67");

// CONCATENATED MODULE: ./packages/page/personalInfo/PersonCertDialog.vue






/* normalize component */

var PersonCertDialog_component = normalizeComponent(
  personalInfo_PersonCertDialogvue_type_script_lang_js_,
  PersonCertDialogvue_type_template_id_a7b2fd34_scoped_true_render,
  PersonCertDialogvue_type_template_id_a7b2fd34_scoped_true_staticRenderFns,
  false,
  null,
  "a7b2fd34",
  null
  
)

/* harmony default export */ var PersonCertDialog = (PersonCertDialog_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/EllipsisTooltip.vue?vue&type=template&id=977a0c9e&scoped=true&
var EllipsisTooltipvue_type_template_id_977a0c9e_scoped_true_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('el-tooltip',{attrs:{"effect":_vm.dark,"content":_vm.text,"disabled":_vm.disableTip,"placement":_vm.placement}},[_c('div',{staticClass:"ellipsis",on:{"mouseover":_vm.onMouseOver}},[_c('span',{ref:"ellipsis",staticClass:"text",style:({color:_vm.color})},[_vm._v(_vm._s(_vm.text))])])])}
var EllipsisTooltipvue_type_template_id_977a0c9e_scoped_true_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/EllipsisTooltip.vue?vue&type=template&id=977a0c9e&scoped=true&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/EllipsisTooltip.vue?vue&type=script&lang=js&
//
//
//
//
//
//
//
//
/* harmony default export */ var personalInfo_EllipsisTooltipvue_type_script_lang_js_ = ({
  name: 'EllipsisTooltip',
  props: {
    text: {
      type: String,
      default: ''
    },
    placement: {
      type: String,
      default: 'top-start'
    },
    effect: {
      type: String,
      default: 'dark'
    },
    color: String
  },
  data: function data() {
    return {
      disableTip: false
    };
  },
  methods: {
    onMouseOver: function onMouseOver() {
      var parentWidth = this.$refs['ellipsis'].parentNode.offsetWidth;
      var contentWidth = this.$refs['ellipsis'].offsetWidth;
      this.disableTip = contentWidth <= parentWidth;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/EllipsisTooltip.vue?vue&type=script&lang=js&
 /* harmony default export */ var page_personalInfo_EllipsisTooltipvue_type_script_lang_js_ = (personalInfo_EllipsisTooltipvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/personalInfo/EllipsisTooltip.vue?vue&type=style&index=0&id=977a0c9e&scoped=true&lang=scss&
var EllipsisTooltipvue_type_style_index_0_id_977a0c9e_scoped_true_lang_scss_ = __webpack_require__("4818");

// CONCATENATED MODULE: ./packages/page/personalInfo/EllipsisTooltip.vue






/* normalize component */

var personalInfo_EllipsisTooltip_component = normalizeComponent(
  page_personalInfo_EllipsisTooltipvue_type_script_lang_js_,
  EllipsisTooltipvue_type_template_id_977a0c9e_scoped_true_render,
  EllipsisTooltipvue_type_template_id_977a0c9e_scoped_true_staticRenderFns,
  false,
  null,
  "977a0c9e",
  null
  
)

/* harmony default export */ var personalInfo_EllipsisTooltip = (personalInfo_EllipsisTooltip_component.exports);
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"240d2d05-vue-loader-template"}!./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/AnnexList.vue?vue&type=template&id=66db725a&
var AnnexListvue_type_template_id_66db725a_render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('sh-table',{key:Math.random(),ref:"table",staticClass:"space-top",attrs:{"data":_vm.list,"showPage":false,"defaultLoad":false,"empty":false}},[_c('sh-table-column',{attrs:{"type":"index","label":"序号","width":"50"}}),_c('sh-table-column',{attrs:{"prop":"fileName","label":"附件名称","min-width":"80","align":"left"}}),(_vm.type != 'view')?_c('sh-table-column',{attrs:{"prop":"canDownLoad","label":"能否下载","width":"80"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('el-switch',{attrs:{"disabled":!_vm.editFlag,"active-value":1,"inactive-value":0},on:{"change":function($event){return _vm.changeDownlLoad(scope.row)}},model:{value:(scope.row.canDownLoad),callback:function ($$v) {_vm.$set(scope.row, "canDownLoad", $$v)},expression:"scope.row.canDownLoad"}})]}}],null,false,2929193955)}):_vm._e(),_c('sh-table-column',{attrs:{"min-width":"80","prop":"uploadPerson","label":"上传人"}}),_c('sh-table-column',{attrs:{"prop":"fileName","label":"上传时间","min-width":"80"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [_c('span',[_vm._v(_vm._s(scope.row.uploadTime && _vm.$dayjs(scope.row.uploadTime).format('YYYY-MM-DD HH:mm:ss')))])]}}])}),_c('sh-table-column',{attrs:{"label":"操作","min-width":"80"},scopedSlots:_vm._u([{key:"default",fn:function(scope){return [(scope.row.fileName.indexOf('.pdf') != -1)?_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.viewPdf(scope.row)}}},[_vm._v("预览附件")]):(scope.row.fileName.indexOf('.png') != -1 || scope.row.fileName.indexOf('.jpg') != -1||scope.row.fileName.indexOf('.jpeg') != -1)?_c('sh-view-image',{attrs:{"api":_vm.downloadApi,"param":{id: scope.row.id}}},[_vm._v("预览附件")]):_vm._e(),(scope.row.canDownLoad)?_c('el-button',{attrs:{"type":"text"},on:{"click":function($event){return _vm.downLoad(scope.row)}}},[_vm._v("下载附件")]):_vm._e(),(_vm.type == 'add' || _vm.type == 'edit' || !scope.row.refId)?_c('el-button',{attrs:{"type":"text","disabled":!_vm.editFlag},on:{"click":function($event){return _vm.onDelete(scope.row,scope.$index)}}},[_vm._v("删除")]):_vm._e()]}}])})],1),_c('sh-pdf-diglog',{attrs:{"dialogVisible":_vm.dialogVisiblePdf,"param":{id: this.pdfId},"title":"附件预览"},on:{"update:dialogVisible":function($event){_vm.dialogVisiblePdf=$event},"update:dialog-visible":function($event){_vm.dialogVisiblePdf=$event}}})],1)}
var AnnexListvue_type_template_id_66db725a_staticRenderFns = []


// CONCATENATED MODULE: ./packages/page/personalInfo/AnnexList.vue?vue&type=template&id=66db725a&

// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/AnnexList.vue?vue&type=script&lang=js&





//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

/* harmony default export */ var AnnexListvue_type_script_lang_js_ = ({
  props: {
    type: String,
    formId: String,
    tableList: Array,
    editFlag: Boolean
  },
  watch: {
    tableList: {
      handler: function handler(val) {
        this.list = _toConsumableArray(val);
      },
      immediate: true
    }
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  data: function data() {
    return {
      downloadApi: '',
      dialogVisiblePdf: false,
      pdfId: '',
      list: []
    };
  },
  mounted: function mounted() {
    this.downloadApi = this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/download';
  },
  methods: {
    loadList: function loadList() {
      var _this = this;

      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/listFile', {
        refId: this.formId
      }, function (data) {
        _this.$emit('update:tableList', data.data);
      });
    },
    onDelete: function onDelete(row, index) {
      var _this2 = this;

      // 删除附件
      this.$deleteInfo(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/delete', {
        id: row.id
      }, '', function () {
        _this2.list.splice(index, 1);

        _this2.$emit('update:tableList', _this2.list);
      });
    },
    isFileType: function isFileType(fileName, type) {
      // 判断文件类型
      var nameArr = fileName.split('.');
      var suffix = nameArr[nameArr.length - 1];
      return type.split('||').indexOf(suffix) !== -1;
    },
    downLoad: function downLoad(row) {
      // 下载附件
      this.$downloadFile(this.downloadApi, {
        id: row.id
      }, row.fileName.split('.')[0]);
    },
    changeDownlLoad: function changeDownlLoad(row) {
      var _this3 = this;

      // 附件是否下载
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/setDownLoad', {
        ids: row.id,
        canDownLoad: row.canDownLoad
      }, function (data) {
        _this3.$message.success(data.msg);
      });
    },
    viewPdf: function viewPdf(row) {
      // 预览paf
      this.pdfId = row.id;
      this.dialogVisiblePdf = true;
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/AnnexList.vue?vue&type=script&lang=js&
 /* harmony default export */ var personalInfo_AnnexListvue_type_script_lang_js_ = (AnnexListvue_type_script_lang_js_); 
// CONCATENATED MODULE: ./packages/page/personalInfo/AnnexList.vue





/* normalize component */

var AnnexList_component = normalizeComponent(
  personalInfo_AnnexListvue_type_script_lang_js_,
  AnnexListvue_type_template_id_66db725a_render,
  AnnexListvue_type_template_id_66db725a_staticRenderFns,
  false,
  null,
  null,
  null
  
)

/* harmony default export */ var AnnexList = (AnnexList_component.exports);
// CONCATENATED MODULE: ./packages/page/personalInfo/dictionaryData/siku.js
// 文化程度
var siku_skEducationBackgroundType = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '小学'
}, {
  value: 2,
  label: '初中'
}, {
  value: 3,
  label: '中专/高中'
}, {
  value: 4,
  label: '专科'
}, {
  value: 5,
  label: '本科'
}, {
  value: 6,
  label: '硕士研究生'
}, {
  value: 7,
  label: '博士研究生'
}]; // 学位

var siku_skDegressType = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '学士'
}, {
  value: 2,
  label: '硕士'
}, {
  value: 3,
  label: '博士'
}];
var workNatureType = [{
  value: 1,
  label: '试用'
}, {
  value: 2,
  label: '正式'
}, {
  value: 3,
  label: '实习'
}, {
  value: 4,
  label: '特殊'
}];
var maritalStatusList = [{
  value: 1,
  label: '保密'
}, {
  value: 2,
  label: '未婚'
}, {
  value: 3,
  label: '已婚'
}, {
  value: 4,
  label: '离婚'
}, {
  value: 5,
  label: '丧偶'
}];
var educationBackgroundList = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '小学'
}, {
  value: 2,
  label: '初中'
}, {
  value: 3,
  label: '中专/高中'
}, {
  value: 4,
  label: '专科',
  children: [{
    value: 1,
    label: '全日制'
  }, {
    value: 2,
    label: '非全日制'
  }]
}, {
  value: 5,
  label: '本科',
  children: [{
    value: 1,
    label: '全日制'
  }, {
    value: 2,
    label: '非全日制'
  }]
}, {
  value: 6,
  label: '硕士研究生',
  children: [{
    value: 1,
    label: '全日制'
  }, {
    value: 2,
    label: '非全日制'
  }]
}, {
  value: 7,
  label: '博士研究生',
  children: [{
    value: 1,
    label: '全日制'
  }, {
    value: 2,
    label: '非全日制'
  }]
}];
var degreeList = [{
  value: 0,
  label: '无'
}, {
  value: 1,
  label: '学士'
}, {
  value: 2,
  label: '硕士'
}, {
  value: 3,
  label: '博士'
}];
var politicsStatusList = [{
  value: 1,
  label: '普通居民'
}, {
  value: 2,
  label: '共青团员'
}, {
  value: 3,
  label: '中共预备党员'
}, {
  value: 4,
  label: '中共党员'
}];
var learnFormList = [{
  value: 1,
  label: '全日制'
}, {
  value: 2,
  label: '非全日制'
}];
// CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js??ref--12-0!./node_modules/thread-loader/dist/cjs.js!./node_modules/babel-loader/lib!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./packages/page/personalInfo/Index.vue?vue&type=script&lang=js&




//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//




 // 文化程度

/* harmony default export */ var personalInfo_Indexvue_type_script_lang_js_ = ({
  components: {
    PersonCertDialog: PersonCertDialog,
    FileList: AnnexList,
    EllipsisTooltip: personalInfo_EllipsisTooltip
  },
  computed: _objectSpread2({}, Object(external_Vuex_["mapState"])(['user'])),
  data: function data() {
    return {
      annexApi: '',
      editFlag: false,
      tabActive: 'first',
      activeCollapse: '1',
      activeCollapse2: '1',
      activeCollapse3: '1',
      activeOfficeCollapse: '1',
      activeEducation: '1',
      activeCollapse5: '1',
      activeCollapse6: '1',
      form: {
        fileList: [],
        educationBackgroundList: [],
        certificateList: []
      },
      type: '',
      basePersonId: '',
      newestFileList: [],
      skEducationBackgroundType: siku_skEducationBackgroundType,
      skDegressType: siku_skDegressType,
      pdfId: '',
      dialogVisiblePdf: false,
      certIndex: '',
      activeName: 'first',
      organizationId: '',
      // 组织维度id
      workNatureType: workNatureType,
      maritalStatusList: maritalStatusList,
      degreeList: degreeList,
      politicsStatusList: politicsStatusList,
      educationBackgroundList: educationBackgroundList,
      learnFormList: learnFormList
    };
  },
  mounted: function mounted() {
    this.annexApi = this.$store.state.env.VUE_APP_PORT + '/system/sysFileInfo/uploadSingle';
    this.init();
  },
  methods: {
    getParamsValue: function getParamsValue(arr, value) {
      if (arr && arr.length > 0) {
        for (var i = 0; i < arr.length; i++) {
          if (arr[i].value === value) {
            return arr[i].label;
          }
        }
      } else {
        return '-';
      }
    },
    callBackPersonCertAdd: function callBackPersonCertAdd(obj) {
      this.form.unitPersonCertList.unshift(obj);
    },
    callBackPersonCertEdit: function callBackPersonCertEdit(obj) {
      Vue.set(this.form.unitPersonCertList, this.certIndex, obj);
    },

    /**
     * 添加资质
     */
    openUnitPersonCertList: function openUnitPersonCertList() {
      this.$refs.personCertDialog.init('add', {
        basePersonId: this.basePersonId
      });
    },

    /**
     * 编辑资质
     */
    editUnitPersonCertList: function editUnitPersonCertList(row, index) {
      this.certIndex = index;
      this.$refs.personCertDialog.init('edit', _objectSpread2(_objectSpread2({}, row), {}, {
        basePersonId: this.basePersonId
      }));
    },
    deleteItem: function deleteItem(row, index) {
      var _this = this;

      if (row.id) {
        this.$deleteInfo(this.$store.state.env.VUE_APP_PORT + '/system/person/deletePersonCert', {
          id: row.id
        }, '', function () {
          _this.getDetailById(_this.basePersonId);
        });
      } else {
        this.form.unitPersonCertList.splice(index, 1);
      }
    },
    formatDate: function formatDate(row, column) {
      var data = row[column.property];

      if (data == null) {
        return null;
      }

      var dt = new Date(data);
      return this.$dayjs(dt).format('YYYY-MM-DD');
    },
    submit: function submit() {
      var _this2 = this;

      this.getForm();
      this.$store.state.fullscreenLoading = true;
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/person/updatePersonInfo', this.form, function (data) {
        _this2.$message.success(data.msg);

        _this2.editFlag = false;
        _this2.$store.state.fullscreenLoading = false;

        _this2.getDetailById();
      }, function (error) {
        _this2.$store.state.fullscreenLoading = false;

        _this2.$message.error(error.msg);
      });
    },
    viewPdf: function viewPdf(row) {
      // 预览paf
      this.pdfId = row.id;
      this.dialogVisiblePdf = true;
    },
    getForm: function getForm() {
      this.form.originDate ? this.form.originDate = this.$dayjs(this.form.originDate).format('YYYY-MM-DD') : '';
      this.form.birthDay ? this.form.birthDay = this.$dayjs(this.form.birthDay).format('YYYY-MM-DD') : '';
    },
    uploadFile: function uploadFile() {
      this.$refs.upload.uploadFile();
    },
    callBack: function callBack(data) {
      this.newestFileList = [].concat(_toConsumableArray(this.newestFileList), _toConsumableArray(data.data));
      this.form.fileList = [].concat(_toConsumableArray(this.form.fileList), _toConsumableArray(data.data));
    },
    getDetailById: function getDetailById() {
      var _this3 = this;

      this.$store.state.fullscreenLoading = true;
      this.$post(this.$store.state.env.VUE_APP_PORT + '/system/person/getEnterprisePersonInfoByPersonId', {
        personId: this.personId
      }, function (data) {
        _this3.$store.state.fullscreenLoading = false;
        data.data.fileList = data.data.fileList || [];
        data.data.unitPersonCertList = data.data.unitPersonCertList || [];
        _this3.form = _objectSpread2(_objectSpread2({}, _this3.form), data.data);
      }, function (error) {
        _this3.$message.warning(error.msg);

        _this3.$store.state.fullscreenLoading = false;
      });
    },
    // 日期格式化
    formatterDate: function formatterDate(cellValue) {
      if (!cellValue) return '-';
      return this.$dayjs(cellValue).format('YYYY-MM-DD');
    },
    toReturn: function toReturn() {
      this.$router.back();
    },
    init: function init() {
      var _this4 = this;

      this.editFlag = false;
      this.newestFileList = [];
      this.form = this.$options.data.call().form;
      this.$refs.form && this.$refs.form.resetFields();
      this.type = 'edit'; // this.organizationId = param.organizationId

      this.basePersonId = this.user.basePersonId;
      this.personId = this.user.personId;
      this.$nextTick(function () {
        _this4.getDetailById(_this4.basePersonId);
      });
    }
  }
});
// CONCATENATED MODULE: ./packages/page/personalInfo/Index.vue?vue&type=script&lang=js&
 /* harmony default export */ var page_personalInfo_Indexvue_type_script_lang_js_ = (personalInfo_Indexvue_type_script_lang_js_); 
// EXTERNAL MODULE: ./packages/page/personalInfo/Index.vue?vue&type=style&index=0&id=83d8b084&lang=scss&scoped=true&
var Indexvue_type_style_index_0_id_83d8b084_lang_scss_scoped_true_ = __webpack_require__("4d52");

// CONCATENATED MODULE: ./packages/page/personalInfo/Index.vue






/* normalize component */

var personalInfo_Index_component = normalizeComponent(
  page_personalInfo_Indexvue_type_script_lang_js_,
  Indexvue_type_template_id_83d8b084_scoped_true_render,
  Indexvue_type_template_id_83d8b084_scoped_true_staticRenderFns,
  false,
  null,
  "83d8b084",
  null
  
)

/* harmony default export */ var personalInfo_Index = (personalInfo_Index_component.exports);
// CONCATENATED MODULE: ./packages/index.js






 // 使用阿里的icon



 // 公用方法

 // axios封装

 // 引入重写的message



































 // 工作流


 // 页面








 // 默认显超出显示tip

external_ELEMENT_["TableColumn"].props.showOverflowTooltip.default = true; // 默认居中对齐

external_ELEMENT_["TableColumn"].props.align.default = 'center'; // 默认空数据显示斜杠

external_ELEMENT_["TableColumn"].props.formatter.default = function (row, column, cellValue) {
  return cellValue === null || cellValue === '' || cellValue === undefined ? '/' : cellValue;
}; // 默认点箭头图标的时候才会展开或者收缩节点


external_ELEMENT_["Tree"].props.expandOnClickNode.default = false; // 默认点击节点的时候选中节点

external_ELEMENT_["Tree"].props.checkOnClickNode.default = true; // 分页

external_ELEMENT_["Pagination"].props.layout.default = 'total, sizes, prev, pager, next, jumper';

external_ELEMENT_["Pagination"].props.pageSizes.default = function () {
  return [10, 20, 50, 100];
};

var components = [Form, FormItem, Search, SearchArea, Table, external_ELEMENT_["TableColumn"], external_ELEMENT_["Pagination"], Dialog, external_ELEMENT_["Autocomplete"], external_ELEMENT_["Dropdown"], external_ELEMENT_["DropdownMenu"], external_ELEMENT_["DropdownItem"], external_ELEMENT_["Menu"], external_ELEMENT_["Submenu"], external_ELEMENT_["MenuItem"], external_ELEMENT_["MenuItemGroup"], external_ELEMENT_["Input"], external_ELEMENT_["InputNumber"], external_ELEMENT_["Radio"], external_ELEMENT_["RadioGroup"], external_ELEMENT_["RadioButton"], external_ELEMENT_["Checkbox"], external_ELEMENT_["CheckboxButton"], external_ELEMENT_["CheckboxGroup"], external_ELEMENT_["Switch"], external_ELEMENT_["Select"], external_ELEMENT_["Option"], external_ELEMENT_["OptionGroup"], external_ELEMENT_["Button"], external_ELEMENT_["ButtonGroup"], external_ELEMENT_["DatePicker"], external_ELEMENT_["TimeSelect"], external_ELEMENT_["TimePicker"], external_ELEMENT_["Popover"], external_ELEMENT_["Tooltip"], external_ELEMENT_["Breadcrumb"], external_ELEMENT_["BreadcrumbItem"], external_ELEMENT_["Tabs"], external_ELEMENT_["TabPane"], external_ELEMENT_["Tag"], external_ELEMENT_["Tree"], external_ELEMENT_["Alert"], external_ELEMENT_["Slider"], external_ELEMENT_["Icon"], external_ELEMENT_["Row"], external_ELEMENT_["Col"], Upload, external_ELEMENT_["Progress"], external_ELEMENT_["Spinner"], external_ELEMENT_["Badge"], external_ELEMENT_["Card"], external_ELEMENT_["Rate"], external_ELEMENT_["Steps"], external_ELEMENT_["Step"], external_ELEMENT_["Carousel"], external_ELEMENT_["Scrollbar"], external_ELEMENT_["CarouselItem"], external_ELEMENT_["Collapse"], external_ELEMENT_["CollapseItem"], external_ELEMENT_["Cascader"], external_ELEMENT_["ColorPicker"], external_ELEMENT_["Transfer"], external_ELEMENT_["Container"], external_ELEMENT_["Header"], external_ELEMENT_["Aside"], external_ELEMENT_["Main"], external_ELEMENT_["Footer"], external_ELEMENT_["Timeline"], external_ELEMENT_["TimelineItem"], external_ELEMENT_["Link"], external_ELEMENT_["Divider"], external_ELEMENT_["Image"], external_ELEMENT_["Calendar"], external_ELEMENT_["Backtop"], external_ELEMENT_["PageHeader"], external_ELEMENT_["CascaderPanel"], external_ELEMENT_["Avatar"], external_ELEMENT_["Drawer"], external_ELEMENT_["Popconfirm"], external_ELEMENT_["CollapseTransition"], SelectSearch, RegionCascader, Region, TreeDialog, vue_particles, InputEdit, WangEditor, Echarts, ViewImage, Empty, CountRunning, SelectApi, TableBlock, InputSelect, CascaderApi, SelectTree, FormTitle, FormContainer, ActivitiProcess, ActivitiButton, SearchMore, UploadFile, Download, FormItemJson, TableColumnJson, DrawerColumn, PdfDiglog, EllipsisTooltip, SvgIcon]; // 全局引入组件

var packages_install = function install(Vue) {
  var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  components.forEach(function (component) {
    var name = component.name;
    Vue.component("Sh".concat(name.slice(2, name.length)), component);
  });
  Vue.prototype.$ELEMENT = {
    size: 'small',
    zIndex: 2000
  };
  Object.keys(common).forEach(function (item) {
    Vue.prototype["$".concat(item)] = common[item];
  }); // axios注册

  Vue.prototype.$get = ajax_get;
  Vue.prototype.$post = ajax_post;
  Vue.prototype.$getSync = getSync;
  Vue.prototype.$postSync = postSync; // 放开按钮权限

  Vue.prototype.$isCodes = function () {
    return true;
  }; // 日期插件


  Vue.prototype.$dayjs = dayjs_min_default.a; // 重写element消息

  Vue.prototype.$message = message; // 封装配置

  Vue.prototype.$SANHUI = {
    tableClassName: opts.tableClassName || 'sh-table',
    formClassName: opts.formClassName || 'sh-form',
    crumbClassName: opts.crumbClassName || 'sh-crumb'
  };
}; // 判断是否是直接引入文件


if (typeof window !== 'undefined' && window.Vue) {
  packages_install(window.Vue);
  window.SANHUI = {
    Error403: _403,
    Error404: _404,
    Error405: _405,
    Login: Index,
    Layout: layout_Index,
    UserInfo: personalInfo_Index,
    UpdatePassword: UpdatePassword
  };
}

/* harmony default export */ var packages_0 = ({
  install: packages_install
});
// CONCATENATED MODULE: ./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js


/* harmony default export */ var entry_lib = __webpack_exports__["default"] = (packages_0);



/***/ }),

/***/ "fb6a":
/***/ (function(module, exports, __webpack_require__) {

"use strict";

var $ = __webpack_require__("23e7");
var global = __webpack_require__("da84");
var isArray = __webpack_require__("e8b5");
var isConstructor = __webpack_require__("68ee");
var isObject = __webpack_require__("861d");
var toAbsoluteIndex = __webpack_require__("23cb");
var lengthOfArrayLike = __webpack_require__("07fa");
var toIndexedObject = __webpack_require__("fc6a");
var createProperty = __webpack_require__("8418");
var wellKnownSymbol = __webpack_require__("b622");
var arrayMethodHasSpeciesSupport = __webpack_require__("1dde");
var un$Slice = __webpack_require__("f36a");

var HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');

var SPECIES = wellKnownSymbol('species');
var Array = global.Array;
var max = Math.max;

// `Array.prototype.slice` method
// https://tc39.es/ecma262/#sec-array.prototype.slice
// fallback for not array-like ES3 strings and DOM objects
$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {
  slice: function slice(start, end) {
    var O = toIndexedObject(this);
    var length = lengthOfArrayLike(O);
    var k = toAbsoluteIndex(start, length);
    var fin = toAbsoluteIndex(end === undefined ? length : end, length);
    // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible
    var Constructor, result, n;
    if (isArray(O)) {
      Constructor = O.constructor;
      // cross-realm fallback
      if (isConstructor(Constructor) && (Constructor === Array || isArray(Constructor.prototype))) {
        Constructor = undefined;
      } else if (isObject(Constructor)) {
        Constructor = Constructor[SPECIES];
        if (Constructor === null) Constructor = undefined;
      }
      if (Constructor === Array || Constructor === undefined) {
        return un$Slice(O, k, fin);
      }
    }
    result = new (Constructor === undefined ? Array : Constructor)(max(fin - k, 0));
    for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);
    result.length = n;
    return result;
  }
});


/***/ }),

/***/ "fc6a":
/***/ (function(module, exports, __webpack_require__) {

// toObject with fallback for non-array-like ES3 strings
var IndexedObject = __webpack_require__("44ad");
var requireObjectCoercible = __webpack_require__("1d80");

module.exports = function (it) {
  return IndexedObject(requireObjectCoercible(it));
};


/***/ }),

/***/ "fce3":
/***/ (function(module, exports, __webpack_require__) {

var fails = __webpack_require__("d039");
var global = __webpack_require__("da84");

// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
var $RegExp = global.RegExp;

module.exports = fails(function () {
  var re = $RegExp('.', 's');
  return !(re.dotAll && re.exec('\n') && re.flags === 's');
});


/***/ }),

/***/ "fcf4":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ }),

/***/ "fdbc":
/***/ (function(module, exports) {

// iterable DOM collections
// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods
module.exports = {
  CSSRuleList: 0,
  CSSStyleDeclaration: 0,
  CSSValueList: 0,
  ClientRectList: 0,
  DOMRectList: 0,
  DOMStringList: 0,
  DOMTokenList: 1,
  DataTransferItemList: 0,
  FileList: 0,
  HTMLAllCollection: 0,
  HTMLCollection: 0,
  HTMLFormElement: 0,
  HTMLSelectElement: 0,
  MediaList: 0,
  MimeTypeArray: 0,
  NamedNodeMap: 0,
  NodeList: 1,
  PaintRequestList: 0,
  Plugin: 0,
  PluginArray: 0,
  SVGLengthList: 0,
  SVGNumberList: 0,
  SVGPathSegList: 0,
  SVGPointList: 0,
  SVGStringList: 0,
  SVGTransformList: 0,
  SourceBufferList: 0,
  StyleSheetList: 0,
  TextTrackCueList: 0,
  TextTrackList: 0,
  TouchList: 0
};


/***/ }),

/***/ "fdbf":
/***/ (function(module, exports, __webpack_require__) {

/* eslint-disable es/no-symbol -- required for testing */
var NATIVE_SYMBOL = __webpack_require__("4930");

module.exports = NATIVE_SYMBOL
  && !Symbol.sham
  && typeof Symbol.iterator == 'symbol';


/***/ }),

/***/ "fea9":
/***/ (function(module, exports, __webpack_require__) {

var global = __webpack_require__("da84");

module.exports = global.Promise;


/***/ }),

/***/ "fee4":
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutHybridMenu_vue_vue_type_style_index_0_id_53ea189f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__("4238");
/* harmony import */ var _node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutHybridMenu_vue_vue_type_style_index_0_id_53ea189f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_mini_css_extract_plugin_dist_loader_js_ref_8_oneOf_1_0_node_modules_css_loader_dist_cjs_js_ref_8_oneOf_1_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_src_index_js_ref_8_oneOf_1_2_node_modules_sass_loader_dist_cjs_js_ref_8_oneOf_1_3_node_modules_cache_loader_dist_cjs_js_ref_0_0_node_modules_vue_loader_lib_index_js_vue_loader_options_LayoutHybridMenu_vue_vue_type_style_index_0_id_53ea189f_lang_scss_scoped_true___WEBPACK_IMPORTED_MODULE_0__);
/* unused harmony reexport * */


/***/ }),

/***/ "ffc0":
/***/ (function(module, exports, __webpack_require__) {

// extracted by mini-css-extract-plugin

/***/ })

/******/ });
});