UNPKG

pdfjs-dist

Version:

Generic build of Mozilla's PDF.js library.

1,470 lines (1,218 loc) • 2.32 MB
/** * @licstart The following is the entire license notice for the * Javascript code in this page * * Copyright 2021 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(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define("pdfjs-dist/build/pdf.worker", [], factory); else if(typeof exports === 'object') exports["pdfjs-dist/build/pdf.worker"] = factory(); else root["pdfjs-dist/build/pdf.worker"] = root.pdfjsWorker = factory(); })(this, function() { return /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ([ /* 0 */, /* 1 */ /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => { "use strict"; Object.defineProperty(exports, "__esModule", ({ value: true })); exports.WorkerTask = exports.WorkerMessageHandler = void 0; var _regenerator = _interopRequireDefault(__w_pdfjs_require__(2)); var _util = __w_pdfjs_require__(4); var _primitives = __w_pdfjs_require__(125); var _pdf_manager = __w_pdfjs_require__(126); var _writer = __w_pdfjs_require__(168); var _is_node = __w_pdfjs_require__(6); var _message_handler = __w_pdfjs_require__(189); var _worker_stream = __w_pdfjs_require__(190); var _core_utils = __w_pdfjs_require__(128); 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(_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 _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); } function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } 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); }); }; } 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 WorkerTask = /*#__PURE__*/function () { function WorkerTask(name) { _classCallCheck(this, WorkerTask); this.name = name; this.terminated = false; this._capability = (0, _util.createPromiseCapability)(); } _createClass(WorkerTask, [{ key: "finished", get: function get() { return this._capability.promise; } }, { key: "finish", value: function finish() { this._capability.resolve(); } }, { key: "terminate", value: function terminate() { this.terminated = true; } }, { key: "ensureNotTerminated", value: function ensureNotTerminated() { if (this.terminated) { throw new Error("Worker task was terminated"); } } }]); return WorkerTask; }(); exports.WorkerTask = WorkerTask; var WorkerMessageHandler = /*#__PURE__*/function () { function WorkerMessageHandler() { _classCallCheck(this, WorkerMessageHandler); } _createClass(WorkerMessageHandler, null, [{ key: "setup", value: function setup(handler, port) { var testMessageProcessed = false; handler.on("test", function wphSetupTest(data) { if (testMessageProcessed) { return; } testMessageProcessed = true; if (!(data instanceof Uint8Array)) { handler.send("test", null); return; } var supportTransfers = data[0] === 255; handler.postMessageTransfers = supportTransfers; handler.send("test", { supportTransfers: supportTransfers }); }); handler.on("configure", function wphConfigure(data) { (0, _util.setVerbosityLevel)(data.verbosity); }); handler.on("GetDocRequest", function wphSetupDoc(data) { return WorkerMessageHandler.createDocumentHandler(data, port); }); } }, { key: "createDocumentHandler", value: function createDocumentHandler(docParams, port) { var pdfManager; var terminated = false; var cancelXHRs = null; var WorkerTasks = []; var verbosity = (0, _util.getVerbosityLevel)(); var apiVersion = docParams.apiVersion; var workerVersion = '2.8.335'; if (apiVersion !== workerVersion) { throw new Error("The API version \"".concat(apiVersion, "\" does not match ") + "the Worker version \"".concat(workerVersion, "\".")); } var enumerableProperties = []; for (var property in []) { enumerableProperties.push(property); } if (enumerableProperties.length) { throw new Error("The `Array.prototype` contains unexpected enumerable properties: " + enumerableProperties.join(", ") + "; thus breaking e.g. `for...in` iteration of `Array`s."); } var docId = docParams.docId; var docBaseUrl = docParams.docBaseUrl; var workerHandlerName = docParams.docId + "_worker"; var handler = new _message_handler.MessageHandler(workerHandlerName, docId, port); handler.postMessageTransfers = docParams.postMessageTransfers; function ensureNotTerminated() { if (terminated) { throw new Error("Worker was terminated"); } } function startWorkerTask(task) { WorkerTasks.push(task); } function finishWorkerTask(task) { task.finish(); var i = WorkerTasks.indexOf(task); WorkerTasks.splice(i, 1); } function loadDocument(_x) { return _loadDocument.apply(this, arguments); } function _loadDocument() { _loadDocument = _asyncToGenerator( /*#__PURE__*/_regenerator["default"].mark(function _callee(recoveryMode) { var _yield$Promise$all, _yield$Promise$all2, numPages, fingerprint, isPureXfa; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: _context.next = 2; return pdfManager.ensureDoc("checkHeader"); case 2: _context.next = 4; return pdfManager.ensureDoc("parseStartXRef"); case 4: _context.next = 6; return pdfManager.ensureDoc("parse", [recoveryMode]); case 6: if (recoveryMode) { _context.next = 9; break; } _context.next = 9; return pdfManager.ensureDoc("checkFirstPage"); case 9: _context.next = 11; return Promise.all([pdfManager.ensureDoc("numPages"), pdfManager.ensureDoc("fingerprint"), pdfManager.ensureDoc("isPureXfa")]); case 11: _yield$Promise$all = _context.sent; _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 3); numPages = _yield$Promise$all2[0]; fingerprint = _yield$Promise$all2[1]; isPureXfa = _yield$Promise$all2[2]; return _context.abrupt("return", { numPages: numPages, fingerprint: fingerprint, isPureXfa: isPureXfa }); case 17: case "end": return _context.stop(); } } }, _callee); })); return _loadDocument.apply(this, arguments); } function getPdfManager(data, evaluatorOptions, enableXfa) { var pdfManagerCapability = (0, _util.createPromiseCapability)(); var newPdfManager; var source = data.source; if (source.data) { try { newPdfManager = new _pdf_manager.LocalPdfManager(docId, source.data, source.password, evaluatorOptions, enableXfa, docBaseUrl); pdfManagerCapability.resolve(newPdfManager); } catch (ex) { pdfManagerCapability.reject(ex); } return pdfManagerCapability.promise; } var pdfStream, cachedChunks = []; try { pdfStream = new _worker_stream.PDFWorkerStream(handler); } catch (ex) { pdfManagerCapability.reject(ex); return pdfManagerCapability.promise; } var fullRequest = pdfStream.getFullReader(); fullRequest.headersReady.then(function () { if (!fullRequest.isRangeSupported) { return; } var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported; newPdfManager = new _pdf_manager.NetworkPdfManager(docId, pdfStream, { msgHandler: handler, password: source.password, length: fullRequest.contentLength, disableAutoFetch: disableAutoFetch, rangeChunkSize: source.rangeChunkSize }, evaluatorOptions, enableXfa, docBaseUrl); for (var i = 0; i < cachedChunks.length; i++) { newPdfManager.sendProgressiveData(cachedChunks[i]); } cachedChunks = []; pdfManagerCapability.resolve(newPdfManager); cancelXHRs = null; })["catch"](function (reason) { pdfManagerCapability.reject(reason); cancelXHRs = null; }); var loaded = 0; var flushChunks = function flushChunks() { var pdfFile = (0, _util.arraysToBytes)(cachedChunks); if (source.length && pdfFile.length !== source.length) { (0, _util.warn)("reported HTTP length is different from actual"); } try { newPdfManager = new _pdf_manager.LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, enableXfa, docBaseUrl); pdfManagerCapability.resolve(newPdfManager); } catch (ex) { pdfManagerCapability.reject(ex); } cachedChunks = []; }; var readPromise = new Promise(function (resolve, reject) { var readChunk = function readChunk(_ref) { var value = _ref.value, done = _ref.done; try { ensureNotTerminated(); if (done) { if (!newPdfManager) { flushChunks(); } cancelXHRs = null; return; } loaded += (0, _util.arrayByteLength)(value); if (!fullRequest.isStreamingSupported) { handler.send("DocProgress", { loaded: loaded, total: Math.max(loaded, fullRequest.contentLength || 0) }); } if (newPdfManager) { newPdfManager.sendProgressiveData(value); } else { cachedChunks.push(value); } fullRequest.read().then(readChunk, reject); } catch (e) { reject(e); } }; fullRequest.read().then(readChunk, reject); }); readPromise["catch"](function (e) { pdfManagerCapability.reject(e); cancelXHRs = null; }); cancelXHRs = function cancelXHRs(reason) { pdfStream.cancelAllRequests(reason); }; return pdfManagerCapability.promise; } function setupDoc(data) { function onSuccess(doc) { ensureNotTerminated(); handler.send("GetDoc", { pdfInfo: doc }); } function onFailure(ex) { ensureNotTerminated(); if (ex instanceof _util.PasswordException) { var task = new WorkerTask("PasswordException: response ".concat(ex.code)); startWorkerTask(task); handler.sendWithPromise("PasswordRequest", ex).then(function (_ref2) { var password = _ref2.password; finishWorkerTask(task); pdfManager.updatePassword(password); pdfManagerReady(); })["catch"](function () { finishWorkerTask(task); handler.send("DocException", ex); }); } else if (ex instanceof _util.InvalidPDFException || ex instanceof _util.MissingPDFException || ex instanceof _util.UnexpectedResponseException || ex instanceof _util.UnknownErrorException) { handler.send("DocException", ex); } else { handler.send("DocException", new _util.UnknownErrorException(ex.message, ex.toString())); } } function pdfManagerReady() { ensureNotTerminated(); loadDocument(false).then(onSuccess, function (reason) { ensureNotTerminated(); if (!(reason instanceof _core_utils.XRefParseException)) { onFailure(reason); return; } pdfManager.requestLoadedStream(); pdfManager.onLoadedStream().then(function () { ensureNotTerminated(); loadDocument(true).then(onSuccess, onFailure); }); }); } ensureNotTerminated(); var evaluatorOptions = { maxImageSize: data.maxImageSize, disableFontFace: data.disableFontFace, ignoreErrors: data.ignoreErrors, isEvalSupported: data.isEvalSupported, fontExtraProperties: data.fontExtraProperties }; getPdfManager(data, evaluatorOptions, data.enableXfa).then(function (newPdfManager) { if (terminated) { newPdfManager.terminate(new _util.AbortException("Worker was terminated.")); throw new Error("Worker was terminated"); } pdfManager = newPdfManager; pdfManager.onLoadedStream().then(function (stream) { handler.send("DataLoaded", { length: stream.bytes.byteLength }); }); }).then(pdfManagerReady, onFailure); } handler.on("GetPage", function wphSetupGetPage(data) { return pdfManager.getPage(data.pageIndex).then(function (page) { return Promise.all([pdfManager.ensure(page, "rotate"), pdfManager.ensure(page, "ref"), pdfManager.ensure(page, "userUnit"), pdfManager.ensure(page, "view")]).then(function (_ref3) { var _ref4 = _slicedToArray(_ref3, 4), rotate = _ref4[0], ref = _ref4[1], userUnit = _ref4[2], view = _ref4[3]; return { rotate: rotate, ref: ref, userUnit: userUnit, view: view }; }); }); }); handler.on("GetPageIndex", function wphSetupGetPageIndex(_ref5) { var ref = _ref5.ref; var pageRef = _primitives.Ref.get(ref.num, ref.gen); return pdfManager.ensureCatalog("getPageIndex", [pageRef]); }); handler.on("GetDestinations", function wphSetupGetDestinations(data) { return pdfManager.ensureCatalog("destinations"); }); handler.on("GetDestination", function wphSetupGetDestination(data) { return pdfManager.ensureCatalog("getDestination", [data.id]); }); handler.on("GetPageLabels", function wphSetupGetPageLabels(data) { return pdfManager.ensureCatalog("pageLabels"); }); handler.on("GetPageLayout", function wphSetupGetPageLayout(data) { return pdfManager.ensureCatalog("pageLayout"); }); handler.on("GetPageMode", function wphSetupGetPageMode(data) { return pdfManager.ensureCatalog("pageMode"); }); handler.on("GetViewerPreferences", function (data) { return pdfManager.ensureCatalog("viewerPreferences"); }); handler.on("GetOpenAction", function (data) { return pdfManager.ensureCatalog("openAction"); }); handler.on("GetAttachments", function wphSetupGetAttachments(data) { return pdfManager.ensureCatalog("attachments"); }); handler.on("GetJavaScript", function wphSetupGetJavaScript(data) { return pdfManager.ensureCatalog("javaScript"); }); handler.on("GetDocJSActions", function wphSetupGetDocJSActions(data) { return pdfManager.ensureCatalog("jsActions"); }); handler.on("GetPageJSActions", function (_ref6) { var pageIndex = _ref6.pageIndex; return pdfManager.getPage(pageIndex).then(function (page) { return page.jsActions; }); }); handler.on("GetPageXfa", function wphSetupGetXfa(_ref7) { var pageIndex = _ref7.pageIndex; return pdfManager.getPage(pageIndex).then(function (page) { return pdfManager.ensure(page, "xfaData"); }); }); handler.on("GetIsPureXfa", function wphSetupGetIsPureXfa(data) { return pdfManager.ensureDoc("isPureXfa"); }); handler.on("GetOutline", function wphSetupGetOutline(data) { return pdfManager.ensureCatalog("documentOutline"); }); handler.on("GetOptionalContentConfig", function (data) { return pdfManager.ensureCatalog("optionalContentConfig"); }); handler.on("GetPermissions", function (data) { return pdfManager.ensureCatalog("permissions"); }); handler.on("GetMetadata", function wphSetupGetMetadata(data) { return Promise.all([pdfManager.ensureDoc("documentInfo"), pdfManager.ensureCatalog("metadata")]); }); handler.on("GetMarkInfo", function wphSetupGetMarkInfo(data) { return pdfManager.ensureCatalog("markInfo"); }); handler.on("GetData", function wphSetupGetData(data) { pdfManager.requestLoadedStream(); return pdfManager.onLoadedStream().then(function (stream) { return stream.bytes; }); }); handler.on("GetStats", function wphSetupGetStats(data) { return pdfManager.ensureXRef("stats"); }); handler.on("GetAnnotations", function (_ref8) { var pageIndex = _ref8.pageIndex, intent = _ref8.intent; return pdfManager.getPage(pageIndex).then(function (page) { return page.getAnnotationsData(intent); }); }); handler.on("GetFieldObjects", function (data) { return pdfManager.ensureDoc("fieldObjects"); }); handler.on("HasJSActions", function (data) { return pdfManager.ensureDoc("hasJSActions"); }); handler.on("GetCalculationOrderIds", function (data) { return pdfManager.ensureDoc("calculationOrderIds"); }); handler.on("SaveDocument", function (_ref9) { var numPages = _ref9.numPages, annotationStorage = _ref9.annotationStorage, filename = _ref9.filename; pdfManager.requestLoadedStream(); var promises = [pdfManager.onLoadedStream(), pdfManager.ensureCatalog("acroForm"), pdfManager.ensureDoc("xref"), pdfManager.ensureDoc("startXRef")]; var _loop = function _loop(pageIndex) { promises.push(pdfManager.getPage(pageIndex).then(function (page) { var task = new WorkerTask("Save: page ".concat(pageIndex)); startWorkerTask(task); return page.save(handler, task, annotationStorage)["finally"](function () { finishWorkerTask(task); }); })); }; for (var pageIndex = 0; pageIndex < numPages; pageIndex++) { _loop(pageIndex); } return Promise.all(promises).then(function (_ref10) { var _ref11 = _toArray(_ref10), stream = _ref11[0], acroForm = _ref11[1], xref = _ref11[2], startXRef = _ref11[3], refs = _ref11.slice(4); var newRefs = []; var _iterator = _createForOfIteratorHelper(refs), _step; try { for (_iterator.s(); !(_step = _iterator.n()).done;) { var ref = _step.value; newRefs = ref.filter(function (x) { return x !== null; }).reduce(function (a, b) { return a.concat(b); }, newRefs); } } catch (err) { _iterator.e(err); } finally { _iterator.f(); } if (newRefs.length === 0) { return stream.bytes; } var xfa = acroForm instanceof _primitives.Dict && acroForm.get("XFA") || []; var xfaDatasets = null; if (Array.isArray(xfa)) { for (var i = 0, ii = xfa.length; i < ii; i += 2) { if (xfa[i] === "datasets") { xfaDatasets = xfa[i + 1]; } } } else { (0, _util.warn)("Unsupported XFA type."); } var newXrefInfo = Object.create(null); if (xref.trailer) { var infoObj = Object.create(null); var xrefInfo = xref.trailer.get("Info") || null; if (xrefInfo instanceof _primitives.Dict) { xrefInfo.forEach(function (key, value) { if ((0, _util.isString)(key) && (0, _util.isString)(value)) { infoObj[key] = (0, _util.stringToPDFString)(value); } }); } newXrefInfo = { rootRef: xref.trailer.getRaw("Root") || null, encrypt: xref.trailer.getRaw("Encrypt") || null, newRef: xref.getNewRef(), infoRef: xref.trailer.getRaw("Info") || null, info: infoObj, fileIds: xref.trailer.getRaw("ID") || null, startXRef: startXRef, filename: filename }; } xref.resetNewRef(); return (0, _writer.incrementalUpdate)({ originalData: stream.bytes, xrefInfo: newXrefInfo, newRefs: newRefs, xref: xref, datasetsRef: xfaDatasets }); }); }); handler.on("GetOperatorList", function wphSetupRenderPage(data, sink) { var pageIndex = data.pageIndex; pdfManager.getPage(pageIndex).then(function (page) { var task = new WorkerTask("GetOperatorList: page ".concat(pageIndex)); startWorkerTask(task); var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0; page.getOperatorList({ handler: handler, sink: sink, task: task, intent: data.intent, renderInteractiveForms: data.renderInteractiveForms, annotationStorage: data.annotationStorage }).then(function (operatorListInfo) { finishWorkerTask(task); if (start) { (0, _util.info)("page=".concat(pageIndex + 1, " - getOperatorList: time=") + "".concat(Date.now() - start, "ms, len=").concat(operatorListInfo.length)); } sink.close(); }, function (reason) { finishWorkerTask(task); if (task.terminated) { return; } handler.send("UnsupportedFeature", { featureId: _util.UNSUPPORTED_FEATURES.errorOperatorList }); sink.error(reason); }); }); }); handler.on("GetTextContent", function wphExtractText(data, sink) { var pageIndex = data.pageIndex; sink.onPull = function (desiredSize) {}; sink.onCancel = function (reason) {}; pdfManager.getPage(pageIndex).then(function (page) { var task = new WorkerTask("GetTextContent: page " + pageIndex); startWorkerTask(task); var start = verbosity >= _util.VerbosityLevel.INFOS ? Date.now() : 0; page.extractTextContent({ handler: handler, task: task, sink: sink, normalizeWhitespace: data.normalizeWhitespace, combineTextItems: data.combineTextItems }).then(function () { finishWorkerTask(task); if (start) { (0, _util.info)("page=".concat(pageIndex + 1, " - getTextContent: time=") + "".concat(Date.now() - start, "ms")); } sink.close(); }, function (reason) { finishWorkerTask(task); if (task.terminated) { return; } sink.error(reason); }); }); }); handler.on("FontFallback", function (data) { return pdfManager.fontFallback(data.id, handler); }); handler.on("Cleanup", function wphCleanup(data) { return pdfManager.cleanup(true); }); handler.on("Terminate", function wphTerminate(data) { terminated = true; var waitOn = []; if (pdfManager) { pdfManager.terminate(new _util.AbortException("Worker was terminated.")); var cleanupPromise = pdfManager.cleanup(); waitOn.push(cleanupPromise); pdfManager = null; } else { (0, _primitives.clearPrimitiveCaches)(); } if (cancelXHRs) { cancelXHRs(new _util.AbortException("Worker was terminated.")); } WorkerTasks.forEach(function (task) { waitOn.push(task.finished); task.terminate(); }); return Promise.all(waitOn).then(function () { handler.destroy(); handler = null; }); }); handler.on("Ready", function wphReady(data) { setupDoc(docParams); docParams = null; }); return workerHandlerName; } }, { key: "initializeFromPort", value: function initializeFromPort(port) { var handler = new _message_handler.MessageHandler("worker", "main", port); WorkerMessageHandler.setup(handler, port); handler.send("ready", null); } }]); return WorkerMessageHandler; }(); exports.WorkerMessageHandler = WorkerMessageHandler; function isMessagePort(maybePort) { return typeof maybePort.postMessage === "function" && "onmessage" in maybePort; } if (typeof window === "undefined" && !_is_node.isNodeJS && typeof self !== "undefined" && isMessagePort(self)) { WorkerMessageHandler.initializeFromPort(self); } /***/ }), /* 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 ? 0 : _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.createObjectURL = createObjectURL; exports.createPromiseCapability = createPromiseCapability; exports.createValidAbsoluteUrl = createValidAbsoluteUrl; 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.objectFromMap = objectFromMap; 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.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 _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); } function _arrayWithoutHoles(ar